/*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 i1365203249 = new FrameBuilder("1365203249", 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:83px !important;\n    }\n    .form-label-left{\n        width:83px !important;\n    }\n    .form-line{\n        padding:10px;\n    }\n    .form-label-right{\n        width:83px !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:0px;\n        width:431px;\n        color:Black !important;\n        font-family:Helvetica;\n        font-size:10px;\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_12').hint('ex: myname@example.com');\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_1365203249\" id=\"1365203249\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"1365203249\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li id=\"cid_1\" class=\"form-input-wide\">\n        <div class=\"form-header-group\">\n          <h2 id=\"header_1\" class=\"form-header\">\n            Register for Studio classes\n          <\/h2>\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          Full Name<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_13\" class=\"form-input\"><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" type=\"text\" size=\"10\" name=\"q13_fullName13[first]\" id=\"first_13\" \/>\n            <label class=\"form-sub-label\" for=\"first_13\" id=\"sublabel_first\"> First Name <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" type=\"text\" size=\"15\" name=\"q13_fullName13[last]\" id=\"last_13\" \/>\n            <label class=\"form-sub-label\" for=\"last_13\" id=\"sublabel_last\"> Last Name <\/label><\/span>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_12\">\n        <label class=\"form-label-left\" id=\"label_12\" for=\"input_12\">\n          E-mail<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_12\" class=\"form-input\">\n          <input type=\"email\" class=\"form-textbox validate[required, Email]\" id=\"input_12\" name=\"q12_email12\" size=\"30\" \/>\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          Phone Number<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_15\" class=\"form-input\"><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" type=\"tel\" name=\"q15_phoneNumber[area]\" id=\"input_15_area\" size=\"3\">\n            -\n            <label class=\"form-sub-label\" for=\"input_15_area\" id=\"sublabel_area\"> Area Code <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" type=\"tel\" name=\"q15_phoneNumber[phone]\" id=\"input_15_phone\" size=\"8\">\n            <label class=\"form-sub-label\" for=\"input_15_phone\" id=\"sublabel_phone\"> Phone Number <\/label><\/span>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_20\">\n        <label class=\"form-label-left\" id=\"label_20\" for=\"input_20\"> Address <\/label>\n        <div id=\"cid_20\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_20\" name=\"q20_address\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_21\">\n        <label class=\"form-label-left\" id=\"label_21\" for=\"input_21\"> City <\/label>\n        <div id=\"cid_21\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_21\" name=\"q21_city\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_23\">\n        <label class=\"form-label-left\" id=\"label_23\" for=\"input_23\"> ST <\/label>\n        <div id=\"cid_23\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_23\" name=\"q23_st23\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_22\">\n        <label class=\"form-label-left\" id=\"label_22\" for=\"input_22\"> ZIP <\/label>\n        <div id=\"cid_22\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_22\" name=\"q22_zip\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_11\">\n        <label class=\"form-label-left\" id=\"label_11\" for=\"input_11\">\n          Gender:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_11\" 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_11_0\" name=\"q11_gender11\" value=\"Female\" \/>\n              <label for=\"input_11_0\"> Female <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_11_1\" name=\"q11_gender11\" value=\"Male\" \/>\n              <label for=\"input_11_1\"> Male <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_16\">\n        <label class=\"form-label-left\" id=\"label_16\" for=\"input_16\"> Indoor class: <\/label>\n        <div id=\"cid_16\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:250px\" id=\"input_16\" name=\"q16_indoorClass\">\n            <option>  <\/option>\n            <option value=\"Monday 5-6 pm Power Yoga\"> Monday 5-6 pm Power Yoga <\/option>\n            <option value=\"Monday 7-8 pm Yoga 1-2\"> Monday 7-8 pm Yoga 1-2 <\/option>\n            <option value=\"Monday 8-9 pm Meditation\"> Monday 8-9 pm Meditation <\/option>\n            <option value=\"Tuesday 9-10 am Power Yoga\"> Tuesday 9-10 am Power Yoga <\/option>\n            <option value=\"Tuesday 10-11 am Restorative\"> Tuesday 10-11 am Restorative <\/option>\n            <option value=\"Tuesday 11-12 pm Yoga\"> Tuesday 11-12 pm Yoga <\/option>\n            <option value=\"Tuesday 12-1 pm Yoga\"> Tuesday 12-1 pm Yoga <\/option>\n            <option value=\"Tuesday 6-7 pm Yoga 2-3\"> Tuesday 6-7 pm Yoga 2-3 <\/option>\n            <option value=\"Tuesday 7-8 pm Power Yoga\"> Tuesday 7-8 pm Power Yoga <\/option>\n            <option value=\"Tuesday 8-9 pm Restorative\"> Tuesday 8-9 pm Restorative <\/option>\n            <option value=\"Wednesday 5-6 pm Plyometrics I\"> Wednesday 5-6 pm Plyometrics I <\/option>\n            <option value=\"Wednesday 7-8 pm T'ai Chi\"> Wednesday 7-8 pm T'ai Chi <\/option>\n            <option value=\"Wednesday 8-9 pm Plyometrics II\"> Wednesday 8-9 pm Plyometrics II <\/option>\n            <option value=\"Wednesday 9-10 pm Acupressure\"> Wednesday 9-10 pm Acupressure <\/option>\n            <option value=\"Thursday 9-10 am T'ai Chi\"> Thursday 9-10 am T'ai Chi <\/option>\n            <option value=\"Thursday 10-11 am Acupressure\"> Thursday 10-11 am Acupressure <\/option>\n            <option value=\"Thursday 11am -12 pm Plyometrics I\"> Thursday 11am -12 pm Plyometrics I <\/option>\n            <option value=\"Thursday 12-1 pm T'ai Chi\"> Thursday 12-1 pm T'ai Chi <\/option>\n            <option value=\"Thursday 6-7 pm Yoga 1-2\"> Thursday 6-7 pm Yoga 1-2 <\/option>\n            <option value=\"Thursday 7-8 pm Yoga 2-3\"> Thursday 7-8 pm Yoga 2-3 <\/option>\n            <option value=\"Thursday 8-9 pm Yoga 1-2\"> Thursday 8-9 pm Yoga 1-2 <\/option>\n            <option value=\"Saturday 9:00 - 10:00 am - Yoga 2-3\"> Saturday 9:00 - 10:00 am - Yoga 2-3 <\/option>\n            <option value=\"Saturday 10:00 - 10:30 am - Meditation\"> Saturday 10:00 - 10:30 am - Meditation <\/option>\n            <option value=\"Saturday 10:30 - 11:30 am - Yoga 1-2\"> Saturday 10:30 - 11:30 am - Yoga 1-2 <\/option>\n            <option value=\"Saturday 11:30 - 12:30pm - T'ai Chi\"> Saturday 11:30 - 12:30pm - T'ai Chi <\/option>\n            <option value=\"Saturday 12:30 - 1:30pm - Acupressure\"> Saturday 12:30 - 1:30pm - Acupressure <\/option>\n            <option value=\"Saturday 1:30pm-2pm - Meditation\"> Saturday 1:30pm-2pm - Meditation <\/option>\n            <option value=\"Sunday 9:00 - 10:00 am - T'ai Chi\"> Sunday 9:00 - 10:00 am - T'ai Chi <\/option>\n            <option value=\"Sunday 10:00 - 10:30 am - Acupressure\"> Sunday 10:00 - 10:30 am - Acupressure <\/option>\n            <option value=\"Sunday 10:30 - 11:30 am - T'ai Chi Tennis Players\"> Sunday 10:30 - 11:30 am - T'ai Chi Tennis Players <\/option>\n            <option value=\"Sunday 11:30 - 12:30 pm - Yoga 2-3\"> Sunday 11:30 - 12:30 pm - Yoga 2-3 <\/option>\n            <option value=\"Sunday 12:30 - 1:30 pm - Yoga 1-2\"> Sunday 12:30 - 1:30 pm - Yoga 1-2 <\/option>\n            <option value=\"Sunday 1:30 -  2:00 pm - Meditation\"> Sunday 1:30 - 2:00 pm - Meditation <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_17\">\n        <label class=\"form-label-left\" id=\"label_17\" for=\"input_17\"> Outdoor class: <\/label>\n        <div id=\"cid_17\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:250px\" id=\"input_17\" name=\"q17_outdoorClass17\">\n            <option>  <\/option>\n            <option value=\"Wednesday 11am-12pm Yoga 1-2\"> Wednesday 11am-12pm Yoga 1-2 <\/option>\n            <option value=\"Wednesday 12-1pm Yoga 2-3\"> Wednesday 12-1pm Yoga 2-3 <\/option>\n            <option value=\"Wednesday 1-2pm Restorative\"> Wednesday 1-2pm Restorative <\/option>\n            <option value=\"Wednesday 5-6pm Yoga 1-2\"> Wednesday 5-6pm Yoga 1-2 <\/option>\n            <option value=\"Wednesday 6-7pm Yoga 2-3\"> Wednesday 6-7pm Yoga 2-3 <\/option>\n            <option value=\"Wednesday 7-8pm Restorative\"> Wednesday 7-8pm Restorative <\/option>\n            <option value=\"Wednesday 8-9pm Meditation\"> Wednesday 8-9pm Meditation <\/option>\n            <option value=\"Thursday 11am-12pm Restorative\"> Thursday 11am-12pm Restorative <\/option>\n            <option value=\"Thursday 12-1pm Power Yoga\"> Thursday 12-1pm Power Yoga <\/option>\n            <option value=\"Thursday 1-2pm Yoga 1-2\"> Thursday 1-2pm Yoga 1-2 <\/option>\n            <option value=\"Thursday 5-6pm T'ai Chi\"> Thursday 5-6pm T'ai Chi <\/option>\n            <option value=\"Thursday 6-7pm Plyometrics I\"> Thursday 6-7pm Plyometrics I <\/option>\n            <option value=\"Thursday 7-8pm T'ai Chi - tennis players\"> Thursday 7-8pm T'ai Chi - tennis players <\/option>\n            <option value=\"Thursday 8-9pm Plyometrics II\"> Thursday 8-9pm Plyometrics II <\/option>\n            <option value=\"Saturday 9-10am T'ai Chi tennis players\"> Saturday 9-10am T'ai Chi tennis players <\/option>\n            <option value=\"Saturday 10-11am Plyometrics I\"> Saturday 10-11am Plyometrics I <\/option>\n            <option value=\"Saturday 11am-12pm T'ai Chi\"> Saturday 11am-12pm T'ai Chi <\/option>\n            <option value=\"Saturday 12-1pm T'ai Chi tennis players\"> Saturday 12-1pm T'ai Chi tennis players <\/option>\n            <option value=\"Saturday 1-2pm Plyometrics II\"> Saturday 1-2pm Plyometrics II <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_19\">\n        <label class=\"form-label-left\" id=\"label_19\" for=\"input_19\"> Payment method: <\/label>\n        <div id=\"cid_19\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio\" id=\"input_19_0\" name=\"q19_paymentMethod\" value=\"PayPal\" \/>\n              <label for=\"input_19_0\"> PayPal <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio\" id=\"input_19_1\" name=\"q19_paymentMethod\" value=\"Check by mail\" \/>\n              <label for=\"input_19_1\"> Check by mail <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left\"><input type=\"radio\" class=\"form-radio-other form-radio\" name=\"q19_paymentMethod\" id=\"other_19\" \/>\n              <input type=\"text\" class=\"form-radio-other-input\" name=\"q19_paymentMethod[other]\" size=\"15\" id=\"input_19\" disabled=\"disabled\" \/>\n              <br \/><\/span>\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:89px\" class=\"form-buttons-wrapper\">\n            <button id=\"input_2\" type=\"submit\" class=\"form-submit-button\">\n              Submit Form\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=\"1365203249\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"1365203249-1365203249\";\n  <\/script>\n  <input type=\"hidden\" name=\"q18_5Week[][id]\" value=\"1001\" \/>\n<\/form><\/body>\n<\/html>\n");

