// JavaScript Document

//var myRequest = null;
var pagina = null;
var target = null;
var rispostaServer = null;


function CreateXmlHttpReq(Evento) {
  this.xmlhttp = null;
  try {
    this.xmlhttp = new XMLHttpRequest();
  } catch(e) {
    try {
        this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  this.xmlhttp.onreadystatechange = Evento;
  return this.xmlhttp;
}


function myHandler() {
	setFade(0, document.getElementById(target));
	
	
    if (myRequest.readyState == 4 && myRequest.status == 200) {
		document.getElementById(target).innerHTML = myRequest.responseText;
		fade(10, document.getElementById(target));
    }
	if (myRequest.readyState < 4) {
		fade(0, document.getElementById(target));
	 	document.getElementById(target).innerHTML = "<img src='../img/layout/loading_big.gif'> Loading...";
	}
}

function checkRispostaServerNewsletter() {
	setFade(0, document.getElementById(target));
    if (myRequest.readyState == 4 && myRequest.status == 200) {
		rispostaServer = myRequest.responseText;
		document.getElementById(target).innerHTML = "";
		fade(10, document.getElementById(target));
		if(myRequest.responseText=="ok"){
			alert("Grazie per esserti registrato, riceverai le newletter nell'indirizzo di posta elettronica specificato!");
			document.regNewsletter.reset();
			document.getElementById('popupNewsletter').style.display='none';
		} else if(myRequest.responseText=="esistente") {
			alert("Utente gia' presente nella lista della newsletter");	
		} else {
			alert("Errore in fase di registrazione, si prega di riprovare!");	
		}
    } 
	if (myRequest.readyState < 4) {
		fade(0, document.getElementById(target));
	 	document.getElementById(target).innerHTML = "<img src='../img/layout/loading_big.gif'> Loading...";
	}
}

function checkLoginNormalUser() {
	setFade(0, document.getElementById(target));
    if (myRequest.readyState == 4 && myRequest.status == 200) {
		rispostaServer = myRequest.responseText;
		document.getElementById(target).innerHTML = "";
		fade(10, document.getElementById(target));
		if(myRequest.responseText=="ok"){
			document.loginAreaRiservata.submit();
			//document.getElementById('popupRegistrazione').style.display='none';
		} else {
			alert("Utente non esistente, si prega di registrarsi o inserire i dati corretti!");	
		}
    } 
	if (myRequest.readyState < 4) {
		fade(0, document.getElementById(target));
	 	document.getElementById(target).innerHTML = "<img src='../img/layout/loading_big.gif'> Loading...";
	}
}

function checkLogin() {
	setFade(0, document.getElementById(target));
	//alert(pagina);
	//document.getElementById(target).innerHTML = "Status: "+myRequest.status+" - readyState: "+myRequest.readyState; 
	
    if (myRequest.readyState == 4 && myRequest.status == 200) {
		if(myRequest.responseText=='Accesso al sistema...'){
			document.getElementById(target).innerHTML = myRequest.responseText;
			document.login.password.value = hex_md5(document.login.password.value);
			document.login.submit();
		} else {
			document.getElementById(target).innerHTML = myRequest.responseText;
		}
		fade(10, document.getElementById(target));
    }
	if (myRequest.readyState < 4) {
		fade(0, document.getElementById(target));
	 	document.getElementById(target).innerHTML = "Loading...";
	}
}

function aggiornaHttpPage(pagina, parametri, funzioneEvento, target, metodo) {
	this.myRequest = null;
	this.parametri = parametri;
	this.pagina = pagina;
	this.target = target;
	try{
		this.myRequest = CreateXmlHttpReq(funzioneEvento);
		
		if(!metodo){
			metodo="GET";
			this.myRequest.open(metodo, this.pagina+"?rand="+(escape(Math.random()))+this.parametri);
			this.myRequest.send(null);
		} else {
			this.myRequest.open(metodo, this.pagina+"?rand="+(escape(Math.random())));
			this.myRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			this.myRequest.send(this.parametri);
		}
	
	//alert(this.myRequest.readyState);
	}
	catch(err){
		alert(err);	
	}
}

function fade(amt, elemento) {
	if(amt <= 100) {
		setFade(amt, elemento);
		amt += 10;
		setTimeout("fade("+amt+")", 40);
    }
}

function setFade(amt) {
	elemento = document.getElementById(target);
	
	amt = (amt == 100)?99.999:amt;
  
	// IE
	elemento.style.filter = "alpha(opacity:"+amt+")";
  
	// Safari<1.2, Konqueror
	elemento.style.KHTMLOpacity = amt/100;
  
	// Mozilla and Firefox
	elemento.style.MozOpacity = amt/100;
  
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	elemento.style.opacity = amt/100;
}
