var risoluzione;
risoluzione = screen.width;

function setBackground(){
	switch (risoluzione){
		case 1024:
		{
			document.body.background = "../img/sfondo1024_new.jpg";
			break;
		}
		case 800:
		{
			document.body.background = "../img/sfondo800_new.jpg";
			break;
		}
		case 1280:
		{
			document.body.background = "../img/sfondo1280_new.jpg";
			break;
		}
		case 640:
		{
			document.body.background = "../img/sfondo640_new.jpg";
			break;
		}
		default:
		{
			document.body.background = "../img/sfondo800_new.jpg";
			break;
		}
	}
}

function changeColor(oggetto, colore){
	//alert(colore);
	//alert(oggetto.id);
	
	oggetto.style.color = colore;
}

function initScuola(){

	form1.elements["cboRegime"].value = 1;
	form1.elements["cboQualifica"].value = 3;
	
	form1.elements["txtAnniServizio"].value = "10";
	form1.elements["txtAnniRiscattati"].value = "0";
	form1.elements["txtDataNascita"].value = "01/01/1971";

	form1.elements["cboInflazione"].value = "8";
	form1.elements["cboQuotaFondo"].value = "1,00";
	form1.elements["cboSpread"].value = "1,00";
}

function initNonScuola(){

	//form1.elements["cboRegime"].value = 3;
	//cboQuotaIIS.value = "";
	
	form1.elements["txtRetrMensTfs"].value = "1000,00";
	form1.elements["txtIisMens"].value = "500,00";
	form1.elements["txtAltreTfr"].value = "0,00";
	form1.elements["txtAnniServizio"].value = "10";
	form1.elements["txtAnniRiscattati"].value = "0";
	form1.elements["txtDataNascita"].value = "01/01/1971";
	
}

function prendiElementoDaId(id_elemento) {
	// elemento da restituire
	var elemento;
	
	// se esiste il metodo getElementById
	// questo if sarà diverso da false, null o undefined
	// e sarà quindi considerato valido, come un true
	if(document.getElementById)
		elemento = document.getElementById(id_elemento);
	
	// altrimenti è necessario usare un vecchio sistema
	else
		elemento = document.all[id_elemento];
	
	// restituzione elemento
	return elemento;
}

// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function assegnaXMLHttpRequest() {

	// lista delle variabili locali
	var
	// variabile di ritorno, nulla di default
	XHR = null,
 
	// informazioni sul nome del browser
	browserUtente = navigator.userAgent.toUpperCase();


	// browser standard con supporto nativo
	// non importa il tipo di browser
	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
		XHR = new XMLHttpRequest();

	// browser Internet Explorer
	// è necessario filtrare la versione 4
	else if(window.ActiveXObject &&	browserUtente.indexOf("MSIE 4") < 0) {
 
		// la versione 6 di IE ha un nome differente
		// per il tipo di oggetto ActiveX
		if(browserUtente.indexOf("MSIE 5") < 0)
			XHR = new ActiveXObject("Msxml2.XMLHTTP");
		
		// le versioni 5 e 5.5 invece sfruttano lo stesso nome
		else
			XHR = new ActiveXObject("Microsoft.XMLHTTP");
	}

	return XHR;
} 

function getXMLHttpRequest(){
	var xmlhttp = null;
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
		if ( typeof xmlhttp.overrideMimeType != 'undefined') {
			xmlhttp.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xmlhttp;
}

function getSyncXml(fileRemoto, returnXml, dataToPost) {
	var testo = null;
	var xmlhttp = getXMLHttpRequest();
	if (xmlhttp != null) {
		xmlhttp.open("post", fileRemoto, false);
		xmlhttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		xmlhttp.send(dataToPost);
		if (returnXml) {
			if (xmlhttp.responseXML)
				testo = xmlhttp.responseXML;
		}
		else testo = xmlhttp.responseText;
	}
	return testo;
}

function loadData(container, fileToLoad) {
	var oTag = document.getElementById(container);
	if (oTag) {
		var data = getSyncXml(fileToLoad, false);
		if (data)
			oTag.innerHTML = data;
		else
			oTag.innerHTML = "<span style='font-weight:bold;'>Dati non trovati</span>";
	}
	else alert("Elemento contenitore non trovato.");
}

function DisplayError(codice){
	//alert(codice);
	var oErrore = document.getElementById("lblErrore");
	/*
	var testo = getSyncXml("../jsp/messaggi.jsp", false, "codice=" + codice);
	//alert(testo);
	oErrore.innerHTML = getSyncXml("../jsp/messaggi.jsp", false, "codice=" + codice);
	*/
	var codmess = document.forms[0].elements["codmess"];
	//alert(codmess);
	codmess.value = codice;
	var testo = codmess.options[codmess.selectedIndex].text;
	oErrore.innerHTML = testo;
}

function ControllaCampo(campo, tipo, errore){
	var ret = true;
	if (tipo == "N"){
		ret = isNumber(campo.value);
	}
	else if (tipo == "T"){
	}
	else if (tipo == "D"){
		if (campo.value.length > 0)
			ret = (check_date(campo) == 0);
		else
			ret = false;
	}
	
	if (!ret){
		DisplayError(errore);
		campo.select();
		campo.focus();
	}
	
	return ret;
}
/******************************
	type checking functions
******************************/

// Return true if value is an e-mail address
function isEmail(value) {
	invalidChars = " /:,;";
	if (value=="") return false;
	
	for (i=0; i<invalidChars.length;i++) {
	   badChar = invalidChars.charAt(i);
	   if (value.indexOf(badChar,0) != -1) return false;
	}
	
	atPos = value.indexOf("@", 1);
	if (atPos == -1) return false;
	if (value.indexOf("@", atPos + 1) != -1) return false;
	
	periodPos = value.indexOf(".", atPos);
	if (periodPos == -1) return false;
	
	if (periodPos+3 > value.length) return false;

	return true;
}

// Return true if value is a number
function isNumber(value) {
	if (value=="") return false;

	var d = parseInt(value);
	if (!isNaN(d)) return true; else return false;		

}

function check_date(field){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "/";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
	err = 0;
	DateValue = DateField.value;

	/* Delete all chars except 0..9 */
	for (i = 0; i < DateValue.length; i++) {
	   if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
		  DateTemp = DateTemp + DateValue.substr(i,1);
	   }
	}
	DateValue = DateTemp;
	/* Always change date to 8 digits - string*/
	/* if year is entered as 2-digit / always assume 20xx */
	if (DateValue.length == 6) {
	   DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
	if (DateValue.length != 8) {
	   err = 19;}
	/* year is wrong if year = 0000 */
	year = DateValue.substr(4,4);
	if (year == 0) {
	   err = 20;
	}
	/* Validation of month*/
	month = DateValue.substr(2,2);
	if ((month < 1) || (month > 12)) {
	   err = 21;
	}
	/* Validation of day*/
	day = DateValue.substr(0,2);
	if (day < 1) {
	  err = 22;
	}
	/* Validation leap-year / february / day */
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
	   leap = 1;
	}
	if ((month == 2) && (leap == 1) && (day > 29)) {
	   err = 23;
	}
	if ((month == 2) && (leap != 1) && (day > 28)) {
	   err = 24;
	}
	/* Validation of other months */
	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
	   err = 25;
	}
	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
	   err = 26;
	}
	/* if 00 ist entered, no error, deleting the entry */
	if ((day == 0) && (month == 0) && (year == 00)) {
	   err = 0; day = ""; month = ""; year = ""; seperator = "";
	}
	/* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
	if (err == 0) {
	   DateField.value = day + seperator + month + seperator + year;
	}
	/* Error-message if err != 0 */
	else {
		//	   alert("Data non valida");
	   DateField.select();
	   DateField.focus();
	}
	return err;
}

function replaceString(mainStr, searchStr, replaceStr){
	return mainStr.split(searchStr).join(replaceStr);
}

function DisplayHelp(codice){
	//alert(codice);
	
	var oErrore = document.getElementById("lblErrore");
	//var testo = getSyncXml("../jsp/messaggi.jsp", false, "codice=" + codice);
	var codmess = document.forms[0].elements["codmess"];
	codmess.value = codice;
	var testo = codmess.options[codmess.selectedIndex].text;
	
	//alert(testo);
	//oErrore.innerHTML = getSyncXml("../jsp/messaggi.jsp", false, "codice=" + codice);
	//FL if (testo && testo.indexOf("Error 500") == -1){
		var p=window.createPopup()
		var pbody=p.document.body
		pbody.style.backgroundColor="#FFFFCC"
		pbody.style.backgroundColor = "lightyellow"
		pbody.style.border="solid black 1px"
		pbody.innerHTML="<div style=\"width:300px;  height: 100px; overflow:scroll;\">" + testo + "</div>";
		//alert(pbody.innerHTML);
		//event.clientX
		//p.show((window.screen.width/2)-150,(window.screen.height/2)-100,300,200,document.body)
		p.show(event.clientX,event.clientY,300,100,document.body)
	//FL }
}

function VisualizzaGrafico(grafico){
	//alert(f1.comparto.value);
	
	var opzioni = "dialogWidth:850px;dialogHeight:650px;status:no;"; 
	var params = "grafico="+grafico;
	//var pagina = "../jsp/" + grafico + ".jsp";
	var pagina = "../jsp/visualizzaGrafico.jsp";
	//var ret = window.showModalDialog(pagina, params, opzioni);
	//alert(pagina + "?" + params);
	document.location.href = pagina + "?" + params;
}

function CaricaTabella(){
	var ds = document.getElementById("dsReport");
	var prospetto = document.getElementById("prospetto");
	
	var numCampi = ds.rows[0].childNodes.length - 1;
	//alert(ds.rows[0].childNodes[numCampi].innerHTML);
	// Imposto il valore calcolato della rendita nel riepilogo del prospetto
	document.getElementById("rendfc").innerHTML = ds.rows[0].childNodes[numCampi].innerHTML;
	for (var j = 0; j < ds.rows.length; j++){
		var r = ds.rows[j];
		var x = prospetto.insertRow(j + 3);
		for (var i = 0; i < numCampi; i++){
			var y = x.insertCell(i)
			y.align = "center";
			var n = new Number(r.cells[i].innerHTML);
			y.innerHTML = replaceString(n.toLocaleString(), ",00", "");
			//y.style.fontSize = "small";
			if (i == posCap50)
				y.style.backgroundColor = "#33CCFF";
		}
	}

	document.getElementById("divghost").innerHTML = "";
	
}

function InvertiColore(obj){
	var bk = obj.style.color;
	obj.style.color = obj.style.backgroundColor;
	obj.style.backgroundColor = bk;
}

