/*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 i1240943994 = new FrameBuilder("1240943994", 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:130px !important;\n    }\n    .form-label-left{\n        width:130px !important;\n    }\n    .form-line{\n        padding:10px;\n    }\n    .form-label-right{\n        width:130px !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:650px;\n        color:Black !important;\n        font-family:Verdana;\n        font-size:12px;\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(function(){\n      $('input_3').hint('ex: myname@example.com');\n      JotForm.initCaptcha('input_13');\n   });\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_1240943994\" id=\"1240943994\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"1240943994\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li class=\"form-line\" id=\"id_3\">\n        <label class=\"form-label-left\" id=\"label_3\" for=\"input_3\">\n          E-mail<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_3\" class=\"form-input\">\n          <input type=\"email\" class=\"form-textbox validate[required, Email]\" id=\"input_3\" name=\"q3_email\" size=\"30\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_1\">\n        <label class=\"form-label-left\" id=\"label_1\" for=\"input_1\"> Full Name <\/label>\n        <div id=\"cid_1\" class=\"form-input\"><span class=\"form-sub-label-container\"><input class=\"form-textbox\" type=\"text\" size=\"10\" name=\"q1_fullName1[first]\" id=\"first_1\" \/>\n            <label class=\"form-sub-label\" for=\"first_1\" id=\"sublabel_first\"> First Name <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox\" type=\"text\" size=\"15\" name=\"q1_fullName1[last]\" id=\"last_1\" \/>\n            <label class=\"form-sub-label\" for=\"last_1\" id=\"sublabel_last\"> Last Name <\/label><\/span>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_5\">\n        <label class=\"form-label-left\" id=\"label_5\" for=\"input_5\"> Phone: <\/label>\n        <div id=\"cid_5\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_5\" name=\"q5_phone\" 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          ZIP Code:<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_zipCode4\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_17\">\n        <div id=\"cid_17\" class=\"form-input-wide\">\n          <div id=\"text_17\" class=\"form-html\">\n            <a href=\"https:\/\/app.e2ma.net\/app\/view:Join\/signupId:1414652\/acctId:1404175\" target=\"_blank\" onclick=\"window.open('https:\/\/app.e2ma.net\/app\/view:Join\/signupId:1414652\/acctId:1404175', 'signup', 'menubar=no, location=no, toolbar=no, scrollbars=yes, height=500, width=500'); return false;\"> Click here to sign up to receive our current ads via email.<\/a>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_14\">\n        <label class=\"form-label-left\" id=\"label_14\" for=\"input_14\">\n          Store closest to you:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_14\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_0\" name=\"q14_storeClosest\" value=\"El Cajon\" \/>\n              <label for=\"input_14_0\"> El Cajon <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_1\" name=\"q14_storeClosest\" value=\"Escondido\" \/>\n              <label for=\"input_14_1\"> Escondido <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_2\" name=\"q14_storeClosest\" value=\"Kearny Mesa\" \/>\n              <label for=\"input_14_2\"> Kearny Mesa <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_3\" name=\"q14_storeClosest\" value=\"La Mesa\" \/>\n              <label for=\"input_14_3\"> La Mesa <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_4\" name=\"q14_storeClosest\" value=\"Miramar\" \/>\n              <label for=\"input_14_4\"> Miramar <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_5\" name=\"q14_storeClosest\" value=\"Murrieta\" \/>\n              <label for=\"input_14_5\"> Murrieta <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_6\" name=\"q14_storeClosest\" value=\"Poway\" \/>\n              <label for=\"input_14_6\"> Poway <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_7\" name=\"q14_storeClosest\" value=\"Rancho San Diego\" \/>\n              <label for=\"input_14_7\"> Rancho San Diego <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_8\" name=\"q14_storeClosest\" value=\"Sports Arena\" \/>\n              <label for=\"input_14_8\"> Sports Arena <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_9\" name=\"q14_storeClosest\" value=\"Solana Beach\" \/>\n              <label for=\"input_14_9\"> Solana Beach <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_10\" name=\"q14_storeClosest\" value=\"South Bay\" \/>\n              <label for=\"input_14_10\"> South Bay <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_14_11\" name=\"q14_storeClosest\" value=\"None of the above.\" \/>\n              <label for=\"input_14_11\"> None of the above. <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_6\">\n        <label class=\"form-label-left\" id=\"label_6\" for=\"input_6\">\n          Product Description: (Include name and\/or product description or purpose)<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_6\" class=\"form-input\">\n          <textarea id=\"input_6\" class=\"form-textarea validate[required]\" name=\"q6_productDescription6\" cols=\"30\" rows=\"10\"><\/textarea>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_7\">\n        <label class=\"form-label-left\" id=\"label_7\" for=\"input_7\"> Manufacturer Name: <\/label>\n        <div id=\"cid_7\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_7\" name=\"q7_manufacturerName\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_8\">\n        <label class=\"form-label-left\" id=\"label_8\" for=\"input_8\"> Model Number: <\/label>\n        <div id=\"cid_8\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_8\" name=\"q8_modelNumber\" 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\">\n          Type message into box as shown:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_13\" class=\"form-input\">\n          <div class=\"form-captcha\">\n            <label for=\"input_13\"> <img alt=\"Captcha - Reload if it's not displayed\" id=\"input_13_captcha\" class=\"form-captcha-image\" style=\"background:url(http:\/\/www.jotform.com\/images\/loader-big.gif) no-repeat center;\" src=\"http:\/\/www.jotform.com\/images\/blank.gif\" width=\"150\" height=\"41\" \/> <\/label>\n            <div style=\"white-space:nowrap;\">\n              <input type=\"text\" id=\"input_13\" class=\"form-textbox validate[required]\" name=\"captcha\" style=\"width:130px;\" \/>\n              <img src=\"http:\/\/www.jotform.com\/images\/reload.png\" alt=\"Reload\" align=\"absmiddle\" style=\"cursor:pointer\" onclick=\"JotForm.reloadCaptcha('input_13');\" \/>\n              <input type=\"hidden\" name=\"captcha_id\" id=\"input_13_captcha_id\" value=\"0\">\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_2\">\n        <div id=\"cid_2\" class=\"form-input-wide\">\n          <div style=\"margin-left:136px\" class=\"form-buttons-wrapper\">\n            <button id=\"input_2\" type=\"submit\" class=\"form-submit-button\">\n              Send Message To Dixieline\n            <\/button>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li id=\"cid_16\" class=\"form-input-wide\">\n        <div class=\"form-header-group\">\n          <h3 id=\"header_16\" class=\"form-header\">\n            Privacy Policy\n          <\/h3>\n          <div id=\"subHeader_16\" class=\"form-subHeader\">\n            Dixieline ProBuild will never rent, share, or sell our subscriber list. We appreciate you letting us into your email, and we promise not to abuse that trust. We make this promise because we understand just how much you value your privacy.\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=\"1240943994\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"1240943994-1240943994\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

