//FUNZIONI PER IL SUBMIT DEI FORM

//VARIABILI GLOBALI
var TARGET
var TIPOTARGET
var CODTARGET
var oggi=new Date();

//--------------------------------------------------------------------------------------
//INVIO DEI DATI
/* Parametri:
	nome form
	url di update
	div in cui viene eseguito l'update e il cui contenuto è da aggiornare
	tipoTarget
	id del record (se in modifica)
*/
function InviaDati(form_name,page,target,tipoTarget,codTarget){
	
	TARGET = target
	TIPOTARGET = tipoTarget		 
	CODTARGET = codTarget
	PreparaDati(form_name,target);
	AJAXReq("POST",""+page,true);
}

//--------------------------------------------------------------------------------------
//PREDISPOSIZIONE DATI
function PreparaDati(form_name,target){
	divtarget=target
	stringa = "";
	
	//recupera elementi del form
	var form = document.forms[form_name]
	var numeroElementi = form.elements.length;
	
	for(var i = 0; i < numeroElementi; i++){
	
		//gestione checkbox e radio
		if (form.elements[i].type=='checkbox' || form.elements[i].type=='radio') {				
			if (form.elements[i].checked==true) {
				value=encodeURIComponent(form.elements[i].value);		
			} else {
				value=''
			}
		} else {
			value=encodeURIComponent(form.elements[i].value);		
		}	
		
		if (value!='') {
			if(i < numeroElementi-1){
			  stringa += form.elements[i].name+"="+value+"&";
			}else{
			  stringa += form.elements[i].name+"="+value;
			}  
		}
	}
}

//--------------------------------------------------------------------------------------
//AJAX per post method
function AJAXReq(method,url,bool){
  	
	if(window.XMLHttpRequest){
		http_request = new XMLHttpRequest();
	} else 
	
	if(window.ActiveXObject){
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		
		if(!http_request){
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
	
	if(http_request){  	
		//rootfolder definita nel file index
		url = url.replace(rootfolder,'')
		execfunc(method,url,bool);	
	}else{
		alert("Impossibilitati ad usare AJAX");
	}
}

//--------------------------------------------------------------------------------------
//ESECUZIONE SUBMIT
function execfunc(method,url,bool){
	
	http_request.onreadystatechange = handleResponse;
	
	http_request.open(method,url,bool);
	http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");  
	//http_request.send(stringa,divtarget);  
	http_request.send(stringa);  
}

//--------------------------------------------------------------------------------------
//OUTPUT
function handleResponse(){
	
	if(http_request.readyState == 4){
		if(http_request.status == 200){
				
		  //divtarget.innerHTML=http_request.responseText;
		  document.getElementById(divtarget).innerHTML=http_request.responseText;
		  
		  CODTARGET = document.getElementById(TARGET).innerHTML		    

		  //Aggiorna anni accademici
		  if (TIPOTARGET=='BIO_carrello') {
			document.getElementById('LeftCarrello').innerHTML = '';
		  }		  	    
		    										  								  						  				  		  			  		    		  		   		 
		}else{
			//alert("Errore AJAX");
			document.getElementById(divtarget).innerHTML=http_request.responseText;
		    
			//Scrive su file di log (gestisce due tipologie di messaggio)
			if (http_request.responseText.indexOf('Tipo di errore:')>-1 && http_request.responseText.indexOf('Tipo di browser:')>-1) {
				
				var lunghezza = http_request.responseText.indexOf('Tipo di browser:') - http_request.responseText.indexOf('Tipo di errore:')
				var logtext = http_request.responseText.substr(http_request.responseText.indexOf('Tipo di errore:'), lunghezza);
					  
				//scrive errore su file di log
				//makeRequest('debug/ajax_error.asp?ajax_error='+logtext,'DIVDebug');
			} else {			
				//makeRequest('debug/ajax_error.asp?ajax_error='+http_request.responseText,'DIVDebug');
			}		  
		}
	}
  
}


