var returnFocus = null;
var paramVett = new Array(2);
var COMMON = ",";
var POINT = ".";
var returnWarning = null;
var obbligatorioBlank;
function runClock() {
	theTime = window.setTimeout("runClock()", 1000);
	var today = new Date();
	var display= today.toLocaleString();
	status=display;
}
function MM_displayStatusMsg(msgStr) 
{
	status=msgStr; 
	document.MM_returnValue = true; 
}
function CheckWhere(){
	if ((typeof(top.Header))=="undefined"){
		location.href="DspUn.csp?Page=None";
	}
}
function ControlloMaxChar(name)
	 {
	 	if (name.length>=200)
	 	{
	 		alert("Attenzione\n\nLimite massimo 200 caratteri");
                         name=name.substring(0,199);
	 		return;
	 	}
	 }
function ConfrontaID(Arg1,Arg2)
{
	for (i=0; i <Arg1.length; i++)
	{
		if (Arg1.options[i].value==Arg2)
		{
			Arg1.options[i].selected=true
		}
	}
}
function Confronta(Arg1,Arg2)
{
	for (i=0; i <Arg1.length; i++)
	{
		if (Arg1.options[i].text==Arg2)
		{
			Arg1.options[i].selected=true
		}
	}
}

<!--
//---------------------------------------------------------------------
//----------------------------Preload immagini-------------------------
//---------------------------------------------------------------------
function MM_preloadImages()
{
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function preimg()
{//alert(window.document.images.length);
	var i, a, b;
	for(i=0; i<window.document.images.length; i++)
	{
		a = window.document.images[i].src;
		a = a.toString();
		b = a.lastIndexOf('/');
		MM_preloadImages('../Images/' + a.substring(b+1, a.length));
	}
}
//---------------------------------------------------------------------
//----------------------------FINE Preload immagini--------------------
//---------------------------------------------------------------------
//-->
//ex generale.js funzione che ci ritorna l'elemento iesimo di una tabella in base al numero di elementi trovati
function getObjFromArray(obj, index)
{
	if (index==-1)   // nessuno
		return "";
	
	if (typeof obj[index] != "undefined")
	{
		//alert("obj[index]: "+obj[index]);     + di 1
		return obj[index];
	}	
	else
	{
		//alert("obj: "+obj);    1
		return obj;
	}	
}
//funzioni che cambiano il colore nelle img di ritorna e aggiungi
	function Set(argc){
		if (argc=="Rit"){
			document.all("Rit").src='Images/Button_Ritorna_Sel.gif';
		}
		if (argc=="Rit2"){
			document.all("Rit2").src='Images/Button_Ritorna_Sel.gif';
		}
		if (argc=="Ele"){
			document.all("Tree").src='Images/Button_Ritorna_Verde_Sel.gif';
		}
		if (argc=="Add"){
				document.all("Add").src='Images/Button_New_Sel.gif';
			}	
		if (argc=="Conf"){
				document.all("Conf").src='Images/Button_Conferma_Sel.gif';
			}
		if (argc=="Conf2"){
				document.all("Conf2").src='Images/Button_Conferma_Sel.gif';
			}			
		if (argc=="Home"){
			document.all("Home").src='images/header_home_Sel.gif';
			document.all("Home").alt='Home';
		}
		if (argc=="Login"){
			document.all("Login").src='images/header_login_Sel.gif';
			document.all("Login").alt='Login';
		}
		if (argc=="Passwrd"){
			document.all("Passwrd").src='images/header_pwd_Sel.gif';
			document.all("Passwrd").alt='Change Password';
		}
		if (argc=="Help"){
			document.all("Help").src='images/header_help_Sel.gif';
			document.all("Help").alt='Help';
		}
		if (argc=="About"){
			document.all("About").src='images/header_about_Sel.gif';
			document.all("About").alt='About';
		}
		if (argc=="Quick"){
			document.all("Quick").src='images/header_quick_Sel.gif';
			document.all("Quick").alt='Quick Report';
		}
		if (argc=="Advan"){
			document.all("Advan").src='images/header_adv_Sel.gif';
			document.all("Advan").alt='Advanced Report';
		}
		if (argc=="AddL"){
			document.all("Add").src='images/header_add_Sel.gif';
			document.all("Add").alt='Add Log';
		}
		if (argc=="Admin"){
			document.all("Admin").src='images/header_admin_Sel.gif';
			document.all("Admin").alt='Admin';		
		}
		if (argc=="Prt"){
			document.all("Prt").src='images/Print_Sel.gif';
			document.all("Prt").alt='Stampa';		
		}
		if (argc=="Upd"){
			document.all("Upd").src='images/Update_Sel.gif';
			document.all("Upd").alt='Aggiorna';		
		}

	}
	
	function Unset(argc){
		if (argc=="Rit"){
			document.all("Rit").src='Images/Button_Ritorna.gif';
		}	
		if (argc=="Rit2"){
			document.all("Rit2").src='Images/Button_Ritorna.gif';
		}	
		if (argc=="Ele"){
			document.all("Tree").src='Images/Button_Ritorna_Verde.gif';
		}	
		if (argc=="Add"){
			document.all("Add").src='Images/Button_New.gif';
		}
		if (argc=="Conf"){
			document.all("Conf").src='Images/Button_Conferma.gif';
		}
		if (argc=="Conf2"){
			document.all("Conf2").src='Images/Button_Conferma.gif';
		}
		if (argc=="Home"){
		document.all("Home").src='images/header_home.gif';
		}
	
		if (argc=="Login"){
			document.all("Login").src='images/header_login.gif';
		}
		
		if (argc=="Passwrd"){
			document.all("Passwrd").src='images/header_pwd.gif';
		}
		if (argc=="Help"){
			document.all("Help").src='images/header_help.gif';
		}
		
		if (argc=="About"){
			document.all("About").src='images/header_about.gif';
		}
		
		if (argc=="Quick"){
			document.all("Quick").src='images/header_quick.gif';
		}
		
		if (argc=="Advan"){
			document.all("Advan").src='images/header_adv.gif';
		}
		
		if (argc=="AddL"){
			document.all("Add").src='images/header_Add.gif';
		}
		
		if (argc=="Admin"){
			document.all("Admin").src='images/header_admin.gif';
		}
		if (argc=="Prt"){
			document.all("Prt").src='images/Print.gif';
		}
		if (argc=="Upd"){
			document.all("Upd").src='images/Update.gif';
		}
}

 //funzione che aggiunge un apice se trovato' nella stringa
 function MakeApice(stringa)
     {	
		var pattern ="'";
		var after="";
		var lunghString = stringa.length;
		for(var i = 0; i < lunghString; i++) 
		{
			var str = stringa.charAt(i);
			after=after+str;
			if (pattern.indexOf(str) != -1) 
			{
				after=after+"'";					
			}
		}
		return after;      
     }
//fine


function getErrorMsg(CodErr,Rep1,Rep2)
{
  var srtMsg = CodErr;
  
  // se la label1 non è vuota
  if (Rep1 != "")
    srtMsg =srtMsg.replace("%1",Rep1,"")
  
  // se la label2 non è vuota
  if (Rep2 != "")
    srtMsg =srtMsg.replace("%2",Rep2,"")
 
  // visualizza l'intero messaggio
  alert(srtMsg);
 
}


function checkPattern(stringa, aPalette)
{	
	var pattern = aPalette;

	var lunghString = stringa.length;
	for(var i = 0; i < lunghString; i++) 
	{
		var str = stringa.charAt(i);
		if (pattern.indexOf(str) == -1) return false;
	}
	return true;      
}
function checkPattStr(stringa, aPalette)
{	
	var pattern = aPalette;

	var lunghString = stringa.length;
	for(var i = 0; i < lunghString; i++) 
	{
		var str = stringa.charAt(i);
		if (pattern.indexOf(str) == 0) return true;
	}
	return false;      
}

function checkNum(str)
{
	if(checkPattern(str, "0123456789"))
		return true;
	else
		return false;
}


function ctrlData(data)
{
	if(data.length!=0)
	{
		var pattern = "0123456789";
		var slash="";
		var lunghString = data.length;
		if(lunghString != 10)
		{
			paramVett = ['3', null];
	       		return false;
		}

		for(var i = 0; i < lunghString; i++)
		{
			var str = data.charAt(i);
			if (pattern.indexOf(str) == -1 )
			{
				if (i==2 && str=="/")
				{
					var aDataFldDay=data.substr(0,i);
					slash=1;
				}
				if (i==5 && str=="/")
				{
					var aDataFldMonth=data.substr(3,2);
					slash=2;
				}
				if (pattern.indexOf(str) == -1 && str!="/" )
				{
					paramVett = ['3', null];
	       				return false;
				}

			}
		}
		if (slash==2)
		{
			var aDataFldYear=data.substr(6,4);
		}
		else
		{
			paramVett = ['3', null];
	       		return false;
		}
		if (aDataFldYear <=1899)
		{
			paramVett = ['4', null];
	       		return false;
		}
		if (aDataFldMonth >= 1 && aDataFldMonth <= 12 && aDataFldDay >= 1 && aDataFldMonth >= 1 && aDataFldYear >= 1)
		{
			// calcolo il limite superiore del giorno, in base al mese
			dayLimit = 31				// tutti gli altri
			if (aDataFldMonth == 2)		// Febbraio
			{
				if (aDataFldYear % 4 == 0) // è bisestile
					dayLimit = 29
				else
					dayLimit = 28
			}
			else if (aDataFldMonth == 4 ||
					 aDataFldMonth == 6 ||
					 aDataFldMonth == 9 ||
					 aDataFldMonth == 11 ) // Aprile Giugno Settembre Novembre
					dayLimit = 30

			if (aDataFldDay <= dayLimit)	// giorno entro il limite superiore
				return true;
		}
		paramVett = ['3',null];
		return false;
	}
}
function ctrlCodFis(CodF) {
	var validi, i, s, set1, set2, setpari, setdisp;
	CodF = CodF.toUpperCase();
	if( CodF.length != 16 ){
                paramVett = ['6',null];
        	return false;
        }
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( CodF.charAt(i) ) == -1 ){
                        paramVett = ['6',null];
                	return false;
                }
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( CodF.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( CodF.charAt(i) )));
	if( s%26 != CodF.charCodeAt(15)-'A'.charCodeAt(0) ){
                paramVett = ['6',null];
         	return false;
        }
        return true;
}
function ctrlPIVA(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 ) {
		paramVett = ['9',null];
                return false;
	}
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 ){
			paramVett = ['9',null];
                        return false;
		}
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		    s += c;
         }
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) ) {
		paramVett = ['9',null];
                return false;
         }
	return true;
}

function ctrlNumero(aValue)
{
	if (aValue.length !=0)
	{
		if (checkNum(aValue)==false)
		{
			paramVett = ['1',null];
            		return false;
		}
	}
	return true;
}

function ctrlMail(mail)
{	if(mail.length!=0)
	{
		if(!checkPattern(mail, "0123456789@abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVZ._-;"))
		{
			paramVett = ['4',null];
			return false;
		}
		if ((mail.indexOf("@") == -1) |
		(mail.indexOf(".") == -1) |
		(mail.length < 7)) {
			paramVett = ['4',null];
			return false;
		}
		return true;
	}


}
function ctrlStr(stringa)
{
	if(stringa.length!=0){
		/*var pattern ="\"";
		var pat="\"
		alert(pat);
		var newStringa="";
		var lunghString = stringa.length;
		for(var i = 0; i < lunghString; i++)
		{
			var str = stringa.charAt(i);
			if (str==pattern) {alert("qui");
				newStringa=newStringa+"\"";
			}
			else {
				newStringa=newStringa+str;
			}
		}
		alert(newStringa);
		return true;
	*/
		if(checkPattStr(stringa, "\"")){
			paramVett = ['5',null];
			return false;
		}
		return true;
	}
}


function verifyField(aObj)
{
	switch (aObj.controllo)
	{
        	case 'data':
	       		return ctrlData(aObj.value);
	       	case 'codfis':
	       		return ctrlCodFis(aObj.value);
                case 'numero':
	      		return ctrlNumero(aObj.value);
                case 'mail':
	      		return ctrlMail(aObj.value);
		case 'stringa':
	      		return ctrlStr(aObj.value);



	}
	return false;
}
function insertParam(stringa, parametro)
{
	str = stringa.replace("@@", parametro);

	return str;
}
function messaggiStandardParam(codice, name, param)
{
	var messaggio;
	
	if (param != null) messaggio = insertParam(MESSAGGI[codice],param);
	else messaggio = MESSAGGI[codice];
	
	alert(MESSAGGI[2]+name+messaggio);  
}



function applyMessage(aObj) //, paramVett)
{
	var numberMessage = paramVett[0];
	var param = paramVett[1];
	
	switch (numberMessage)
	{
		case '0':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;
		case '1':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;
		case '3':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;
		case '4':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;
		case '5':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;			
		case '6':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;				
		case '7':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;
		case '8':
			messaggiStandardParam(numberMessage, "", null);
			returnFocus='Sys';
			break;
		case '9':
			messaggiStandardParam(numberMessage, aObj.label, null);
			returnFocus='normal';
			break;

		
			
	}
}

function applyFocus(obj)
{	
	if (returnFocus == 'hiddenConfrontoDate') 
	eval(obj.day1I).focus(); 		
	
	if (returnFocus == 'Data') 
	eval(obj.dayI).focus(); 		
	
	if (returnFocus == 'hiddenConfrontoNumero') 
	eval(obj.num1I).focus(); 		
	
	if (returnFocus == 'normal'){
			obj.focus();
	}
}


function isBlank(aValue)
{	
	var lunghInput = aValue.length;
	var caratInput;
	
	for (var i = 0; i < lunghInput; i++)
	{
  		caratInput = aValue.charAt(i);
  		if (caratInput != " ") return false;
 	}	
 	return true;					
}

function isDefined(attribObj)
{
	if (typeof attribObj == "undefined") return false;

	return true;
}

function verifyNotEmptyField(aObj)
{
	//var paramVett = new Array(2);
	
	if ((aObj.value == "0") && (aObj.controllo=="data"))
	{
      		paramVett = ['7', null]; // paramVett = [numeroMessaggio,param]
       		return false;
       		//return paramVett; // ritorna il numero di messaggio d'errore e il parametro del messaggio
	}
        else if (aObj.value == "0")
	{
      		paramVett = ['0', null]; // paramVett = [numeroMessaggio,param]
       		return false;
       		//return paramVett; // ritorna il numero di messaggio d'errore e il parametro del messaggio
	}

	if ((isBlank(aObj.value)) && (aObj.controllo=="data"))
	{
      		paramVett = ['7', null]; // paramVett = [numeroMessaggio,param]
       		return false;
       		//return paramVett; // ritorna il numero di messaggio d'errore e il parametro del messaggio
	}
	else if (isBlank(aObj.value))
	{
      		paramVett = ['0', null]; // paramVett = [numeroMessaggio,param]
       		return false;
       		//return paramVett; // ritorna il numero di messaggio d'errore e il parametro del messaggio
	}

	return true;
}

function verifyForm(aForm)
{
	//alert("tommy");
	var max=aForm.elements.length;
	var obj;
	var indice;
	//var paramVett = new Array(2);
	
	//scandisce gli oggetti nel form
	for(indice=0; indice<max; indice++)
	{
		
		obj=aForm.elements[indice];
		//se l'oggetto è definito come obbligatorio
		if (isDefined(obj.obbligatorio) || isDefined(obj.selezionato))
		{
			//se la verifica restitusce un errore, riporta l'errore alla chiamante 
			if (verifyNotEmptyField(obj) == false)
			{	
				//paramVett = verifyNotEmptyField(obj);
				
				applyMessage(obj);
				
				applyFocus(obj);
				
				return false;
								
			}
		}

	}//End For
	
	//scandisce gli oggetti nel form
	for(indice=0; indice<max; indice++)
	{	
		obj=aForm.elements[indice];

		//se l'oggetto è da controllare 
		if (isDefined(obj.controllo)) 
		{
			//se la verifica restitusce un errore, riporta l'errore alla chiamante 
			if (verifyField(obj) == false)
			{
				//paramVett = verifyField(obj);
				
				applyMessage(obj); //,paramVett);
				
				if (returnWarning == true) return true;  
		
				applyFocus(obj);
				
				return false;
        		}
		}	
	}//End For
    
    return true;
}
///
function verifyInp(obj)
{ 	
		if (isDefined(obj.obbligatorio) || isDefined(obj.selezionato) || isDefined(obj.selezionatoSys) || isDefined(obj.selezionatoRel) || isDefined(obj.selezionatoArea))
		{
			//se la verifica restitusce un errore, riporta l'errore alla chiamante 
			if (verifyNotEmptyField(obj) == false)
			{	
				//paramVett = verifyNotEmptyField(obj);
				
				applyMessage(obj);
				
				applyFocus(obj);
				
				return false;
								
			}
		}
	if (isDefined(obj.controllo))
		{
			//se la verifica restitusce un errore, riporta l'errore alla chiamante 
			if (verifyField(obj) == false)
			{
				//paramVett = verifyField(obj);
				
				applyMessage(obj); //,paramVett);
				
				if (returnWarning == true) return true;  
		
				applyFocus(obj);
				
				return false;
        		}
		}	
	return true;
}



//// cerca indirizzo
IndWebCod = new Array();
IndWebDes = new Array();
var listalength;
        function creaIndWeb(source){
                listalength = source.length;
                for (var z=0; z<listalength; z++){
                        IndWebCod[z] = source.options[z].value;
                        IndWebDes[z] = source.options[z].text;
			//source.remove(0);
		}
		for (var z=0; z<=listalength; z++){
			source.remove(1);
		}
		WaitPage(false);
        }
        function FindIndirizzo(listadest,StrFind){
                WaitPage(true);
                var TempLen=listadest.length;
                for (var z=0; z<=TempLen; z++){
			listadest.remove(1);
		}
	        for (var z=0; z<listalength; z++){
                               StrFind = StrFind.toUpperCase();
                               for (var i=0; i<IndWebDes[z].length; i++) {
                                        if (IndWebDes[z].substring(i,StrFind.length) == StrFind) {
                                                var oOption = document.createElement("OPTION");
                                              	oOption.text=IndWebDes[z];
                  				oOption.value= IndWebCod[z];
                  				listadest.add(oOption);
                          			listadest.disabled=false;
                                       }
                                }
		}
		WaitPage(false);
        }

//able
function WaitPage(f){

        if(f){
         	window.document.body.style.cursor="wait";
 		AbleDisable(document, true);
	}
	else{
 		window.document.body.style.cursor="default" ;
 		AbleDisable(document, false);
	}

}

function AbleDisable(doc, fun){
		var allInputs = doc.all.tags("input");
		for (i = 0; i < allInputs.length; i++){
			if (fun==true){
				allInputs[i].disabled = true;
			}
			else{
				allInputs[i].disabled = false;
			}
		}
		allInputs = doc.all.tags("select");
		for (i = 0; i < allInputs.length; i++){
			if (fun==true){
				allInputs[i].disabled = true;
			}
			else{
				allInputs[i].disabled = false;
			}
		}

		allInputs = doc.all.tags("object");

		for (i = 0; i < allInputs.length; i++){
			if (fun==true){
				allInputs[i].enableDate(!fun);
				allInputs[i].wait(fun);
			}
			else{
				allInputs[i].enableDate(!fun);
				allInputs[i].wait(fun);
			}
		}
		/*for (var r = 0; r < top.frmMain.document.frames.length; r++){

			if(typeof top.frmMain.document.frames[r] != "undefined" &&
				typeof top.frmMain.document.frames[r].document != "undefined" &&
				typeof top.frmMain.document.frames[r].document.forms != "undefined" &&
				top.frmMain.document.frames[r].document.forms.length > 0 &&
				typeof top.frmMain.document.frames[r].document.forms[0] != "undefined"
			 ){
				if(true){

					allInputs = doc.frames[r].document.all.tags("input");
					for (i = 0; i < allInputs.length; i++){
						if (fun==true){
							allInputs[i].disabled = true;
						}
						else{
							allInputs[i].disabled = false;
						}
					}
				}
			}
		}*/
}



