function generate_str(form_name,exclusion_input) {
	var str="";
	
	var exclusion_list="name!=''";
	var exclusion_lenght = exclusion_input.length;
	var n=0;
	for (n=0; n<exclusion_lenght; n++) {
		exclusion_list=exclusion_list+" && name!='"+exclusion_input[n]+"'";
	}
	
	var form_element = document[form_name].length;
		var i=0;
		for (i=0; i<form_element; i++) {
			var name = document[form_name][i].name;
			var value = document[form_name][i].value;
			
			if(eval(exclusion_list)) {
				if(value!="---" && value!="" && value!="0") {
				 	if(document[form_name][i].type=="checkbox"){
						if(document[form_name][i].checked==true){
							str=str+'&'+name+'='+value;
						}
					}else{
						str=str+'&'+name+'='+value;
					}
				}
			}
			
		}
	
	return str;
}

function view_innerHTML_div(str,div_name,loading_label) {
	
	if(!loading_label){loading_label="please wait, loading...";}
	document.getElementById(div_name).innerHTML = loading_label;
	
	var resp = "";
	
	var oXmlHttp = zXmlHttp.createRequest();
	
	oXmlHttp.open("get", str, true);
	
	oXmlHttp.onreadystatechange = function() {
    	if (oXmlHttp.readyState == 4) {
        	if (oXmlHttp.status == 200) {
                resp = oXmlHttp.responseText;
                document.getElementById(div_name).innerHTML = resp;
            } else {
                alert("error occurred : "+oXmlHttp.statusText);
            }
        }
    };
	
	oXmlHttp.send(null);
	
}

// str = stringa da passare all'azione
// fieldToAddStrOb = campi da aggiungere alla stringa obbligatori
// valueFieldToAddStrOb = valore campi da aggiungere alla stringa obbligatori
// fieldToAddStrNotOb= campi da aggiungere alla stringa non obbligatori
// valueFieldToAddStrNotOb= valore campi da aggiungere alla stringa non obbligatori
// alert_label = label da visualizzare
// div_name = nome del div dove caricare il risultato
// loading_label= label da visualizzare durante il caricamento della pagina

function view_innerHTML_div_checkField(str,fieldToAddStrOb,valueFieldToAddStrOb,fieldToAddStrNotOb,valueFieldToAddStrNotOb,alert_label,div_name,loading_label) {

	var execute=1;

	var ftaso=fieldToAddStrOb.split(",");			// nome campi obbligatori
	var vftaso=valueFieldToAddStrOb.split(","); 	// valore campi obbligatori
	var ftasno=fieldToAddStrNotOb.split(","); 		// nome campi non obbligatori
	var vftasno=valueFieldToAddStrNotOb.split(",");	// valore campi non obbligatori

	var str_tmp="";
	
	//campi obbligatori
	if (ftaso.length == vftaso.length){
		if (ftaso.length==1 && ftaso[0]!=''){
			for (i=0 ; i <= vftaso.length-1 ; i++ ) {
				
				var name=ftaso[i];
				var value=document.getElementById(vftaso[i]).value;
				
				if(value=="---" || value=="" || value=="0") {
					
					execute=2;
					//questo controllo va reso generico per tutti i tipi
					validate_input_integer_nonzero(document.getElementById(vftaso[i]));
					alert(alert_label);
				}else{
				
					restore_style(document.getElementById(vftaso[i]),'input')
					str_tmp=str_tmp+'&'+name+'='+value;	
				}
				
			}
		}
	}else{
		
		execute=2;
		alert(' please contact technical support ');
	}
	
	//campi non obbligatori
	if (ftasno.length == vftasno.length){
		if (ftasno.length==1 && ftasno[0]!=''){

			for (i=0 ; i <= vftasno.length-1 ; i++ ) {
				
				var name=ftasno[i];
				var value=document.getElementById(vftasno[i]).value;
				
				if(value!="---" || value!="" || value!="0") {
					str_tmp=str_tmp+'&'+name+'='+value;
				}
			}
		}
	}	
	
	if (execute==1){
	
		if(!loading_label){loading_label="please wait, loading...";}
		document.getElementById(div_name).innerHTML = loading_label;
		var resp = "";	
		str=str+str_tmp;
		var oXmlHttp = zXmlHttp.createRequest();
		
		oXmlHttp.open("get", str, true);
		
		oXmlHttp.onreadystatechange = function() {
	    	if (oXmlHttp.readyState == 4) {
	        	if (oXmlHttp.status == 200) {
	                resp = oXmlHttp.responseText;
					document.getElementById(div_name).innerHTML = resp;
	            } else {
	                alert("error occurred : "+oXmlHttp.statusText);
	            }
	        }
	    };
		
		oXmlHttp.send(null);
	}

	return execute;

}