function get(formname, div, el_loading, pagina) {
	if(document.getElementById(div)) {
		var form = document.forms[formname];	
		var elemArray = form.elements;
		var params = "";
		
	    for (var i = 0; i < elemArray.length; i++) {
	    	var chiave = elemArray[i].name;
	    	var valore = elemArray[i].value;
			var tipo = elemArray[i].type.toUpperCase();
			
			if(chiave.indexOf("_nosend")!=-1) continue;
			
			switch(true) {
				case(tipo=="RADIO" && elemArray[i].checked):
					if(valore ? valore : "On") params += "&"+chiave+"="+valore;
				 break;
				
				case(tipo=="CHECKBOX" && elemArray[i].checked):
					if(valore ? valore : "On") params += "&"+chiave+"="+valore;
				 break;
				
				case(tipo.indexOf("SELECT") != -1):
					for (var j = 0; j < elemArray[i].options.length; j++) {
	                    var option = elemArray[i].options[j];
	                    if (option.selected) {
	                    	params += "&"+chiave+"="+valore;
	                    }
	                }
	
				 break;
				
				case(tipo=="TEXT"):
				case(tipo=="TEXTAREA"):
				case(tipo=="PASSWORD"):
				case(tipo=="BUTTON"):
				case(tipo=="RESET"):
				case(tipo=="SUBMIT"):
				case(tipo=="FILE"):
				case(tipo=="IMAGE"):
				case(tipo=="HIDDEN"):
					params += "&"+chiave+"="+valore;
				 break;
			}	
		}
		//alert(params);
		pulisci_ajax(div, el_loading);
		showPagina(pagina, params, div, el_loading);
	}
}


function showPagina(pagina, params, div, el_loading) {
	if(document.getElementById(div)) {
		xmlhttp2=GetxmlhttpObject();
	
		if (xmlhttp2==null) {
	  		alert ("Browser does not support HTTP Request");
	  		return;
	  	}
	  	
		url= pagina;
		xmlhttp2.onreadystatechange=function() {stateChanged(div, el_loading, pagina)};
	
		xmlhttp2.open("POST",url,true);
		xmlhttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp2.setRequestHeader("Content-length", params.length);
		xmlhttp2.setRequestHeader("Connection", "close");
		xmlhttp2.send(params);
	}
}


function showPaginaSlide(pagina, params, div, el_loading) {
	
	xmlhttp3=GetxmlhttpObject();

	if (xmlhttp3==null) {
  		alert ("Browser does not support HTTP Request");
  		return;
  	}
  	
	url= pagina;
	xmlhttp3.onreadystatechange=function() {stateChangedSlide(div, el_loading, pagina)};

	xmlhttp3.open("POST",url,true);
	xmlhttp3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp3.setRequestHeader("Content-length", params.length);
	xmlhttp3.setRequestHeader("Connection", "close");
	xmlhttp3.send(params);
}


function stateChanged(div, el_loading, pagina) {
	
	if (xmlhttp2.readyState==4) {	
		_gaq.push(['_trackPageview', pagina]);
		pulisci_ajax(div, el_loading);
		document.getElementById(div).innerHTML= xmlhttp2.responseText;
		ahahEvalJS(div);
		return false;
	} 
}

function stateChangedSlide(div, el_loading, pagina) {
	
	if (xmlhttp3.readyState==4) {	
		pulisci_ajax(div, el_loading);
		document.getElementById(div).innerHTML= xmlhttp3.responseText;
		ahahEvalJS(div);
		return false;
	} 
}

function GetxmlhttpObject() {

	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			return new XMLHttpRequest();
    	} 
    	catch(e) {
			return false;
    	}
		// branch for IE/Windows ActiveX version
	} 
	else if(window.ActiveXObject) {
   		try {
   			return new ActiveXObject("Msxml2.xmlhttp");
 	 	} 
 	 	catch(e) {
	    	try {
    			return new ActiveXObject("Microsoft.xmlhttp");
    		} 
    		catch(e) {
      			return false;
    		}
		}
	}  
}

function ahahEvalJS(elementId) {
	var scripts = document.getElementById(elementId).getElementsByTagName('script');
	var code;
	for (var i = 0; i < scripts.length; i++) {
		code =	scripts[i].innerHTML ? scripts[i].innerHTML : 
			scripts[i].text ? scripts[i].text : 
			scripts[i].textContent;
		try {
			eval(code);
		} catch(e) {
			alert(e);
		}
	}
}

function pulisci_ajax(div, el_loading) {
	if(document.getElementById(div)) {
		document.getElementById(div).innerHTML = '';
		//alert(el_loading);
		document.getElementById(div).innerHTML= el_loading;
	}
}
