/*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 i1601211595 = new FrameBuilder("1601211595", 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:125px !important;\n    }\n    .form-label-left{\n        width:125px !important;\n    }\n    .form-line{\n        padding:10px;\n    }\n    .form-label-right{\n        width:125px !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:520px;\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      JotForm.setCalendar(\"6\");\n      $('input_15').hint('If you require more than 3 copies, please let us know here. Also, any special arrangements for printing should be included here.');\n      JotForm.initCaptcha('input_18');\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\" enctype=\"multipart\/form-data\" name=\"form_1601211595\" id=\"1601211595\" accept-charset=\"utf-8\">\n  <input type=\"hidden\" name=\"formID\" value=\"1601211595\" \/>\n  <div class=\"form-all\">\n    <ul class=\"form-section\">\n      <li class=\"form-line\" id=\"id_1\">\n        <label class=\"form-label-left\" id=\"label_1\" for=\"input_1\">\n          Name:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_1\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_1\" name=\"q1_name1\" size=\"20\" \/>\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          Email address:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_3\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required, Email]\" id=\"input_3\" name=\"q3_emailAddress3\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_4\">\n        <div id=\"cid_4\" class=\"form-input-wide\">\n          <div id=\"text_4\" class=\"form-html\">\n            If you are planning on paying by PayPal, please use the email address linked to your PayPal account in the email field above. This will enable us to send you the payment request.\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_5\">\n        <label class=\"form-label-left\" id=\"label_5\" for=\"input_5\">\n          Telephone:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_5\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required, Numeric]\" id=\"input_5\" name=\"q5_telephone\" size=\"20\" \/>\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          Date required:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_6\" class=\"form-input\"><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" id=\"month_6\" name=\"q6_dateRequired6[month]\" type=\"text\" size=\"2\" maxlength=\"2\" value=\"02\" \/><span class=\"date-separate\">&nbsp;-<\/span>\n            <label class=\"form-sub-label\" for=\"month_6\" id=\"sublabel_month\"> Month <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" id=\"day_6\" name=\"q6_dateRequired6[day]\" type=\"text\" size=\"2\" maxlength=\"2\" value=\"09\" \/><span class=\"date-separate\">&nbsp;-<\/span>\n            <label class=\"form-sub-label\" for=\"day_6\" id=\"sublabel_day\"> Day <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" id=\"year_6\" name=\"q6_dateRequired6[year]\" type=\"text\" size=\"4\" maxlength=\"4\" value=\"2012\" \/>\n            <label class=\"form-sub-label\" for=\"year_6\" id=\"sublabel_year\"> Year <\/label><\/span><span class=\"form-sub-label-container\"><div id=\"at_6\">\n              at\n            <\/div>\n            <label class=\"form-sub-label\" for=\"at_6\"> &nbsp;&nbsp;&nbsp; <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" id=\"hour_6\" name=\"q6_dateRequired6[hour]\" type=\"text\" size=\"2\" maxlength=\"2\" value=\"22\" \/><span class=\"date-separate\">&nbsp;\/<\/span>\n            <label class=\"form-sub-label\" for=\"hour_6\" id=\"sublabel_hour\"> Hour <\/label><\/span><span class=\"form-sub-label-container\"><input class=\"form-textbox validate[required]\" id=\"min_6\" name=\"q6_dateRequired6[min]\" type=\"text\" size=\"2\" maxlength=\"2\" value=\"54\" \/>\n            <label class=\"form-sub-label\" for=\"min_6\" id=\"sublabel_minutes\"> Minutes <\/label><\/span><span class=\"form-sub-label-container\"><select class=\"form-dropdown validate[required]\" id=\"ampm_6\" name=\"q6_dateRequired6[ampm]\">\n              <option value=\"AM\"> AM <\/option>\n              <option value=\"PM\"> PM <\/option>\n            <\/select>\n            <label class=\"form-sub-label\" for=\"ampm_6\"> &nbsp;&nbsp;&nbsp; <\/label><\/span><span class=\"form-sub-label-container\"><img alt=\"Pick a Date\" id=\"input_6_pick\" src=\"http:\/\/www.jotform.com\/images\/calendar.png\" align=\"absmiddle\" \/>\n            <label class=\"form-sub-label\" for=\"input_6_pick\"> &nbsp;&nbsp;&nbsp; <\/label><\/span>\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          University<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_university7\" 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\">\n          Degree<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_8\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox validate[required]\" id=\"input_8\" name=\"q8_degree\" size=\"20\" \/>\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          Colour<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_colour\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line form-line-column\" id=\"id_10\">\n        <label class=\"form-label-top\" id=\"label_10\" for=\"input_10\">\n          Copy 1 binding:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_10\" class=\"form-input-wide\">\n          <div class=\"form-single-column\"><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_10_0\" name=\"q10_copy1\" value=\"Hard\" \/>\n              <label for=\"input_10_0\"> Hard <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_10_1\" name=\"q10_copy1\" value=\"Soft\" \/>\n              <label for=\"input_10_1\"> Soft <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line form-line-column\" id=\"id_11\">\n        <label class=\"form-label-top\" id=\"label_11\" for=\"input_11\">\n          Copy 2 binding:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_11\" class=\"form-input-wide\">\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_copy2\" value=\"Hard\" \/>\n              <label for=\"input_11_0\"> Hard <\/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_copy2\" value=\"Soft\" \/>\n              <label for=\"input_11_1\"> Soft <\/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_2\" name=\"q11_copy2\" value=\"Not Applicable\" \/>\n              <label for=\"input_11_2\"> Not Applicable <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line form-line-column\" id=\"id_12\">\n        <label class=\"form-label-top\" id=\"label_12\" for=\"input_12\">\n          Copy 3 binding:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_12\" class=\"form-input-wide\">\n          <div class=\"form-single-column\"><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_12_0\" name=\"q12_copy3\" value=\"Hard\" \/>\n              <label for=\"input_12_0\"> Hard <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_12_1\" name=\"q12_copy3\" value=\"Soft\" \/>\n              <label for=\"input_12_1\"> Soft <\/label><\/span><span class=\"clearfix\"><\/span><span class=\"form-radio-item\" style=\"clear:left;\"><input type=\"radio\" class=\"form-radio validate[required]\" id=\"input_12_2\" name=\"q12_copy3\" value=\"Not Applicable\" \/>\n              <label for=\"input_12_2\"> Not Applicable <\/label><\/span><span class=\"clearfix\"><\/span>\n          <\/div>\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          Spine embossing text:<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_spineEmbossing\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_14\">\n        <label class=\"form-label-left\" id=\"label_14\" for=\"input_14\"> Front embossing (optional extra): <\/label>\n        <div id=\"cid_14\" class=\"form-input\">\n          <input type=\"text\" class=\"form-textbox\" id=\"input_14\" name=\"q14_frontEmbossing\" size=\"20\" \/>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_15\">\n        <label class=\"form-label-left\" id=\"label_15\" for=\"input_15\"> Additional information: <\/label>\n        <div id=\"cid_15\" class=\"form-input\">\n          <textarea id=\"input_15\" class=\"form-textarea\" name=\"q15_additionalInformation\" cols=\"40\" rows=\"6\"><\/textarea>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_16\">\n        <div id=\"cid_16\" class=\"form-input-wide\">\n          <div id=\"text_16\" class=\"form-html\">\n            By uploading your file, you agree that any mistakes in the print work are your own responsibility and Belfast Bookbinding Company will not be held responsible for any mistakes. Belfast Bookbinding Company does not alter print work in any way and it is used on a \u201cread only\u201d basis.\n          <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"form-line\" id=\"id_17\">\n        <label class=\"form-label-left\" id=\"label_17\" for=\"input_17\">\n          Please upload your file:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_17\" class=\"form-input\">\n          <input class=\"form-upload validate[required]\" type=\"file\" id=\"input_17\" name=\"q17_pleaseUpload17\" file-accept=\"pdf, doc, docx, xls, csv, txt, rtf, html, zip, mp3, wma, mpg, flv, avi, jpg, jpeg, png, gif\" file-maxsize=\"1000000000000000000\" \/>\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          Please enter the text from the image in the box:<span class=\"form-required\">*<\/span>\n        <\/label>\n        <div id=\"cid_18\" class=\"form-input\">\n          <div class=\"form-captcha\">\n            <label for=\"input_18\"> <img alt=\"Captcha - Reload if it's not displayed\" id=\"input_18_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_18\" 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_18');\" \/>\n              <input type=\"hidden\" name=\"captcha_id\" id=\"input_18_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=\"text-align:center\" 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=\"1601211595\" \/>\n  <script type=\"text\/javascript\">\n  document.getElementById(\"si\" + \"mple\" + \"_spc\").value = \"1601211595-1601211595\";\n  <\/script>\n<\/form><\/body>\n<\/html>\n");

