/*
 * general javascript functions
 * 
 * by aiso-cb
 */

		function checkNumberOfOptions(seatAlertMessage, statusAlertMessage) { 
			var legalSeat=document.forms[0].legalSeatName;
			var legalStatus=document.forms[0].legalStatusCode;
			var c=0;
			if (legalSeat != null){
				for(var i=0; i<legalSeat.length; i++){
					if (legalSeat[i].selected){
						c++;
					}
				}
		
				if (c>10){
					alert(seatAlertMessage);
					legalSeat.selectedIndex = 0;
					document.getElementById("waitDiv").style.visibility='hidden';
					return false;
				}
			}
		
			if(legalStatus != null){
				for(var i=0; i<legalStatus.length; i++){
					if (legalStatus[i].selected){
						c++;
					}
				}
				if (c>10){
					alert(statusAlertMessage);
					legalStatus.selectedIndex = 0;
					document.getElementById("waitDiv").style.visibility='hidden';
					return false;
				}
			}
			document.forms[0].init.value='false';
			return true;
		}

		function clearAllFields(){
			var f = document.forms[0];
			for (var i=0; i < f.elements.length; i++) {
				if ( f.elements[i].type == "text") { 
					f.elements[i].value = "";
					
				}
			}
			
			for (var i=0; i < f.elements.length; i++) {
					if ( f.elements[i].type == "select-one") { 
						f.elements[i].selectedIndex = 0;
					}
					if ( f.elements[i].type == "select-multiple") { 
						f.elements[i].selectedIndex = 0;
					}
					if ( f.elements[i].type == "checkbox") { 
						f.elements[i].checked = false;
					}
			}
			
		}
		
		function resetSearchRadio(){
			document.getElementById("companySearch_limitResultCompanyActiveACTIVE").checked = true;
			document.getElementById("companySearch_companyNameSearchTypeCONTAIN").checked = true;
			document.getElementById("companySearch_resultFormatSTD_COMP_NAME").checked = true;			
		}

		function fillOpfDate(){
			if (document.forms[0].useOpf.checked == true){
				document.forms[0].opfDateReference.value = document.forms[0].actualDate.value;
			}else{
				document.forms[0].opfDateReference.value = "";
			}
		}

		function checkActiveAndRemovedFromOpf(){
			if (document.forms[0].useOpf.checked == true){
				document.getElementById("companySearch_limitResultCompanyActiveALL").checked = true;
			}
		}
		
		function showWait(){	
			document.getElementById("waitDiv").style.visibility='visible';
			document.getElementById("resultDiv").style.visibility='hidden';
		}

		function pop_print_win (url, name, width, height) {
		   	window.open(url, name, 'scrollbars=yes,resizable=yes,menubar=no,toolbar=no,location=no,width='+width+',height='+height);
			window.location.value = url;
			return false;				
 		}
		
		function pop_extract_win (url, name, width, height) {
			window.open(url, '', 'scrollbars=yes,resizable=yes,menubar=no,toolbar=no,location=no,width='+width+',height='+height);
			window.location.value = url;
		}

		function pop_bookmark_win (url, name, width, height) {
			window.open(url, '', 'scrollbars=yes,resizable=yes,menubar=no,toolbar=no,location=no,,width='+width+',height='+height);
			window.location.value = url;
		}
		
		function checkActiveAndRemoved(){
			if ((document.forms[0].deletionDateBegin != null) && (document.forms[0].deletionDateEnd != null)){
				if ((document.forms[0].deletionDateBegin.value.length > 0) || (document.forms[0].deletionDateEnd.value.length > 0)) {
					document.getElementById("companySearch_limitResultCompanyActiveALL").checked = true;
				}
			}
		}

		function validateDates(errorMessage) {
		    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
		    if (document.forms[0].originDateBegin != null){
		    	if (document.forms[0].originDateBegin.value != ''){
		    		if (!document.forms[0].originDateBegin.value.match(RegExPattern)) {
		        		alert(errorMessage);
		        		document.forms[0].originDateBegin.focus();
		        		return false;
		    		}
		    	}
		    }
		    if (document.forms[0].originDateEnd != null){
		    	if (document.forms[0].originDateEnd.value != ''){
		    		if (!document.forms[0].originDateEnd.value.match(RegExPattern)) {
		        		alert(errorMessage);
		        		document.forms[0].originDateEnd.focus();
		        		return false;
		    		}
		    	}
		    }
		    if (document.forms[0].deletionDateBegin != null){
		    	if (document.forms[0].deletionDateBegin.value != ''){
		    		if (!document.forms[0].deletionDateBegin.value.match(RegExPattern)) {
		        		alert(errorMessage);
		        		document.forms[0].deletionDateBegin.focus();
		        		return false;
		    		}
		    	}
		    }
		    if (document.forms[0].deletionDateEnd != null){
		    	if (document.forms[0].deletionDateEnd.value != ''){
		    		if (!document.forms[0].deletionDateEnd.value.match(RegExPattern)) {
		        		alert(errorMessage);
		        		document.forms[0].deletionDateEnd.focus();
		        		return false;
		    		}
		    	}
		    }
		    if (document.forms[0].opfDateReference != null){
		    	if (document.forms[0].opfDateReference.value != ''){
		    		if (!document.forms[0].opfDateReference.value.match(RegExPattern)) {
		        		alert(errorMessage);
		        		document.forms[0].opfDateReference.focus();
		        		return false;
		    		}
		    	}
		    }
		    
		    return true; 
		}

		function checkForm(dateAlertMessage, seatAlertMessage, statusAlertMessage){
			if (!validateDates(dateAlertMessage)){
				return false;
			}
			if (!checkNumberOfOptions(seatAlertMessage, statusAlertMessage)){
				return false;
			}
			document.forms[0].go.value='none';
			checkActiveAndRemoved();
			showWait();
			return true;
		}

		function check(dateAlertMessage){
			checkActiveAndRemoved();
			if (validateDates(dateAlertMessage)){
				document.forms[0].submit();
			}
		}
		
		function setScrollTo(scrollId){
			var objScroll = document.getElementById(scrollId);
			document.body.scrollTop = objScroll.offsetTop;
			try{
				objScroll.focus();
			} catch(e){
			}
		}
		
		function invalidSyntax(alertMessage){
			alert(alertMessage);
		}
		
