function createXMLHttpRequest(){
	var xmlHttp = false;
	try{
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e2){
			xmlHttp = false;
		}
	}
	if(!xmlHttp && typeof XMLHttpRequest != 'undefined'){
		xmlHttp = new XMLHttpRequest();
		xmlHttp.overrideMimeType('text/xml');
	}
	return xmlHttp;
}

//Funzione standard per settare in loading un div
function setLoadingElement(obj){
	obj.innerHTML = "Loading...";
}

//AJAX
var request = null;
//var elements = null;
function updateElementsGET(elementi){
	setLoading(elementi);
	request = createXMLHttpRequest();
	request.onreadystatechange = handleResponse;
	request.open("GET", "asp.net/getContents.aspx?elem=" + escape(elementi), true);
	request.send(null);
}

function updateElementsPOST(elementi, parameters){
	setLoading(elementi);
	request = createXMLHttpRequest();
	request.onreadystatechange = handleResponse;
	request.open("POST", "asp.net/getContents.aspx?elem=" + escape(elementi), true);
	request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
	request.send(parameters);
	
	/*var log = document.getElementById('debug');
	log.innerHTML += elementi + " ## " + parameters + "<br>";
	alert(elementi + "\n" + parameters);*/
}

function handleResponse(){
	if(request.readyState == 4){
		if(request.status == 200){
			parsaXml(request.responseXML);
		}else{
			//out.innerHTML = "Errore";
		}
	}else{
		//Loading
		//setLoadingElement(out);
	}
}

function setLoading(elementi){
	var loading = "<div style=\"width:100%\" align=\"center\" valign=\"middle\"><br /><img src=\"images/loading.gif\"/><br /></div>";
	var arr = elementi.split("|");
	for(i=0; i<arr.length; i++){
		if(arr[i] != ""){
			var div = document.getElementById(arr[i]);
			div.innerHTML = loading;
		}
	}
}

function parsaXml(doc){
	doc.preserveWhiteSpace = true;
	var root = doc.documentElement;
	
	//var log = document.getElementById('debug');
	var items = root.childNodes;
	for(i=0; i<items.length; i++){
		if(items[i].nodeType == 1){//NodeType == Element
			//log.innerHTML += items[i].nodeName + "::" + items[i].nodeType + ":::" + items[i].attributes["div"].nodeValue + "<br>";
			var elem_name = items[i].getAttribute("div");//.nodeValue;
			var elem_value = items[i].firstChild.nodeValue;
			
			//log.innerHTML += "Update di: " + elem_name + "<br>";
			
			var out = document.getElementById(elem_name);
			out.innerHTML = elem_value;
		}
	}
}

/**
 * Verifica se  um e-mail vlido.
 */
function checkIndirizzoEmail ( email ) {
   if (email.search(
          /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)
             != -1)
         return true;
     else
         return false;
}


//function per il blog
function checkEmail(obj_name, inHome){
	var obj = document.getElementById(obj_name);

	if(checkIndirizzoEmail(obj.value)){
		updateElementsPOST('|azioniBlog|', 'em=' + escape(obj.value) + '&act=1' + "&inHome=" + escape(inHome));
	}
}

function sendCommento(user_id, obj_name, inHome){ //obj_name è l'id della textarea del commento
	var obj = document.getElementById(obj_name);
	//alert(inHome);
	//alert('act=3&uid=' + escape(user_id) + '&cmt=' + escape(obj.value));
	updateElementsPOST('|azioniBlog|', 'act=3&uid=' + escape(user_id) + '&cmt=' + escape(obj.value) + "&inHome=" + escape(inHome));
}

function iscriviUser(act, uid, inHome){
	var div_error = document.getElementById('div_error');
	div_error.innerHTML = "";
	
	var email = document.getElementById('iscr_email').value;
	var nome = document.getElementById('iscr_nome').value;
	var cognome = document.getElementById('iscr_cognome').value;
	
	if(email == "" || !checkIndirizzoEmail(email)){
		div_error.innerHTML = "Controllare il formato dell'email.";
		return false;
	}
	
	if(nome == ""){
		div_error.innerHTML = "Riempire il campo 'nome'.";
		return false;
	}
	
	if(cognome == ""){
		div_error.innerHTML = "Riempire il campo 'cognome'.";
		return false;
	}
	
	var obj = document.getElementById('iscr_citta');
	var citta = obj.options[obj.selectedIndex].value;
	var normativa = -1;
	try{
		normativa = (document.getElementById('iscr_normativa').checked) ? 1 : 0;
	}catch(ex){}
	
	//alert('act=' + act + '&em=' + escape(email) + '&nome=' + escape(nome) + 
		//'&cognome=' + escape(cognome) + '&citta=' + escape(citta) + '&normativa=' + escape(normativa) + '&uid=' + escape(uid));
	
	updateElementsPOST('|azioniBlog|', 'act=' + act + '&em=' + escape(email) + '&nome=' + escape(nome) + 
		'&cognome=' + escape(cognome) + '&citta=' + escape(citta) + '&normativa=' + escape(normativa) + '&uid=' + escape(uid) + "&inHome=" + escape(inHome));
}

function registerUser(inHome){
	updateElementsPOST('|azioniBlog|', 'act=5' + "&inHome=" + escape(inHome));
}

function caricaSchedaUser(user_id, inHome){
	updateElementsPOST('|azioniBlog|', 'act=6&uid=' + user_id + "&inHome=" + escape(inHome));
}

function deleteUser(user_id, inHome){
	updateElementsPOST('|azioniBlog|', 'act=8&uid=' + user_id + "&inHome=" + escape(inHome));
}


//Functions per il form contatti
function sendFormContatti(){
	var act = 1;
	var div_error = document.getElementById('div_error');
	div_error.innerHTML = "";
	
	var email = document.getElementById('email2').value;
	var nome = document.getElementById('nome').value;
	var cognome = document.getElementById('cognome').value;
	var msg = document.getElementById('messa').value;
	
	if(email == "" || !checkIndirizzoEmail(email)){
		div_error.innerHTML = "Controllare il formato dell'email.";
		return false;
	}
	
	if(nome == ""){
		div_error.innerHTML = "Riempire il campo 'nome'.";
		return false;
	}
	
	if(cognome == ""){
		div_error.innerHTML = "Riempire il campo 'cognome'.";
		return false;
	}
	
	if(msg == ""){
		div_error.innerHTML = "Riempire il campo 'messaggio'.";
		return false;
	}

	var obj = document.getElementById('citta');
	var citta = obj.options[obj.selectedIndex].value;
	var normativa = -1;
	try{
		normativa = (document.getElementById('privacy').checked) ? 1 : 0;
	}catch(ex){}

	updateElementsPOST('|formContatti|', 'act=' + act + '&em=' + escape(email) + '&nome=' + escape(nome) + 
		'&cognome=' + escape(cognome) + '&citta=' + escape(citta) + '&privacy=' + escape(normativa)+ "&messa=" + (msg)) ;
}