/*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 i2102933488 = new FrameBuilder("2102933488", 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: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:20px;\n        width:690px;\n        background:white;\n        color:black !important;\n        font-family:Verdana;\n        font-size:16px;\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_2102933488\" id=\"2102933488\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"2102933488\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li class=\"form-line\" id=\"id_21\">\n        <div id=\"cid_21\" class=\"form-input-wide\">\n          <div id=\"text_21\" class=\"form-html\">\n            <p>\n              Cornwall Business Club - Thursday&nbsp;2nd September&nbsp;- Registration\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_24\">\n        <div id=\"cid_24\" class=\"form-input-wide\">\n          <div id=\"text_24\" class=\"form-html\">\n            <p>\n              Please enter your name and company name details carefully as they will be used to produce a networking badge for the event.\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_8\">\n        <label class=\"form-label-left\" id=\"label_8\" for=\"input_8\"> Title <\/label>\n        <div id=\"cid_8\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_8\" name=\"q8_title8\" size=\"10\" maxlength=\"50\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_23\">\n        <label class=\"form-label-left\" id=\"label_23\" for=\"input_23\"> First Name <\/label>\n        <div id=\"cid_23\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_23\" name=\"q23_firstName\" size=\"50\" 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\"> Surname <\/label>\n        <div id=\"cid_9\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_9\" name=\"q9_surname\" size=\"50\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_10\">\n        <label class=\"form-label-left\" id=\"label_10\" for=\"input_10\"> Job Title <\/label>\n        <div id=\"cid_10\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_10\" name=\"q10_jobTitle\" size=\"50\" 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\"> Company Name <\/label>\n        <div id=\"cid_11\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_11\" name=\"q11_companyName\" size=\"50\" 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\"> Company Address <\/label>\n        <div id=\"cid_12\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_12\" name=\"q12_companyAddress\" size=\"50\" 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\"> .... <\/label>\n        <div id=\"cid_13\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_13\" name=\"q13_13\" size=\"50\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_14\">\n        <label class=\"form-label-left\" id=\"label_14\" for=\"input_14\"> .... <\/label>\n        <div id=\"cid_14\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_14\" name=\"q14_14\" size=\"50\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_15\">\n        <label class=\"form-label-left\" id=\"label_15\" for=\"input_15\"> Post Code <\/label>\n        <div id=\"cid_15\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_15\" name=\"q15_postCode\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_16\">\n        <label class=\"form-label-left\" id=\"label_16\" for=\"input_16\"> Telephone Number <\/label>\n        <div id=\"cid_16\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_16\" name=\"q16_telephoneNumber\" size=\"20\" maxlength=\"100\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_17\">\n        <label class=\"form-label-left\" id=\"label_17\" for=\"input_17\"> Email Address <\/label>\n        <div id=\"cid_17\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_17\" name=\"q17_emailAddress\" size=\"50\" maxlength=\"100\" \/>\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              (Please ensure you enter your correct email address to recieve joining instructions.)\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_18\">\n        <label class=\"form-label-left\" id=\"label_18\" for=\"input_18\"> Company Size <\/label>\n        <div id=\"cid_18\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:150px\" id=\"input_18\" name=\"q18_companySize\">\n            <option>  <\/option>\n            <option value=\"1 - 4\"> 1 - 4 <\/option>\n            <option value=\"5 - 9\"> 5 - 9 <\/option>\n            <option value=\"10 - 49\"> 10 - 49 <\/option>\n            <option value=\"50 - 249\"> 50 - 249 <\/option>\n            <option value=\"250+\"> 250+ <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_22\">\n        <label class=\"form-label-left\" id=\"label_22\" for=\"input_22\"> Highest qualification level <\/label>\n        <div id=\"cid_22\" class=\"form-input\">\n          <select class=\"form-dropdown\" style=\"width:150px\" id=\"input_22\" name=\"q22_highestQualification\">\n            <option>  <\/option>\n            <option value=\"Lower than Level 2\"> Lower than Level 2 <\/option>\n            <option value=\"Level 2\"> Level 2 <\/option>\n            <option value=\"Level 3\"> Level 3 <\/option>\n            <option value=\"Level 4 or above\"> Level 4 or above <\/option>\n          <\/select>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_19\">\n        <div id=\"cid_19\" class=\"form-input-wide\">\n          <div id=\"text_19\" class=\"form-html\">\n            <p>\n              By registering you consent to your name and company name being circulated to all other guests before the event.\n            <\/p>\n            <p>\n              We need to hold accurate and up-to-date information on College users to enable us to manage our responsibilities and the legal obligations of the College. It is held securely and only shared with those who absolutely need to know. By registering for this event I accept that the College needs to hold and use information in accordance with the Data Protection Act and I agree to abide by the College&rsquo;s Code of Conduct. We may use your information for marketing purposes, if you do not wish to receive\n              this information please tick the box\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_20\">\n        <label class=\"form-label-left\" id=\"label_20\" for=\"input_20\"> .... <\/label>\n        <div id=\"cid_20\" 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_20_0\" name=\"q20_20[]\" value=\"Tick Here\" \/>\n              <label for=\"input_20_0\"> Tick Here <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\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=\"2102933488\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"2102933488-2102933488\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

