
	//Wrapper per la valida data con utilizzo multilingua
	function validaData(Data) {
		return validaDataML(Data,"ITA")
	}
	//Valida data multilingua
	function validaDataML(Data, sUserLang) {
		var bResult;
		bResult = true;
		arrayData = Data.split("/");
		if (arrayData.length == 3) {
			if (arrayData[2].length == 4) {
				bResult = true;
			}
			else	{
				bResult = false;
			}
		}
		else if (Data.length == 8)  {
			if (!(isNaN(Data))) {
				bResult = true;
			}
			else 	{	
				bResult = false;
			}
		}
		else	{
			bResult = false;
		}
		if (bResult == false) {
				if (sUserLang == "ENG") {
					alert("Allowed date formats are: ddmmyyyy or dd/mm/yyyy.");						
				}		
				else if (sUserLang == "FRA") {
					alert("Les formats de date permis sont: jjmmaaaa ou jj/mm/aaaa.");
				}
				else {
					alert("Inserire una data nel formato ggmmaaaa o nel formato gg/mm/aaaa.");
				}
		}
		return bResult;
	}


	//Wrapper per la valida ora con utilizzo multilingua
	function validaOra(Ora) {
		return validaOraML(Ora,"ITA")
	}
	//Valida ora multilingua
	function validaOraML(Ora,sUserLang) {
		var bResult;
		bResult = true;
		arrayOra = Ora.split(":")
		if (arrayOra.length == 2)  {
			bResult = true;
		}
		else {
			if (Ora.length == 4)  {
				if ((!isNaN(Ora))) {
					bResult = true;
				}
				else 	{
					bResult = false;
				}
			}
			else if (Ora.length == 3)  {
				if ((!isNaN(Ora))) {
					myS1 = new String("")
					myS1 = Ora.substring(0,1) + ":" + Ora.substring(1,3)
					Ora.value = myS1
					bResult = true;
				}
				else 	{
					bResult = false;
				}
			}
			else 	{	
				bResult = false;
			}
		}
		if (bResult == false) {
				if (sUserLang == "ENG") {
					alert("Allowed hour formats are: hhmm or hh:mm.");						
				}		
				else if (sUserLang == "FRA") {
					alert("Les formats de heure permis sont: hhmm ou hh:mm.");
				}
				else {
					alert("Inserire un'ora nel formato hhmm o nel formato hh:mm.");
				}
		}
		return bResult;		
	}

	function formattaData(Data) {
		arrayData = Data.split("/")
		if (arrayData.length == 3)  {
			return Data
		}		
		if (Data.length == 8)  {
			myS = new String("")
			myS = Data.substring(0,2) + "/" + Data.substring(2,4) + "/" + Data.substring(4,9)
			return myS
		}
		else {
			return ""
		}
	}

	function formattaOra(Ora) {
		arrayOra = Ora.split(":")
		if (arrayOra.length == 2)  {
			return Ora
		}		
		if (Ora.length == 4)  {
			myS = new String("")
			myS = Ora.substring(0,2) + ":" + Ora.substring(2,4)
			return myS
		}
		else if (Ora.length == 3)  {
			myS1 = new String("")
			myS1 = Ora.substring(0,1) + ":" + Ora.substring(1,3)
			return myS1
		}
		else {
			return ""
		}
	}

	//Wrapper per la valida email con utilizzo multilingua
	function validaEMail(eMail) {
		return validaEMailML(eMail,"ITA")
	}
	//Valida ora multilingua
	function validaEMailML(eMail,sUserLang) {
		if (!(eMail.length == 0)) {
			myInt = new Number
			myInt2 = new Number
			myStr = new String
			myInt = eMail.search("@")			
			myStr = eMail.substr(myInt+1)
			myInt2 = myStr.search("[.]")
			if (myInt > 1) {					
				if (myInt2 > 1){				
					if (myStr.length-myInt2 > 2) {
						return true
					}			
				}
			}
		}
		if (sUserLang == "ENG") {
			alert("Invalid email address.");						
		}		
		else if (sUserLang == "FRA") {
			alert("Le format de email n'est pas correct.");
		}
		else {
			alert("Indirizzo di email non corretto.");
		}	
		return false			
	}
	
	//funzione per verificare se in un campo testo è stato inserito un numero
	//Wrapper per la valida numero con utilizzo multilingua
	function validaNumero(textObj) {
		return validaNumeroML(textObj,"ITA")
	}
	function validaNumeroML(textObj,sUserLang){
		//associo alla variabile il valore contenuto nella text
		var newValue = textObj.value;
		//associo alla variabile la lunghezza della stringa
		var newLength = newValue.length;
		//ciclo su tutti gli elementi della stringa
		for(var i = 0; i != newLength; i++){
			//variabile a cui associare il valore del singolo elemento della stringa
			aChar = newValue.substring(i, i+1);
			//se l'elemento analizzato non è un numero, avviso!
			if (aChar < "0" || aChar > "9"){				
				if (sUserLang == "ENG") {
					alert("Please insert a valid number.");						
				}		
				else if (sUserLang == "FRA") {
					alert("Veuillez écrire une valeur numerique.");
				}
				else {
					alert("Devi obbligatoriamente immettere un numero");
				}		
				textObj.focus();
				textObj.select();
				return false;
			}
		}
		return true;
	}
		
	//funzione per verificare se il CAP è stato scritto correttamente
	//Wrapper per la valida CAP con utilizzo multilingua
	function verCap(textObj) {
		return verCapML(textObj,"ITA")
	}
	function verCapML(textObj,sUserLang){
		var objValue = textObj.value;
		var newLength = objValue.length ;
		if (newLength != 0){
			if (validaNumero(textObj) == true){		
				if (newLength < 5){
					if (sUserLang == "ENG") {
						alert("Please insert a valid zip code.");						
					}		
					else if (sUserLang == "FRA") {
						alert("Veuillez écrire un code postal valide.");
					}
					else {
						alert("Il campo CAP deve contenere almeno cinque cifre");
					}
					textObj.focus();
					textObj.select();
				}
			}
		}
	return
	}


	//funzione per verificare se in un campo testo è stata inserita una stringa
	//Wrapper per la valida testo con utilizzo multilingua
	function validaTesto(textObj) {
		return validaTestoML(textObj,"ITA")
	}
	function validaTestoML(textObj,sUserLang){
		//associo alla variabile il valore contenuto nella text
		var newValue = textObj.value;
		//associo alla variabile la lunghezza della stringa
		var newLength = newValue.length;
		//associo alla variabile le eccezioni sulla verifica(virgole, apostrofi, ecc..)
		var extraChars = ".-,'";
		var search;
		//ciclo su tutti gli elementi della stringa
		for(var i =0; i != newLength; i++){
			aChar = newValue.substring(i, i+1);
			//converto la stringa ad un campo stringa in maiuscolo
			aChar = aChar.toUpperCase();
			search = extraChars.indexOf(aChar);
			if (search == -1 && (aChar < "A" || aChar > "Z")){
				if (sUserLang == "ENG") {
					alert("Please insert only letters.");						
				}		
				else if (sUserLang == "FRA") {
					alert("Veuillez écrire seulement des lettres.");
				}
				else {
					alert("Formato non valido: inserire delle lettere");
				}
				textObj.focus();
				textObj.select();
				break;
			}
		}
		return;
	}
	//funzione per riconvertire un dato da "data" a "numerico"
	function formattaDataInv(Data) {
		arrayData = Data.split("/")
		if (arrayData.length == 3)  {
			myK = new String("")
			myK = Data.substring(6,10) + Data.substring(3,5) + Data.substring(0,2)
			return myK
		}		
		else {
			return ""
		}
	}
							 		
	//funzione per memorizzare l'elemento selezionato nella combo nella reload della pagina
	function caricaCombo(objCombo, Valore){
		i=new Number;	
		for(i=0;i<objCombo.length;i++){
			if (Valore == objCombo[i].value) {
				objCombo[i].selected="1"
				return true
			}		
		}
	}

	//funzione per "submittare" il pulsante sull'invio
	function defButton(btn, event){
		if(document.all){
			if((event.keyCode) == 13){
				event.returnValue=false;
				event.cancel=true;
				btn.click();
			}
		}
		else if (document.getElementById){
			if(event.which == 13){
				event.returnValue=false;
				event.cancel=true;
				btn.click();
			}
		}
		else if (document.layers){
			if ((event.which) == 13){
				event.retyurnValue=false;
				event.cancel=true;
				btn.click();				
			}
		}		
	}

	function Color(t){
		t.style.background='#ffff00';
	}

	function Decolor(t, i){
		if(i%2==0){
			t.style.background='powderblue';
		}else{				
			t.style.background='#ffffff';
		}
	}	


function ajax(arrParams,arrValues) {
	var responseText=""
	var url=""
	url=parseUrl(arrParams,arrValues)		
		 xmlhttp.open("GET",url,true);
		 xmlhttp.onreadystatechange=function() {
		  if (xmlhttp.readyState==4) {
				riceviServiziAjax(xmlhttp.responseText)
		  }
		 }
		xmlhttp.setRequestHeader('Cache-Control','no-cache')
		xmlhttp.setRequestHeader('Accept','message/x-jl-formresult')
		if (browser=="IE"){
			xmlhttp.send()
		}else{ 
			xmlhttp.send(null)
		}
}

function wait(millis) 
{
date = new Date();
var curDate = null;

do { var curDate = new Date(); } 
while(curDate-date < millis);
} 

function popup(arrParams,arrValues,pop,toolbar,scrollBars,width,height){
	var url=""
	url=parseUrl(arrParams,arrValues)
	newWindow=window.open(url,pop,'\'toolbar=' + toolbar + ',scrollbars=' + scrollBars + ',width=' + width + ',height=' + height + '\''); 
}
function parseUrl(arrParams,arrValues){
	var url=new String("../CallService.asp?")
	for(var i=0;i<arrParams.length ;i++){
		if(i==0){url+=arrParams[i]}else{url+="&" +arrParams[i]}
		url+= "=" + escape(arrValues[i])
	}
	return url
}
String.prototype.campoHidden=function(nomeCampo,valore){
	return "<INPUT type='HIDDEN' name='" + nomeCampo + "' value='" + valore + "'>"
}

