/*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 i92041506464 = new FrameBuilder("92041506464", 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<link type=\"text\/css\" rel=\"stylesheet\" href=\"http:\/\/www.jotform.com\/css\/styles\/industrial_dark.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:url(images\/styles\/style4_2_bg.gif) #363535 top repeat-x;\n    }\n\n    .form-all{\n        margin:0px auto;\n        padding-top:20px;\n        width:690px;\n        background:url(images\/styles\/style4_2_bg.gif) #363535 top repeat-x;\n        color:#cccccc !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_62').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_92041506464\" id=\"92041506464\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"92041506464\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li class=\"form-line\" id=\"id_61\">\n        <label class=\"form-label-left\" id=\"label_61\" for=\"input_61\"> Full Name <\/label>\n        <div id=\"cid_61\" class=\"form-input\"><span class=\"form-sub-label-container\"><input class=\"form-textbox\" type=\"text\" size=\"10\" name=\"q61_fullName61[first]\" id=\"first_61\" \/>\n            <label class=\"form-sub-label\" for=\"first_61\" id=\"sublabel_first\"> First Name <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox\" type=\"text\" size=\"15\" name=\"q61_fullName61[last]\" id=\"last_61\" \/>\n            <label class=\"form-sub-label\" for=\"last_61\" id=\"sublabel_last\"> Last Name <\/label><\/span>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_62\">\n        <label class=\"form-label-left\" id=\"label_62\" for=\"input_62\"> E-mail <\/label>\n        <div id=\"cid_62\" class=\"form-input\">\n          <input type=\"email\" class=\"form-textbox validate[Email]\" id=\"input_62\" name=\"q62_email62\" size=\"30\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_25\">\n        <div id=\"cid_25\" class=\"form-input-wide\">\n          <div id=\"text_25\" class=\"form-html\">\n            <p>\n              Check the box next to the name of the show you want to attend and in the drop down box beneath the name, pick the date and time you would like to attend. Dates shown are the dates available.\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_57\">\n        <label class=\"form-label-left\" id=\"label_57\" for=\"input_57\"> Show: <\/label>\n        <div id=\"cid_57\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-checkbox-item\" style=\"clear:left;\"><input type=\"checkbox\" class=\"form-checkbox\" id=\"input_57_0\" name=\"q57_show[]\" value=\"Pump Boy and Dinettes\" \/>\n              <label for=\"input_57_0\"> Pump Boy and Dinettes <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_58\">\n        <label class=\"form-label-left\" id=\"label_58\" for=\"input_58\"> Click for date: <\/label>\n        <div id=\"cid_58\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:150px\" id=\"input_58\" name=\"q58_clickFor\">\n            <option>  <\/option>\n            <option value=\"October 15th, Friday - 7:30 PM\"> October 15th, Friday - 7:30 PM <\/option>\n            <option value=\"October 16th, Saturday - 2 PM\"> October 16th, Saturday - 2 PM <\/option>\n            <option value=\"October 16th, Saturday - 7:30 PM\"> October 16th, Saturday - 7:30 PM <\/option>\n            <option value=\"October 17th, Sunday - 2 PM\"> October 17th, Sunday - 2 PM <\/option>\n            <option value=\"October 21st, Thursday - 2 PM \"> October 21st, Thursday - 2 PM <\/option>\n            <option value=\"October 22nd, Friday - 7:30 PM\"> October 22nd, Friday - 7:30 PM <\/option>\n            <option value=\"October 23rd, Saturday - 2 PM\"> October 23rd, Saturday - 2 PM <\/option>\n            <option value=\"October 23rd, Saturday - 7:30 PM\"> October 23rd, Saturday - 7:30 PM <\/option>\n            <option value=\"October 24th, Sunday - 2 PM\"> October 24th, Sunday - 2 PM <\/option>\n            <option value=\"October 28th, Thursday - 2 PM \"> October 28th, Thursday - 2 PM <\/option>\n            <option value=\"October 29th, Friday - 7:30 PM\"> October 29th, Friday - 7:30 PM <\/option>\n            <option value=\"October 30th, Saturday - 2 PM\"> October 30th, Saturday - 2 PM <\/option>\n            <option value=\"October 30th, Saturday - 7:30 PM\"> October 30th, Saturday - 7:30 PM <\/option>\n            <option value=\"October 31st, Sunday - 2 PM\"> October 31st, Sunday - 2 PM <\/option>\n            <option value=\"November 4th, Thursday - 2 PM \"> November 4th, Thursday - 2 PM <\/option>\n            <option value=\"November 5th, Friday - 7:30 PM\"> November 5th, Friday - 7:30 PM <\/option>\n            <option value=\"November 6th, Saturday - 2 PM\"> November 6th, Saturday - 2 PM <\/option>\n            <option value=\"November 6th, Saturday - 7:30 PM\"> November 6th, Saturday - 7:30 PM <\/option>\n            <option value=\"November 7th, Sunday - 2 PM\"> November 7th, Sunday - 2 PM <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_63\">\n        <label class=\"form-label-left\" id=\"label_63\" for=\"input_63\"> Spotlight Cabaret: <\/label>\n        <div id=\"cid_63\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-checkbox-item\" style=\"clear:left;\"><input type=\"checkbox\" class=\"form-checkbox\" id=\"input_63_0\" name=\"q63_spotlightCabaret[]\" value=\"Robby Piggott\" \/>\n              <label for=\"input_63_0\"> Robby Piggott <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_64\">\n        <label class=\"form-label-left\" id=\"label_64\" for=\"input_64\"> Click for date: <\/label>\n        <div id=\"cid_64\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:150px\" id=\"input_64\" name=\"q64_clickFor64\">\n            <option>  <\/option>\n            <option value=\"Saturday, October 9th at 7:30pm \"> Saturday, October 9th at 7:30pm <\/option>\n            <option value=\"Saturday, October 9th at 9:30pm \"> Saturday, October 9th at 9:30pm <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_65\">\n        <label class=\"form-label-left\" id=\"label_65\" for=\"input_65\"> Spotlight Cabaret: <\/label>\n        <div id=\"cid_65\" class=\"form-input\">\n          <div class=\"form-single-column\"><span class=\"form-checkbox-item\" style=\"clear:left;\"><input type=\"checkbox\" class=\"form-checkbox\" id=\"input_65_0\" name=\"q65_spotlightCabaret65[]\" value=\"Tim Evanicki\" \/>\n              <label for=\"input_65_0\"> Tim Evanicki <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_66\">\n        <label class=\"form-label-left\" id=\"label_66\" for=\"input_66\"> Click to edit <\/label>\n        <div id=\"cid_66\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:150px\" id=\"input_66\" name=\"q66_clickTo\">\n            <option>  <\/option>\n            <option value=\"Friday, November 12th at 7:30pm \"> Friday, November 12th at 7:30pm <\/option>\n            <option value=\"Saturday, November 13th at 7:30pm \"> Saturday, November 13th at 7:30pm <\/option>\n            <option value=\"Saturday, November 13th at 9:30pm \"> Saturday, November 13th at 9:30pm <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_39\">\n        <div id=\"cid_39\" class=\"form-input-wide\">\n          <div id=\"text_39\" class=\"form-html\">\n            <p>\n              Do you have a seat preference? Although specific seats may be requested, we CAN NOT guarantee that they are available. We will give you the best available seats for the selected performance. If you want to guarantee specific seats, you must call the box office to make your reservation.\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_40\">\n        <label class=\"form-label-left\" id=\"label_40\" for=\"input_40\"> Seat row letter and number: <\/label>\n        <div id=\"cid_40\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_40\" name=\"q40_seatRow\" size=\"20\" maxlength=\"100\" \/>\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 class=\"form-line\" id=\"id_36\">\n        <div id=\"cid_36\" class=\"form-input-wide\">\n          <div id=\"text_36\" class=\"form-html\">\n            <p>\n              Double check that your information is correct then click the 'submit' button\n            <\/p>\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=\"92041506464\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"92041506464-92041506464\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

