/*function to move contents in a select box*/
function add_content_in_selectbox(form_name, addCont, remCont, countriesHidden, submitVal) {
	var selValue;
	var selValueText;
	var countries='';

	addContEval=eval('document.'+form_name+'.'+addCont);
	remContEval=eval('document.'+form_name+'.'+remCont);
	countriesHiddenEval=eval('document.'+form_name+'.'+countriesHidden);
	for(i=0; i<addContEval.options.length; i++) { 
		if (addContEval.options[i].selected){
			selValue= addContEval.options[i].value;
			if(selValue==''){
				alert('Select Valid Option to Shift');
			}
			else{
				selValueText= addContEval.options[i].text;
				defaultSelectedValue = addContEval.options[i].defaultSelected;
				SelectedValue = addContEval.options[i].selected;
				var exists='N';
				for(j=0; j<remContEval.options.length; j++) { 
					if(selValue==remContEval.options[j].value){
						var exists='Y';
						break;
						//alert(''+selValueText+' already exists');
						//return false;  
					}
				}
				if(exists!='Y'){
					remContEval.options[remContEval.options.length] = new Option(selValueText, selValue, 0, 0);
				}
			}
		}
	}
	for(j=1; j<remContEval.options.length; j++) { 
		remContEval.options[j]= new Option(remContEval.options[j].text, remContEval.options[j].value, defaultSelectedValue, SelectedValue);
		countries +='^'+remContEval.options[j].value+'';
	}
	countries = countries.substring(1,countries.length);
	var selected_countries = new Array(countries);
	countriesHiddenEval.value = selected_countries.join('^');
	if(submitVal=='Y'){
		eval('document.'+form_name+'.submit();');
	}
}

/*function to remove move contents from select box*/
function rem_content_from_selectbox(form_name, addCont, remCont, countriesHidden, submitVal) {
	
	var count = 0;
	var countries='';
	var selectedArrayValue = new Array();
	var selectedArrayText = new Array();
	addContEval=eval('document.'+form_name+'.'+addCont);
	remContEval=eval('document.'+form_name+'.'+remCont);
	countriesHiddenEval=eval('document.'+form_name+'.'+countriesHidden);
	if(remContEval.options.length>1){
		for(i=1; i<remContEval.options.length; i++) { 
			if (remContEval.options[i].selected){
			}
			else{
				//alert(i+', '+remContEval.options[i].text);
				selectedArrayValue[count] = remContEval.options[i].value;
				selectedArrayText[count] = remContEval.options[i].text;
				count++;			
				//remContEval.options[i] = null;
			}
		}
		remContEval.length = 1;
	
		for(i=0; i<selectedArrayValue.length; i++) { 
			remContEval.options[remContEval.options.length] = new Option(selectedArrayText[i], selectedArrayValue[i], 0 ,0);
		}
		if (remContEval.options.length == 0) {
			remContEval.options[0] = new Option("   Selections List Here", "", 0 ,0);
		}
	
		for(j=1; j<remContEval.options.length; j++) { 
			var defaultSelectedValue = remContEval.options[i].defaultSelected;
			var SelectedValue = remContEval.options[i].selected;		
			remContEval.options[j]= new Option(remContEval.options[j].text, remContEval.options[j].value, defaultSelectedValue, SelectedValue);
			countries +='^'+remContEval.options[j].value+'';
		}
		countries = countries.substring(1,countries.length);
		var selected_countries = new Array(countries);
		countriesHiddenEval.value = selected_countries.join('^');
		if(submitVal=='Y'){
			eval('document.'+form_name+'.submit();');
		}
	}
	
}


function privacy_accettata(){
	
	var status = document.getElementById('acc_privacy').checked;
	
	return status;
}

/*following function calls to show any type of validation in any form*/
function dynamic_form_validation_eng(form_object) {
	/*fetching the total number of elements from form*/
	total_elements=(form_object.elements.length);
    
	/*running loop to check the elements of form one by one*/
	for(element_count=0; element_count<total_elements; element_count++) {
		
		/*storing element object*/
		var element_object=form_object.elements[element_count];
		
		/*storing element name*/
		var element_id=element_object.id;
		
		/*storing element value*/
		var element_value=chktrim(element_object.value);
		
		/*storing element type*/
		var element_type=element_object.type;
		
		/*spliting the element namer*/
		var array_split=element_id.split("_");		
		
		var validation_ans=array_split[0].split("-");		
		
		var validation_msg=''+array_split[1]+'';
		
		/*if element is required or prohibited and element is null*/
		if(validation_ans[0]=='r' || validation_ans[0]=='rp'){
			if(element_type=='select-one'){
				if (element_object.options[element_object.selectedIndex].value=="")  {
					alert('Please select '+validation_msg);
					element_object.focus();
					return false;
				}
			}
			else if(element_type=='checkbox'){
				if (element_object.checked == false)  {
					alert('Please check '+validation_msg);
					element_object.focus();
					return false;
				}
			}
			else{
				if(element_value.length<1){
					alert('Please enter '+validation_msg);
					element_object.focus();
					return false;
				}
			}
		}
		/*if element is required or required and prohibited and element is not null*/
		if((validation_ans[0]=='p' || validation_ans[0]=='rp') && element_value.length>0){
			var check="";
			/*validation for alphabets*/
			if(validation_ans[1]=='2'){
				check = /^([a-zA-Z\s])+$/;
				$allow_char="allowed characters are a to z";
			}			
			/*validation for alpha numeric field*/
			else if(validation_ans[1]=='3'){
				check= /^([a-zA-Z0-9\s])+$/;
				$allow_char="allowed alphanumeric characters are 0-9, a to z";
			}			
			/*validation for email field*/
			else if(validation_ans[1]=='4'){
				check= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				$allow_char="allowed format email@website.com";
			}			
			/*validation for phone number, fax number field*/
			else if(validation_ans[1]=='5'){
				check=/^(\+)*([0-9])+([-\/\.])+([0-9])+([-\/\.])+([0-9])+$/;
				$allow_char="allowed format +91-011-21566456";
			}			
			/*validation for webaddress field*/
			else if(validation_ans[1]=='6'){
				check= /^(http|ftp):\/\/(www\.)?.+\.(com|net|org)$/;
				$allow_char="allowed format http://www.indianyellowpages.com";
			}			
			/*validation for date of birth field*/
			else if(validation_ans[1]=='7'){
				check= /^([0-9]){2}(\/|-)([0-9]){2}(\/|-)([0-9]){4}$/;
				$allow_char="allowed format  dd/mm/yyyy or dd-mm-yyyy";
			}			
			/*validation for integer field*/
			else if(validation_ans[1]=='8'){
				check= /^([0-9])+$/;
				$allow_char="allowed characters are 0 to 9";
			}			
			/*validation for float field*/
			else if(validation_ans[1]=='9'){
				check= /^([0-9\.])+$/;
				$allow_char="allowed format  7.5";
			}			
			/*validation for company name field*/
			else if(validation_ans[1]=='10'){
				check = /^([a-zA-Z0-9\s])+([&\-\.])*([a-zA-Z0-9\s])*$/;
				$allow_char="allowed characters are 0 to 9, a to z, dot, &, hiphen";
			}			
			/*validation for address*/
			else if(validation_ans[1]=='11'){
				check = /^([a-zA-Z0-9\s])+([&\-\.,\(\)\/])*([a-zA-Z0-9\s&\-\.,\(\)\/])*$/;
				$allow_char="allowed characters are 0 to 9, a to z, &, comma, hiphen, dot, brackets";
			}			
			/*validation for ,phone number without country and area code*/
			else if(validation_ans[1]=='12'){
				check = /^(\+)*([0-9])+$/;
				$allow_char="allowed characters are 0 to 9, +";
			}			
			/*validation for mobile number*/
			else if(validation_ans[1]=='13'){
				check=/^(\+)*([0-9])+([-\/])*([0-9])+([-\/])*([0-9])+$/;
				$allow_char="allowed characters are 0 to 9, -, / and format could be +9891854673 or 91-011-9891854673";
			}			
			/*validation for grater than 0*/
			else if(validation_ans[1]=='14'){
				check= /^([1-9])+([0-9])*$/;
				$allow_char="must be greater than 0";
			}			
			/*validation for time format*/
			else if(validation_ans[1]=='15'){
				check= /^([0-9]){2}(:){1}([0-5]){1}([0-9]){1}(:){1}([0-5]){1}([0-9]){1}$/;
				$allow_char="must be in format of 01:20:20      01(Hours), 20(Minutes and limit is up to 59), 01(Seconds and limit is up to 59)";
			}			
			
			if(!check.test(element_value)){
				alert('Invalid '+validation_msg+', '+$allow_char );
				element_object.focus();
				return false;
			}
		}
	}
	
}


// JavaScript Document
function addBookmark(title,url) {
if (window.sidebar) { 
window.sidebar.addPanel(title, url,""); 
} else if( document.all ) {
window.external.AddFavorite( url, title);
} else if( window.opera && window.print ) {
return true;
}
}

function sel_cat(form_object) {
	var pp=1;
	len=form_object.elements.length;
	var i=0;
	for(i=0; i<len; i++) {
		if ((form_object.elements[i].type == "radio") && (form_object.elements[i].checked==true)) {
			var selected_val=form_object.elements[i].value;
			var selected_no=form_object.elements[i].id;
			pp=2;
		}
	}
	if (pp==1) {
		alert("You have not selected any Option.");
		return false;
	}
	else{
		window.opener.document.forms.survey_posting_form.dynamic_val.value=selected_val;
		window.opener.document.forms.survey_posting_form.survey_category.value=selected_no;
		window.close();
	}
}
	
/*following function calls to show any type of validation in any form*/
function dynamic_form_validation(form_object) {
	/*fetching the total number of elements from form*/
	total_elements=(form_object.elements.length);

	/*running loop to check the elements of form one by one*/
	for(element_count=0; element_count<total_elements; element_count++) {
		
		/*storing element object*/
		var element_object=form_object.elements[element_count];
		
		/*storing element name*/
		var element_id=element_object.id;
		
		/*storing element value*/
		var element_value=chktrim(element_object.value);
		
		/*storing element type*/
		var element_type=element_object.type;
		
		/*spliting the element namer*/
		var array_split=element_id.split("_");		
		
		var validation_ans=array_split[0].split("-");		
		
		var validation_msg=''+array_split[1]+'';
		
		/*if element is required or prohibited and element is null*/
		if(validation_ans[0]=='r' || validation_ans[0]=='rp'){
			if(element_type=='select-one'){
				if (element_object.options[element_object.selectedIndex].value=="")  {
					alert('Si prega di selezionare '+validation_msg);
					element_object.focus();
					return false;
				}
			}
			else if(element_type=='checkbox'){
				if (element_object.checked == false)  {
					alert('Si prega di controllare '+validation_msg);
					element_object.focus();
					return false;
				}
			}
			else{
				if(element_value.length<1){
					alert('Si prega di inserire '+validation_msg);
					element_object.focus();
					return false;
				}
			}
		}
		
		var non_valido = false;
		
		/*if element is required or required and prohibited and element is not null*/
		if((validation_ans[0]=='p' || validation_ans[0]=='rp') && element_value.length>0){
			var check="";
			/*validation for alphabets*/
			if(validation_ans[1]=='2'){
				check = /^([a-zA-Z\s])+$/;
				$allow_char="I caratteri consentiti sono dalla A alla Z";
			}			
			/*validation for alpha numeric field*/
			else if(validation_ans[1]=='3'){
				check= /^([a-zA-Z0-9\s])+$/;
				$allow_char="I caratteri alfanumerici consensitit sono 0-9, A-Z";
			}			
			/*validation for email field*/
			else if(validation_ans[1]=='4'){
				check= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				$allow_char="Formato consentito email@website.com";
			}			
			/*validation for phone number, fax number field*/
			else if(validation_ans[1]=='5'){
				check=/^(\+)*([0-9])+([-\/\.])+([0-9])+([-\/\.])+([0-9])+$/;
				$allow_char="Formato consentito +91-011-21566456";
			}			
			/*validation for webaddress field*/
			else if(validation_ans[1]=='6'){
				check= /^(http|ftp):\/\/(www\.)?.+\.(com|net|org)$/;
				$allow_char="Formato consentito http://www.indianyellowpages.com";
			}			
			/*validation for date of birth field*/
			else if(validation_ans[1]=='7'){
				check= /^([0-9]){2}(\/|-)([0-9]){2}(\/|-)([0-9]){4}$/;
				$allow_char="Formato consentito dd/mm/yyyy or dd-mm-yyyy";
			}			
			/*validation for integer field*/
			else if(validation_ans[1]=='8'){
				check= /^([0-9])+$/;
				$allow_char="Caratteri consentiti 0-9";
			}			
			/*validation for float field*/
			else if(validation_ans[1]=='9'){
				check= /^([0-9\.])+$/;
				$allow_char="Formato consentito 7.5";
			}			
			/*validation for company name field*/
			else if(validation_ans[1]=='10'){
				check = /^([a-zA-Z0-9\s])+([&\-\.])*([a-zA-Z0-9\s])*$/;
				$allow_char="I caratteri consentiti sono 0-9, A-Z, punto, &, trattino";
			}			
			/*validation for address*/
			else if(validation_ans[1]=='11'){
				check = /^([a-zA-Z0-9\s])+([&\-\.,\(\)\/])*([a-zA-Z0-9\s&\-\.,\(\)\/])*$/;
				$allow_char="I caratteri consentiti sono 0-9, A-Z, &, virgola, trattino, punto, parentesi";
			}			
			/*validation for ,phone number without country and area code*/
			else if(validation_ans[1]=='12'){
				check = /^(\+)*([0-9])+$/;
				$allow_char="I caratteri consentiti sono 0-9, +";
			}			
			/*validation for mobile number*/
			else if(validation_ans[1]=='13'){
				check=/^(\+)*([0-9])+([-\/])*([0-9])+([-\/])*([0-9])+$/;
				$allow_char="I caratteri consentiti sono 0-9, -, / e il formato puA~^(2) essere +9891854673 o 91-011-9891854673";
			}			
			/*validation for grater than 0*/
			else if(validation_ans[1]=='14'){
				check= /^([1-9])+([0-9])*$/;
				$allow_char="Deve essere superiore a 0";
			}			
			/*validation for time format*/
			else if(validation_ans[1]=='15'){
				check= /^([0-9]){2}(:){1}([0-5]){1}([0-9]){1}(:){1}([0-5]){1}([0-9]){1}$/;
				$allow_char="Devono essere in Formato 01:20:20 01 (ore), 20 (processo verbale e limite fino a 59), 01 (Secondi e limite fino a 59)";
			}
			/*validation radio multipli*/
			else if(validation_ans[1]=='16'){
				$allow_char="Selezionare almeno un'opzione";
				check = /^.*$/;
				var robjs = document.getElementsByName(element_object.name);
				var trovato = false;
				
				for(i=0; i<robjs.length; i++){
					if(robjs[i].checked)
						trovato = true;
				}
				
				if(!trovato) non_valido = true;
			}
			if(non_valido || !check.test(element_value)){
				alert('Non validi '+validation_msg+', '+$allow_char );
				element_object.focus();
				return false;
			}
		}
	}
	
	var privacy = document.getElementById('acc_privacy');
	
	if(privacy){
		
		if(!privacy.checked){
			alert('La normativa sulla privacy va accettata per poter continuare!');
			privacy.focus();	
			return false;
		}
		
	}
}

/*function to check/uncheck all the checkboxes in the form*/
function chk_unchk(val, form_name) {
   	dml=eval('document.'+form_name);
   	len=dml.elements.length;
   	var i=0;
   	for (i=0; i<len; i++) {
     	if (dml.elements[i].type == "checkbox") {
        	if (val == 1) { 
           		dml.elements[i].checked=true;
        	} 
			else {
           		dml.elements[i].checked=false;
        	}
     	}   
   	}
}






/*function to open popup*/
function openwin1(file,Iwidth,Iheight) {
   var newWin2=window.open(file,'newwin','x=0,y=0,toolbar=no,location=no,directories=no,status=no,scrollbars=yes, copyhistory=no,width='+Iwidth+',height='+Iheight+',screenX=0,screenY=0,left=20,top=20');
}


/*function to open popup*/
function openwin(file,Iwidth,Iheight) {
   var newWin1=window.open(file,'iypWin1','x=0,y=0,toolbar=no,location=no,directories=no,status=no,scrollbars=yes, copyhistory=no,width='+Iwidth+',height='+Iheight+',screenX=0,screenY=0,left=20,top=20');
}




/*function to remove the space from the field*/
function chktrim(inputString) {
         if (typeof inputString != "string") { return inputString; }
         var retValue = inputString;
         var ch = retValue.substring(0, 1);
         while (ch == " ") { 
           retValue = retValue.substring(1, retValue.length);
           ch = retValue.substring(0, 1);
         } 
         ch = retValue.substring(retValue.length-1, retValue.length);
         while (ch == " ") { 
            retValue = retValue.substring(0, retValue.length-1);
            ch = retValue.substring(retValue.length-1, retValue.length);
         }
         while (retValue.indexOf("  ") != -1) { 
            retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
         }
         return retValue; 
}



/* The following function creates an XMLHttpRequest object... */

function createRequestObject(){
	var request_o; //declare the variable to hold the object.
	var browser = navigator.appName; //find the browser name
	if(browser == "Microsoft Internet Explorer"){
		/* Create the object using MSIE's method */
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		/* Create the object using other browser's method */
		request_o = new XMLHttpRequest();
	}
	return request_o; //return the object
}

/* You can get more specific with version information by using 
	parseInt(navigator.appVersion)
	Which will extract an integer value containing the version 
	of the browser being used.
*/
/* The variable http will hold our new XMLHttpRequest object. */
var RequestObject = createRequestObject(); 

/* Function called to get the product categories list */
function ajaxCall(url, element_name, display_type, loading_msg){
		if(display_type == 'div'){
			document.getElementById(element_name).innerHTML = "<br><br><table align=center><b><font size=4>"+loading_msg+"</font></b></table><br><br>";
		}
		else{
			document.getElementById(element_name).value = "&lt;br&gt;&lt;br&gt;&lt;table align=center&gt;&lt;b&gt;"+loading_msg+"&lt;/b&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;";
		}
	
	/* Create the request. The first argument to the open function is the method (POST/GET),
		and the second argument is the url... 
		document contains references to all items on the page
		We can reference document.form_category_select.select_category_select and we will 		
		be referencing the dropdown list. The selectedIndex property will give us the 
		index of the selected item. 
	*/
	RequestObject.open('POST', url, true);
	/* Define a function to call once a response has been received. This will be our
		handleProductCategories function that we define below. */
	//RequestObject.onreadystatechange = post_value; 
	RequestObject.onreadystatechange = function (){
		if(RequestObject.readyState == 4){
			var response = RequestObject.responseText;
			if(display_type == 'div'){
				document.getElementById(element_name).innerHTML = response;
			}
			else{
				document.getElementById(element_name).value= response;
			}
		}	
	}
	/* Send the data. We use something other than null when we are sending using the POST
		method. */
	RequestObject.send(null);
}

/* Function called to handle the list that was returned from the internal_request.php file.. */
function post_value(){
	/* Make sure that the transaction has finished. The XMLHttpRequest object 
		has a property called readyState with several states:
		0: Uninitialized
		1: Loading
		2: Loaded
		3: Interactive
		4: Finished */
	if(RequestObject.readyState == 4){ //Finished loading the response
		/* We have got the response from the server-side script,
			let's see just what it was. using the responseText property of 
			the XMLHttpRequest object. */
		var response = RequestObject.responseText;
		/* And now we want to change the product_categories <div> content.
			we do this using an ability to get/change the content of a page element 
			that we can find: innerHTML. */
		document.getElementById('ajax_div_disp_prod_frm').innerHTML = response;
	}
}

