/*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 i10404640130 = new FrameBuilder("10404640130", 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.2375\" 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:5px;\n    }\n    .form-label-right{\n        width:150px !important;\n    }\n    body, html{\n        margin:0;\n        padding:0;\n        background:white;\n    }\n\n    .form-all{\n        margin:0px auto;\n        padding-top:0px;\n        width:690px;\n        background:white;\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.2375\" 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      JotForm.totalCounter({\"input_20_1001\":{\"price\":\"30\"},\"input_20_1002\":{\"price\":\"15\"}});\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_10404640130\" id=\"10404640130\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"10404640130\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li id=\"cid_16\" class=\"form-input-wide\">\n        <div class=\"form-header-group\">\n          <h2 id=\"header_16\" class=\"form-header\">\n            APA MEMBERSHIP APPLICATION\n          <\/h2>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_15\">\n        <div id=\"cid_15\" class=\"form-input-wide\">\n          <div id=\"text_15\" class=\"form-html\">\n            In consideration of my acceptance as a member of the APA I hereby release the American Powerlifting Association (APA), Scott Taylor, all competition facilities and their employee\u2019s, all APA meet directors and contest staff from any responsibility or liability for any injury or personal loss to myself resulting from participation in any APA competition. I acknowledge that I realize there is a high risk of injury in the sport of powerlifting . I accept this risk. I am aware that I will be solely responsible\n            for the condition and safety of my personal lifting gear, bench press shirts, powerlifting suits, wraps and all equipment worn when participating in APA events and realize that the use of bench press shirts and some supportive gear can be dangerous and result in accidents and\/or personal injury. I agree to hold the APA, and meet directors and contest staff members free of liability for any unintentional injury or damages suffered by me. I will be the sole decider on the amount of weight I attempt\n            to lift at all competitions and will not make attempts that I know are beyond my limitations and a reasonable and prudent amount. I am responsible for my behavior and that of my guests at APA events, and If asked to leave an event due to their behavior will do so immediately and voluntarily and forfeit any entry costs I may have incurred for the event. I hereby represent and warrant that I have reviewed and understand the terms of acceptance prior to electronically submitting and signing this waiver\/membership\n            application form. If I am under the age of 18 my parent or legal guardian will review and electronically sign and submit this entry form assuming responsibility for me.\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_2\">\n        <label class=\"form-label-left\" id=\"label_2\" for=\"input_2\">\n          First Name:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_2\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_2\" name=\"q2_firstName\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_19\">\n        <label class=\"form-label-left\" id=\"label_19\" for=\"input_19\">\n          Last Name<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_19\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_19\" name=\"q19_lastName\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\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=\"text\" class=\"form-textbox validate[required]\" id=\"input_3\" name=\"q3_email\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_9\">\n        <label class=\"form-label-left\" id=\"label_9\" for=\"input_9\">\n          Phone:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_9\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_9\" name=\"q9_phone\" size=\"20\" maxlength=\"100\" \/>\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          Mailing Address<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_18\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_18\" name=\"q18_mailingAddress\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_0\">\n        <label class=\"form-label-left\" id=\"label_0\" for=\"input_0\">\n          City:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_0\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_0\" name=\"q0_city\" size=\"20\" maxlength=\"100\" \/>\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          State<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_13\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_13\" name=\"q13_state\" size=\"20\" maxlength=\"100\" \/>\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          Zip code:<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_zipCode\" size=\"20\" maxlength=\"100\" \/>\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          Phone<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_11\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_11\" name=\"q11_phone11\" size=\"20\" maxlength=\"100\" \/>\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          Initials<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_12\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_12\" name=\"q12_initials\" size=\"10\" maxlength=\"3\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_20\">\n        <label class=\"form-label-left\" id=\"label_20\" for=\"input_20\">\n          APA MEMBERSHIP<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_20\" class=\"form-input\"><span class=\"form-product-item\"><input class=\"form-checkbox validate[required]\" type=\"checkbox\" id=\"input_20_1001\" name=\"q20_apaMembership20[][id]\" value=\"1001\" \/>\n            <label for=\"input_20_1001\">\n              Adult Membership Card<span class=\"form-product-details\"><b>\n                  $<span id=\"\">30.00<\/span>\n                  USD\n                <\/b><\/span>\n            <\/label><\/span>\n          <br \/><span class=\"form-product-item\"><input class=\"form-checkbox validate[required]\" type=\"checkbox\" id=\"input_20_1002\" name=\"q20_apaMembership20[][id]\" value=\"1002\" \/>\n            <label for=\"input_20_1002\">\n              High School & Youth Membership Card (age 18 and under)<span class=\"form-product-details\"><b>\n                  $<span id=\"\">15.00<\/span>\n                  USD\n                <\/b><\/span>\n            <\/label><\/span>\n          <br \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_1\">\n        <div id=\"cid_1\" class=\"form-input-wide\">\n          <div style=\"margin-left:156px\" class=\"form-buttons-wrapper\">\n            <button id=\"input_1\" type=\"submit\" class=\"form-submit-button\">\n              Submit\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=\"10404640130\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"10404640130-10404640130\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

