function trace(m) { if( window.console ){ window.console.log(m); } } var dbgwin = false ; function checkAndSend(form) { var lang = form.lang.value ; if( !checkPrivacy(form,lang) ) { return ; } var data = $(form).serialize(); var debug = false ; if( typeof form.debug != "undefined" && form.debug.value == "true" ) {debug=true;} if(!data) {return} $("#form-sender").hide(); $("#form-loader").css({ display:"inline-block" }); // CLEAR FORM ELEMS IN ERROR STATE // BIND FOCUS EVENT FOR CSS HANDLING var tmp = null ; for( var i=0 ; i"001", "cognome_non_valido"=>"002", "email_non_valida"=>"003", "conferma_email_non_valida"=>"004", "mail_diverse"=>"005", "data_arrivo_non_valida"=>"006", "date_non_valide"=>"007", "adulti_vuoto"=>"010", "camera_non_valida"=>"011", "privacy_non_confermata"=>"012" , "risultato"=>"013", "errore"=>"014" , "indietro"=>"015" , "chiudi"=>"016" , "mail_error"=>"017", "mail_success"=>"018" , "notti_vuoto"=>"019" , */ var url = form.getAttribute("action") ; if( !url ) { alert("ERROR:: no action."); $("#form-loader").css({ display:"none" }); $("#form-sender").show(); return; } /* if( lang!="it" ) { url = "../send_reservation.php" ; } */ jQuery.ajax({ url : url , cache : false , data : data , type : "post" , dataType : "json" , success : function(response){ if( debug ) { if(dbgwin){dbgwin.close();} dbgwin = open("nourl","noname","height=600,width=900") ; dbgwin.document.write(response) ; $("#form-loader").css({ display:"none" }); $("#form-sender").show(); return ; } if( typeof response != "object" ) { alert("ERROR: service unavailable.") trace(response.responseText) ; } else { if( response.result ) { // Show success panel // DEBUG //alert("FATTO") ; //$("#form-loader").css({ display:"none" }); //$("#form-sender").show(); $(form).hide(); $("#success").show(); } else { // Handle error switch(response.code) { case "004" : case "005" : $(form[ec["003"]] ).addClass("error") ; $(form[ec["004"]] ).addClass("error") ; break ; case "006" : case "007" : $(form[ec["006a"]] ).addClass("error") ; $(form[ec["006b"]] ).addClass("error") ; break ; default : if( form[ec[response.code]] ) { $(form[ec[response.code]] ).addClass("error") ; } } $("#form-loader").css({ display:"none" }); $("#form-sender").show(); } } } , error : function(response) { if( debug ) { if(dbgwin){dbgwin.close();} dbgwin = open("nourl","noname","height=600,width=900") ; dbgwin.document.write(response.responseText) ; $("#form-loader").css({ display:"none" }); $("#form-sender").show(); return ; } alert("ERROR: service unreachable.") trace(response.responseText) ; $("#form-loader").css({ display:"none" }); $("#form-sender").show(); } }); } function handleFocused(elem) { if( $(elem).hasClass("error") ) { $(elem).removeClass("error"); $(elem).addClass("error-edit") } } function checkPrivacy(form,lang) { if( typeof form.privacy_confirm == "undefined" || !form.privacy_confirm || !form.privacy_confirm.checked ) { if( lang=="it" ) { alert("Per proseguire è neccessario aver letto e accettato le modalità di trattamento dei dati personali."); } else { alert("Before proceeding you must read and agree with personal data processing policy."); } return false ; } return true ; } function togglePrivacy() { var p = $("#privacy") ; if(!p.length){return} if( p.css("display") == "block" ) { p.css({ display:"none" }) ; } else { p.css({ display:"block" }) ; } } function form_checkChildren(select) { var val = select[ select.selectedIndex ].value var tmp = false ; for( var i=1 ; i