var questions = [];
var QD = [];
var current_properties;
var selected;
var update = false;
var currStyle = new FormStyle();
var cssProps = {};
var chflag = false;
var req = " <SPAN class='required'>*</SPAN>";
var slided = false;
var toolstat = "1";
var iserrorsent = false;
var istraceerrorsent = false;
var loaded=false;
var adToolstat = "1";
var onEdit = false;
var user = readCookie("user");
user = (user)? user.split(":") : ['Anonymous', '22121223356532', 'Normal'];
// Suspension Text
var suspensionText = "Due to <a href=\"http://www.jotform.com/terms\" target=\"blank\"><b><u>terms of use</u></b></a> "+
                     "violation, your account has been "+
                     "suspended. It was suspected to be used in phishing (stealing information). If you think this is a mistake please "+
                     "<a href=\"http://www.interlogy.com/contact.html?jotform=yes\" target=\"blank\"><b><u>contact us</u></b></a> "+
                     "to resolve this issue.";
var upgradeText    = "This feature is available to only <b>Premium</b> users. Please <u><a target='_blank' href='upgrade.php?banner=password'>upgrade</a></u> your account.";
var tracks = { // For goal tracking with analytics
    saved: false,
    addQuestion: false
};

// Images to preload, most of them are buttons and small sized images. TOTAL SIZE: 100K
var onloadImages = [
    "images/gray.png",
    "images/jotform.gif",
    "images/line_properties.gif",
    "images/splitter_right_show.gif",
    "images/wiz_down.png",
    "images/wiz_down2.png",
    "images/wiz_down_left.png",
    "images/wiz_down_right.png",
    "images/wiz_down_right2.png",
    "images/wiz_mid_left.png",
    "images/wiz_mid_right.png",
    "images/wiz_title2_left.png",
    "images/wiz_title_close0.png",
    "images/wiz_title_left.png",
    "images/wiz_title_right.png",
    "images/wiz_up_left.png",
    "images/wiz_up_right.png",
    "images/wiz_title_close1.png",
    "images/splitter_left.gif",
    "cimg/3.jpg",
    "images/splitter_mid.gif",
    "images/splitter_right_hide.gif",
    "images/worldpay.gif",
    "images/wiz_down1.png",
    "images/wiz_up.png"];
 
/*
var onloadImages = new Array(
 "images/gray.png",
 "images/jotform.gif",
 "images/line_properties.gif",
 "images/splitter_left.gif",
 "cimg/3.jpg",
 "images/splitter_mid.gif",
 "images/splitter_right_hide.gif",
 "images/worldpay.gif"
);*/
var countries = ["Abkhazia", "Afghanistan", "United Kingdom Akrotiri and Dhekelia", "Aland", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "United Kingdom Ascension Island", "Australia", "Austria", "Azerbaijan", "The Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "People's Republic of China", "Republic of China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Polynesia", "Gabon", "The Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana Guyana", "Haiti Haiti", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "North Korea", "South Korea", "Kosovo", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Nagorno-Karabakh", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Turkish Republic of Northern Cyprus", "Northern Mariana", "Norway", "Pakistan", "Palau", "Palestine", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Transnistria Pridnestrovie", "Puerto Rico", "Qatar", "Romania", "Russia", "Rwanda", "Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "Somaliland", "South Africa", "South Ossetia", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard", "Swaziland", "Sweden", "Switzerland", "Syria", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tristan da Cunha", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "British Virgin Islands", "US Virgin Islands", "Wallis and Futuna", "Western Sahara", "Yemen", "Zambia", "Zimbabwe"];
var us_states = ["AL", "AK", "AR", "AZ", "CA", "CO", "CT", "DC", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"];
window.onbeforeunload = function(){
    if(chflag){
        mess = "You have unsaved changes: Are you sure you want to discard them?";
        return mess;
    }
};

// Define Browser
function Browser(){
    this.name          = navigator.appName;
    this.codename      = navigator.appCodeName;
    this.version       = navigator.appVersion.substring(0,4);
    this.platform      = navigator.platform;
    this.javaEnabled   = navigator.javaEnabled();
    this.cookieEnabled = navigator.cookieEnabled;
    this.userAgent     = navigator.userAgent;
    this.screenWidth   = screen.width;
    this.screenHeight  = screen.height;
    this.loc           = window.location.href;
    this.referrer      = (document.referrer)?     document.referrer     : "Direct";
    this.charSet       = (document.characterSet)? document.characterSet : document.charset;
    this.language      = (navigator.language)?    navigator.language    : navigator.browserLanguage;
    this.jotformVer    = Version;
    this.formID        = (formID)? formID : (selected)? selected : "No FormID";
    
    this.information = function(){
        info  = "\n== Client Descriptions ==\n";
        info += "Application Name is: "      + this.name          + "\n";
        info += "Application Code name is: " + this.codename      + "\n";
        info += "Application Version is: "   + this.version       + "\n";
        info += "Location: "                 + this.loc           + "\n";
        info += "Referrer: "                 + this.referrer      + "\n";
        info += "User agent: "               + this.userAgent     + "\n";
        info += "Platform is: "              + this.platform      + "\n";
        info += "Is java Enabled?: "         + this.javaEnabled   + "\n";
        info += "Is Cookie Enabled?:"        + this.cookieEnabled + "\n";
        info += "Language: "                 + this.language      + "\n";
        info += "Document Character Set: "   + this.charSet       + "\n";
        info += "Client screenWidth: "       + this.screenWidth   + "\n";
        info += "Client screenHeight: "      + this.screenHeight  + "\n";
        info += "Jotform Version: "          + this.jotformVer    + "\n";
        info += "Form ID : "                 + this.formID        + "\n";
        return info;
    };
    
    this.alert = function(){
        alert(this.information());
    };
}

function reportError(desc, title){
    // Ignore Internet Explorer
    if(/MSIE/.test(navigator.userAgent)){ return true; }
    var res = makeRequest("action=report_error" + "&title=" + encodeURIComponent(title) + "&desc=" + encodeURIComponent(desc));
    if(res != 1){
        Alert("<span>Jotform couldn't be able to report this error,<br> Please Report Error by <a style=\"text-decoration:underline\" href=\"http://www.jotform.com/preview.php?formID=71635443919\" target=\"_blank\">Error Reporting Form</a> With this information</span> <textarea rows=5 cols=30>"+desc+"</textarea>");
    }
}

function traceError(){
    var i, msg = "", argNum = 0, startPos;
    var args = arguments;
    var numArgs = args.length;
    if(numArgs){
        theStr = args[argNum++];
        startPos = 0;
        endPos = theStr.indexOf("%s",startPos);
        if(endPos == -1){
            endPos = theStr.length;
        }
        while(startPos < theStr.length){
            msg += theStr.substring(startPos,endPos);
            if (argNum < numArgs){
                msg += args[argNum++];
            }
            startPos = endPos+2;
            endPos = theStr.indexOf("%s",startPos);
            if (endPos == -1) {
                endPos = theStr.length;
            }
        }
        if (!msg){
            msg = args[0];
        }
    }
    
    if(!istraceerrorsent){
        var info = new Browser();
        reportError(msg+info.information(),"Error occured in Jotform, Reported by traceError");
        istraceerrorsent = true;
    }
}

function transform(elem){
    if(elem.id == "ajx_pass"){
        if (elem.value == "PASSWORD") {
            elem.value = "";
        } else if (elem.value === "") {
                elem.value = "PASSWORD";
        }
    }else{
        if (elem.value == /* {translate} */ "USERNAME" /* {/translate} */) {
            elem.value = "";
        } else if(elem.value === ""){            
            elem.value = /* {translate} */ "USERNAME" /* {/translate} */;
        }
    }
    elem.onblur = function(){
        transform(elem);
    };
}

function preload(){ 
  var args = onloadImages;
  document.imageArray = [];
  for(var i=0; i<args.length; i++){
    document.imageArray[i] = new Image();
    document.imageArray[i].src = args[i];
  }
}

function preloadArgs(){ 		// Just in case
  var args = arguments;
  document.imageArray = [];
  for(var i=0; i<args.length; i++){
    document.imageArray[i] = new Image();
    document.imageArray[i].src = args[i];
  }
}

isNotOnload = false;
function FormStyle(){
     this.initialize = function(){
            $A($("formTable").descendants()).each(function(elem){
                if(cssProps[elem.className]){
                    $H(cssProps[elem.className]).each(function(pair){
                        style ={};
                        style[pair.key] = pair.value;
                        elem.setStyle(style);
                    if(isNotOnload){                        
                        cssProps[elem.className][pair.key] = pair.value;	// Update the css hash
                    }
                    if( (pair.key == "backgroundColor" || pair.key == "background") && elem.className == "tbmain"){	//////////////////////
                        if(isNotOnload){
                            $("form_background").innerHTML = pair.value;
                            prop.form_background = pair.value;
                        }
                    }else if( (pair.key == "color" || pair.key == "fontColor") && elem.className == "left"){
                        if(isNotOnload){
                            $("form_fontcolor").innerHTML = pair.value;
                            prop.form_fontcolor = pair.value;
                        }
                    }else if(pair.key == "fontFamily" && elem.className == "left"){
                        if(isNotOnload){
                            $("form_font").innerHTML = pair.value;
                            prop.form_font = pair.value;
                        }
                    }else if(pair.key == "fontSize" && elem.className == "left"){
                        if(isNotOnload){
                            var sz = (pair.value.toString().match(/(\d+)/))? pair.value.toString().match(/(\d+)/) : pair.value;
                            $("form_fontsize").innerHTML = sz[1];
                            prop.form_fontsize = sz[1];
                        }
                    }		
                    });
                }
            });
     };
     
     this.setStyleByClassName = function(c,h,s){             // Function that sets the css class to the objects
        try{
            if(cssProps[c]){
                $('formTable').select("."+c).each(function(elem){					// Get elements of that class
                        style = {};
                        $H(h).each(function(pair){										// Set each properties of that class
                            pair.value = pair.value.replace(/^px$/, "12px");
                            style[pair.key] = pair.value;
                            elem.setStyle(style);
                            cssProps[c][pair.key] = pair.value;	// Update the css hash
                        });
                 });
            }
        }catch(e){
            traceError("Error on setStyleByClassName:\n "+e+":"+c+":"+h+":"+s);
        }
     };
     
     this.setStyleByElement = function(elem){
         if (elem) {
             $H(cssProps[elem.className]).each(function(pair){
                 style = {};
                 style[pair.key] = pair.value;
                 elem.setStyle(style);
             });
         }
     };
     
     this.setStyleByTdHandler = function(td){
             if(td){
                 $A(td.descendants()).each(function(elem){
                     if(elem.className){
                         $H(cssProps[elem.className]).each(function(pair){ 
                             style={};
                             style[pair.key] = pair.value;
                             elem.setStyle(style);
                         });
                     }
                 });
             }
     };
     
     this.resetStyles = function(){
        $A($('formTable').descendants()).each(function(elem){
            if(elem.className != "icons" && elem.className != "dontreset"){
                elem.removeAttribute('style');
            }
        });
     };
}

function copy(text2copy,id) {
  if (window.clipboardData) {
    window.clipboardData.setData("Text",text2copy);
  } else {
    var flashcopier = 'flashcopier';
    if(!document.getElementById(flashcopier)) {
      var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
    }
    document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
  }
  if(id){
      new Effect.Highlight(id,{duration: 1.5});
  }
}

function getUrl(){
    var url = window.location.href;
    url = url.match(/^.*?(\w+.php)/);
    return (url === null )? "index.php" : url[1];
}

function neccessery(){
  if(!$('wizcss')){
    $(document.body).insert(new Element('link', {id:'wizcss', rel:"stylesheet", type:"text/css"}));
  }
  chflag=false;
  loaded=true;
  preload();
  changeButtons();
}

function buttonOver(elem,over){
    var realImage = "";
    if(elem.style.backgroundImage){
        realImage = elem.style.backgroundImage;
        elem.style.backgroundImage = elem.style.backgroundImage.substring(0,elem.style.backgroundImage.length-5) + "_over.gif)";
    }else if(elem.src){
        realImage = elem.src;
        elem.src = elem.src.substring(0,elem.src.length-4) + "_over.gif";
    }
    elem.onmouseout = function(){ buttonOut(elem); };
    if(!over){
        elem.onmousedown = function(){ buttonDown(elem); };
        elem.onmouseup  = function(){ buttonUp(elem); };
    }
    buttonOut= function(elem){
        if(elem.style.backgroundImage){
            elem.style.backgroundImage = realImage;
        }else if(elem.src){
            elem.src = realImage;
        }
    };
    buttonUp = function(elem){
        if(elem.style.backgroundImage){
            elem.style.backgroundImage = realImage.substring(0,realImage.length-5) + "_over.gif)";
        }else if(elem.src){
            elem.src = realImage.substring(0,realImage.length-4) + "_over.gif";
        }
    };
    buttonDown = function(elem){
        if(elem.style.backgroundImage){
            elem.style.backgroundImage = realImage.substring(0,realImage.length-5) + "_down.gif)";
        }else if(elem.src){
            elem.src = realImage.substring(0,realImage.length-4) + "_down.gif";
        }
    };
}

function buttonOverCss(elem,over){
    var realImage = "";
    //if(elem.style.backgroundImage){
    if ($(elem).className) {
        realImage = $(elem).className;
        //realImage = elem.style.backgroundImage;
        //elem.style.backgroundImage = elem.style.backgroundImage.substring(0,elem.style.backgroundImage.length-5) + "_over.gif)";
        $(elem).className = ($(elem).className) + "_over";
    }
    /*
    }else if(elem.src){
        realImage = elem.src;
        elem.src = elem.src.substring(0,elem.src.length-4) + "_over.gif";
    }
    */
    elem.onmouseout = function(){ buttonOut(elem); };
    if(!over){
        elem.onmousedown = function(){ buttonDown(elem); };
        elem.onmouseup  = function(){ buttonUp(elem); };
    }
    buttonOut= function(elem){
        //if(elem.style.backgroundImage){
        if($(elem).className){
            //elem.style.backgroundImage = realImage;
            $(elem).className = realImage;
        }
        /*}else if(elem.src){
            elem.src = realImage;
        }*/
    };
    buttonUp = function(elem){
        //if(elem.style.backgroundImage){
        if ($(elem).className){
            //elem.style.backgroundImage = realImage.substring(0,realImage.length-5) + "_over.gif)";
            $(elem).className = realImage + "_over";
        }
        /*}else if(elem.src){
            elem.src = realImage.substring(0,realImage.length-4) + "_over.gif";
        }*/
    };
    buttonDown = function(elem){
        //if(elem.style.backgroundImage){
        if($(elem).className){
            //elem.style.backgroundImage = realImage.substring(0,realImage.length-5) + "_down.gif)";
            $(elem).className = realImage + "_down"; 
        }
        /*
        }else if(elem.src){
            elem.src = realImage.substring(0,realImage.length-4) + "_down.gif";
        }*/
    };
}

function previewForm(formID){
    var res = formSave();
    if( res != 1 ){
        if (!confirm("There was a problem saving the form: \n"+ res +"\n\nDo you want to continue?\n")) { 
            return;
        }
    }
    if(formID>0){
        window.open("preview.php?formID="+formID, 'view', 'width=650,height=800,location=yes,toolbar=no,scrollbars=yes,resizable=yes');
    }else{
        Alert("Select a form to view");
    }
}

function createCookie(name, value, days){
    days = (days != undefined)? days : 365;
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = ";expires=" + date.toGMTString();
    document.cookie = name + "=" + value + expires + ";path=/";
}

function deleteCookie(name){
    createCookie(name, "", -365);
}

function pngImages(){
    var img;
    if(/MSIE/.test(navigator.userAgent)){
        for(x=0;x < arguments.length;x++){
            elm = document.getElementById(arguments[x]);
            img = (elm.src)? elm.src : (elm.background)? elm.background : (elm.backgroundImage)? elm.backgroundImage : "";
            elm.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='" + img + "')";
            
            if(elm.src){
                elm.src = "images/blank.gif";
            }else if(elm.background){                
                elm.background = "images/blank.gif";
            }else{
                elm.backgroundImage = "images/blank.gif";
            }
        }
    }
}

function hideProp(){
    var dr = (/MSIE/.test(navigator.userAgent))? 0.1 : 0.3;
    if($("properties")){
        if($("properties").style.display != "none"){
            new Effect.SlideUp("properties",{duration: dr});
                $("properties_img").src = "images/panel_properties0.gif";
        }
    }
    return true;
}

function accordion(elems){
    var down = (elems.down)? elems.down : false;
    var up = (elems.up)? elems.up : false;
    var dr = (/MSIE/.test(navigator.userAgent))? 0.1 : 0.3;
    if(up && down){
        $(up+"_img").className = "panel0";
        $(down+"_img").className = "panel1";
        if($(up).style.display != "none"){
            new Effect.SlideUp(up,{duration: dr});
        }
        new Effect.SlideDown(down,{duration: dr});
    }else if(up){
        new Effect.SlideUp(up,{duration: dr});
        $(up+"_img").className = "panel0";
    }else if(down){
        new Effect.SlideDown(down,{duration: dr});
        $(down+"_img").className = "panel1";
    }
}

var extool = "toolbox";
function slideBox(id, field, qst){
    if(!$(id+"_img")){ return true; }
    if(extool != id){
        if(id == "properties"){
            if($("properties").style.display == "none"){
                accordion({down: id});
            }else if(!qst){
                accordion({up: id});
            }
        }else{
            accordion({down: id, up: extool});
        }
    }else{
        if(!qst || $("properties").style.display == "none"){
            if($(id).style.display != "none"){
                accordion({up: id});
            }else{
                accordion({down: id});
            }
        }else{
            accordion({up: id});
        }
    }
    
    //Print Properties	
    if(id == "properties"){
        var p = $("phash");
        var current_properties = field;
        p.innerHTML = makeProperties(field);
    }else{
        extool = id;
    }
}

function showFormProperties(){
    if (!$("properties")) { return true; }
    slideBox("properties", "form", 1);
}

function changed(flag) {
    if($('save')){
        if (flag == 1 || flag == "1"){
            $("notice").innerHTML = "*";
            new Effect.Opacity('save',{duration:1.0,from:0.5,to:1.0});
            chflag = true;
        }else{
            $("notice").innerHTML = "";
            new Effect.Opacity('save',{duration:1.0,from:1.0,to:0.5});
            chflag = false;
        }
    }
}

function sayfayukle() {	showload("hide"); }

var payment_type = "";
var currPage ="";
var paymentjs = 'js/payments.js?v'+Version;
var openformjs = 'js/openForm.js?v'+Version;
var newformjs = 'js/newForm.js?v'+Version;
function scriptCalls(which, onload){
    try{
        var script = document.createElement('script');
        
        script.type = 'text/javascript'; 
        if(which == "newForm") {
            script.src = newformjs; 
        }else if(which == "paypalwiz") {
            script.src = paymentjs;
            payment_type = "paypal";
            currPage = "paypal_init";
        }else if(which == "onebipwiz") {
            script.src = paymentjs;
            payment_type = "onebip";
            currPage = "onebip_init";
        }else if(which == "clickbankwiz"){
            script.src = paymentjs;
            payment_type = "clickbank";
            currPage = "cb_init";
        }else if(which == "2cowiz"){
            script.src = paymentjs;
            payment_type = "2co";
            currPage = "2co_init";
        }else if(which == "googlecowiz"){
            script.src = paymentjs;
            payment_type = "googleco";
            currPage = "googleco_init";
        }else if(which == "worldpaywiz"){
            script.src = paymentjs;
            payment_type = "worldpay";
            currPage = "worldpay_init";
        }else{
            script.src = openformjs;
        }
        if(Prototype.Browser.IE){
            script.onreadystatechange = onload;
        }else{
            script.onload = onload;
        }
        document.getElementsByTagName('head')[0].appendChild(script);
    }catch(e){
        traceError("Error on scriptCalls\n File jotform.js",e);
    }
}

function isExist(funcName){// Check the Existense of a function
    if(typeof funcName == 'function'){
        return true;
    }
    return false;
}

function tryFunction(func,args,dur,trycount){	
    args = args.replace(/\"/g,"'");
    trycount = (trycount)? trycount : 0;
    dur = (dur)? dur : 15;
    if(isExist(func)){
        eval(func+args);
        trycount=0;
    }else if(trycount < dur){
        trycount++;
        setTimeout(function(){ tryFunction(func,args,dur,trycount); }, 100);
    }
}

function sleep(func, seconds){ setTimeout(func, seconds*1000); }
function displayWindow(wizName, alt){
    update = (alt)? true : false;
    scriptCalls(wizName, function(){
        $('wizcss').href = "css/wiz.css"; //CSS Style Sheet
        buildDimmerDiv();
        new Ajax.Request("server.php", {
            parameters:"action=getWizard" + "&wizName=" + wizName,
            method:"post",
            onComplete:function(transport){
                try {
                    $('windowcontent').innerHTML = transport.responseText;
                    var title = getWizardTitle(wizName);
                    displayFloatingDiv('windowcontent', title, 620, 310, screen.width/4, screen.width/4);
                    if(wizName != "newForm" && wizName != "openForm"){
                        eval(initFunction[payment_type]+"()"); // Set the initials of wizards
                        $(currPage).className = 'show';
                        //displayHide(currPage, currPage);
                    }
                    pngImages("wizd","wizd1","wizd2","wizml","wizmr","wizdl","wizdr","wizu","wizur","wizul","wiztl","wizt2l","closee");
                    changeButtons();
                } catch (e) { }
            }
        });
    });
}

var initFunction = {
    "paypal": "payPalDefaults",
    "2co": "twoco_defaults",
    "clickbank": "cb_defaults",
    "googleco": "gcoDefaults",
    "worldpay": "wpDefaults",
    "onebip": "onebip_defaults"
};

function wizard_initials(){
    if(payment_type == "paypal"){
        tryFunction("payPalDefaults","()");
    } else if(payment_type == "2co"){
        tryFunction("twoco_defaults","()");
    } else if(payment_type == "clickbank"){
        tryFunction("cb_defaults","()");
    } else if(payment_type == "googleco"){
        tryFunction("gcoDefaults","()");
    } else if(payment_type == "worldpay"){
        tryFunction("wpDefaults","()");
    } else if(payment_type == "onebip"){
        tryFunction("onebip_defaults","()");
    }
    //******
    //tryFunction("displayHide","('"+currPage+"','"+currPage+"')");
    try{
        $(currPage).className = 'show';
    }catch(e){ }
}

function getWizardTitle(wizName){
    switch(wizName){
        case "newForm":      return 'Form Wizard';
        case "paypalwiz":    return 'PayPal Wizard';
        case "clickbankwiz": return 'ClickBank Wizard';
        case "2cowiz":       return '2Checkout Wizard';
        case "onebipwiz":    return '1Bip Wizard';
        case "googlecowiz":  return 'Google Checkout Wizard';
        case "worldpaywiz":  return 'WorldPay Wizard';
        default: return 'Open Form';
    }
}

function displayWindow2(wizName,alt){
    try{
        $('wizcss').href = "css/wiz.css"; //CSS Style Sheet
        scriptCalls(wizName);
        displayWindowShow(wizName, alt);
    }catch(e){
        traceError("Error on displayWindow\n File: jotform.js",e);
    }
}

function displayWindowShow2(wizName,alt){
    try{
        buildDimmerDiv();
        $('windowcontent').innerHTML = "";
        update = (alt)? true : false;
        var res = makeRequest("action=getWizard" + "&wizName=" + wizName);
        $('windowcontent').innerHTML = res;
        var w, h, l, t;
        w = 620;
        h = 310;
        l = screen.width/4;
        t = screen.height/4;
        if(wizName == "newForm"){
            displayFloatingDiv('windowcontent', 'Form Wizard', w, h, l, t);
        }else if(wizName == "paypalwiz"){	
            displayFloatingDiv('windowcontent', 'PayPal Wizard', w, h, l, t);
        }else if(wizName == "clickbankwiz"){
            displayFloatingDiv('windowcontent', 'ClickBank Wizard', w, h, l, t);
        }else if(wizName == "2cowiz"){
            displayFloatingDiv('windowcontent', '2Checkout Wizard', w, h, l, t);
        }else if(wizName == "onebipwiz"){	
            displayFloatingDiv('windowcontent', '1Bip Wizard', w, h, l, t);
        }else if(wizName == "googlecowiz"){	
            displayFloatingDiv('windowcontent', 'Google Checkout Wizard', w, h, l, t);
        }else if(wizName == "worldpaywiz"){	
            displayFloatingDiv('windowcontent', 'WorldPay Wizard', w, h, l, t);
        }else{
            displayFloatingDiv('windowcontent', 'Open Form', w, h, l, t);
        }
        if(wizName != "newForm" && wizName != "openForm"){
            wizard_initials(); // Set the initials of wizards
        }
            
        pngImages("wizd","wizd1","wizd2","wizml","wizmr","wizdl","wizdr","wizu","wizur","wizul","wiztl","wizt2l","closee");
    }catch(e){
        traceError("Error on displayWindowShow\n File: jotform.js",e);
    }
}

var ajx = "";
function showload(stat){
    $('loading').style.display = (stat == "hide")? "none" : "block";
}

function makeRequest (query) {
    showload("show");
    try {
        var httpRequest = (!window.XMLHttpRequest)? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
        httpRequest.open('POST', 'server.php', false);
        httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        httpRequest.send(query);
        showload("hide");
        if (httpRequest.status == 200){
          return httpRequest.responseText;
        }else{
          return httpRequest.status + " " + httpRequest.statusText;
        }
    }catch(e){
        setTimeout(function(){ traceError("Ajax Error: \nQuery: "+ query +"\nError: "+ e); }, 100);
        return e;
    }
}

var ajax;
function makeRequestUpdate(id,query,oncomp,loadingImg){
    new Ajax.Updater(id, "server.php", {
            parameters: query,
            onLoading: function(){
                if(loadingImg){
                    $(id).innerHTML = "<img src='"+loadingImg+"'>";
                }else{
                    $(id).innerHTML = "<img src='images/loading2.gif'>";
                }
            },
            onComplete: function(transport){
                ajax = transport.responseText;
                if(oncomp){
                    eval(oncomp);
                }
            }
        });
    return ajax;
}

function ajx_login(){
    query = "action=login&username=" + $('ajx_usr').value + "&password=" + $('ajx_pass').value;
    new Ajax.Request("server.php", {
            parameters: query,
            onLoading: function(){
                $('ajx_usr').className = "owntext";
                $('ajx_pass').className = "owntext";
                $('load').innerHTML = "<img src='images/loading2.gif'>";
            },
            onComplete: function(transport){
                res = transport.responseText;
                if(res == "suspended"){
                    $('load').innerHTML = '<div class="user0" width="38" height="36"></div>';
                    $('ajx_usr').className = "owntext_err";
                    Alert(suspensionText);
                    return;
                }
                
                if(res == -2){
                    $('load').innerHTML = '<div class="user0" width="38" height="36"></div>';
                    $('ajx_usr').className = "owntext_err";
                    $('lost').style.display = 'block';
                } else if (res == -1) {
                    $('load').innerHTML = '<div class="user0" width="38" height="36"></div>';
                    $('ajx_pass').className = "owntext_err";
                    $('lost').style.display = 'block';
                } else {
                    $('lost').style.display = 'none';
                    $('ajx_usr').className = "owntext";
                    $('ajx_pass').className = "owntext";
                    $('loginform').style.display = "none";
                    $('loggedin').style.display = "block";
                    if ($('country_table')) { $('country_table').style.display = "block";}
					$('usrname').innerHTML = res.split(":")[0];
                    if(res.split(":")[2] == "PREMIUM"){                        
                        $('account_type').innerHTML = '<img src="images/user_premium.gif" width="38" height="36" />';
                    }
                    createCookie('user', res );
                    if(window.location.href.match("upgrade.php")){
                        window.location.href = "upgrade.php";
                    }	
                }
            }
    });
}

function ajx_logout(){
    $('load').innerHTML = '<div class="user0" width="38" height="36"></div>';
    $('loginform').style.display = "block";
    $('loggedin').style.display = "none";
    $('ajx_usr').value = "";
    $('ajx_pass').value = "";
    deleteCookie('user');
    deleteCookie('lastForm');
    window.location.href = "index.php?new";
}

function lostpass(){
    $('loginform').style.display = "none";
    $('lostpass').style.display = "block";
}

function lostpass_back(){
    $('loginform').style.display = "block";
    $('lostpass').style.display = "none";
    $('ajx_email').value = "";
    $('lost_button').innerHTML = '<div class="buttons" onclick="sendPassword()"><!-- {translate} -->Send<!-- {/translate} --></div>';
    changeButtons();
}

function sendPassword(){
    res = makeRequest("action=lost&email=" + $('ajx_email').value);
    if(res < 0){
        $('ajx_email').className = "owntext_l_err";
        $('ajx_email').value = "Email name does not exist!";
    } else {
        $('ajx_email').className = "owntext_l";
        $('ajx_email').value = "Password has been emailed!";
        $('lost_button').innerHTML='<div onmouseover="buttonOverCss(this)" class="btn_back" width="53" height="16" border="0" onclick="lostpass_back()"></div>';
    }
}

function debug(n){
/*  if(elem1 = $("debugmessage")){
        elem1.innerHTML += n + "<br>\n";
    }*/
    return true; // DISABLED
}

function sort_numeric(a,b){ return (a-b); }

function setwizard(elem,quest){
    switch(quest){
        case "control_2co":
            elem.onclick = function(){ displayWindow('2cowiz'); };
            break;
        case "control_paypal":
            elem.onclick = function(){ displayWindow('paypalwiz'); };
            break;
        case "control_onebip":
            elem.onclick = function(){ displayWindow('onebipwiz'); };
            break;
        case "control_clickbank":
            elem.onclick = function(){ displayWindow('clickbankwiz'); };
            break;
        case "control_googleco":
            elem.onclick = function(){ displayWindow('googlecowiz'); };
            break;
        case "control_worldpay":
            elem.onclick = function(){ displayWindow('worldpaywiz'); };
            break;
        default:
            elem.onclick = function(){ return false; };
    }
}

function selectQuestion(row, field){
    //ofcourse();
    //1st

    if(selected == field){
       if(questions[field] != "control_html" && onEdit === false){
            $(selected).style.background = "none";
            //$(selected).style.margin = "0px";
            $(selected).style.border = "none";
            if($("delete_" + row.id)){
                $("delete_" + row.id).style.visibility = "hidden";
            }
            if($("wiz_" + row.id)){
                $("wiz_" + row.id).style.visibility = "hidden";
            }
            selected = undefined;
            hideProperties();
       }
    } else {
        if(inarray(questions[field],payments)){
            $("wiz_" + row.id).style.visibility = "visible";
            setwizard($("wiz_" + row.id),questions[field]);
        }
        selectedBG(row);
        slideBox('properties',field,1);
    }
}

function selectedBG(row){
    //2nd
    if(selected !== undefined){
      if($(selected)){
        $(selected).style.background = "none";
        $(selected).style.border = "none";
        if($("delete_" + selected)){
            $("delete_" + selected).style.visibility = "hidden";
        }
        if($("edit_" + selected)){
            $("edit_" + selected).style.visibility = "hidden";
        }
        if($("preview_" + selected)){
            $("preview_" + selected).style.visibility = "hidden";
        }
        if($("wiz_" + selected)){
            $("wiz_" + selected).style.visibility = "hidden";
        }
      }
    }
    row = $(row);
    selected = row.id;
    row.style.background = "url(images/selectedBG.png)";//"#f6f6f6";
    row.style.border = "1px #c9c9c9 solid";
    if($("delete_" + row.id)){
        $("delete_" + row.id).style.visibility = "visible";
    }
    if($("edit_" + row.id)){
        $("edit_" + row.id).style.visibility = "visible";
    }
    if($("preview_" + row.id)){
        $("preview_" + row.id).style.visibility = "visible";
    }
}

function eventEnter(ifield, evt, idfld) {
    evt = (evt) ? evt : window.event;
    if (evt.keyCode == 13) {
        updateEdit(ifield, idfld);
        return false;
    } else {
        return true;
    }
}

function pressEnter(func,evt) {
    evt = (evt) ? evt : window.event;
    if (evt.keyCode == 13) {
        eval(func);
        return false;
    } else {
        return true;
    }
}

function eventBlur(ifield, idfld) {
    if (ifield.value !== "") {
        updateEdit(ifield, idfld);
        return false;
    }
}

function eventChange(ifield, idfld) {
    if (ifield.value !== "") {
        updateEdit(ifield, idfld);
        return false;
    }
}

function makepayments(prop,field,stat){
    var x = 0;
    var text  = (prop[field+'_text']  !== undefined)? prop[field+'_text']  : "My Products";
    var tot   = (prop[field+'_tot']   !== undefined)? prop[field+'_tot']   : true;
    var ptype = (prop[field+'_pType'] !== undefined)? prop[field+'_pType'] : "single";
    var curr  = (prop[field+'_curr']  !== undefined)? prop[field+'_curr']  : "USD";
    var itm   = (prop[field+'_item1'] !== undefined)? prop[field+'_item1'].split(':') : [""];
    var prc   = (prop[field+'_price'] !== undefined)? prop[field+'_price'].split(':') : [];
    var stp   = (prop[field+'_setup'] !== undefined)? prop[field+'_setup'].split(':') : [];
    var prd   = (prop[field+'_period']!== undefined)? prop[field+'_period'].split(':'): [];
    var trl   = (prop[field+'_trial'] !== undefined)? prop[field+'_trial'].split(':') : [];
    var ftype = (ptype == "sWm" || ptype == "sWmS")? "radio" : (ptype == "mult" || ptype == "multSub")? "checkbox" : "";
    var valign = (prop[field+'_pType'] == "donation")? "" : "valign=top";
    var re = "";
    if(stat){
        re  = "<td width=150 "+valign+"> <div id=\"container\">";
        re += "  <div id=\"cont"+field+"top\" >";
        re += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
        re += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div>";
        re += "  </div>";
        re += "</td>";
        re += "<td class=\"left\" "+valign+" align='left' id='td_handler_"+field+"'>";
    }
    if (ptype == "single" || ptype == "sinSubInfo"){
        if(itm[0]){
            re += "<b>Item:</b> "+ itm[0] +" (" + format_price(prc[0], curr);
            if(stp[0] >= 1){
                re += "  Setup fee: " + format_price(stp[0], curr);
            }else{
                re += " )<br>";
            }
        }
        re += "This item will not be seen on the form. Run wizard to update payment details.";
    }else if (ptype == "donation"){
        re += "<input autocomplete=\"OFF\" id='field_"+field+"' class='text' size=5 type=text name=field"+ field +">&nbsp;<span class=\"left\">"+curr+"</span>\n</td> \n";
    }else if (ptype == "sWm" || ptype == "mult"){
        while (x != itm.length){
            re += "<input name='field_handler_"+ field +"' id='field_handler_"+ field +"' type='"+ftype+"' value='"+itm[x]+":"+prc[x]+"'>";
            re += "<label class=\"left\">"+itm[x] + " ("+format_price(prc[x],curr)+")</label><br />";
            x++;
        }					
        if (eval(tot)){            
            re += "<br /><div class=\"left\" style='text-align:left;font-size:large'>Total : <div id='tot_"+field+"'></div></div></td>";
        }
            
    }else if (ptype == "sWmS" || ptype == "multSub"){
        while (x != itm.length){
            re += "<input name='field_handler_"+field+"' id='field_handler_"+field+"' type='"+ftype+"' value='"+itm[x]+":"+prc[x]+":"+stp[x]+"'>";
            re += "<label  class=\"left\">"+itm[x] +" ("+format_price(prc[x],curr)+")";
            if(stp[x] > 0){
                re += " + Setup Fee : ";
                re += " "+format_price(stp[x],curr);
            }
            re += "</label><br />";
            x++;
        }
        re += make_subscription_text(prd[0], prd[1], trl[0], trl[1], tot, curr);
    }
    if(stat){
        if(questions[field] == "control_worldpay"){            
            re += "<td valign='bottom' width='110'><img src='images/worldpay.gif' /></td>";
        }
        re += "</td>";
    }
    return re;
}
/**
 * Creates a paypal like sensence
 * @param {Object} period_duration
 * @param {Object} period_length
 * @param {Object} trial_duration
 * @param {Object} trial_length
 * @param {Object} tot
 * @param {Object} curr
 */
function make_subscription_text(period_duration, period_length, trial_duration, trial_length, tot, curr){

    if(tot != "true" && tot !== true){
        return "";
    }
    
    if(period_length == 1){
        period_text = "for each "+period_duration.toLowerCase();
    }else if(period_length > 1){
        period_text = "for each "+period_length+" "+period_duration.toLowerCase()+"s";
    }else{
        period_text = "";
    }
    
    if(trial_length == 1){
        trial_text = "Free for the first "+trial_duration.toLowerCase()+" then<br>";
    }else if(trial_length > 1){
        trial_text = "Free for "+trial_length+" "+trial_duration.toLowerCase()+"s then<br>";
    }else{
        trial_text = "";
    }
    
    return "<br><b>"+trial_text+" "+format_price(0, curr)+" "+period_text+"</b>";
}

function wait_elem(elem, cnt){
    try{	
        cnt = (cnt)? cnt : 0;
        if($(elem)){
            return $(elem);
        }else if(cnt < 45){
            cnt++;
            setTimeout(function(){ wait_elem(elem, cnt); },100);
        }
    }catch(e){
        traceError("Error on wait_elem \n File: jotform.js\n");
    }
}

function updateEdit(ifield, idfld){
    isNotOnload = true;
    changed(1);
    onEdit = false;
    var value;
    if (!Prototype.Browser.IE && typeof ifield == "object"){
        ifield.onblur = undefined;
        ifield.onkeypress = undefined;
    }
    if(typeof(ifield) == "object"){
        value = ifield.value.replace(/\|/g,"");
        value = value.replace(/\n/g, "<br>").strip();
    }else{
        //value = ifield.strip(); // It comes as Number sometimes. toString() may fix it but it's not important.
        value = ifield;
    }

    if(idfld.toString().match(/\d+_options/) || idfld.toString().match(/\d+_items/)){        
        value = value.strip();
    } else if (idfld.toString().match(/\d+_html/)){
        value = value.strip();
    }else if(typeof(value)=="string"){
        value = value.escapeHTML().strip();
    }

    if(idfld > 0 || idfld == '0'){
        prop[idfld + "_text"] = value;
        if ($("cont" + idfld + "top")){
            elem = $("cont" + idfld + "top");
            if( prop[idfld+"_required"] == "yes" ){
                value += req;
            }
            if(questions[idfld] == "control_head"){
                elem.innerHTML = "<span id=\"text_"+idfld+"\" class=\"head\" onclick=\"changeQuestion(" + idfld + ",this);\">" + value + "</span>";
            } else if(questions[idfld] == "control_collapse"){
                elem.innerHTML = "<span id=\"text_"+idfld+"\" class=\"pagebreak\" onclick=\"changeQuestion(" + idfld + ",this);\">" + value + "</span>";
            }else{
                elem.innerHTML = "<span id=\"text_"+idfld+"\" class=\"left\" onclick=\"changeQuestion(" + idfld + ",this);\">" + value + "</span>";
            }
            currStyle.setStyleByElement($("text_"+idfld));
        }
        
        if($("text_" + idfld )){
            //elem = $("text_" + idfld );
            //selectedBG( document.getElementById(idfld) );
            //slideBox('properties',idfld);
        }
        
    } else  if( idfld != "title" ){
        elem = wait_elem(idfld);
        if(!elem){
            //traceError("Error on updateEdit: Cant get idfld => "+idfld);
            return false;	
        }
        if(elem){
            elem.innerHTML = value;  
        } 
        
        if (idfld.search(/extensions/) != -1 && (value.search(/php/) != -1 || value.search(/exe/) != -1)){
            Alert("You Cannot Upload neither PHP nor Exe Files");
            return false;
        }
        prop[idfld] = value;
        switch( idfld ){
            case "form_title":
                elem = $("title");
                elem.innerHTML = value;
                break;
            case "form_spamcheck":
                if(value == "Enabled"){
                    Alert("<b><font color=red>If you integrated your form into your site previously, you must update it now.</font></b><br><br>Spam Checker adds browser recognition javascripts into your form code.","WARNING!! Update your code");
                }
                break;
            case "form_sendpostdata":
                if(value == "yes"){
                    Alert("<b><font color=red>Be careful, This feature may cause your form not to work.</font></b><br> You'll get errors by your server if your thank URL doesn't accept POST data. <br> <u>PLEASE TEST YOUR FORM FOR SUBMISSION</u>","WARNING!! <span style='font-size:10px;'>Form may not work properly.</span>");
                }
                break;
            case "form_alignment":
                for(i=0; i<questions.length; i++){
                    elem = $("cont"+i+"top");
                    if(elem){
                        if(value == "centered"){
                            if(questions[i] == "control_text" || questions[i] == "control_html" || questions[i] == "control_head"){
                                elem.setStyle({textAlign:"center"});
                            } else{
                                elem.setStyle({textAlign:"right"});
                            }
                        } else {
                            if(questions[i] == "control_text" || questions[i] == "control_html" || questions[i] == "control_head"){
                                elem.setStyle({textAlign: "left"});
                            }else{
                                elem.setStyle({textAlign: "left"});
                            }
                        }
                    }
                }
                break;
            case "form_background": 
                elem = $("formTable");
                currStyle.setStyleByClassName('tbmain',{background:value});
                break;
            case "form_font":
                for(i=0; i<questions.length; i++){
                    elem = $("text_" + i );
                    if(elem){
                        currStyle.setStyleByClassName('left',{fontFamily:value});
                        if(questions[i] == "control_checkbox" || questions[i] == "control_radio"){
                            elem = $("options_" + i );
                            if(elem){
                                currStyle.setStyleByClassName('left',{fontFamily:value});
                            }
                        }
                    }
                }
                break;
            case "form_fontsize":
                for(i=0; i<questions.length; i++){
                    elem = $("text_" + i );
                    if(questions[i] != "control_head"){
                        if(elem){
                            currStyle.setStyleByClassName('left',{fontSize:value+"px"});
                            if(questions[i] == "control_checkbox" || questions[i] == "control_radio"){
                                elem = $("options_" + i );
                                if(elem){
                                    currStyle.setStyleByClassName('left',{fontSize:value+"px"});
                                }
                            }
                        }
                    }
                }
                break;
            case "form_fontcolor":
                for(i=0; i<questions.length; i++){
                    elem = $("text_" + i );
                    if(elem){
                        currStyle.setStyleByClassName('left',{color:value});
                    if(questions[i] == "control_checkbox" || questions[i] == "control_radio"){
                        elem = $("options_" + i );
                        if(elem){
                            currStyle.setStyleByClassName('left',{color:value});
                        }
                    }
                    }
                }
                break;
            case "form_theme":
                eval(makeRequest("action=get_style&style="+value));
                currStyle.initialize();
                if(value == "Default"){
                    currStyle.resetStyles();
                }
                currStyle.setStyleByClassName('left', {color:prop.form_fontcolor,fontFamily:prop.form_font,fontSize:prop.form_fontsize+"px"});
                break;	
            default:
                if( idfld.match(/^(\d+)_/) ){
                    prop[idfld] = value;
                    fnp = idfld.split("_");
                    var id = fnp[0];
                    var p = fnp[1];
                    if(questions[id] == 'control_paypal' || questions[id] == 'control_googleco' || questions[id] == 'control_worldpay'){
                        $("td_handler_"+id).innerHTML = makepayments(prop,id,false);
                        currStyle.setStyleByClassName('left',{color:prop.form_fontcolor,fontFamily:prop.form_font,fontSize:prop.form_fontsize+"px"});					
                        if($("field_"+id)){
                            currStyle.setStyleByElement($("field_"+id));
                        }
                    }
                    if(questions[id] == 'control_onebip' || questions[id] == 'control_2co' || questions[id] == 'control_clickbank'){
                        r = "This item will not be seen on the form.<br> Run wizard to update payment details. <b>Updated</b></td>\n";
                        $("td_handler_"+id).innerHTML = r;
                        currStyle.setStyleByClassName('left',{color:prop.form_fontcolor, fontFamily:prop.form_font, fontSize:prop.form_fontsize+"px"});
                    }
                    if( p == "text" ){
                        if( prop[id+"_required"] == "yes" ){
                            value += req;
                        }
                        if($("text_" + id)){
                            $("text_" + id).innerHTML = value; 
                        }
                    } else if( p == "required" ){
                        if($("text_" + id)){
                            var t = $("text_" + id).innerHTML;
                            if( value == "yes"){
                                if(t.toUpperCase().indexOf(' <SPAN')==-1){
                                    $("text_" + id).innerHTML += req;
                                }
                            }else{
                                if(t.toUpperCase().indexOf(' <SPAN')>0){
                                    $("text_" + id).innerHTML = t.substr(0, t.toUpperCase().indexOf(' <SPAN'));
                                }
                            }
                        }
                    } else if( p == "size" ){
                        $("field_handler_" + id).size = value;    
                        if(questions[id] == "control_dropdown"){
                            if(value>1){
                                $("td1_handler_" + id).setStyle({verticalAlign: "top"});
                            }else{
                                $("td1_handler_" + id).setStyle({verticalAlign: "bottom"});
                            }
                        }
                    } else if( p == "maxsize" ){ // image properties
                        $("field_handler_" + id).maxsize = value;
                    } else if( p == "align" ){
                        $("field_handler_" + id).align = value;
                    } else if( p == "width" ){
                        $("field_handler_" + id).width = value;
                    } else if( p == "height" ){
                        $("field_handler_" + id).height = value;
                    } else if( p == "src" ){ // image end
                        $("field_handler_" + id).src = value;	
                    } else if( p == "cols" ){
                        $("field_handler_" + id).cols = value; 
                    } else if( p == "rows" ){
                        $("field_handler_" + id).rows = value;
                    //} else if( p == "desc" ){
                        //$("field_handler_" + id).desc = value;	
                    } else if( p == "submittext" ){
                        $("submit_handler_" + id).value = value; 
                    } else if( p == "options" || p == "special"){
                        if(prop[id + '_special'] && prop[id + '_special'].length > 4){
                            if(prop[id + '_special'] == "US States"){
                                oa = us_states;
                            }else if(prop[id + '_special'] == "Countries"){
                               oa = countries;
                            }else if(prop[id + '_special'] == "Last 100 Years"){
                                var curdate = new Date();
                                var y = (/MSIE/.test(navigator.userAgent))? curdate.getYear() : curdate.getYear()+1900; //bug fix
                                oa = [];
                                for(i=0;i<100;i++){
                                    oa[i] = y-i;
                                }
                                
                            }
                        } else if(prop[id + '_options']  !== undefined){
                            prop[id + '_options'] = prop[id + '_options'].replace(/<BR>|<br \/>/ig, "<br>");
                            oa = prop[id + '_options'].split("<br>");
                        } else {
                            oa = ["Option 1", "Option 2", "Option 3"];
                        }

                        var options = (size>1) ? "" : "<option></option>";

                        for(var o=0; o<oa.length; o++){
                            if(oa[o] !== ""){
                                if(questions[id] == "control_checkbox"){
                                   options += "<input type=checkbox name="+ id + o +" />"+ oa[o].escapeHTML() +" <br />\n";
                                }else if(questions[id] == "control_radio"){
                                   options += "<input type=radio name="+ id + " />"+ oa[o].escapeHTML() +" <br />\n";
                                }else if(questions[id] == "control_dropdown"){
                                   options += "<option>"+ oa[o] +" </option>";
                                }
                            }
                        }
                        if(questions[id] == "control_dropdown"){
                            if(prop[id + '_size']  !== undefined){
                                size = prop[id + '_size'];
                            } else {
                                size = 1;
                            }
                            $("td_handler_" + id).innerHTML = "<select id=\"field_handler_"+ id +"\" class='other' name=field"+ id +" size="+size+">"+ options+"</select>";
                        }else{
                            $("td_handler_" + id).innerHTML = options;
                        }
                        currStyle.setStyleByTdHandler($("td_handler_"+ id));
                    } 
                    if(questions[id] == "control_collapse"){
                        if(prop[id + '_status']  !== undefined){
                            status = prop[id + '_status'];
                        }else {
                            status = "Closed";
                        }
                            
                        if(prop[id + '_visibility']  !== undefined){
                            visibility = prop[id + '_visibility'];
                        } else{
                            visibility = 'Visible';
                        }
            
                        var pgbrk = $("pgbrk_" + id);
                        if(visibility == "Visible"){
                            pgbrk.setStyle({opacity: 1});
                        }else{
                            pgbrk.setStyle({opacity: 0.4});
                        }
                        
                        if (status == "Opened"){					
                            $("td_handler_" + id).style.backgroundImage = "url('images/splitter_right_show.gif')";
                        }else{
                            $("td_handler_" + id).style.backgroundImage = "url('images/splitter_right_hide.gif')";			
                        }
                    }
                    if(questions[id] == "control_button"){
                        if(prop[id + '_submittext']  !== undefined){
                            submittext = prop[id + '_submittext'];
                        }else{
                            submittext = "Submit";
                        }
                       
                        if(prop[id + '_clear']  !== undefined){
                            clear = prop[id + '_clear'];
                        }else{
                            clear = "no";
                        }
            
                        if(clear == "no"){
                            $("td_handler_" + id).innerHTML =  "<input class='btn' id=\"submit_handler_"+ id +"\" type=button name=field"+ id +" value=\""+ submittext +"\"></td>";
                            currStyle.setStyleByElement($("submit_handler_"+ id));
                        }else{
                            $("td_handler_" + id).innerHTML =  "<input class='btn' id=\"submit_handler_"+ id +"\" type=button name=field"+ id +" value=\""+ submittext +"\">&nbsp;&nbsp;&nbsp;<input class='btn' id=\"clear_handler_"+ id +"\" type=reset name=field"+ id +" value='Clear'></td>";
                            currStyle.setStyleByElement($("submit_handler_"+ id));
                            currStyle.setStyleByElement($("clear_handler_"+ id));
                        }
                    } 
                }
                break;
        }
    } else {
        elem = $("title");
        elem.innerHTML = value;
        prop.form_title = value;
        if(current_properties == "form"){
            elem1 = $("form_title");
            elem1.innerHTML = value;
        }
    }	
}



function changeTitle(actual) {
    $("notice").innerHTML = "";
    elem = $("title");
    if(elem.innerHTML.indexOf('<') >= 0){
      return; // check if it is already typing mode  
    } 
    elem.innerHTML = "<input class=\"editLine\" style=\"color:orange;\" autocomplete=\"OFF\" maxlength=\"75\" type=\"text\" value=\"" + actual.innerHTML.unescapeHTML() + "\" size=\"50\" onkeypress=\"return eventEnter(this,event,'title')\" onblur=\"return eventBlur(this,'title')\" />";
    elem.firstChild.focus();
    if(elem.innerHTML.indexOf('Untitled') > 0){
        elem.firstChild.value = "";
    }
}

function changeText(actual, id) {
    changed(1);
    elem = $(id);
    if(elem.innerHTML.indexOf('<') >= 0){ return; }   // check if it is already typing mode
    elem.innerHTML = "<input class=\"editLineSmall\" autocomplete=\"OFF\" maxlength=\"100\" type=\"text\" value=\"" + actual.innerHTML.unescapeHTML() + "\" size=\"20\" onkeypress=\"return eventEnter(this,event,'"+ id +"')\" onblur=\"return eventBlur(this, '" + id +"')\" />";
    elem.firstChild.focus();
}

function changeTextarea(actual, id) {
    try{
        changed(1);
        elem = document.getElementById(id);
        if(elem.innerHTML.indexOf('<') === 0 && elem.innerHTML.indexOf('<br') !== 0){ return; }  // check if it is already typing mode
        var before = actual.innerHTML.replace(/<br>/ig, "\n");
        before = before.replace(/<BR _extended="true">/ig, "\n");
        elem.innerHTML = "<textarea cols=19 style='overflow:auto;height:50px;border:1px solid #ccc' class=\"editLineSmall\" id='editText' autocomplete=\"OFF\" />" + before +  "</textarea><div onmouseover=\"buttonOverCss(this)\" class=\"btn_done2\" onclick=\"return eventBlur(document.getElementById('editText'), '" + id +"')\"></div>";
        elem.firstChild.focus();
    }catch(e){
        traceError("Error on changeTextarea\n File: jotform.js",e);
    }
}

function changeSelect(actual, id) {
    changed(1);
    var options = [];
    var optNames = [];
    if(id == "form_alignment"){
        options = ["default", "centered"]; //TODO: add under
        optNames = /* {translate} */ ["default", "centered"]; //TODO: add under /* {/translate} */
    } else if(id.indexOf("_required")>0 || id == "form_email" || id.indexOf("_clear")>0 || id.indexOf("_sendpostdata")>0){
        options = ["no", "yes"]; 
        optNames =/* {translate} */ ["no", "yes"];/* {/translate} */ 
    } else if(id.indexOf("_special")>0){
        options = ["none", "Countries", "US States", "Last 100 Years"];
        optNames =/* {translate} */ ["none", "Countries", "US States", "Last 100 Years"];/* {/translate} */
    } else if(id.indexOf("_validation")>0){
        options = ["no", "Alphabetic", "Numeric", "Email" ];
        optNames =/* {translate} */ ["no", "Alphabetic", "Numeric", "Email" ];/* {/translate} */
    } else if(id.indexOf("_align")>0){
        options = ["left","center","right"];
        optNames =/* {translate} */ ["left","center","right"];/* {/translate} */
    } else if(id.indexOf("_status")>0){
        options = ["Closed","Opened"];
        optNames =/* {translate} */ ["Closed","Opened"];/* {/translate} */
    } else if(id.indexOf("_theme")>0){
        options = eval(makeRequest("action=get_style_dir")); //Reads the directory of styles
        optNames = eval(makeRequest("action=get_style_dir")); //Reads the directory of styles
    } else if(id.indexOf("_visibility")>0){
        options = ["Visible","Invisible"];
        optNames =/* {translate} */ ["Visible","Invisible"];/* {/translate} */
    } else if(id.indexOf("_disabled")>0 || id.indexOf("_spamcheck")>0){
        options = ["Enabled","Disabled"];	
        optNames =/* {translate} */ ["Enabled","Disabled"];/* {/translate} */	
    } else if(id.indexOf("_format")>0){
        options = ["mmddyyyy","ddmmyyyy"];
        optNames =/* {translate} */ ["mmddyyyy","ddmmyyyy"];/* {/translate} */
    } else if(id.indexOf("_layout")>0){
        options = ["Horizontal","Vertical"];
        optNames =/* {translate} */ ["Horizontal","Vertical"];/* {/translate} */
    }
    elem = $(id);
    if(elem.innerHTML.indexOf('<') >= 0){ return; }  // check if it is already typing 
    var ih = "<select class=\"editLineSmall\" onChange=\"return eventBlur(this, '" + id +"')\" onblur=\"return eventBlur(this, '" + id +"')\">";
    for(i=0; i<options.length; i++){
        o = options[i];
        n = optNames[i];
        ih += "<option";
        if(o == actual.innerHTML){
            ih += " selected";
        }
        ih += " value=\""+o+"\">" + n + "</option>";
    }
    ih += "</select>";
    elem.innerHTML = ih;
    elem.firstChild.focus();		
}

function changeQuestion(nn, actual) {
        
    onEdit = true;
    changed(1);
    var elem = $("cont" + nn + "top");
    
    if( questions[nn] == "control_text"){
        elem.innerHTML = "<textarea class=\"editLine\" autocomplete=\"OFF\" style='width:500px;overflow:auto'  rows=\"3\" onkeypress=\"return eventEnter(this,event," + nn + ")\" onblur=\"return eventBlur(this," + nn + ")\" />" + actual.innerHTML + "</textarea>";
    }else if( questions[nn] == "control_html" ){
        //tid = "html_"+nn; 
        generate_wysiwyg(actual.id);
        //viewText();
    }else if(questions[nn] == "control_head"){
        elem.innerHTML = "<input class=\"editLine\" onkeypress=\"return eventEnter(this,event," + nn + ")\" onblur=\"return eventBlur(this," + nn + ")\"  value='"+actual.innerHTML+"' />";
    }else{
        
        var aih = actual.innerHTML;
        
        if(aih.toUpperCase().indexOf(' <SPAN')>0){
            aih = aih.substr(0, aih.toUpperCase().indexOf(' <SPAN'));
        }
        elem.innerHTML = "<input class=\"editLine\" autocomplete=\"OFF\" maxlength=\"200\" type=\"text\" value=\"" + aih + "\" style=\"width:100%\" onkeypress=\"return eventEnter(this,event," + nn + ")\" onblur=\"return eventBlur(this," + nn + ")\" />";
    }
    
    if( questions[nn] != "control_html" ){
        elem.firstChild.focus();
        elem.firstChild.select();
    }
    onEdit = true;
    
    
    if(elem.innerHTML.indexOf('Click me') > 0){
        elem.firstChild.value = "";
    }
    
    
}

function format_price(amount,curr){
    switch(curr){
        case "USD":	return "$"+amount;
        case "EUR":	return "&euro;"+amount;
        case "GBP":	return "&pound;"+amount;
        case "AUD":	return "$"+amount+" "+curr;
        case "CAD":	return "$"+amount+" "+curr;
        case "NZD":	return "$"+amount+" "+curr;
        case "SGD":	return "$"+amount+" "+curr;
        case "HKD":	return "$"+amount+" "+curr;
        default:	return amount+" "+curr;
    }
}

function makeQuestion(type, text, field){
    questions[field] = type;
    QD[field + '_type'] = type;
    if(text === undefined || text == "undefined"){
        text = "Click me to edit...";
    }
    if(prop[field + '_size']  !== undefined){
        size = prop[field + '_size'];
    }else if(type == "control_dropdown"){
        size = 1;
    }else{
        size = 20;	
    }
    if(prop[field + '_maxsize'] !== undefined){
        maxsize = prop[field + '_maxsize'];
    }else{
        if(type == "control_textarea"){
            maxsize = 1000;
        }else{
            maxsize = 100;
        }
    }
    
    if( prop[field+"_required"] == "yes" ){
        text += req;
    }
    r = "\n<!--Field Id:"+field+"-->\n         <table width=550 cellpadding=5 style='margin:0px;' class='sel' cellspacing=0 id=\""+ field +"\" ";
    r += "    onmouseover=\"onBG(this)\" onmouseout=\"offBG(this)\" ";
    r += "    onclick=\"selectQuestion(this, "+field+")\">\n                 <tr valign=bottom>\n";
    switch(type){
       case "control_text":
            r += "        <td width=300 valign=bottom colspan=2> \n<div id=\"container\"> \n";
            r += "  <div id=\"cont"+field+"top\" >\n";
            r += "      <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "      valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += " </div> \n";
            r += "  </td> \n";
            break;
        case "control_head":
            r += "  <td width=300 valign=bottom colspan=2>\n<div id=\"container\"> \n";
            r += "  <div id=\"cont"+field+"top\" >\n";
            r += "     <span class='head' onclick=\"changeQuestion("+ field +",this);\" ";
            r += "      valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n";
            r += " </div> \n";
            r += "  </td> \n";            
            break;
       case "control_html":
            if(prop[field + '_html'] !== undefined){
                html = prop[field + '_html'];
            }else{
                html = "Click me to edit";
            }
            r += "   <td width=300 valign=bottom colspan=2 class='dontreset'> \n<div id=\"container\" class='dontreset'> \n";
            r += "  <div id=\"cont"+field+"top\" >\n";
            r += "     <span class='dontreset' onclick=\"changeQuestion("+ field +",this);\" ";
            r += "      valign=bottom id=\"text_"+field+"\">"+ html.unescapeHTML() +"</span></div> \n";
            r += " </div> \n";
            r += "  </td> \n";            
            break; 		
       case "control_textbox":
            r += "<td width=150 valign=bottom> <div id=\"container\"> \n";
            r += " <div id=\"cont"+field+"top\" >\n";
            r += " <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += " </div> \n";
            r += " </td> \n";
            r += " <td valign=bottom id='td_handler_"+ field +"'> \n";
            r += "<input id=\"field_handler_"+ field +"\" autocomplete=\"OFF\" class='text' type=text size="+size+" maxsize="+maxsize+" name=field"+ field +">\n</td> \n";
            break;
       case "control_birthdate":
            r += "<td width=150 valign=bottom>\n<div id=\"container\"> \n";
            r += " <div id=\"cont"+field+"top\" >\n";
            r += " <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += " valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div>\n";
            r += "</td>\n";
            r += "<td valign=bottom id='td_handler_"+ field +"'>\n";
            r += "<select id='field_"+field+"_1' class='other'>\n<option value=\"0\">Month</option>\n</select>/\n";
			r += "<select id='field_"+field+"_2' class='other'>\n<option value=\"0\">Day</option>\n</select>/\n";
			r += "<select id='field_"+field+"_3' class='other'>\n<option value=\"0\">Year</option>\n</select>\n";
            break;
	   case "control_autocomp":
            r += "<td width=150 valign=bottom>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "<span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
	        r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id='td_handler_"+ field +"'> \n";
            r += "<input id=\"field_handler_"+ field +"\" autocomplete=\"OFF\" class='text' type=text size="+size+" maxsize="+maxsize+" name=field"+ field +"> </td> \n";
            break;
       case "control_textarea":
            mode =(prop[field + '_mode']  !== undefined)? prop[field + '_mode'] : "Default";
			cols =(prop[field + '_cols']  !== undefined)? prop[field + '_cols'] : 30;
            rows =(prop[field + '_rows']  !== undefined)? prop[field + '_rows'] : 2;
			
            r += "<td width=150 valign=top>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "<span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div> \n";
            r += "</td>\n";
            r += "<td valign=bottom id='td_handler_"+ field +"'>\n";
			r += (mode == "HTML Editor")? "<div style='float:left;border:1px solid #ccc; background:#efefef'><img src='images/editor.png' /><br>" : "<div style='float:left;'>";
			r += "<textarea id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" cols="+cols+" rows="+rows+" name=field"+ field +" maxsize="+maxsize+"></textarea>\n";
			r += (mode == "Resizable")? "<div style='height:10px; text-align:center; background:#f5f5f5; border:1px solid #ddd; color:#999'> --- </div>" : "";
			r += "</div>";
			r += " </td> \n";
					 
            break;
	   case "control_image":
            src    = (prop[field + '_src'] !== undefined)? prop[field + '_src'] : "http://www.jotform.com/images/jotform.gif";
            width  = (prop[field + '_width'] !== undefined)? prop[field + '_width'] : 200;
			height = (prop[field + '_height'] !== undefined)? prop[field + '_height'] : 75;
			align  = (prop[field + '_align'] !== undefined) ? prop[field + '_align'] : "left";	
			
	        r += "<td class='dontreset' width=150 valign=top style='display:none'> <div id=\"container\"> \n";
	        r += "<div id=\"cont"+field+"top\" >\n";
	        r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
		    r += "</div> \n";
	        r += "</td> \n";
	        r += "<td valign=bottom  id='td_handler_"+ field +"' align='"+align+"'><img id=\"field_handler_"+ field +"\" width='"+width+"' height='"+height+"' src='"+src+"' name=field"+ field +"/></td>\n";
            break; 		
       case "control_paypal":
       case "control_googleco":
       case "control_worldpay":
            r += makepayments(prop,field,true);
            break;
       case "control_2co":
       case "control_onebip":
       case "control_clickbank":
			r += "<td width=150 valign=top>\n<div id=\"container\"> \n";
			r += "<div id=\"cont"+field+"top\" >\n";
			r += "  <span class=\"left\" valign=bottom id=\"text_"+field+"\">My Payment</span>\n";
			r += "</div>\n";	
			r += "</td>\n";
            r += "<td class=\"left\" valign='bottom' align='left' id='td_handler_"+field+"'>\n";
			r += "This item will not be seen on the form.<br> Run wizard to update payment details.</td>\n";

            break;
	   case "control_passwordbox":
            r += "<td width=150 valign=bottom> <div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "<span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id='td_handler_"+ field +"'>\n";
			r += "<input id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" type=password size="+size+" maxsize="+maxsize+" name=field"+ field +"> </td> \n";
            break;
		case "control_pagebreak":
            r += "<td width=150 valign=bottom> <div id=\"container\"> \n";
            r += "<div id=\"field_handler_"+ field +"\" class=\"btn_back\"></div>";
            r += "</td> \n";
            r += "<td valign=bottom id='td_handler_"+ field +"'>\n";
			r += "<div id=\"field_handler_"+ field +"\" class=\"btn_next\"> </td> \n";
        	break;
        case "control_collapse":
            status = (prop[field + '_status'] !== undefined)? prop[field + '_status'] : 'Closed';
			visibility =(prop[field + '_visibility'] !== undefined)? prop[field + '_visibility'] : visibility = 'Visible';
			style =(visibility == "Visible")? " style='opacity: 1.0;filter: alpha(opacity=100);' " : style = " style='opacity: .4;filter: alpha(opacity=40);' ";

    		r += "<td valign=bottom> <div id=\"container\"> \n";
			r += "<table height='20' id='pgbrk_"+field+"' border='0' cellpadding='0' cellspacing='0' width='100%' "+style+">\n";
			r += "<tr>\n";
			r += "<td width='20' background='images/splitter_left.gif'></td>\n";
			r += "<td background='images/splitter_mid.gif' align=left>\n";
			r += "<div id=\"container\">\n";
            r += "<div id=\"cont"+field+"top\" >\n";
	        r += "<span class=\"pagebreak\" onclick=\"changeQuestion("+ field +",this);\" valign=bottom id=\"text_"+field+"\">"+ text +"&nbsp;</span>\n";
    		r += "</div> \n";
			r += "</td>\n";
			r += "<td id=\"td_handler_"+ field +"\" width='20'";
			if (status == 'Opened'){
			 	r += " style=\"background-image:url('images/splitter_right_show.gif')\"></td>\n";
			}else{
				r += " style=\"background-image:url('images/splitter_right_hide.gif')\"></td>\n";
			}
			 r+= "</tr>\n</table>\n</td>\n</div>\n";
            break; 	
       case "control_dropdown":
            va = (size > 1)? "top" : "bottom";
            if(prop[field + '_special'] !== undefined && prop[field + '_special'].length > 4){
                if(prop[field + '_special'] == "US States"){
                    oa = us_states;
                }else if(prop[field + '_special'] == "Countries"){
                   oa = countries;
                }else if(prop[field + '_special'] == "Last 100 Years"){
                    var curdate = new Date();
                    var y = (/MSIE/.test(navigator.userAgent))? curdate.getYear() : curdate.getYear()+1900; //bugfix
                    oa =  [];
                    for(i=0;i<100;i++){
                        oa[i] = y-i;
                    }
                }
            } else if(prop[field + '_options'] !== undefined){
                oa = prop[field + '_options'].split("<br>");
            } else {
                oa = ["Option 1", "Option 2", "Option 3"];
            }
            var options = (size>1)? "" : "<option></option>\n";
            for(var o=0; o<oa.length; o++){
                if(oa[o] !== ""){
                   options += "<option>"+ oa[o] +"</option>\n";
                }
            } 
            r += "<td width=150 valign="+va+" id=\"td1_handler_"+ field +"\"> \n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id=\"td_handler_"+ field +"\"> \n<select id=\"field_handler_"+ field +"\"  class='other' autocomplete=\"OFF\" name=field"+ field +" size="+size+">"+ options+"</select> \n</td> \n";
            break; 
       case "control_checkbox":
            if(prop[field + '_options'] !== undefined){
                oa = prop[field + '_options'].split("<br>");
            } else {
                oa = ["Option 1", "Option 2", "Option 3"];
            }
            options = "";
            for(var oc=0; oc<oa.length; oc++){
                if(oa[oc] !== ""){
                   options += "<input type=checkbox name="+ field + oc +" /><label class=\"left\">"+ oa[oc] +"</label><br />\n";
                }
            } 
            r += "<td width=150 valign=top>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div> \n";
            r += " </td> \n";
            r += "<td valign=bottom id=\"td_handler_"+ field +"\"> \n";
            r += " <span class=\"right\" id=\"options_"+field+"\">" + options + " \n";
            r += "</span></td> \n";
            break; 
       case "control_radio":
            if(prop[field + '_options']  !== undefined){
                oa = prop[field + '_options'].split("<br>");
            } else {
                oa = ["Option 1", "Option 2", "Option 3"];
            }
            options = "";
            for(o=0; o<oa.length; o++){
                if(oa[o] !== ""){
                   options += "<input type=radio name="+ field +"><label class=\"left\">"+ oa[o] +"</label><br>\n";
                }
            } 
            r += "<td width=150 valign=top>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom  id=\"td_handler_"+ field +"\"> \n";
            r += "    <span class=\"right\" id=\"options_"+field+"\">"+ options +" \n";
            r += "</td> \n";
            break; 
       case "control_rating":

            r += "<td width=150 valign=bottom>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id='td_handler_"+ field +"'> \n";
			r += "<img id=\"field_handler_"+ field +"\" name=field"+ field +" width=\"75\" height=\"15\" src=\"images/star3.gif\"> \n";
            r += "</td> \n";
            break;
	   case "control_datetimepicker":
            size = 10;

            r += "<td width=150 valign=bottom>\n<div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id='td_handler_"+ field +"'>\n<input id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" type=text size="+size+" maxsize="+maxsize+" name=field"+ field +"> \n";
            r += " <img src=\"images/cal.gif\"> \n";
            r += "</td> \n";

            break;
       case "control_captcha":

		    r += "<td width=150 valign=top> <div id=\"container\"> \n";
		    r += "<div id=\"cont"+field+"top\" >\n";
		    r += "    <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
		    r += "    valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n";
		    r += "</div> \n";
		    r += "</td> \n";
		    r += "<td valign=bottom id='td_handler_"+ field +"'>\n";
            //r += "<img width=150 height=45 src=cimg/3.jpg><br>\n";
			//r += "<input id=\"field_handler_"+ field +"\"  class='text' autocomplete=\"OFF\" type=text size="+size+" maxsize="+maxsize+" name=field"+ field +"> ";
            r += "<img src=\"images/reCaptcha.png\">\n";
		    r += "</td> ";
            break; 
       case "control_fileupload":

            r += "<td width=150 valign=bottom> <div id=\"container\"> ";
            r += "  <div id=\"cont"+field+"top\" >";
            r += "      <span class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "      valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> ";
            r += "  </div> ";
            r += "  </td> ";
            r += "  <td valign=bottom id='td_handler_"+ field +"'>\n<input id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" type=file size="+size+" name=field"+ field +"> \n";
            r += "  </td> \n";
            
            break; 
       case "control_button":
            submittext =(prop[field + '_submittext'] !== undefined)? prop[field + '_submittext'] : /* {translate} */"Submit";/* {/translate} */
			clear =(prop[field + '_clear'] !== undefined)? prop[field + '_clear'] : clear = "no";
			
            r += "<td width=150 valign=bottom> <div id=\"container\"> \n";
            r += "<div id=\"cont"+field+"top\" >\n";
            r += "<span  class=\"left\" onclick=\"changeQuestion("+ field +",this);\" ";
            r += "valign=bottom id=\"text_"+field+"\"></span></div> \n";
            r += "</div> \n";
            r += "</td> \n";
            r += "<td valign=bottom id=\"td_handler_"+ field +"\"> <input id=\"submit_handler_"+ field +"\"  class='btn' type=button name=field"+ field +" value=\""+ submittext +"\">\n";
			r +=(clear == "no")? "</td>\n" : "&nbsp;&nbsp;&nbsp;<input id=\"clear_handler_"+ field +"\" class='btn' type=reset name=field"+ field +" value='Clear'></td>\n";
            break; 
    }
    
    if(type != "control_captcha"){
        r += "<td class='icons' width=20 valign=middle align=center id='wiz_" + field + "' style='visibility:hidden;border-left:1px #c9c9c9 solid;'>\n";
        r += "<img id='wizbut' src=images/icon_wizard.gif>\n";
        r += "</td>\n";
    }
    
    r += "<td class='icons' width=20 valign=middle align=center id='delete_" + field + "' style='visibility:hidden;border-left:1px #c9c9c9 solid;'>";
    r += "<img onmousedown=\"deleteQuestion(" + field + ")\" src=images/icon_cross.gif>\n";
    r += "</td>\n";
    r += "</tr>\n";
    r += "</table>\n";
    return r;
}

function checkarray(elem,arr){
    for(x=0;x<arr.length;x++){
        if(arr[x]==elem){
            return true;
        }
    }
    return false;
}

function inarray(elem,arr){
    var thereis = false;
    for(x=0;x<arr.length;x++){
        if(arr[x]==elem){
            return true;
        }
    }
    return false;
}

function closeWarn(){ new Effect.BlindUp("warn",{duration:0.5}); }

var payments = ["zero","control_paypal","control_onebip","control_clickbank","control_2co","control_googleco","control_worldpay"];
function warn(type){
    var text = "";
    if(inarray(type,payments)){
        text = "You cannot Add more than one Payment Tool. &nbsp;&nbsp;&nbsp; Please delete the existing Payment Tool.&nbsp;&nbsp;";
    }else if(type == "control_captcha"){
        text = "You cannot Add more than one Captcha Tool. &nbsp;&nbsp;&nbsp; Please try to edit old Captcha Tool. &nbsp;&nbsp;";
    }else{
        text = "Anonymous Error by. &nbsp;&nbsp;"+type+"&nbsp;&nbsp;";
    }
    Alert(text);
}

var payment_exist = false;
function checkFor(control){
    if(payment_exist && control != "control_captcha"){
        return true;
    }
    var e = false;
    for(var x=0;x<questions.length;x++){
        if(questions[x] == control){
            if(prop[x+"_status"] != "deleted"){
                e = true;
            }
        }
    }
    return e;
}

function addNewQuestion(type, text, positionY, field, stat){
    stat = (stat === false)? stat : true;
    var username = (readCookie("user"))? readCookie("user").split(":")[0] : false;
    if(stat){
        if( !tracks.addQuestion ){ // Track this only once
            try { pageTracker._trackPageview('/goals/drop-question'); }catch(e){ }
            tracks.addQuestion = true;
        }
        if(inarray(type,payments) > 0){
            if(checkFor(type)){
                warn(type);
                return false;
            }
        }
        
        if(type == "control_captcha") {
            if(checkFor(type)){
                warn(type);
                return false;
            }
        }
        
        if(type == "control_passwordbox"){
            if(!username || makeRequest('action=isPremium&username='+encodeURIComponent(username || "")) != 'yes'){ // Check premium accounts
                Alert(upgradeText, 'Sorry!');
                return false;                
            }
        }
    }
    if(inarray(type,payments) > 0){
        payment_exist=true;		
    }
    var list = $("thelist");
    var node = document.createElement("li");
    if(field === undefined){
        field = questions.length;
    }
    var newid = "thelist_"+ field;
    node.setAttribute("id", newid);
    node.innerHTML = makeQuestion(type, text, field);
    prop[field + '_text'] = text;    
    if(positionY>0){
        closest = 0;
        closestY = -1;
        for(j=0; j<questions.length-1; j++){
            te = $("thelist_"+j);
            if(te){
                if(positionY < (list.offsetTop + te.offsetTop)){
                    if(list.offsetTop + te.offsetTop < closestY || closestY == -1){
                        closestY = list.offsetTop + te.offsetTop;
                        closest = j;
                    }
                }
            }
        }
        if(closest===0){
            list.insertBefore(node, document.getElementById("thelist_0"));
        } else {
            list.insertBefore(node, document.getElementById("thelist_"+(closest)));
        }
    }else{
        list.insertBefore(node, document.getElementById( submit_field ));
    }
    if(stat){
        currStyle.setStyleByTdHandler($("td_handler_"+ field));
        currStyle.setStyleByElement($("text_"+ field));
        new Effect.Highlight(newid,{duration: 1.5, startcolor:'#FFCC33'});
        chflag=true;
        changed(1);
        if(inarray(type,payments) > 0){
            slideBox('properties',field,1);
            sleep("displayWindow('"+type.split('_')[1]+"wiz');",0.2);
        }
    }
    Sortable.create('thelist');
}

function deleteQuestion(id){
    if(inarray(questions[id],payments) > 0){
        payment_exist = false;	
    }
    changed(1);
    new Effect.DropOut('thelist_' + id);
    sleep('$("thelist").removeChild($("thelist_'+id+'"))',1);
    prop[id + "_status"] = "deleted"; 
    hideProperties();
}

function formComplete(){
    if(getUrl() == "index.php" && chflag){
        var res = formSave();
        if( res != 1 ){
            if (!confirm("There was a problem saving the form: \n"+ res +"\n\nDo you want to continue?\n")) { 
                return;
            }
        }
        window.location = "user.php?page=myforms&formID="+formID;
    }else{
        formID = readCookie('lastForm');
        window.location = "user.php?page=myforms&formID="+formID;
    }
}

var toolbarcontent = "";
function formSource(){
    var res = formSave();
    if( res != 1 ){
        if (!confirm("There was a problem saving the form: \n"+ res +"\n\nDo you want to continue?\n")){
            return;
        }
    }
    if ( formID > 0 ){
        toolbarcontent = $("toolbar").innerHTML;
        
    var table  = "<table cellpadding='0' cellspacing='0'>";
        table += "<tr><td width='10'>&nbsp;</td>";
        table += "<td class='menu_edit top_menu' style='cursor:pointer; text-indent:20px;width:25px;' onclick='formEdit()'>Edit</td>";
        table += "<td width='10'>&nbsp;</td>";
        table += "<td class='menu_downloadSource top_menu' style='cursor:pointer; text-indent:20px;width:120px;' onclick=\"window.location.href='zip.php?formID='+formID+''\">Download Zip Version</td>";
        table += "<td width='10'>&nbsp;</td>";
        table += "<td class='menu_share top_menu' style='cursor:pointer; text-indent:20px;width:40px;' onclick=\"window.location = 'user.php?page=share&formID="+formID+"'\">Share</td></tr></table>";
        
        $("toolbar").innerHTML = table;
        $('allTable').style.display = 'none';
        $('toolss').style.display = 'none';
        $('sourceTable').style.display = 'inline';
        $('emb').innerHTML = makeRequest("action=embed&form_id=" + formID);
        $('emb2').value = makeRequest("action=embed_plain&form_id=" + formID);
        makeRequestUpdate('code',"action=source&form_id=" + formID);
        $('src2').value = makeRequest("action=plain&form_id=" + formID);
    }
}

function formEdit(){
    window.location.href = "index.php";
    /*
    if(/MSIE/.test(navigator.userAgent)){
        window.location.href = "index.php";
    }else{
        changed(1);
        $("toolbar").innerHTML = toolbarcontent;
        $('sourceTable').style.display = 'none';
        $('allTable').style.display = 'inline';
        $('toolss').style.display = 'inline'
        $('code').innerHTML = "";
    }*/
}

function reportsComplete(){
    if(formID>0){
        window.location = "publish.php?formID="+formID;
    }
}

function formDelete(id){
    var r = "form_id=" + id;
    res = makeRequest("action=delete&" + r);
    return res; 
}

function formSave(){
    changed(0);
    var title = $("title").innerHTML.replace(/\n/g, "");
    // get the order and properties of the questions
    var order = Sortable.serialize('thelist').split('&');
    for(var i=0; i<order.length; i++){ 
        q = order[i].split('=')[1];
        QD[q + '_order'] = i;
        if($('text_'+q)){
            QD[q + '_text'] = $('text_'+q).innerHTML;
        }
    }
    // serialize and save
    var serial = "form_id=" + formID + "&title=" + encodeURIComponent(title) + "&disabled=" + encodeURIComponent(prop.form_disabled) + "&";
    
    for (var k in QD) {
        if (k.charAt(0)>=0){
            serial += k + "=" + encodeURIComponent(QD[k]) + "&"; 
        }
    }
    for (var p in prop) {
            if(p.toString().match(/\d+_html/)){
                serial += p + "=" + encodeURIComponent((prop[p].escapeHTML()).unescapeHTML()) + "&"; 
            }else{
                serial += p + "=" + encodeURIComponent(prop[p]) + "&"; 
            }
    }
    res = makeRequest("action=save&" + serial);
    if(res == 'Suspended'){
        location.href='user';
    }
    if(res == "Deleted"){
        deleteCookie("lastForm");
        alert("Error on save: \nThis form has been deleted and cannot be saved again.");
    }
    makeRequest("action=save_height&form_id="+ formID +"&height=" + (parseInt($("tbmain").getHeight(), 10) + 40));
    if( !tracks.saved ){ // Track this only once
        try{
            pageTracker._trackPageview('/goals/form-saved');
        }catch(e){}
        
        tracks.saved = true;;
    }
    return res; 
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' '){ c = c.substring(1,c.length); } 
        if (c.indexOf(nameEQ) === 0){ return decodeURIComponent(c.substring(nameEQ.length,c.length)); }
    }
    return null;
}

function formSaveDialog(){formSave();}
function formNew(){	displayWindow("newForm", false);}

function formOpen(){ 
    if(readCookie("user")){
        displayWindow("openForm");
    }else{
        Alert("you have to login to open a form");
    }
}

function makeWizardButton(onclick){
    if($('but')){
        if(onclick){
            $('but').innerHTML = "<div onmouseover='buttonOverCss(this)' class='btn_wizard' onclick=\""+onclick+"\"></div>";	
        }else{
            $('but').innerHTML = "";
        }
    }
}

function hideProperties(){ hideProp(); }
function setFirstValues(){ updateEdit(); }

var payId;
function makeProperties(p){
    var pv = "";
    var out = "<table width=100% border=0 celpadding=0 cellspacing=0 align=center>";
    var rows = "<td width=85 class=\"pList\">";
    var rows_long = "<tr height=30 valign=top><td width=85 class=\"pListLong\">";
    var rowb = "</td><td class=\"pList\">";
    var rowb_long = "</td><td class=\"pListLong\">";
    var rowe = "src=images/line_properties.gif ></td></tr>";
    var types =[];
    var labels =[];
    var defaults =[];
    makeWizardButton(false);
    if(p == 'form'){
        types = ['title','style','alignment','theme','background','font','fontsize','fontcolor','header','footer','thankurl','sendpostdata','thanktext','email','email_addr', 'mail_cc', 'disabled','spamcheck','not_reply','not_subj','conf_send','conf_to','conf_from','conf_subj','conf_body'];
        labels = /* {translate} */ ['Title', 'Style', 'Alignment','Theme','Background', 'Font', 'Font Size', 'Font Color', 'Header URL', 'Footer URL', 'ThankYou URL', 'Send Post Data', 'ThankYou Text', 'Send e-mail','E-mail', 'CC E-mails', 'Form Status','Spam Check','','','','','','','']; /* {/translate} */	
        defaults = ['Untitled Form', '', 'default','Default', 'white', 'Verdana', '12', 'black', '', '', '', 'no', '', 'yes','', '', 'Enabled','Enabled','','','no','','','',''];
        makeWizardButton("displayWindow('newForm',true);");
    } else{
        switch(questions[p]){
            case "control_text":
                types = ['text'];
                labels =/* {translate} */ ['Label'];/* {/translate} */
                defaults = ['...'];
                break;
            case "control_head":
                types = ['text'];
                labels = /* {translate} */['Label'];/* {/translate} */
                defaults = ['...'];
                break;
            case "control_html":
                types = ['html'];
                labels = ['HTML'];
                defaults = ['Code Here'];
                break;	
            case "control_textbox":
                types = ['text', 'required', 'size', 'maxsize','validation','desc'];
                labels = /* {translate} */ ['Label', 'Required', 'Size', 'Max Size','Validation','Description'];/* {/translate} */
                defaults = ['....', 'no', '20', '100','no',''];
                break;
            case "control_birthdate":
                types = ['text', 'required','desc'];
                labels = /* {translate} */['Label', 'Required','Description'];/* {/translate} */
                defaults = ['....', 'no', '20',''];
                break;
            case "control_autocomp":
                types = ['text', 'required','items', 'size', 'maxsize','validation','desc'];
                labels = /* {translate} */['Label', 'Required','Items', 'Size', 'Max Size','Validation','Description'];/* {/translate} */
                defaults = ['....', 'no','Item 1|Item 2|Item 3', '20','100','no',''];
                break;
            case "control_textarea":
                types = ['text', 'required', 'cols', 'rows','validation','desc'];
                labels =/* {translate} */ ['Label', 'Required','Column Width', 'Rows','Validation','Description'];/* {/translate} */
                defaults = ['....', 'no', '30', '2','no',''];
                break;
            case "control_image":
                types = ['text', 'width', 'height','align', 'src','desc'];
                labels = /* {translate} */['Label', 'Width', 'Height','Alignment', 'Source-URL','Description'];/* {/translate} */
                defaults = ['Image', '200', '75','left','http://www.jotform.com/images/jotform.gif',''];
                break;	
            case "control_2co":
                //defaults = ['Please Choose','no','123456798123456','en','1','jotform','1','','',''];
                types = ['text','required', '2co_vendorNo','2co_productId','2co_lang','2co_productName','2co_productPrice','2co_setupFee','pids','bridge'];
                labels = /* {translate} */['Label','Required', 'Vendor No','Product ID','Language','Product Name','Product Price','Setup Fee','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no', '','','','','','','',''];
                payId = p;
                makeWizardButton("displayWindow('2cowiz')");
                break;
            case "control_paypal":
                //defaults = ['Please Choose','no','info@interlogy.com','false','jotform','10','USD','single','','0','0','true','',''];
                types = ['text','required','account','payeradress','item1','price','curr','pType','setup','trial','period','tot','pids','bridge'];
                labels = /* {translate} */['Label','Required', 'Account','Payer Adress','Items','Price','Currency','Payment Type','Setup Fee','Trial','Period','Total','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no','','false','','','USD','single','','0','0','true','',''];
                payId = p;
                makeWizardButton("displayWindow('paypalwiz')");
                break;
            case "control_onebip":
                //defaults = ['Please Choose','no','omnic1','589','jotform test','1','GBP','',''];
                types = ['text','required', 'onebip_username','onebip_itemid','onebip_productname','onebip_productprice','onebip_curr','pids','bridge'];
                labels =/* {translate} */ ['Label','Required', 'Username','Item ID','Product Name','Product Price','Currency','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no', '','','','','GBP','',''];
                payId = p;
                makeWizardButton("displayWindow('onebipwiz')");
                break;
            case "control_clickbank":
                //defaults = ['Please Choose','no','info@interlogy.com','1','jotform','1','',''];
                types = ['text','required', 'cb_login','cb_itemNo','cb_productName','cb_productPrice','pids','bridge'];
                labels =/* {translate} */ ['Label','Required', 'Account','Item No','Product Name','Product Price','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no', '','','','','',''];
                payId = p;
                makeWizardButton("displayWindow('clickbankwiz')");
                break;
            case "control_googleco":
                //defaults = ['Please Choose','no','105878542235386','jotform','10','single','true','',''];
                types = ['text','required', 'gco_merchantId','item1','price','pType','tot','pids','bridge'];
                labels = /* {translate} */['Label','Required', 'Merchant ID','Items','Price','Payment Type','Total','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no', '','','','single','true','',''];
                payId = p;
                makeWizardButton("displayWindow('googlecowiz')");
                break;
            case "control_worldpay":
                //defaults = ['Please Choose','no','141159','jotform','10','EUR','single','true','',''];
                types = ['text','required', 'wp_instId','item1','price','curr','pType','tot','pids','bridge'];
                labels = /* {translate} */['Label','Required', 'WorldPay Installation ID','Items','Price','Currency','Payment Type','Total','pids','bridge'];/* {/translate} */
                defaults = ['Please Choose','no', '','','','EUR','single','true','',''];
                payId = p;
                makeWizardButton("displayWindow('worldpaywiz')");
                break;
            case "control_passwordbox":
                types = ['text', 'required', 'size', 'maxsize','validation','desc'];
                labels = /* {translate} */['Label', 'Required', 'Size', 'Max Size','Validation','Description'];/* {/translate} */
                defaults = ['....', 'no', '20', '100','no',''];
                break;
            case "control_pagebreak":
                break;	
            case "control_collapse":
                types = ['text','status','visibility','desc'];
                labels =/* {translate} */ ['Label','Status','Visibility','Description'];/* {/translate} */
                defaults = ['....','Closed','Visible',''];
                break;	
            case "control_dropdown":
                types = ['text', 'required', 'size', 'options', 'special','desc'];
                labels =/* {translate} */ ['Label', 'Required', 'Size', 'Options', 'Special','Description'];/* {/translate} */
                defaults = ['....', 'no', '1', 'Option 1<br>Option 2<br>Option 3', 'none',''];
                break;
            case "control_checkbox":
                types = ['text', 'required', 'options', 'checked','desc'];
                labels = /* {translate} */['Label', 'Required', 'Options', 'Checked','Description'];/* {/translate} */
                defaults = ['....', 'no', 'Option 1<br>Option 2<br>Option 3', 'no',''];
                break;
            case "control_radio":
                types = ['text', 'required', 'options', 'checked','desc'];
                labels = /* {translate} */['Label', 'Required', 'Options', 'Selected','Description'];/* {/translate} */
                defaults = ['....', 'no', 'Option 1<br>Option 2<br>Option 3', 'no',''];
                break;
            case "control_datetimepicker":
                types = ['text', 'required', 'format', 'desc'];
                labels = /* {translate} */['Label', 'Required', 'Format', 'Description'];/* {/translate} */
                defaults = ['....', 'no', 'mmddyyyy', ''];
                break;
            case "control_rating":
                types = ['text','desc'];
                labels =/* {translate} */ ['Label','Description'];/* {/translate} */
                defaults = ['....',''];
                break;
            case "control_captcha":
                types = ['text','desc'];
                labels = /* {translate} */['Label','Description'];/* {/translate} */
                defaults = ['Enter the code as it is shown:',''];
                break;
            case "control_fileupload":
                types = ['text', 'required', 'extensions', 'maxsize','desc'];
                labels =/* {translate} */ ['Label', 'Required', 'Extensions', 'Max Size (KB)','Description'];/* {/translate} */
                defaults = ['....', 'no', 'doc, xls, jpg, jpeg, gif, png, mp3, mpeg', '5000',''];
                break;
            case "control_button":
                types = ['submittext','clear'];
                labels =/* {translate} */ ['Submit Text','Reset'];/* {/translate} */
                defaults = ['Submit','no'];
                break;
            default:
                types = ['text', '', '', ''];
                labels =/* {translate} */ ['Label', '', '', '', ''];/* {/translate} */
                defaults = ['....', '', '', '', ''];
                break;
        }
    }
    var username = (readCookie("user"))? readCookie("user").split(":")[0] : "";
    for(i=0; i<types.length; i++){
        if(types[i] == "style"){ continue;}
        var key = p + '_'+types[i];
        var value = prop[key];
        rowx = "";
        var hiddens = ['not_reply','not_subj','conf_send','conf_to','conf_from','conf_subj','conf_body','pids','bridge','pType','thanktext', 'alignment'];
        if(username != "vinthomas"){
            hiddens.push("mail_cc");
        }
        if(inarray(types[i],hiddens)){
            rowx = " style=\"display:none\" ";
        }
        if( types[i] == "options" ){
            out += rows_long;
        }else{
            out += "<tr "+rowx+" height=2 id='"+key+"_tr'>"+rows;
        }
        out += labels[i]; 
        if( types[i] == "options" || types[i] == "items" ){
            out += "<br><br><br><br><br><br>";  
        }
        if( types[i] == "options" || types[i] == "items"){
            out += rowb_long;
        }else{
            out += rowb;
        }
        
        if( value === undefined || value === '' || value === 'undefined' ){
            prop[key] = defaults[i];
            pv = defaults[i];
        }else{
            pv = value;
        }
        if(typeof(pv) == "string"){
            pv = pv.replace(/\|/g, "<br>");
        }
        var dropdowns = ["not","alignment","special","required","email","validation","clear","align","status","theme","visibility","disabled" ,"spamcheck","layout","format","sendpostdata"];
       
       if(inarray(types[i],dropdowns)){
            out += "<div class=\"pList\" id=\"" + key + "\" ";
            out += "onclick=\"Javascript:changeSelect(this, '"+ key +"')\"  >" + pv + "</div>"; 
       } else if( types[i] == "options" || types[i] == "items"){
            out += "<div class=\"pListLong\" id=\"" + key + "\" ";
            out += "onclick=\"changeTextarea(this, '"+ key +"'); \"  >" + pv + "</div>"; 
       } else {
            out += "<div class=\"pList\" id=\"" + key + "\" ";
            out += " onclick=\"Javascript:changeText(this, '"+ key +"')\"  >" + pv + "</div>"; 
       }
       out += "</td></tr><tr><td colspan=2><img id='"+key+"_img'"+rowx+rowe;  
    }
    out += "</table>";
    return out;
}

function setDefaultFormProperties(){
    currStyle.initialize();
    currStyle.setStyleByClassName('left', {color: prop.form_fontcolor, fontFamily: prop.form_font, fontSize: prop.form_fontsize+"px"});
    currStyle.setStyleByClassName('tbmain', {background: prop.form_background});
}

/*
Floating Menu script-  Roy Whittle (http://www.javascript-fx.com/)
Script featured on/available at http://www.dynamicdrive.com/
This notice must stay intact for use
*/
var verticalpos="fromtop";

if (!document.layers){
//    document.write('</div>')
}

function ietruebody(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function freeBox(){
    if(!$("toolsdiv")){
        Event.stopObserving(window, 'load', freeBox);
        return true;
    }
    var startX = 0;
    var startY = 0;
    var limit = (parseInt($("tbmain").getHeight(), 10) - 40) - parseInt($("toolsdiv").getHeight(), 10); 
    var PX='px', d = document;
    function getBox(id){
        var elem = (d.getElementById)? d.getElementById(id) : (d.all)? d.all[id] : d.layers[id];
        if(d.layers){ elem.style = elem; PX = ''; }
            elem.setProp = function(x, y){ 
                elem.style.left = x + PX;
                elem.style.top = y + PX; 
            };
            elem.x = startX;
            if( verticalpos == "fromtop" ){
                elem.y = startY;
            }
        else{
            elem.y = (window.innerHeight)? pageYOffset + window.innerHeight : ietruebody().scrollTop + ietruebody().clientHeight;
            elem.y -= startY;
        }
        return elem;
    }
    window.followScroll = function(){
        limit = (parseInt($("tbmain").getHeight(), 10) - 40) - parseInt($("toolsdiv").getHeight(), 10);
        var pY = "";
        if (verticalpos=="fromtop"){
            pY = (window.innerHeight)? pageYOffset : ietruebody().scrollTop;
            pY = (pY > 200)? pY-195 : 0;
            pY = (pY > limit)? limit : pY;
            Box.y += (pY + startY - Box.y) /8;
            Box.y = (Box.y < 0)? 0 : Box.y;
        }else{
            pY = (window.innerHeight)? pageYOffset + window.innerHeight : ietruebody().scrollTop + ietruebody().clientHeight;
            pY = (pY > 200)? pY-195 : 0;
            pY = (pY > limit)? limit : pY;
            Box.y += (pY - startY - Box.y) /8;
            Box.y = (Box.y < 0)? 0 : Box.y;
        }
        Box.setProp(Box.x, Box.y);
        setTimeout(followScroll, 10);
    };
    Box = getBox("toolsdiv");
    followScroll();
}

Event.observe(window, 'load', freeBox);

function Alert(message, title, autoclose){ //Custom alert message
    title=(title)? title : "Message from JotForm";
    box = '<table width="300" border="0" align="center" cellpadding="0" cellspacing="0">';
	box += '<tr><td>';
	box += '<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr>';
	box += '<td width="22" height="10" id="1" background="images/wiz_up_left.png"></td>';
	box += '<td background="images/wiz_up.png" id="2"><img src="images/space.gif" /></td>';
	box += '<td width="22" background="images/wiz_up_right.png" id="3"></td>';
	box += '</tr></table>';
	box += '<table id="alerttitle" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr>';
	box += '<td width="11" height="20" background="images/wiz_title_left.png" id="4"></td>';
	box += '<td width="4" background="images/wiz_title2_left.png" id="5"></td>';
	box += '<td style="cursor:default" background="images/win_title.gif" class="title_text" id="messagetitle">'+title+'</td>';
	box += '<td width="38"><img src="images/wiz_title_close0.png" width="38" height="20" border="0" onmouseover="AlertCross(this)" id="closee" onclick="AlertClose()"/></td>';
	box += '</tr></table>';
	box += '<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr>';
	box += '<td width="11" background="images/wiz_mid_left.png" id="6"></td>';
	box += '<td align="center" bgcolor="#FFFFFF">';
	box += '<div style="padding:10px; text-align:center; cursor:default" id="messagebox">'+message+'</div>';
	box += '<img src="images/btn_ok.gif" onclick="AlertClose()" onmouseover="buttonOver(this)" /></td>';
	box += '<td width="11" background="images/wiz_mid_right.png" id="7"></td>';
	box += '</tr></table>';
	box += '<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr>';
	box += '<td width="22" height="22" background="images/wiz_down_left.png" id="8"></td>';
	box += '<td background="images/wiz_down.png" id="9"><img src="images/space.gif" width="1" height="1" /> </td>';
	box += '<td width="22" background="images/wiz_down_right2.png" id="10"></td>';
	box += '</tr></table></td></tr></table>';
    $('msgouter').innerHTML = box;
    pngImages("1","2","3","4","5","6","7","8","9","10","messagetitle","closee");
    new Effect.Appear('msgouter',{duration:0.3});
    if(autoclose > 0){
        sleep(function(){ AlertClose(); }, autoclose);
    }
    new Draggable("msgouter", {handle:"alerttitle", starteffect:false, endeffect:false});
	Event.observe(document, 'keypress', closeAlert);
}

function closeAlert(e){
	var evt = (e)? e : window.event;
	if(evt.keyCode == Event.KEY_RETURN || evt.keyCode == Event.KEY_ESC){
		AlertClose();
	}
}

function AlertClose(){
	new Effect.Fade('msgouter',{duration:0.3});
	sleep(function(){ $('msgouter').innerHTML = ''; }, 0.4);
	Event.stopObserving(document, 'keypress', closeAlert);
}

function AlertCross(elem){
	elem.src = "images/wiz_title_close1.png";
	elem.onmouseout = function(){
		elem.src = "images/wiz_title_close0.png";
		pngImages(elem.id);
	};
	pngImages(elem.id);
}

function makeShadow(id){
    $(id).textshadow({
        light: "upleft",
        shadowColor: "#fff",
        imageLike: true
    });
}

Button={
	make: function(str, obj, opts){

        if (obj.readAttribute('converted') ){
            return true;
        }

        var options = options = (opts)? opts : {
            onclick: function(){ } 
        }
        options.icon = obj.readAttribute('icon')? obj.readAttribute('icon') : false;
        options.iconalign = obj.readAttribute('iconalign')? obj.readAttribute('iconalign') : 'left';
        options.icontop = obj.readAttribute('icontop')? obj.readAttribute('icontop') : false;
        obj.writeAttribute('converted', 'converted');
       
		button = Button.create(str, options);
		Button.setEvents(obj, options);
		$(obj).update(button);
        obj.onclick = function (){};
	},
	create: function(str, options){
        var divbutton = new Element("div", {className:"divbutton"});
            divbutton.className = "divbutton"; // IE8 fix
		var dleft = new Element("div", {className:"dleft"});
            dleft.className = "dleft"; // IE8 fix
		var dmid = new Element("div", {className:"dmid"});
            dmid.className = "dmid"; // IE8 fix
        var dicon = new Element("div", {className:"dmid"});
            dicon.className = "dmid"; // IE8 fix
		var dright = new Element("div", {className:"dright"});
            dright.className = "dright"; // IE8 fix
		var text = new Element("span");
		text.innerHTML = str;
        if(options.icon){
            var img = new Element('img', {
                src: options.icon,
                align: "absmiddle",
                border:"0"
            });
            if (options.icontop){
                img.style.paddingTop = options.icontop;
            }else{
                img.style.paddingTop = "3px";
            }
        }
        
        dicon.insert(img);
        dmid.insert(text);
        
		dmid.textshadow({light:'upleft', shadowColor:'#ffffff', imageLike:true});
        divbutton.insert(dleft);
        
        if(options.icon && options.iconalign == "right"){
			divbutton.insert(dmid);
            divbutton.insert(dicon);
        }else if(options.icon){
            divbutton.insert(dicon);
            divbutton.insert(dmid);
        }else{
            divbutton.insert(dmid);
        }
		divbutton.insert(dright);
		return divbutton;
	},
	setEvents: function(button, options){
		button.observe("click", options.onclick);
		button.observe("mousedown", Button.down);
		button.observe("mouseup", Button.over);
		button.observe("mouseover", Button.over);
		button.observe("mouseout", Button.out);
		Button.disableSelect(button);
	},
	over: function(e){
		e = (e)? e : window.event;
		elem =  (e.target)? e.target : e.srcElement;
		Button.setSprite(elem, "-16", "-64", "-112");
	},
	down: function(e){
		e = (e)? e : window.event;
		elem =  (e.target)? e.target : e.srcElement;
		Button.setSprite(elem, "-32", "-80", "-128");
	},
	out: function(e){
		e = (e)? e : window.event;
		elem =  (e.target)? e.target : e.srcElement;
		Button.setSprite(elem, "0", "-48", "-96");
	},
	setSprite: function(elem, l, m, r){
		elem = (elem.parentNode.className == "divbutton")? elem.parentNode : elem.parentNode.parentNode;
        if(elem.className != "divbutton"){
            elem = (elem.parentNode.className == "divbutton")? elem.parentNode : elem.parentNode.parentNode;
        }
		$A(elem.childNodes).each(function(elem){
			switch(elem.className){
				case "dleft":
					elem.setStyle({backgroundPosition: "0px "+l+"px"});
					break;
				case "dmid":
					elem.setStyle({backgroundPosition: "0px "+m+"px"});
					break;
				case "dright":
					elem.setStyle({backgroundPosition: "0px "+r+"px"});
					break;
			}
		});
	},
	disableSelect: function(target){
		if(typeof target.onselectstart!="undefined"){
			target.onselectstart=function(){ return false; };
		}else if(typeof target.style.MozUserSelect!="undefined"){
			target.style.MozUserSelect="none";
		}else{
			target.onmousedown=function(){ return false; };
		}
	}
}

function changeButtons(){
    $$(".buttons").each(function(button){
        Button.make(button.innerHTML, button, { onclick:button.onclick });
    });
}
// The End...
