/*******************TOOLS*******************/
function dupilcate(source, dest){
	da=document.getElementById(source);
	a=document.getElementById(dest);
	a.value=da.value;
}

function clearField(idFiled){
	document.getElementById(idFiled).value="";
}
function disableItems(form, name){
	var form=document.getElementById(form);
	for (var i=0;i<form.length;i++){
		if(form.elements[i].name.indexOf(name)!=-1)
			form.elements[i].disabled=true;
	}
}
function formatCurrency(num) {	
	num = num = num.toString().replace(".","");
	num = num.toString().replace(",",".");
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)){
		if(isNaN(num.toString().substr(2, num.toString().length))){
			num = num.toString().substr(2, num.toString().length);
			num = num.toString().replace(".","");
			if(isNaN(num))
				num = "0";
		}
		else
			num= num.toString().substr(2, num.toString().length);
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '€ ' + num + ',' + cents);
}

function formatPercent(num) {
	num = num.toString().replace(",",".");
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		if(isNaN(num.toString().substr(0, (num.toString().length -2))))
			num = "0";
		else
			num= num.toString().substr(0, (num.toString().length -2))
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents + ' %' );
}

function calcolaRata(){
	var mesi=document.getElementById("txt_mesi").value;
	
	var tasso = document.getElementById("txt_tasso").value;
	tasso=tasso.replace(",",".");
	tasso=parseFloat(tasso.substring(0, (tasso.length - 2)));
	// EGIDIO
	apr = tasso;
        n=mesi/12;
	npy=12; // assumo base annuale
	
	tmp=Math.pow((1+(apr/100/npy)), (n*npy));
	//

	tasso_cent= 1 + ((tasso)/100);
	
	var importo=document.getElementById("txt_importo").value;
	importo=importo.substring(2, importo.length);
	importo=importo.replace(",","|");
	while(importo.indexOf(".")!=-1){
		importo=importo.replace(".","");
	}
	importo=importo.replace("|",".");
	importo=parseFloat(importo);
        // EGIDIO
	amount = importo;
	//
	var tassato=importo+((importo/100)*tasso);
	var rata=Math.round(tassato/mesi);
	// EGIDIO
	//var rata=Math.round((amount*tmp*(apr/100/npy))/(tmp-1));	
	rata=(amount*tmp*(apr/100/npy))/(tmp-1);	
	var rata=Math.round(rata*100)/100
	// 

	//http request per inserire i dati richiamando lo script php 
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	var pagina = "funzioni/registra_rata.php?i="+importo+"&d="+mesi+"&t="+tasso+"&r="+rata;
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	// var rata=Math.round(tassato/mesi); // ORIGINALE DI PUNTODOC MODIFICATO DA EGIDIO

	document.getElementById('lbl_rata').innerHTML=rata;
	
	return true;
}
function parseCurrency(importo){
	importo=importo.substring(2, importo.length);
	importo=importo.replace(",","|");
	while(importo.indexOf(".")!=-1){
		importo=importo.replace(".","");
	}
	importo=importo.replace("|",".");
	importo=parseFloat(importo);
	return importo;
}

function creaRiepilogo(){
	document.getElementById('spn_eta').innerHTML=document.getElementById('sl_eta').options[document.getElementById('sl_eta').selectedIndex].text;
	document.getElementById('spn_regione').innerHTML=document.getElementById('sl_regione').options[document.getElementById('sl_regione').selectedIndex].text;
	document.getElementById('spn_sesso').innerHTML=document.getElementById('sl_sesso').options[document.getElementById('sl_sesso').selectedIndex].text;
	document.getElementById('spn_professione').innerHTML=document.getElementById('sl_professione').options[document.getElementById('sl_professione').selectedIndex].text;
	
	if(document.getElementById('sl_anzianita').options[document.getElementById('sl_anzianita').selectedIndex].value==-1){
		document.getElementById('spn_anzianita').innerHTML=document.getElementById('sl_anzianita_mesi').options[document.getElementById('sl_anzianita_mesi').selectedIndex].text;
		document.getElementById('hid_anzianita').value=document.getElementById('sl_anzianita_mesi').options[document.getElementById('sl_anzianita_mesi').selectedIndex].value;
		
	}
	else{		
		document.getElementById('spn_anzianita').innerHTML=document.getElementById('sl_anzianita').options[document.getElementById('sl_anzianita').selectedIndex].text;
		document.getElementById('hid_anzianita').value=document.getElementById('sl_anzianita').options[document.getElementById('sl_anzianita').selectedIndex].value;
	}
	document.getElementById('spn_anniresidenza').innerHTML=document.getElementById('sl_anniresidenza').options[document.getElementById('sl_anniresidenza').selectedIndex].text;
	document.getElementById('spn_statocivile').innerHTML=document.getElementById('sl_statocivile').options[document.getElementById('sl_statocivile').selectedIndex].text;
	document.getElementById('spn_figli').innerHTML=document.getElementById('sl_figli').options[document.getElementById('sl_figli').selectedIndex].text;
	document.getElementById('spn_condizione').innerHTML=document.getElementById('sl_condizione').options[document.getElementById('sl_condizione').selectedIndex].text;
	document.getElementById('spn_affitto').innerHTML=document.getElementById('txt_affitto').value;
	document.getElementById('spn_manutenzione').innerHTML=document.getElementById('txt_manutenzione').value;
	document.getElementById('spn_bollette').innerHTML=document.getElementById('txt_bollette').value;
	document.getElementById('spn_arredamento').innerHTML=document.getElementById('txt_arredamento').value;
	document.getElementById('spn_reddito').innerHTML=document.getElementById('txt_reddito').value;
	document.getElementById('spn_entrate').innerHTML=document.getElementById('txt_entrate').value;
	document.getElementById('spn_debiti').innerHTML=document.getElementById('txt_debiti').value;
	document.getElementById('spn_tasse').innerHTML=document.getElementById('txt_tasse').value;
	document.getElementById('spn_linee').innerHTML=document.getElementById('sl_linee').options[document.getElementById('sl_linee').selectedIndex].text;
	document.getElementById('spn_ritardo').innerHTML=document.getElementById('sl_ritardi').options[document.getElementById('sl_ritardi').selectedIndex].text;
	document.getElementById('spn_richiesta').innerHTML=document.getElementById('sl_richiesta').options[document.getElementById('sl_richiesta').selectedIndex].text;
	document.getElementById('spn_importo').innerHTML=document.getElementById('txt_richiesta').value;
	document.getElementById('spn_rata').innerHTML=document.getElementById('txt_rata').value;
}

function calcolaSomma(){
	var alimentari=document.getElementById('txt_alimentari').value;
	var importo_alimentari=parseCurrency(alimentari);
	var abbigliamento=document.getElementById('txt_abbigliamento').value;
	var importo_abbigliamento=parseCurrency(abbigliamento);
	var trasporti=document.getElementById('txt_trasporti').value;
	var importo_trasporti=parseCurrency(trasporti);
	var tempolibero=document.getElementById('txt_tempolibero').value;
	var importo_tempolibero=parseCurrency(tempolibero);
	var altribeni=document.getElementById('txt_altribeni').value;
	var importo_altribeni=parseCurrency(altribeni);
	var sommaTotale=importo_alimentari+importo_abbigliamento+importo_trasporti+importo_tempolibero+importo_altribeni;
	document.getElementById('txt_totalespese').value=formatCurrency(sommaTotale);	
}

function keyCheck(e)
{
	if(!e) e = window.event;
	var KeyID = e.keyCode;
	if(KeyID==13){
		if (checkLogin())
			document.frm_login.submit();
}	}

function keyCheckRegistrazione(e)
{
	if(!e) e = window.event;
	var KeyID = e.keyCode;
	if(KeyID==13){
		if (checkCampiRegistrazione())
			if(verificaUsername())
				document.frm_registrazione.submit();
	}	
}

function startSearch(e){
	if(!e) 
		e = window.event;
	var KeyID = e.keyCode;
	if(KeyID==13){
		if(checkField("keys","Inserire almeno una parola chiave per effettuare la ricerca.","0","0"))
			searchEngine("ricerca.php", "div_pagina");
	}
}
/*******************VALIDATORI*******************/
function checkEliminaProfilo(){
	var conferma = document.getElementsByName("rb_conferma");
	for(var i = 0; i <conferma.length; i++){
		if((conferma[i].id=="rb_conferma_si") && (conferma[i].checked==true)){
			action=confirm("Confermi di voler eliminare definitivamente il tuo profilo?");
			return action;
		}
		else{
			alert("E' necessario confermare il testo del messaggio che sarà spedito agli amministratori.");
			return false;
		}
	}
}
function checkPreValutazione(args){
	var validato=0;
	for (var i = 0; i < (arguments.length); i++){
		var tipo = document.getElementById(arguments[i]).type;
		switch(tipo){
			case 'text':
				if(document.getElementById(arguments[i]).value.lenght!=0){
					document.getElementById(arguments[i]).style.borderColor='#32CD32';
					document.getElementById(arguments[i]).style.backgroundColor='white';
					validato++;
					
					if(document.getElementById(arguments[i]).name=="txt_reddito" || document.getElementById(arguments[i]).name=="txt_rata" ){
						if(document.getElementById(arguments[i]).value=="0,00" || document.getElementById(arguments[i]).value=="€ 0,00"){
							validato--;
							document.getElementById(arguments[i]).style.backgroundColor='yellow';
							document.getElementById(arguments[i]).style.borderColor='red';
						}
					}
				}
				else{
					document.getElementById(arguments[i]).style.backgroundColor='yellow';
					document.getElementById(arguments[i]).style.borderColor='red';
				}
				break;
			case 'select-one':
				if(document.getElementById(arguments[i]).value!='0'){
					document.getElementById(arguments[i]).style.borderColor='#32CD32';
					document.getElementById(arguments[i]).style.backgroundColor='white';
					validato++;
				}
				else{
					document.getElementById(arguments[i]).style.backgroundColor='yellow';
					document.getElementById(arguments[i]).style.borderColor='red';
				}
				break;			
			default:
				break;
		}
	}
	if(validato==arguments.length)
		return true;
	else
		return false;
}
function checkPreRisultatoValutazione(args){
	var validato=0;
	for (var i = 0; i < (arguments.length); i++){
		if(document.getElementById(arguments[i]).value.lenght!=0){
			document.getElementById(arguments[i]).style.borderColor='#32CD32';
			document.getElementById(arguments[i]).style.backgroundColor='white';
			validato++;
			if(document.getElementById(arguments[i]).value=="0,00" || document.getElementById(arguments[i]).value=="€ 0,00"){
				validato--;
				document.getElementById(arguments[i]).style.backgroundColor='yellow';
				document.getElementById(arguments[i]).style.borderColor='red';
			}
		}
		else{
			document.getElementById(arguments[i]).style.backgroundColor='yellow';
			document.getElementById(arguments[i]).style.borderColor='red';
		}
	}
	if(validato==arguments.length)
		return true;
	else
		return false;
}

function checkValutazione(campi){
	var validato=0;
	for (var i = 0; i < (campi.length); i++){
		var tipo = document.getElementById(campi[i]).type;
		switch(tipo){
			case 'text':
				if(document.getElementById(campi[i]).value.lenght!=0){
					validato++;
					
					if(document.getElementById(campi[i]).name=="txt_reddito" || document.getElementById(campi[i]).name=="txt_rata" ){
						if(document.getElementById(campi[i]).value=="0,00" || document.getElementById(campi[i]).value=="€ 0,00"){
						validato--;
						document.getElementById(campi[i]).style.backgroundColor='yellow';
						document.getElementById(campi[i]).style.borderColor='red';
						}
					}
				}
				else{
					document.getElementById(campi[i]).style.backgroundColor='yellow';
					document.getElementById(campi[i]).style.borderColor='red';
				}
				break;
			case 'select-one':
				if(document.getElementById(campi[i]).value!='0'){
					validato++;
				}
				else{
					document.getElementById(campi[i]).style.backgroundColor='yellow';
					document.getElementById(campi[i]).style.borderColor='red';
				}
				break;			
			default:
				break;
		}
	}
	if(validato==campi.length)
		return true;
	else
		return false;
}
function confirmClick(messaggio,pagina){
	action=confirm(messaggio);
	if (action==true)
		parent.self.location.href= pagina;
}

function checkField(id,msg,isnumber,ispositive){	
	var campo = document.getElementById(id);
	if (campo.value.length==0){
		alert(msg);
		return false;
	}
	else{ 
		if (isnumber=="1" && isNaN(campo.value)){
			alert(msg+" in formato numerico");
			return false;
		}
		if (ispositive=="1" && parseInt(campo.value)<1){
				alert(msg+" maggiore di zero");
				return false;
		}
	}
	return true;
}

function checkLogin(){	
	var validato = true;
	var username = document.getElementById('txt_username');
	var password = document.getElementById('txt_password');
	//ripristino lo sfondo bianco
	username.style.backgroundColor='white';
	password.style.backgroundColor='white';
	//controllo password e username
	if(password.value.length==0){
		password.style.backgroundColor='yellow';
		validato = false;
		password.focus();
	}
	if (username.value.length==0){
		username.style.backgroundColor='yellow';
		validato = false;
		username.focus();
	}
	return validato;
}

function checkCampiRegistrazione(){	
	var validato = true;
	var username = document.getElementById('txt_user');
	var password = document.getElementById('txt_pass');
	//ripristino lo sfondo bianco
	username.style.backgroundColor='white';
	password.style.backgroundColor='white';
	//controllo password e username
	if(password.value.length<5){
		password.style.backgroundColor='yellow';
		validato = false;
		password.focus();
	}
	if (username.value.length<2){
		username.style.backgroundColor='yellow';
		validato = false;
		username.focus();
	}
	return validato;
}

function checkRegistra(){
	var validato = false;
	var img_username = document.getElementById('img_stato_username').src.indexOf("si.gif");
	var img_password = document.getElementById('img_stato_password').src.indexOf("si.gif");
	if(img_username==img_password && img_password!=-1){
		action=confirm("Confermi di aver letto e accettato il trattamento dei dati?");
		if (action==true)
			validato=true;
	}
	else{
		alert("Per proseguire è necessario che tutti i campi obbligatori siano compilati in modo adeguato");
	}
	return validato;
}
function checkModifica(){
	var validato = false;
	var img_email = document.getElementById('img_stato_email').src.indexOf("si.gif");
	if(img_email!=-1){
		validato=true;
	}
	else{
		alert("E' necessario inserire un indirizzo e-mail valido");
	}
	return validato;
}

function isLenOk(len, id, img){
	var campo = document.getElementById(id);
	if(campo.value.length>=len){
		if(img!=""){
			var img_stato= document.getElementById(img);
			img_stato.src = "img/layout/si.gif";
			campo.style.borderColor="green";
		}
		return true;
	}
	else{
		if(img!=""){
			var img_stato= document.getElementById(img);
			img_stato.src = "img/layout/no.gif";
			campo.style.borderColor="red";
		}
		else{
			alert("Inserire un CAP valido");
			return false;
		}
	}
}

function isEmail(id, img) {
	var email = document.getElementById(id);
	var img_stato_email= document.getElementById(img);
	if(email.value.length>0){
		if (email.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1){
			img_stato_email.src = "img/layout/si.gif";		
			email.style.borderColor="green";
			return true;
		}
		else{
			img_stato_email.src = "img/layout/no.gif";
			email.style.borderColor="red";
			return false;
		}
	}
}

/*******************MOSTRA-NASCONDI*******************/
function showByName(name){
	var elementi=document.getElementsByName(name);
	for(var i=0;i<elementi.length;i++){
		if (elementi[i].style.display=='none')
			elementi[i].style.display='block';
		else
			elementi[i].style.display='none';
	}
}
function showDivById(id){
	var elementi=document.getElementsByTagName("div");
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].id.indexOf(id)!=-1){
			elementi[i].style.display='';
		}
	}
}
function showDivByIdAndPosition(id){
	var elementi=document.getElementsByTagName("div");
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].id.indexOf(id)!=-1){
			elementi[i].style.top="200px";
			elementi[i].style.display='';
		}
	}
}
function showDivByIdByPosition(id){
	var elementi=document.getElementsByTagName("div");
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].id.indexOf(id)!=-1){
			elementi[i].style.display='';
			elementi[i].style.marginTop=30 + document.body.scrollTop + "px";
		}
	}
}

function showTagById(tag, id){
	var elementi=document.getElementsByTagName(tag);
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].id.indexOf(id)!=-1){
			elementi[i].style.display='';
		}
	}
}
function showById(tag, id){
	var elementi=document.getElementsByTagName(tag);
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].id.indexOf("_"+id+"_")!=-1){
			if (elementi[i].style.display=='none')
				elementi[i].style.display='';
			else
				elementi[i].style.display='none';
		}
	}
}
function hideByClassName(tag, classname){
	var elementi=document.getElementsByTagName(tag);
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].className==classname){
			elementi[i].style.display='none';
		}
	}
}
function showByClassName(tag, classname){
	var elementi=document.getElementsByTagName(tag);
	for(var i=0;i<elementi.length;i++){
		if(elementi[i].className==classname){
			elementi[i].style.display='block';
		}
	}
}
function  VariazioneAnzianita(selectObj) {  
	 var idx = selectObj.selectedIndex;  
	 var selezionata= selectObj.options[idx].value;
	 if(selezionata==-1){
		 showByClassName("select", "sl_mesi");
	 }
	 else{
		 hideByClassName("select", "sl_mesi");
	 }
}
/*******************AJAX*******************/
function startRequest(pagina, container){
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	var div_pagina = document.getElementById(container);
	div_pagina.innerHTML = xmlHttp.responseText;
}
function searchEngine(pagina, container){
	var keywords=document.getElementById('keys').value;
	pagina+="?keys="+keywords;
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	var div_pagina = document.getElementById(container);
	div_pagina.innerHTML = xmlHttp.responseText;
	document.getElementById('keys').innerHTML=keywords;
}
function verificaUsername(){
	var username=document.getElementById('txt_user');
	pagina="funzioni/verifica_utente.php?username="+username.value;
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	var img_stato_username= document.getElementById('img_stato_username');
	img_stato_username.src = xmlHttp.responseText;	
}

function registraRisposta(d, n){
	var risposte=document.getElementsByName('rb_questionario');
	for(var i=0;i<risposte.length;i++){
		if(risposte[i].checked==true){
			var risposta = risposte[i].value;
		}
	}
	
	var pagina = "funzioni/registra_risposte.php?d="+d+"&r="+risposta+"+&n="+n;

	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	var div_pagina = document.getElementById("div_pagina");
	div_pagina.innerHTML = xmlHttp.responseText;
}

function registraRisposta(d, n){
	var risposte=document.getElementsByName('rb_questionario');
	for(var i=0;i<risposte.length;i++){
		if(risposte[i].checked==true){
			var risposta = risposte[i].value;
		}
	}
	var pagina = "funzioni/registra_risposte.php?d="+d+"&r="+risposta+"+&n="+n;
	if (navigator.appName == 'Microsoft Internet Explorer'){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else{
		var xmlHttp = new XMLHttpRequest();
	}
	xmlHttp.open("GET", pagina, false);
	xmlHttp.send(null);
	
	var div_pagina = document.getElementById("div_pagina");
	div_pagina.innerHTML = xmlHttp.responseText;
}

function registraValori(args){
	var dest= arguments[0];
	var container = arguments[1];
	var pagina="";
	var param="?";
	var next="next="+arguments[arguments.length-1];
	var k = 0;
	var campi= Array();
	for (var i = 2; i < (arguments.length-1); i++){
		campi[k]=arguments[i];
		param+=arguments[i]+"="+document.getElementById(arguments[i]).value+"&";
		k++;
	}
	pagina=dest+param+next;
	if(checkValutazione(campi)==true){
		if (navigator.appName == 'Microsoft Internet Explorer'){
			var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		else{
			var xmlHttp = new XMLHttpRequest();
		}
		xmlHttp.open("GET", pagina, false);
		xmlHttp.send(null);
		
		var div_pagina = document.getElementById(container);
		div_pagina.innerHTML = xmlHttp.responseText;
	}
	else{
		alert("Prego, verificare i campi non validi.");
		window.scrollTo(0,0);
	}
}

