/*
campi['nome_campi']=array contenente id dei campi da compilare ---> new Array('societa','partitaivasocieta','sitowebsocieta','emailsocieta','indirizzosocieta','capsocieta','cittasocieta','provinciasocieta','frazionesocieta','telefonosocieta','cellularesocieta','faxsocieta','repartosocieta');
campi['txt_desc']=array contenente le descrizioni dei campi da compilare ---> new Array('Societa','Partita IVA','Sito WEB','E-mail','Indirizzo','CAP','Cittą','Provincia','Frazione','Telefono','Cellulare','Fax','Reparto');
campi['nome_desc']=array contenente id dei campi dove vengono visualizzate le descrizioni dei campi da compilare ---> campi['txt_desc']
campi['desc_error']=array contenente le descrizioni dei campi da visualizzare nel div degli errori ---> new Array('Societą','Partita IVA societą','Sito WEB societą','E-mail societą','Indirizzo societą','CAP societą','Cittą societą','Provincia societą','Frazione societą','Telefono societą','Cellulare societą','Fax societą','Reparto societą');
campi['type_value']=array contenente le tipologie dei campi da compilare ---> new Array('R','RisIva','','RisEmail','R','R','R','R','','RisNum','','RisNum','R');
campi['message']=array contenente le frasi di completamento da visualizzare nel div degli errore ---> new Array(form_message01,form_message02,form_message03,form_message04,form_message05,form_message06,form_message07);
campi['css']=array contenente le classi dei campi dove vengono visualizzate le descrizioni dei campi da compilare ---> new Array('testo10-blu01','testo10-red01');
campi['div']=array contenente le impostazioni caratterizzanti del div degli errori ---> new Array('helperror','424','#DCE8F5','testo12-red01','testo10-blu01');
campi['sign_request']=campo contenente l'asterisco visualizzato accanto alla descrizione del campo. Puo contenerlo oppure no ---> ' *'
campi['other_error']=array contenente altre tipologie di errori non rilevati da questa funzione
MM_validateFormHTML_lingua(campi);
*/
function MM_validateFormHTML_lingua(campi) {
	  //document.getElementById(campi['div'][0]).innerHTML="";
	  MODIFY_InnerElementById(campi['div'][0],'');
	  var i,p,q,nm,test,num,min,max,errors='';
	  for (i=0; i<(campi['nome_campi'].length); i+=1) { 
	  	ok=1;
		test=campi['type_value'][i];
		val=MM_findObj(campi['nome_campi'][i]);
		campo=MM_findObj(campi['nome_desc'][i]);
		//alert(GET_ElementById('formregister').elements[i].name);
		
		if (val) {
			//alert("ok");
			nm=campi['desc_error'][i];
			if ((val=val.value)!="") {
		  		if (test.indexOf('isEmail')!=-1) { 
		  			p=val.indexOf('@');
					if (p<1 || p==(val.length-1)){ 
						errors=Create_ErrorTable('- '+nm+' '+campi['message'][1]+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
						ok=0;
						}
		  			}
				else if (test!='R') { 
						num = parseFloat(val);
						if (isNaN(val)){
							//errors=Create_ErrorTable('- '+nm+' '+campi['message'][2]+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
							ok=1;
							}
						if (test.indexOf('inRange') != -1) { 
							p=test.indexOf(':');
			  				min=test.substring(8,p); max=test.substring(p+1);
			  				if (num<min || max<num){
								errors=Create_ErrorTable('- '+nm+' '+campi['message'][3]+' '+min+' '+campi['message'][4]+' '+max+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
								ok=0;
								}
							}
						}
				if(test=='RisIva'){
					if(!IsPartitaIvaOk(val,0)){
						errors=Create_ErrorTable('- '+nm+' '+campi['message'][6]+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
						ok=0;
						}
					}
				if(test.indexOf('isNum') != -1){
					if (isNaN(val)){
						errors=Create_ErrorTable('- '+nm+' '+campi['message'][2]+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
						ok=0;
						}
					}
				}
			else if (test.charAt(0) == 'R'){
				errors=Create_ErrorTable('- '+nm+' '+campi['message'][5]+'.',errors,campi['message'][0],campi['nome_desc'][i],campi['div']);
				ok=0;
				}
			//alert(campi['nome_desc'][i]+' - '+campi['txt_desc'][i]+' - '+test+' - '+ok);
			}
		
		
		if(campo){
			if(ok==1){
				//document.getElementById(campi['nome_desc'][i]).innerHTML='<font class="'+campi['css'][0]+'">'+campi['txt_desc'][i]+'</font>';
				MODIFY_InnerElementById(campi['nome_desc'][i],'<font class="'+campi['css'][0]+'">'+campi['txt_desc'][i]+'</font>');
				}
			else{
				//document.getElementById(campi['nome_desc'][i]).innerHTML='<a name="'+campi['nome_desc'][i]+'"><font class="'+campi['css'][1]+'"><b>'+campi['txt_desc'][i]+campi['sign_request']+'</b></font></a>';
				MODIFY_InnerElementById(campi['nome_desc'][i],'<a name="'+campi['nome_desc'][i]+'"><font class="'+campi['css'][1]+'"><b>'+campi['txt_desc'][i]+campi['sign_request']+'</b></font></a>');
				}
			}
				
	  	}
	
	for (x=0; x<(campi['other_error'].length); x+=1) {
		if(campi['other_error'][x][2]!=''){
			errors=Create_ErrorTable(campi['other_error'][x][2]+' '+campi['other_error'][x][3],errors,campi['message'][0],campi['other_error'][x][4],campi['div']);
			}
		if(document.getElementById(campi['other_error'][x][4])){
			if(campi['other_error'][x][0]==0){
				document.getElementById(campi['other_error'][x][4]).innerHTML='<font class="'+campi['css'][0]+'">'+campi['other_error'][x][1]+'</font>';
				}
			else{
				document.getElementById(campi['other_error'][x][4]).innerHTML='<a name="'+campi['other_error'][x][4]+'"><font class="'+campi['css'][1]+'"><b>'+campi['other_error'][x][1]+'</b></font></a>';
				}
			}
		}
		
	if ((errors)&&(campi['div'][0]!='')) {
		errors=Create_ErrorTable('',errors,'','');
		document.getElementById(campi['div'][0]).innerHTML=errors;
		window.location.href="#error";
		}
	document.MM_returnValue = (errors == '');
	}

//----------------------------------------

function MM_findObj(n, d){
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
		}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); 
	return x;
	}
	
//----------------------------------------	
	
function Create_ErrorTable(line,errors,title,xlink,campidiv){
	var table='';
	if(line!=''){
		if(errors==''){
			table+='<table width="'+campidiv[1]+'" border="0" cellspacing="0" cellpadding="5">';
			table+='<tr><td align="center"><table width="100%" border="0" cellspacing="2" cellpadding="0" bgcolor="'+campidiv[2]+'" class="cell-all-black01">';
			table+='<tr><td><a name="error"><font class="'+campidiv[3]+'" height="20"><strong>'+title+'</strong></font></a></td></tr>';
			}
		table+=errors+'<tr><td><a href="#'+xlink+'"><font class="'+campidiv[4]+'" height="12">'+line+'</font></td></a></tr>';
		}
	else{
		if(errors!=''){
			table+=errors+'</table></td></tr></table>';
			}
		}
	return table;
	}

//----------------------------------------

function ReplaceDescCampi(arraynomecampi,arraydescrizioni,css,namediv){
	if(namediv!=''){document.getElementById(namediv).innerHTML='';}
	if(arraynomecampi.length==arraydescrizioni.length){
		for(x=0; x<arraynomecampi.length; x+=1){
			campo=MM_findObj(arraynomecampi[x]);
			if(campo){
				document.getElementById(arraynomecampi[x]).innerHTML='<font class="'+css+'">'+arraydescrizioni[x]+'</font>';
				}
			}
		}
	}

//----------------------------------------

// CHIAMATA : if(IsPartitaIvaOk(pg.partitaiva.value,0)){ }
function IsPartitaIvaOk(PartitaIva, SiBlank){
	if (typeof(SiBlank) == "undefined" || SiBlank == null)
	SiBlank = false;
	// Elimino gli eventuali spazi finali
	PartitaIva =  PartitaIva.replace(/(\s*$)/g, "");
	if (PartitaIva == "" && SiBlank) return true;

	// Controllo che il codice da controllare sia di 11 caratteri numerici
	var RegExp_Numeric = /^[0-9]{11}$/;
	if (!RegExp_Numeric.test(PartitaIva)) return false;	// Partita Iva errata

	// Calcolo la sommatoria delle cifre dispari
	var Dispari = 0;
	for (var i = 1; i<=9; i = i + 2) Dispari = Dispari + parseInt(PartitaIva.substr(i-1, 1));

	// Calcolo la sommatoria delle cifre pari moltiplicate per 2
	// Se il valore č maggiore di una cifra sommo le cifre tra loro
	var Pari = 0;
	for (var i = 2; i<=10; i = i + 2){
		var Val = (parseInt(PartitaIva.substr(i-1, 1)) * 2);
		if (Val > 9)
			Val = Val - 9;

			Pari = Pari + Val;
			}

	// Calcolo la somma dei Pari pił i Dispari
	var Totale = Pari + Dispari;

	// Calcolo la cifra delle unitą
	var UltimaCifra = Totale % 10;

	// Sottraggo a 10 il valore trovato e prendo l'ultima cifra (se 10 prendo 0)
	var CheckDigit = (10 - UltimaCifra) % 10;

	// Controllo il valore trovato con l'ultima cifra della Partita Iva
	if (CheckDigit == PartitaIva.substr(10, 1)) return true;		// OK. Partita Iva esatta
	else return false;		// Partita Iva errata
	}
	
	
/*function DivTable(){
	return '<div id="helperror" style="position:relative; visibility: visible; z-index: 0;">asdasdasd</div>';
	}


function CreateDivTable(namediv){
	//document.innerHTML=DivHelp.contenitore;
	//var DivHelp = new DivTable(namediv);
	//document.write(DivHelp.contenitore);
	//alert(DivHelp.contenitore);
	var mydiv=document.createElement("div");
	mydiv.id=namediv;
	}*/	