/*jslint nomen:false, debug:true, evil:true, vars:false, browser:true, forin:true, undef:false, white:false */
/**
 * Includes a Form with javascript
 * @param {Object} formId
 * @param {Object} initialHeight
 * @param {Object} iframeCode
 */
function FrameBuilder (formId, appendTo, initialHeight, iframeCode){
    this.formId = formId;
    this.initialHeight = initialHeight;
    this.iframeCode = iframeCode;
    this.frame = null;
    this.timeInterval= 200;
    this.appendTo = appendTo || false;
    
    // initialize function for object
    this.init = function(){
        this.createFrame();
        this.addFrameContent(this.iframeCode);
    };
    
    // Create the frame
    this.createFrame = function(){
        var htmlCode = "<"+"iframe src=\"\" allowtransparency=\"true\" frameborder=\"0\" name=\""+this.formId+"\" id=\""+this.formId+"\" style=\"width:100%; height:"+this.initialHeight+"px; border:none;\" scrolling=\"no\"></if"+"rame>";
        if(this.appendTo === false){
            document.write(htmlCode);
        }else{
            var tmp = document.createElement('div');
            tmp.innerHTML = htmlCode;
            var a = this.appendTo;
            document.getElementById(a).appendChild(tmp.firstChild);            
        }
        // also get the frame for future use.
        this.frame = document.getElementById(this.formId);
        // set the time on the on load event of the frame
        this.addEvent(this.frame, 'load', this.bindMethod(this.setTimer, this));
    };
    
    // add event function for different browsers
    this.addEvent = function( obj, type, fn ) {
        if ( obj.attachEvent ) {
            obj["e"+type+fn] = fn;
            obj[type+fn] = function() { obj["e"+type+fn]( window.event ); };
            obj.attachEvent( "on"+type, obj[type+fn] );
        }
        else{
            obj.addEventListener( type, fn, false );   
        }
    };
    
    this.addFrameContent = function (string){
        string = string.replace(new RegExp('src\\=\\"[^"]*captcha.php\"><\/scr'+'ipt>', 'gim'), 'src="http://api.recaptcha.net/js/recaptcha_ajax.js"></scr'+'ipt><'+'div id="recaptcha_div"><'+'/div>'+
                '<'+'style>#recaptcha_logo{ display:none;} #recaptcha_tagline{display:none;} #recaptcha_table{border:none !important;} .recaptchatable .recaptcha_image_cell, #recaptcha_table{ background-color:transparent !important; } <'+'/style>'+
                '<'+'script defer="defer"> window.onload = function(){ Recaptcha.create("6Ld9UAgAAAAAAMon8zjt30tEZiGQZ4IIuWXLt1ky", "recaptcha_div", {theme: "clean",tabindex: 0,callback: function (){'+
                'if (document.getElementById("uword")) { document.getElementById("uword").parentNode.removeChild(document.getElementById("uword")); } if (window["validate"] !== undefined) { if (document.getElementById("recaptcha_response_field")){ document.getElementById("recaptcha_response_field").onblur = function(){ validate(document.getElementById("recaptcha_response_field"), "Required"); } } } if (document.getElementById("recaptcha_response_field")){ document.getElementsByName("recaptcha_challenge_field")[0].setAttribute("name", "anum"); } if (document.getElementById("recaptcha_response_field")){ document.getElementsByName("recaptcha_response_field")[0].setAttribute("name", "qCap"); }}})'+
                ' }<'+'/script>');
        string = string.replace(/(type="text\/javascript">)\s+(validate\(\"[^"]*"\);)/, '$1 jTime = setInterval(function(){if("validate" in window){$2clearTimeout(jTime);}}, 1000);');
        var frameDocument = (this.frame.contentWindow) ? this.frame.contentWindow : (this.frame.contentDocument.document) ? this.frame.contentDocument.document : this.frame.contentDocument;
        frameDocument.document.open();
        frameDocument.document.write(string);
        setTimeout( function(){
            frameDocument.document.close();
            try{
                if('JotFormFrameLoaded' in window){
                    JotFormFrameLoaded();
                }
            }catch(e){}
        },200);
    };
    
    this.setTimer = function(){
        var self = this;
        this.interval = setTimeout(function(){self.changeHeight();},this.timeInterval);
    };
    
    this.changeHeight = function (){
        var actualHeight = this.getBodyHeight();
        var currentHeight = this.getViewPortHeight();
        if(actualHeight === undefined){
            this.frame.style.height = "100%";
            if(!this.frame.style.minHeight){
                this.frame.style.minHeight = "300px";
            }
        }else if  (Math.abs(actualHeight - currentHeight) > 18){
            this.frame.style.height = (actualHeight)+"px";
        }
        this.setTimer();
    };
    
    this.bindMethod = function(method, scope) {
        return function() {
            method.apply(scope,arguments);
        };
    };
    
    this.getBodyHeight = function (){
        var height;
        var scrollHeight;
        var offsetHeight;
        try{  // Prevent IE from throw errors
            if (this.frame.contentWindow.document.height){
                
                height = this.frame.contentWindow.document.height;
                //Emre: to prevent "iframe height"  problem (61059)
                if (this.frame.contentWindow.document.body.scrollHeight){
                    height = scrollHeight = this.frame.contentWindow.document.body.scrollHeight;
                }
                
                if (this.frame.contentWindow.document.body.offsetHeight){
                    height = offsetHeight = this.frame.contentWindow.document.body.offsetHeight;
                }
                
            } else if (this.frame.contentWindow.document.body){
                
                if (this.frame.contentWindow.document.body.scrollHeight){
                    height = scrollHeight = this.frame.contentWindow.document.body.scrollHeight;
                }
                
                if (this.frame.contentWindow.document.body.offsetHeight){
                    height = offsetHeight = this.frame.contentWindow.document.body.offsetHeight;
                }
                
                if (scrollHeight && offsetHeight){
                    height = Math.max(scrollHeight, offsetHeight);
                }
            }            
        }catch(e){ }
        return height;
    };
    
    this.getViewPortHeight = function(){
        var height = 0;
        try{ // Prevent IE from throw errors
            if (this.frame.contentWindow.window.innerHeight)
            {
                height = this.frame.contentWindow.window.innerHeight - 18;
            }
            else if ((this.frame.contentWindow.document.documentElement) &&
                     (this.frame.contentWindow.document.documentElement.clientHeight))
            {
                height = this.frame.contentWindow.document.documentElement.clientHeight;
            }
            else if ((this.frame.contentWindow.document.body) &&
                     (this.frame.contentWindow.document.body.clientHeight))
            {
                height = this.frame.contentWindow.document.body.clientHeight;
            }            
        }catch(e){ }
        return height;
    };
    
    this.init();
}
FrameBuilder.get = [];
var i1364253079 = new FrameBuilder("1364253079", false, "", "<!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.01\/\/EN\" \"http:\/\/www.w3.org\/TR\/html4\/strict.dtd\">\n<html><head>\n<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\" \/>\n<meta name=\"HandheldFriendly\" content=\"true\" \/>\n<title>Form<\/title>\n<link href=\"http:\/\/max.jotfor.ms\/min\/g=formCss?3.0.2435\" rel=\"stylesheet\" type=\"text\/css\" \/>\n<style type=\"text\/css\">\n    .form-label{\n        width:150px !important;\n    }\n    .form-label-left{\n        width:150px !important;\n    }\n    .form-line{\n        padding:10px;\n    }\n    .form-label-right{\n        width:150px !important;\n    }\n    body, html{\n        margin:0;\n        padding:0;\n        background:false;\n    }\n\n    .form-all{\n        margin:0px auto;\n        padding-top:20px;\n        width:550px;\n        color:Black !important;\n        font-family:Verdana;\n        font-size:11px;\n    }\n<\/style>\n\n<script src=\"http:\/\/max.jotfor.ms\/min\/g=jotform?3.0.2435\" type=\"text\/javascript\"><\/script>\n<script type=\"text\/javascript\">\n var jsTime = setInterval(function(){try{\n   JotForm.jsForm = true;\n\n   JotForm.init();\n\n   clearInterval(jsTime);\n }catch(e){}}, 1000);\n<\/script>\n<\/head>\n<body>\n<form class=\"jotform-form\" action=\"http:\/\/submit.jotform.com\/submit.php\" method=\"post\" name=\"form_1364253079\" id=\"1364253079\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"1364253079\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li class=\"form-line\" id=\"id_1\">\n        <label class=\"form-label-left\" id=\"label_1\" for=\"input_1\">\n          Nome e Cognome<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_1\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_1\" name=\"q1_nomeE\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_5\">\n        <label class=\"form-label-left\" id=\"label_5\" for=\"input_5\"> Indirizzo <\/label>\n        <div id=\"cid_5\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_5\" name=\"q5_indirizzo\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_6\">\n        <label class=\"form-label-left\" id=\"label_6\" for=\"input_6\"> Citt\u00e0 <\/label>\n        <div id=\"cid_6\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_6\" name=\"q6_citta\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_7\">\n        <label class=\"form-label-left\" id=\"label_7\" for=\"input_7\">\n          Telefono<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_7\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_7\" name=\"q7_telefono\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_4\">\n        <label class=\"form-label-left\" id=\"label_4\" for=\"input_4\">\n          E-mail<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_4\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_4\" name=\"q4_email4\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_18\">\n        <label class=\"form-label-left\" id=\"label_18\" for=\"input_18\">\n          Scegli il modello<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_18\" class=\"form-input\">\n          <select class=\"form-dropdown validate[required]\" style=\"width:150px\" id=\"input_18\" name=\"q18_scegliIl\">\n            <option>  <\/option>\n            <option value=\"500\"> 500 <\/option>\n            <option value=\"500 cabrio\"> 500 cabrio <\/option>\n            <option value=\"600\"> 600 <\/option>\n            <option value=\"Bravo\"> Bravo <\/option>\n            <option value=\"Croma\"> Croma <\/option>\n            <option value=\"Idea\"> Idea <\/option>\n            <option value=\"Multipla\"> Multipla <\/option>\n            <option value=\"Panda\"> Panda <\/option>\n            <option value=\"Grande Punto\"> Grande Punto <\/option>\n            <option value=\"Punto\"> Punto <\/option>\n            <option value=\"Nuovo Dobl\u00f2\"> Nuovo Dobl\u00f2 <\/option>\n            <option value=\"Dobl\u00f2\"> Dobl\u00f2 <\/option>\n            <option value=\"Qubo\"> Qubo <\/option>\n            <option value=\"Punto Evo\"> Punto Evo <\/option>\n            <option value=\"Sedici\"> Sedici <\/option>\n            <option value=\"Ulisse\"> Ulisse <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_10\">\n        <label class=\"form-label-left\" id=\"label_10\" for=\"input_10\"> Per questa data <\/label>\n        <div id=\"cid_10\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_10\" name=\"q10_perQuesta\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_13\">\n        <label class=\"form-label-left\" id=\"label_13\" for=\"input_13\"> Messaggio <\/label>\n        <div id=\"cid_13\" class=\"form-input\">\n          <textarea id=\"input_13\" class=\"form-textarea\" name=\"q13_messaggio\" cols=\"40\" rows=\"6\"><\/textarea>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_14\">\n        <div id=\"cid_14\" class=\"form-input-wide\">\n          <div id=\"text_14\" class=\"form-html\">\n            (*) Campi obbligatori&nbsp;\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_15\">\n        <label class=\"form-label-left\" id=\"label_15\" for=\"input_15\">\n          Trattamento dati personali<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_15\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-checkbox-item\" style=\"clear:left;\"><input type=\"checkbox\" class=\"form-checkbox validate[required]\" id=\"input_15_0\" name=\"q15_trattamentoDati[]\" value=\"accetto\" \/>\n              <label for=\"input_15_0\"> accetto <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_16\">\n        <div id=\"cid_16\" class=\"form-input-wide\">\n          <div id=\"text_16\" class=\"form-html\">\n            <P>\n              <STRONG>\n                Compilando il modulo e premendo il tasto \"INVIA\" si intende dato il consenso al trattamento dei dati in ottemperanza al D.L. n. 196 del 30.06.2003.\n              <\/STRONG>\n              <BR>\n              <BR>\n              <STRONG>\n                Informazioni ai sensi dell'art. 13 D.L. n. 196 del 30.06.2003 in materia di \"Tutela dei dati personali\"\n              <\/STRONG>\n            <\/P>\n            <UL>\n              <LI>\n                I dati che Le sono richiesti verranno utilizzati da Essepiauto S.r.l., nel pieno rispetto di quanto previsto dal D.L. n. 196 del 30.06.2003 in materia di \"Tutela dei dati personali\", per gli adempimenti connessi con l'attivita dell'azienda (consultazione, utilizzo, elaborazione puntuale e statistica) a mezzo database interno.\n              <\/LI>\n              <LI>\n                Ha il diritto, sotto la sua responsabilita, di non confidare alcuni dei dati richiesti, essendo pero avvisato che in questo caso cio potrebbe pregiudicare il rapporto in essere.\n              <\/LI>\n              <LI>\n                In qualsiasi momento, secondo quanto previsto dall'art.13 del D.L. n. 196 del 30.06.2003, potra consultare, modificare, o cancellare i Suoi dati scrivendo a:\n                <BR>\n                Essepiauto S.r.l. - Via Salemi km. 1.800 Mazara del Vallo (TP)\n              <\/LI>\n            <\/UL>\n            &nbsp;\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_17\">\n        <div id=\"cid_17\" class=\"form-input-wide\">\n          <div style=\"margin-left:156px\" class=\"form-buttons-wrapper\">\n            <button id=\"input_17\" type=\"submit\" class=\"form-submit-button\">\n              Invia il modulo\n            <\/button>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li style=\"display:none\">\n        Should be Empty:\n        <input type=\"text\" name=\"website\" value=\"\" \/>\n      <\/li>\n    <\/ul>\n  <\/div>\n  <input type=\"hidden\" id=\"simple_spc\" name=\"simple_spc\" value=\"1364253079\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"1364253079-1364253079\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

