
function data_onload(orario)
{
	top.frameVuoto.contaora.action="contaora.aspx?oraA="+ orario;
	top.frameVuoto.contaora.submit();
}

// sorce xml (idPagina)
var xmlsource = "/help/interfacemessages/0.xml"

// vettore di elementi da controllare:
var matrix_controllo = new Array(3);
matrix_controllo[0] = "text";
matrix_controllo[1] = "textarea";
//matrix_controllo[2] = "file";

// vettore di elementi nn consentiti
var matrix_nnConsentiti = new Array(10);
matrix_nnConsentiti[0] = "/";
matrix_nnConsentiti[1] = "\\";
matrix_nnConsentiti[2] = ":";
matrix_nnConsentiti[3] = "*";
matrix_nnConsentiti[4] = "?";
matrix_nnConsentiti[5] = "\"";
matrix_nnConsentiti[6] = "<";
matrix_nnConsentiti[7] = ">";
matrix_nnConsentiti[8] = "|";
matrix_nnConsentiti[9] = "&";

// vettore di estensioni consentite per i file
var matrix_FileConsentiti = new Array(9);
matrix_FileConsentiti[0] = "txt";
matrix_FileConsentiti[1] = "doc";
matrix_FileConsentiti[2] = "pdf";
matrix_FileConsentiti[3] = "xls";
matrix_FileConsentiti[4] = "ppt";
matrix_FileConsentiti[5] = "gif";
matrix_FileConsentiti[6] = "jpg";
matrix_FileConsentiti[7] = "zip";
matrix_FileConsentiti[8] = "rar";

// controllo caratteri non consentiti tramite espression regolare
//var exrpReg_nnConsentiti = /<\s*script\s*>|&lt;\s*script\s*&gt;|%26lt;\s*script\s*%26gt;|%26lt;script&gt;|&lt;script%26gt;/i;
//var exrpReg_nnConsentiti = /[<|%26lt;|&lt;]\s*script\s*[>|%26gt;|&gt;]/i;
var exrpReg_nnConsentiti = /&lt;\s*script\s*&gt;/i;

// riepilogo parametri
// #1	strIndiciTipiCtrl: 		indici della martice matrix_controllo per i campi su cui effettuare i controlli
// #2	strIndiciNnConsentiti:	indici della martice matrix_nnConsentiti per i caratteri su cui effettuare i controlli
// #3	strIdLingua: 			id della lingua per la selezione dall'xml del testo da visualizzare nell'eventuale alert
function controlloTesti(strIndiciTipiCtrl, strIndiciNnConsentiti, strIndiciFileConsentiti, strIdLingua) {

	var indiciTipiCtrl = strIndiciTipiCtrl.split(',');
	var indiciNnConsentiti = strIndiciNnConsentiti.split(',');
	var indiciFileConsentiti = strIndiciFileConsentiti.split(',');

	var daControllareTxt = false;
	var daControllareExprReg = false;
	var daControllareFile = false;

	var msgAlert = caricaXml(0,strIdLingua);
	for(i=0;i<indiciNnConsentiti.length;i++) {
		msgAlert = msgAlert +" "+ matrix_nnConsentiti[indiciNnConsentiti[i]];
	}
	msgAlert = msgAlert + caricaXml(1,strIdLingua);

	var msgAlertScript = caricaXml(5,strIdLingua);

	var msgAlertFile = caricaXml(3,strIdLingua);
	for(i=0;i<indiciFileConsentiti.length;i++) {
		msgAlertFile = msgAlertFile +" "+ matrix_FileConsentiti[indiciFileConsentiti[i]];
	}

	for(i=0;i<document.forms[0].elements.length;i++) {
		daControllareTxt = false;
		daControllareExprReg = false;
		daControllareFile = false;

		while(document.forms[0].elements[i].value.indexOf('<')>=0)
			document.forms[0].elements[i].value = document.forms[0].elements[i].value.replace("<", "&lt;");

		while(document.forms[0].elements[i].value.indexOf('>')>=0)
			document.forms[0].elements[i].value = document.forms[0].elements[i].value.replace(">", "&gt;");
/*
		while(document.forms[0].elements[i].value.indexOf('&')>=0)
			document.forms[0].elements[i].value = document.forms[0].elements[i].value.replace("&", "%26");
*/
		for(j=0;j<indiciTipiCtrl.length;j++) {
			if(matrix_controllo[indiciTipiCtrl[j]].toLowerCase()==document.forms[0].elements[i].type)
			{
				if(indiciTipiCtrl[j]==0) {
					daControllareExprReg = true;
					daControllareTxt = false;
					daControllareFile = false;
				}
				else if(indiciTipiCtrl[j]==1) {
					daControllareExprReg = true;
					daControllareTxt = false;
					daControllareFile = false;
				}
				else if(indiciTipiCtrl[j]==2) {
					daControllareExprReg = false;
					daControllareTxt = false;
					daControllareFile = true;
				}
				else {
					daControllareExprReg = false;
					daControllareTxt = false;
					daControllareFile = false;
				}
			}
		}

		if(daControllareTxt) {
			var j = 0;
			while(j<indiciNnConsentiti.length) {
				if(document.forms[0].elements[i].value.indexOf(matrix_nnConsentiti[indiciNnConsentiti[j]])>=0) {
					alert(msgAlert);
					return false;
				}
				j++;
			}
		}
		else if(daControllareExprReg) {
			if(exrpReg_nnConsentiti.test(document.forms[0].elements[i].value)) {
				alert(msgAlertScript);
				return false;
			}
		}
		else if(daControllareFile) {
			var j = 0;
			while(j<indiciFileConsentiti.length) {
				if(document.forms[0].elements[i].value.indexOf("."+ matrix_FileConsentiti[indiciFileConsentiti[j]])<0) {
					alert(msgAlertFile);
					return false;
				}
				j++;
			}
		}
	}
	return true;
}

/*
 * funzione per il controllo dei nomi file...
 */
function controllaNomiFile(strNomiCampi, strAlert) {
	try {
		var matrix_charNonConsentiti = new Array(10);
		matrix_charNonConsentiti[0] = "/";
		matrix_charNonConsentiti[1] = "\\";
		matrix_charNonConsentiti[2] = ":";
		matrix_charNonConsentiti[3] = "*";
		matrix_charNonConsentiti[4] = "?";
		matrix_charNonConsentiti[5] = "\"";
		matrix_charNonConsentiti[6] = "<";
		matrix_charNonConsentiti[7] = ">";
		matrix_charNonConsentiti[8] = "|";
		matrix_charNonConsentiti[9] = "&";

		var elencoCampi = new Array();
		elencoCampi = strNomiCampi.split(',');

		var valoreFile = "";
		for(i=0;i<elencoCampi.length;i++) {
			var nome = "document.forms[0]."+ elencoCampi[i] +".value";
			if(valoreFile=="")
				valoreFile = eval(nome);
			else
				valoreFile = valoreFile +", "+ eval(nome);
		}

		var charInvalidi = false;

		for(i=0; i<matrix_charNonConsentiti.length;i++) {
			if(valoreFile.indexOf(matrix_charNonConsentiti[i])>=0)
				charInvalidi = true;
		}

		if(charInvalidi) {
			alert(strAlert);
			return false;
		}
		else
			return true;
	}
	catch(Exception) {
	}
}

function caricaXml(strNum, strIdLingua) {
	try {
		var xmlDoc = "";
		if (window.ActiveXObject)
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		else if (document.implementation && document.implementation.createDocument)
			xmlDoc = document.implementation.createDocument("","doc",null);

		xmlDoc.async = "false";

		if(typeof(xmlDoc)!="undefined") {
			xmlDoc.load(xmlsource);

			var tickerobj = xmlDoc.getElementsByTagName("interfacemessages");

			var i = 0;
			var nonTrovato = true;

			if(tickerobj[0].childNodes!=null) {
				while((nonTrovato) && (i<tickerobj[0].childNodes.length)) {
					var msgsobj = tickerobj[0].childNodes[i];
					// controllo su lingua e numero pagina per l'xml
					if((msgsobj.getAttribute("idMessaggio")==strNum) && (msgsobj.getAttribute("idLingua")==strIdLingua)) {
						return msgsobj.firstChild.nodeValue;
						nonTrovato = false;
					}
					i=i+1;
				}
				if(!nonTrovato) return "";
			}
		}
	}
	catch(Exception) {
		switch (strNum) {
			case 0:
				return "Attenzione i caratteri ";
			break;
			case 1:
				return " non sono consentiti!";
			break;
			case 2:
				return "Attenzione inserire un valore numerico!";
			break;
			case 3:
				return "Attenzione sono consentiti solo i file con estensione: ";
			break;
			default:
				return "";
			break;
		}
	}
}

function soloNumerici(strCampo, strIdLingua) {
	if(strCampo.value.indexOf(',')>=0)
		strCampo.value = strCampo.value.replace(",", ".");

	if(isNaN(strCampo.value)) {
		alert(caricaXml(2,strIdLingua));
		strCampo.value = "";
		return false;
	}
	else return true;
}

function disabilitaMinoreMaggiore(strCampo, strIdLingua) {
	var msgAlert;

		if((strCampo.value.indexOf('<')>=0)||(strCampo.value.indexOf('>')>=0)) {
			msgAlert = caricaXml(0,strIdLingua);
			msgAlert = msgAlert +" < e > ";
			msgAlert = msgAlert + caricaXml(1,strIdLingua);
		
			//alert(caricaXml(2,strIdLingua));
			alert(msgAlert);
			strCampo.value = "";
			return false;
		}
		else return true;
}

// funzione per trovare i char nazionali
// all'interno della tabella di caratteri ascii:
// io nazionali si trovano per valori > 128
function trovaCharNazionali(strValore) {
	var trovato = false;
	for(i=0;i<strValore.length;i++) {
		var charTemp = strValore.charCodeAt(i);

		if(charTemp&128)
			trovato = true;
	}

	return trovato;
}

 function Stampa() 
  {
     
	
	 //Nasconde le celle indesiderate
     if (document.getElementById('barraLateraleDx')!= null)
        document.getElementById('barraLateraleDx').style.display = "None";		
     if (document.getElementById('barraLateraleSx')!= null)
        document.getElementById('barraLateraleSx').style.display = "None";
      if (document.getElementById('coda')!= null)
        document.getElementById('coda').style.display = "None";
     if (document.getElementById('testa')!= null)
        document.getElementById('testa').style.display = "None";
		

     var largh = document.getElementById('tdTableCorpo').style.width;
     document.getElementById('tdTableCorpo').style.width = '100%';

 //Lancia la funzione di stampa
 window.print();
 document.getElementById('tdTableCorpo').style.width = largh;
		
	//Ripristina l'impostazione iniziale delle celle indesiderate
      if (document.getElementById('barraLateraleDx')!= null)
        document.getElementById('barraLateraleDx').style.display = "";
     if (document.getElementById('barraLateraleSx')!= null)
        document.getElementById('barraLateraleSx').style.display = "";
      if (document.getElementById('coda')!= null)
        document.getElementById('coda').style.display = "";
     if (document.getElementById('testa')!= null)
        document.getElementById('testa').style.display = "";
}

// Questa funzione controlla che data1<data2 altrim restituisce false
// NB: Le date devono essere in formato dd/mm/yyyy 
function controllaDate(data1,data2)
{
	try {
		var data1mod = new Array(3);
		var data2mod = new Array(3);

		data1mod = data1.split("/");
		data2mod = data2.split("/");

		data1mod[0] = data1mod[0].replace(' ','');
		data1mod[1] = data1mod[1].replace(' ','');
		data1mod[2] = data1mod[2].replace(' ','');
		data2mod[0] = data2mod[0].replace(' ','');
		data2mod[1] = data2mod[1].replace(' ','');
		data2mod[2] = data2mod[2].replace(' ','');

		if((data1mod[2]+data1mod[1]+data1mod[0]) > (data2mod[2]+data2mod[1]+data2mod[0]))
			return false;
		else return true;
	}
	catch(Exception)
	{
		return false;
	}
}