/* <![CDATA[ */
var _ReplyOkUrl = "";
var _ReplyOkMessage = "";
var frm = "";
var SerializedParameters = "";

var Trace = document.getElementById('Trace');
var _Trace = (Trace == null) ? false : (Trace.value.toUpperCase() == "FALSE" ? false : true);


function SendForm(nomeForm)
{
	if(_Trace){
		alert("SendForm() chiamata");
	}
	var WaitingText = document.getElementById('WaitingText')==null?"Attendere...":document.getElementById('WaitingText').value;
    document.getElementById('ValidationReplyMessage').innerHTML = WaitingText;
    frm =  document.getElementById(nomeForm);
    frm = frm == null ? document.Forms[0]:frm;
    frm = frm == null ? document.getElementById('Form1'):frm;
    if(frm==null){
      SendForm_callBack('Non è stato possibile inviare il messaggio, nome del form errato o non specificato'); 
      return;
    }
    if(_Trace){
		alert("Oggetto Form Riempito");
	}
    var MailFrom			= document.getElementById('MailFrom');
    var MailTo				= document.getElementById('MailTo');
    var Subject				= document.getElementById('Subject');
    var Debug				= document.getElementById('Debug');
    var MailDebug			= document.getElementById('MailDebug');
    var UrlImgHeader		= document.getElementById('UrlImgHeader');
    var UrlImgFooter		= document.getElementById('UrlImgFooter');
    var RequiredFields		= document.getElementById('RequiredFields');
    var ValidationType		= document.getElementById('ValidationType');
    var ReplyOkMessage		= document.getElementById('ReplyOkMessage');
    var ReplyOkUrl			= document.getElementById('ReplyOkUrl');
    var AllowedFileExtension	= document.getElementById('AllowedFileExtension');
    var UploadFile				= "";
    var Len						= document.getElementById('Len');
    
    var LenValue =		Len == null ? "IT" : Len.value;
    
    if(_Trace){
		alert("Finito prelevamento oggetti form");
	}

    var FormElements = "LENID$FORM-CULTURE$" + LenValue + "|";
    var EmailCliente = "";
    for(i=0; i<frm.elements.length; i++){ 
        if(frm.elements[i].type!='hidden' && frm.elements[i].type!='button' && frm.elements[i].id!='privacy' && frm.elements[i].id!='informativa_privacy'){
            
			if(frm.elements[i].type=='checkbox'){ 
			// ########## Aggiunta di un IF: se non c'è Value, stampa ON/OFF, altrimenti il Value ##########
				if(frm.elements[i].checked && frm.elements[i].value!=null){
					FormElements +=  'checkbox$' + frm.elements[i].id + '$' + frm.elements[i].value.toString() + '|';
				} else if (frm.elements[i].checked) {
					FormElements +=  'checkbox$' + frm.elements[i].id + '$' + frm.elements[i].checked.toString() + '|';
				}
            }
			
			// ########## Aggiunta un controllo che esclude le Radio non checkate ##########
            if(frm.elements[i].type=='radio' && frm.elements[i].checked==true){
				// ########## Aggiunta di un IF per riportare un eventuale Value del Radio ##########
				if (frm.elements[i].value=='' || frm.elements[i].value==null) { 
                	FormElements +=  'radio$' + frm.elements[i].id + '$' + frm.elements[i].checked.toString() + '|';
				} else {
					FormElements +=  'radio$' + frm.elements[i].id + '$' + frm.elements[i].value.toString() + '|';
				}
            }
			
            if(frm.elements[i].type=='text'){ 
                FormElements +=  'text$' + frm.elements[i].id + '$' + frm.elements[i].value.toString() + '|';
				EmailCliente = (EmailCliente=="")?((frm.elements[i].id == 'email' || frm.elements[i].id == 'mail') ? frm.elements[i].value.toString() : ""):EmailCliente;
            }
			
            if(frm.elements[i].type=='textarea'){ 
                FormElements +=  'textarea$' + frm.elements[i].id + '$' + frm.elements[i].value.toString() + '|';
            }  
			
            if(frm.elements[i].type=='select-one'){
				if(frm.elements[i].options[frm.elements[i].selectedIndex].text!=""){
				// ########## Aggiunta di un IF: se non c'è Value, prende il Text, altrimenti il Value ##########
					if(frm.elements[i].options[frm.elements[i].selectedIndex].value!=null){
						FormElements +=  'select$' + frm.elements[i].id + '$' + frm.elements[i].options[frm.elements[i].selectedIndex].value + '|'; 
					} else {
						FormElements +=  'select$' + frm.elements[i].id + '$' + frm.elements[i].options[frm.elements[i].selectedIndex].text + '|'; 	
					}
				}
            }
            
            if(frm.elements[i].type=='file'){
				UploadFile = frm.elements[i].value!="" ? "True" : "";
				FormElements +=  'fileupload$' + frm.elements[i].id + '$' + ((frm.elements[i].value!="") ? frm.elements[i].value.substring(frm.elements[i].value.lastIndexOf("."))  : "" ) + '|';
            }
        }
    }
    
    if(_Trace){
		alert(FormElements);
		alert("Finito ciclo su oggetti form");
	}
	
	if(_Trace){
		alert("EmailCliente: " + EmailCliente);
	}
	
    var objDominio		= document.getElementById('Path');
    var Dominio			= "www.bitnet.it";
    if(objDominio!=null)
		Dominio = objDominio.value;
  
    var url = "http://" + Dominio + "/ProxyService/Proxy.asmx";

    var pl = new SOAPClientParameters();
    
    var MailFromCalcolata = "";
    
    if(EmailCliente!="" && (MailFrom != null && MailFrom.value == '')){
		MailFromCalcolata = EmailCliente;	
    } else {
		MailFromCalcolata = MailFrom == null ? "" : MailFrom.value;
    }
    
    if(_Trace){
		alert("MailFromCalcolata: " + MailFromCalcolata);
	}
	
    SerializedParameters = "MailFrom="					+ MailFromCalcolata;
    SerializedParameters += "&MailTo="					+ (MailTo			==null?"":MailTo.value);
    SerializedParameters += "&Subject="					+ (Subject			==null?"":Subject.value);
    SerializedParameters += "&Debug="					+ (Debug			==null?"":Debug.value);
    SerializedParameters += "&MailDebug="				+ (MailDebug		==null?"":MailDebug.value);
    SerializedParameters += "&UrlImgHeader="			+ (UrlImgHeader		==null?"":UrlImgHeader.value);
    SerializedParameters += "&UrlImgFooter="			+ (UrlImgFooter		==null?"":UrlImgFooter.value);
    SerializedParameters += "&ReplyOkMessage="			+ (ReplyOkMessage	==null?"Messaggio inviato correttamente":ReplyOkMessage.value);
    SerializedParameters += "&ReplyOkUrl="				+ (ReplyOkUrl		==null?"":ReplyOkUrl.value);
    SerializedParameters += "&RequiredFields="			+ (RequiredFields	==null?"":RequiredFields.value);
    SerializedParameters += "&ValidationType="			+ (ValidationType	==null?"":ValidationType.value);
    SerializedParameters += "&FormElements="			+ (FormElements		==null?"":FormElements);
    SerializedParameters += "&UploadFile="				+ UploadFile;
    SerializedParameters += "&AllowedFileExtension="	+ (AllowedFileExtension==null?"":AllowedFileExtension.value);

	if(_Trace){
		alert("SerializedParameters: " + SerializedParameters);
	}
	
	pl.add("SerializedParameters",SerializedParameters);
	pl.add("webServiceURI","http://www.bitnet.it/wsLibrary/FormSender.asmx");
	pl.add("webMethodName","SendForm");
	
	if(_Trace){
		alert("Invoke ws proxy ->" + url);
	}
	
	SOAPClient.invoke(url, "CallRemoteWebService", pl, true, SendForm_callBack);	
}
	
function SendForm_callBack(r)
{
    if(r){
	    var tagPrefix = "BEGIN_URL_REDIR";
	    var tagSuffix = "END_URL_REDIR";
	    if(r.indexOf(tagPrefix)!=-1){
		    var urlToRedir = r.substring(r.indexOf(tagPrefix)+tagPrefix.length ,r.indexOf(tagSuffix));
		    location.href = urlToRedir;
		    return;
	    }
	
	    if(r.indexOf("UPLOADFILE")!=-1){
		    frm.action='http://www.bitnet.it/wsLibrary/formsender.asmx/UploadFile?' + SerializedParameters;
		    frm.method='POST';
		    frm.submit();
	    }
	
	    var labelRis = document.getElementById('ValidationReplyMessage');
	    if(labelRis)
		    labelRis.innerHTML = unescape(r.replace(/\+/g,  " "));
	    else
		    alert(r);
    } else {
        
        //r = "Si è verificato un errore, vi preghiamo di riprovare più tardi.";
        var labelRis = document.getElementById('ValidationReplyMessage');
	    if(labelRis)
	        labelRis.innerHTML = "<img src=http://www.bitnet.it/wsLibrary/errormessage.ashx?mailto=" + location.href + ">";
		    //labelRis.innerHTML = unescape(r.replace(/\+/g,  " "));
	    else
		    alert(r);
    }
}


var querystring = location.search;
if(querystring!="" && querystring.indexOf("?r=")!=-1){
	var Risposta = querystring.substring(3);
	SendForm_callBack(Risposta); 
}
/* ]]> */






