var questions = new Array();
var QD = new Array();
var current_properties;
var selected;
var update = "";
var cssProps="";
var currStyle = new formStyle();
var cssProps = new Object();
var chflag = false;
var req = " <SPAN class='required'>*</SPAN>";
var slided = false;
var toolstat = "1";
var loaded=false;
var adToolstat = "1";
// Images to preload, most of them are buttons and small sized images. TOTAL SIZE: 100K
var onloadImages = new Array(
 "images/gray.png",            "images/jotform.gif",         "images/line_properties.gif",  "images/btn_changepass_over.gif",
 "images/btn_ok_over.gif",     "images/btn_ok_down.gif",     "images/btn_account.gif",      "images/btn_account_down.gif",
 "images/btn_sendpass.gif",    "images/btn_add.gif",         "images/btn_add_down.gif",     "images/btn_createaccount.gif",
 "images/btn_back.gif",        "images/btn_back_down.gif",   "images/btn_back_over.gif",    "images/btn_changepass.gif",
 "images/btn_close.gif",       "images/btn_ok.gif",          "images/btn_close_down.gif",   "images/btn_changepass_down.gif",
 "images/btn_close_over.gif",  "images/btn_create.gif",      "images/btn_create_down.gif",  "images/btn_create_over.gif",
 "images/btn_add_over.gif",    "images/btn_done2.gif",       "images/btn_delete.gif",       "images/btn_createaccount_over.gif", 
 "images/btn_delete_down.gif", "images/btn_delete_over.gif", "images/icon_new_wedding.gif", "images/btn_createaccount_down.gif",
 "images/btn_done2_down.gif",  "images/btn_done2_over.gif",  "images/btn_done_down.gif",    "images/btn_sendpass_down.gif",
 "images/btn_edit.gif",        "images/btn_edit_down.gif",   "images/btn_edit_over.gif",    "images/btn_save_disabled.gif",
 "images/btn_finish_down.gif", "images/btn_finish_over.gif", "images/btn_login_down.gif",   "images/splitter_right_show.gif", 
 "images/btn_login_over.gif",  "images/btn_logout.gif",      "images/btn_logout_down.gif",  "images/btn_logout_over.gif",
 "images/btn_next.gif",        "images/btn_next_down.gif",   "images/btn_next_over.gif",    "images/icon_new_timesheet.gif",
 "images/btn_open_down.gif",   "images/btn_open_over.gif",   "images/btn_preview.gif",      "images/btn_preview_down.gif",
 "images/btn_open.gif",        "images/btn_publish.gif",     "images/btn_publish_down.gif", "images/btn_publish_over.gif",
 "images/btn_save.gif",        "images/btn_finish.gif",      "images/btn_save_down.gif",    "images/btn_sendpass_over.gif",
 "images/btn_send.gif",        "images/btn_send_down.gif",   "images/btn_send_over.gif",    "images/btn_account_over.gif",
 "images/btn_done_over.gif",   "images/btn_save_over.gif",   "images/btn_submit.gif",       "images/icon_new_submitproduct.gif",
 "images/btn_wizard_down.gif", "images/btn_wizard_over.gif", "images/wiz_down.png",         "images/icon_new_membershipragistration.gif",
 "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/wizard_btn.gif",      "images/wiz_title_left.png",  "images/wiz_title_right.png",  "images/icon_new_satisfactionsurvey.gif",
 "images/wiz_up_left.png",     "images/wiz_up_right.png",    "images/wiz_title_close1.png", "images/icon_new_jobapplication.gif",
 "images/splitter_left.gif",   "cimg/3.jpg",                 "images/splitter_mid.gif",     "images/splitter_right_hide.gif",
 "images/btn_login.gif",       "images/icon_new_blank.gif",  "images/icon_new_contact.gif", "images/icon_new_bugtracker.gif", 
 "images/worldpay.gif",        "images/wiz_down1.png",       "images/icon_new_party.gif",   "images/icon_new_reservation.gif",
 "images/wiz_up.png",          "images/btn_wizard.gif",      "images/btn_preview_over.gif", "images/icon_new_suggestwebsite.gif", 
 "images/btn_done.gif"
);

var countries = new Array("Abkhazia", "Afghanistan", "United Kingdom Akrotiri and Dhekelia", "Aland", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antigua and Barbuda", "Argentina 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", "Côte 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", "São Tomé and Príncipe", "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 = new Array("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.. If you leave now you'll loose this changes";
		return mess;
	}
}
function traceError(){
  var i, msg = "", argNum = 0, startPos;
  var args = traceError.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];
  }
  alert(msg);
}
function preload(){ 
  var args = onloadImages;
  document.imageArray = new Array(args.length);
  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 = preload.arguments;
  document.imageArray = new Array(args.length);
  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){
 						eval("elem.style." + pair.key + " = '" + pair.value + "';");
					if(isNotOnload)
						eval("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){
							if(val = pair.value.toString().match(/(\d+)/))
								var sz = val;	else	var sz = 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
		$('formTable').getElementsByClassName(c).each(function(elem){					// Get elements of that class
				$H(h).each(function(pair){										// Set each properties of that class
					eval("elem.style." + pair.key + " = '" + pair.value + "';");	////
					eval("cssProps['"+c+"']['"+pair.key+"'] = '"+pair.value+"';");	// Update the css hash
				});
		 });
	 }
	 this.setStyleByElement = function(elem){
			 eval("$H(cssProps['"+elem.className+"']).each(function(pair){ eval(\"elem.style.\" + pair.key + \" = '\" + pair.value + \"'\");})");
	 }
	 this.setStyleByTdHandler = function(td){
			 if(td){
				 $A(td.descendants()).each(function(elem){
					 if(elem.className){
						 eval("$H(cssProps['"+elem.className+"']).each(function(pair){ eval(\"elem.style.\" + pair.key + \" = '\" + pair.value + \"'\");})");
					 }
				 });
			 }
	 }
	 this.resetStyles = function(){
		$A($('formTable').descendants()).each(function(elem){
			if(elem.className != "icons")
				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(){
  chflag=false;
  loaded=true;
  preload();
}
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 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/"+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){
    var date = new Date();
    date.setTime(date.getTime()+31536000000); //one-year
    var expires = "; expires="+date.toGMTString();
    document.cookie = name+"="+value+expires+"; path=/";
}
function deleteCookie(name){
    var date = new Date();
    date.setTime(date.getTime()-1); //one-year
    var expires = "; expires=Thu, 01-Jan-2006 00:00:01 GMT";
    document.cookie = name+"=;"+expires+"; path=/";
}
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)
				elm.backgroundImage = "images/blank.gif";
		}
	}
}
function hideProp(){
	var dr = (/MSIE/.test(navigator.userAgent))? 0.1 : 0.3;
	if($("properties").style.display != "none"){
		new Effect.SlideUp("properties",{duration: dr});
			$("properties_img").src = "images/panel_properties0.gif";
	}
	return true;
}
var extool = "toolbox";
function slideBox(id,field,cls){
	var dr = (/MSIE/.test(navigator.userAgent))? 0.1 : 0.3;	
	if(extool != id){
		$(extool+"_img").src = "images/panel_"+extool+"0.gif";
		$(id+"_img").src = "images/panel_"+id+"1.gif";
		if(id != "properties"){
			new Effect.Parallel(
				[
					new Effect.SlideUp(extool),
					new Effect.SlideDown(id)
				],{
					duration: dr
				  });
			extool = id;
			hideProp();
		}else{
			if($(id).style.display == "none"){
				new Effect.SlideDown(id,{duration: dr});
				$(id+"_img").src = "images/panel_"+id+"1.gif";
			}
		}
	}else{
		if($(id).style.display != "none"){
			if(id != "properties"){
				new Effect.SlideUp(id,{duration: dr});
				$(id+"_img").src = "images/panel_"+id+"0.gif";
			}
		}else{
			new Effect.SlideDown(id,{duration: dr});
			$(id+"_img").src = "images/panel_"+id+"1.gif";
		}
			extool = id;
	}
	//Print Properties	
	if(id == "properties"){
		var p =  $("phash");
		var current_properties = field;
		p.innerHTML = makeProperties(field);
	}
}
function showFormProperties(){
	if($("properties").style.display == "none"){
		if($(extool).style.display != "none")
			slideBox(extool);	
		slideBox("properties","form");
	}else{
		new Effect.SlideUp("properties",{duration: 0.3});
		$("properties_img").src = "images/panel_properties0.gif";	
	}
}
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?v4';
var openformjs = 'js/openForm.js?v3';
var newformjs = 'js/newForm.js?v5';
function scriptCalls(which){
	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;
		document.getElementsByTagName('head')[0].appendChild(script);
	}catch(e){
		traceError("Error on scriptCalls",e);
	}
}
function isExist(funcName){// Check the Existense of a function
	try{
		if(typeof eval(funcName) == 'function')
			return true;
	}catch(e){
		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) }
var user = "Anonymous";
function displayWindow(wizName,alt){
	try{
		$('wizcss').href = "css/wiz.css"; //CSS Style Sheet
		if(user=readCookie("user"))
			user=user.split(":");
		else
			user = new Array('Anonymous','22121223356532');
		scriptCalls(wizName);
		displayWindowShow(wizName,alt);
	}catch(e){
		traceError("Error on displayWindow",e);
	}
}
function displayWindowShow(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",e);
	}
}
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+"')");
}
var ajx = "";
function showload(stat){
	$('loading').style.display = (stat == "hide")? "none" : "block";
}
function makeRequest (query) {
	showload("show")
	try {
	if (!window.XMLHttpRequest)
    	var httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    else
		var httpRequest = 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) {
        Alert("Ajax Error: "+e);
        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 == -2){
					$('load').innerHTML = '<img src="images/user0.gif" width="38" height="36" />';
					$('ajx_usr').className = "owntext_err";
					$('lost').style.display = 'block';
				} else if (res == -1) {
					$('load').innerHTML = '<img src="images/user0.gif" width="38" height="36" />';
					$('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";
					$('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 = '<img src="images/user0.gif" width="38" height="36" />';
	$('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";
	$('lost_button').innerHTML = '<img onmouseover="buttonOver(this)" src="images/btn_send.gif" width="53" height="16" border="0" onclick="sendPassword()" />'
}
function sendPassword(){
	res = makeRequest("action=lost&email=" + $('ajx_email').value);
    if(res < 0){
        $('ajx_email').className = "owntext_err";
		$('ajx_email').value = "Email name does not exist!";
    } else {
        $('ajx_email').className = "owntext";
		$('ajx_email').value = "Password has been emailed!";
		$('lost_button').innerHTML = '<img onmouseover="buttonOver(this)" src="images/btn_back.gif" width="53" height="16" border="0" onclick="lostpass_back()" />'
    }
}
function debug(n){
	return true; // DISABLED
    if(elem1 = $("debugmessage")){
        elem1.innerHTML += n + "<br>\n";
    }
}
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(){ void(0);return false; };
	}
}
function selectQuestion(row, field){
	//1st
	if(selected == field){
       if(questions[field] != "control_html"){
			$(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){
        $(selected).style.background = "none";
		$(selected).style.border = "none";
        if(del = $("delete_" + selected))
            del.style.visibility = "hidden";
		if(edt = $("edit_" + selected))
            edt.style.visibility = "hidden";
		if(pre = $("preview_" + selected))
            pre.style.visibility = "hidden";
		if(wiz = $("wiz_" + selected))
            wiz.style.visibility = "hidden";
    }
		selected = row.id;
/*		row.style.background = "url(images/selectedBG.png)";//"#f6f6f6"; */
		row.style.backgroundColor = "#FFFFD2";
		row.style.border = "1px #c9c9c9 solid";
		if(del = $("delete_" + row.id))
			del.style.visibility = "visible";
		if(edt = $("edit_" + row.id))
			edt.style.visibility = "visible";
		if(pre = $("preview_" + row.id))
			pre.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(':') : new Array("");
	var prc   = (prop[field+'_price'] !=undefined)? prop[field+'_price'].split(':') : new Array(0);
	var stp   = (prop[field+'_setup'] !=undefined)? prop[field+'_setup'].split(':') : new Array(0);
	var prd   = (prop[field+'_period']!=undefined)? prop[field+'_period'].split(':'): new Array(0);
	var trl   = (prop[field+'_trial'] !=undefined)? prop[field+'_trial'].split(':') : new Array(0);
	var ftype = (ptype == "sWm" || ptype == "sWmS")? "radio" : (ptype == "mult" || ptype == "multSub")? "checkbox" : "";
	var valign = (prop[field+'_pType'] == "donation")? "" : "valign=top";
	if(stat){
		var re = " \
			<td width=150 "+valign+"> <div id=\"container\"> \
			<div id=\"cont"+field+"top\" >\
				<span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
				valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \
		   </div> \
			</td> \
			<td "+valign+" align='left' id='td_handler_"+field+"'>";
	}else
		var re = "";
	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 +"' class=\"right\" 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+"' class=\"right\" type='"+ftype+"' value='"+itm[x]+":"+prc[x]+":"+stp[x]+"'>"
			re += "<label  class=\"left\">"+itm[x] +" ("+format_price(prc[x],curr)+")";
			re += " + Setup Fee : ";
			re += " "+format_price(stp[x],curr)+"</label><br />";
			x++;
		}
		re += "<div class=\"left\"><b>Period: "+prd[0]+" "+prd[1]+" , Trial: "+trl[0]+" "+trl[1]+"</b></div>";
		if (eval(tot))
			re += "	<div class=\"left\" style='text-align:left;font-size:large'>Total : <div id='tot_"+field+"'></div></div></td>";
	}
	if(stat){
		if(questions[field] == "control_worldpay")
			re += "<td valign='bottom' width='110'><img src='images/worldpay.gif' /></td>";
		re += "</td>";
	}
	return re;
}
function updateEdit(ifield, idfld){
	isNotOnload = true;
	changed(1);
	var value;
	if(typeof(ifield) == "object"){
		value = ifield.value.replace(/\|/g,"");
	    value = value.replace(/\n/g, "<br>");
	}else
		value = ifield;
	
	
	if(idfld.toString().match(/\d+_options/) || idfld.toString().match(/\d+_items/))
		value = value;
	else if (idfld.toString().match(/\d+_html/)){
		value = value;
	}else if(typeof(value)=="string")
		value = value.escapeHTML();

    if(idfld > 0 || idfld == '0'){
        prop[idfld + "_text"] = value;
        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=\"Javascript:changeQuestion(" + idfld + ",this);\">" + value + "</span>";
		else if(questions[idfld] == "control_collapse")
			elem.innerHTML = "<span id=\"text_"+idfld+"\" class=\"pagebreak\" onClick=\"Javascript:changeQuestion(" + idfld + ",this);\">" + value + "</span>";
		else
			elem.innerHTML = "<span id=\"text_"+idfld+"\" class=\"left\" onClick=\"Javascript:changeQuestion(" + idfld + ",this);\">" + value + "</span>";
		currStyle.setStyleByElement($("text_"+idfld));
    elem = $("text_" + idfld );
    selectedBG( document.getElementById(idfld) );
		slideBox('properties',idfld);
    } else  if( idfld != "title" ){
        elem = $(idfld);

		if(elem) // i'm not sure
			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_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.style.textAlign = "center";
							else
								elem.style.textAlign = "right";
						} else {
							if(questions[i] == "control_text" || questions[i] == "control_html" || questions[i] == "control_head")
								elem.style.textAlign = "left";
							else
								elem.style.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);
						if(cssProps['left'])
							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;
                        $("text_" + id).innerHTML = value; 
                    } else if( p == "required" ){
                        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).style.verticalAlign = "top";    
                            else
                                $("td1_handler_" + id).style.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 =  new Array(100);
                                for(i=0;i<100;i++)
                                    oa[i] = y-i;
								
                            }
                        } else if(prop[id + '_options']  != undefined){
                            prop[id + '_options'] = prop[id + '_options'].replace(/<BR>/ig, "<br>")
                            oa = prop[id + '_options'].split("<br>");
                        } else {
                            oa = new Array("Option 1", "Option 2", "Option 3");
                        }
                        if(size>1)
                            var options = "";
                        else
                            var options = "<option></option>";
                        for(var o=0; o<oa.length; o++){
                            if(oa[o] != ""){
                                if(questions[id] == "control_checkbox")
                                   options += "<input type=checkbox class='other' name="+ id + o +">"+ oa[o].escapeHTML() +" <br>\n";
                                else if(questions[id] == "control_radio")
                                   options += "<input type=radio  class='other' 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.style.opacity ="1.0";
								pgbrk.style.filter = "alpha(opacity=100)";
							}else{
								pgbrk.style.opacity =".4";
								pgbrk.style.filter = "alpha(opacity=40)";
							}
							
							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) 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:43px;' class=\"editLineSmall\" id='editText' autocomplete=\"OFF\" />" + before +  "</textarea><img onmouseover=\"buttonOver(this)\" src=\"images/btn_done2.gif\" onclick=\"return eventBlur(document.getElementById('editText'), '" + id +"')\" />";
		elem.firstChild.focus();
	}catch(e){
		traceError("Error on changeTextarea",e);
	}
}
function changeSelect(actual, id) {
	changed(1);
	if(id == "form_alignment"){
		var options = Array("default", "centered"); //TODO: add under
	} else if(id.indexOf("_required")>0 || id == "form_email" || id.indexOf("_clear")>0){
		var options = Array("no", "yes"); 
	} else if(id.indexOf("_special")>0){
		var options = Array("none", "Countries", "US States", "Last 100 Years");
	} else if(id.indexOf("_validation")>0){
		var options = Array("no", "Alphabetic", "Numeric", "Email" );	
	} else if(id.indexOf("_align")>0){
		var options = Array("left","center","right");
	} else if(id.indexOf("_status")>0){
		var options = Array("Closed","Opened");
	} else if(id.indexOf("_theme")>0){
		var options = eval(makeRequest("action=get_style_dir")); //Reads the directory of styles
	} else if(id.indexOf("_visibility")>0){
		var options = Array("Visible","Invisible");	
	} else if(id.indexOf("_disabled")>0 || id.indexOf("_spamcheck")>0){
		var options = Array("Enabled","Disabled");	
	} else if(id.indexOf("_format")>0){
		var options = Array("mmddyyyy","ddmmyyyy");	
	} else if(id.indexOf("_layout")>0){
		var options = Array("Horizontal","Vertical");	
	}
		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];
			ih += "<option";
			if(o == actual.innerHTML)
				ih += " selected";
			ih += " value=\""+o+"\">" + o + "</option>";
		}
		ih += "</select>";
		elem.innerHTML = ih;
		elem.firstChild.focus();		
}
function changeQuestion(nn, actual) {
	changed(1);
	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 + "\" size=\"10\" onkeypress=\"return eventEnter(this,event," + nn + ")\" onblur=\"return eventBlur(this," + nn + ")\" />";
	}		
	if( questions[nn] != "control_html" )
		elem.firstChild.focus();
	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;
    }
	var float = (/MSIE/.test(navigator.userAgent))? "" : ""; //Add style if you want
    if( prop[field+"_required"] == "yes" )
        text += req;
    r = " \
             \n<!--Field Id:"+field+"-->\n         <table width=550 cellpadding=5 style='margin:0px;"+float+"' class='sel' cellspacing=0 id=\""+ field +"\" \
            onmouseover=\"onBG(this)\" onmouseout=\"offBG(this)\" \
            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\
                    <div id=\"cont"+field+"top\" >\n\
                       <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
            ";
            break;
		case "control_head":
            r += " \
                    <td width=300 valign=bottom colspan=2>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                       <span class='head' onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n\
                   </div> \n\
                    </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> \n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                       <span onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ html.unescapeHTML() +"</span></div> \n\
                   </div> \n\
                    </td> \n\
            ";
            break; 		
       case "control_textbox":
            r += " \
                    <td width=150 valign=bottom> <div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id='td_handler_"+ field +"'> \n\
                    <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\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div>\n\
                    </td>\n\
                    <td valign=bottom id='td_handler_"+ field +"'>\n\
                    <select id='field_"+field+"_1' class='other'>\n<option value=\"0\">Month</option>\n</select>/\n\
										<select id='field_"+field+"_2' class='other'>\n<option value=\"0\">Day</option>\n</select>/\n\
										<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\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id='td_handler_"+ field +"'> \n\
                    <input id=\"field_handler_"+ field +"\" autocomplete=\"OFF\" class='text' type=text size="+size+" maxsize="+maxsize+" name=field"+ field +"> </td> \n\
            ";
            break;
       case "control_textarea":
            if(prop[field + '_cols']  != undefined)
                cols = prop[field + '_cols'];
            else
                cols = 30;
            if(prop[field + '_rows']  != undefined)
                rows = prop[field + '_rows'];
            else
                rows = 2;
				
            r += " \
                    <td width=150 valign=top>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td>\n\
                    <td valign=bottom id='td_handler_"+ field +"'>\n<textarea id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" cols="+cols+" rows="+rows+" name=field"+ field +" maxsize="+maxsize+"></textarea>\n </td> \n\
            ";
					
            break;
	   case "control_image":
            if(prop[field + '_src']  != undefined)
                src = prop[field + '_src'];
            else
                src = "http://www.jotform.com/images/jotform.gif";
				
            if(prop[field + '_width']  != undefined)
                width = prop[field + '_width'];
            else
                width = 200;
				
			if(prop[field + '_height']  != undefined)
                height = prop[field + '_height'];
            else
                height = 75;
				
			if(prop[field + '_align']  != undefined)
                align = prop[field + '_align'];
            else
                align = "left";	
				
            r += " \
                    <td width=150 valign=top style='display:none'> <div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <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\
						<div id=\"cont"+field+"top\" >\n\
						  <span class=\"left\" valign=bottom id=\"text_"+field+"\">My Payment</span>\n\
						</div>\n\
                    </td>\n\
                    <td 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\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id='td_handler_"+ field +"'>\n\
											<input id=\"field_handler_"+ field +"\" class='text' autocomplete=\"OFF\" type=password size="+size+" maxsize="+maxsize+" name=field"+ field +"> </td> \n\
            ";
            break;
		case "control_collapse":
		if(prop[field + '_status']  != undefined)
            status = prop[field + '_status'];
		else
            status = 'Closed';
		if(prop[field + '_visibility']  != undefined)
        	visibility = prop[field + '_visibility'];
		else
           	visibility = 'Visible';
			
			if(visibility == "Visible")
				style = " style='opacity: 1.0;filter: alpha(opacity=100);' ";
			else
				style = " style='opacity: .4;filter: alpha(opacity=40);' ";
            r += " \
					<td valign=bottom> <div id=\"container\"> \n\
					<table width='500' height='20' id='pgbrk_"+field+"' border='0' cellpadding='0' cellspacing='0' "+style+">\n\
					   <tr>\n\
						 <td width='20' background='images/splitter_left.gif'></td>\n\
						 <td background='images/splitter_mid.gif' align=left>\n\
						 <div id=\"container\">\n\
		                    <div id=\"cont"+field+"top\" >\n\
       	                <span class=\"pagebreak\" onClick=\"Javascript:changeQuestion("+ field +",this);\" valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n\
            		        </div> \n\
						 </td>\n\
						 <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":
            if(size>1)
                va = "top";
            else
                va = "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 =  new Array(100);
                    for(i=0;i<100;i++)
                        oa[i] = y-i;
                }
            } else if(prop[field + '_options']  != undefined){
                oa = prop[field + '_options'].split("<br>");
            } else {
                oa = new Array("Option 1", "Option 2", "Option 3");
            }
            if(size>1)
                var options = "";
            else
                var options = "<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\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n\
                   </div> \n\
                    </td> \n\
                    <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 = new Array("Option 1", "Option 2", "Option 3");
            }
            var options = "";
            for(var o=0; o<oa.length; o++){
                if(oa[o] != "")
                   options += "<input type=checkbox  class='other' name="+ field + o +">"+ oa[o] +"<br>\n";
            } 
            r += " \
                    <td width=150 valign=top>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom  id=\"td_handler_"+ field +"\"> \n\
                    <span class=\"right\" id=\"options_"+field+"\">" + options + " \n\
                    </span></td> \n\
            ";
            break; 
       case "control_radio":
            if(prop[field + '_options']  != undefined){
                oa = prop[field + '_options'].split("<br>");
            } else {
                oa = new Array("Option 1", "Option 2", "Option 3");
            }
            var options = "";
            for(var o=0; o<oa.length; o++){
                if(oa[o] != "")
                   options += "<input type=radio  class='other' name="+ field +">"+ oa[o] +" <br>\n";
            } 
            r += " \
                    <td width=150 valign=top>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom  id=\"td_handler_"+ field +"\"> \n\
                        <span class=\"right\" id=\"options_"+field+"\">"+ options +" \n\
                    </td> \n\
            ";
            break; 
       case "control_rating":
            r += " \
                    <td width=150 valign=bottom>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span>\n</div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id='td_handler_"+ field +"'> \n\
					<img id=\"field_handler_"+ field +"\" name=field"+ field +" width=\"75\" height=\"15\" src=\"images/star3.gif\"> \n\
                    </td> \n\
            ";
            break;
	   case "control_datetimepicker":
            size = 10;
			r += " \
                    <td width=150 valign=bottom>\n<div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <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\
                    <img src=images/cal.gif> \n\
                    </td> \n\
            ";
            break;
	   case "control_captcha":
            r += " \
                    <td width=150 valign=top> <div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id='td_handler_"+ field +"'>\n<img width=150 height=45 src=cimg/3.jpg><br>\n\
					<input id=\"field_handler_"+ field +"\"  class='text' autocomplete=\"OFF\" type=text size="+size+" maxsize="+maxsize+" name=field"+ field +"> \
                    </td> \
            ";
            break; 
       case "control_fileupload":

            r += " \
                    <td width=150 valign=bottom> <div id=\"container\"> \
                    <div id=\"cont"+field+"top\" >\
                        <span class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\">"+ text +"</span></div> \
                   </div> \
                    </td> \
                    <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\
                    </td> \n\
            ";
            break; 
       case "control_button":
            if(prop[field + '_submittext']  != undefined)
                submittext = prop[field + '_submittext'];
            else
                submittext = "Submit";
			if(prop[field + '_clear']  != undefined)
                clear = prop[field + '_clear'];
            else
                clear = "no";
            r += " \
                    <td width=150 valign=bottom> <div id=\"container\"> \n\
                    <div id=\"cont"+field+"top\" >\n\
                        <span  class=\"left\" onClick=\"Javascript:changeQuestion("+ field +",this);\" \
                        valign=bottom id=\"text_"+field+"\"></span></div> \n\
                   </div> \n\
                    </td> \n\
                    <td valign=bottom id=\"td_handler_"+ field +"\"> <input id=\"submit_handler_"+ field +"\"  class='btn' type=button name=field"+ field +" value=\""+ submittext +"\">\n";
					if(clear == "no")
                    	r += "</td>\n";
					else
            			r += "&nbsp;&nbsp;&nbsp;<input id=\"clear_handler_"+ field +"\" class='btn' type=reset name=field"+ field +" value='Clear'></td>\n";
            break; 
    }
    r += "   <td class='icons' width=20 valign=middle align=center id='wiz_"+field+"' style='visibility:hidden;border-left:1px #c9c9c9 solid;'>\n\
			    <img id='wizbut' src=images/icon_wizard.gif>\n\
			 </td>\n\
			 <td class='icons' width=20 valign=middle align=center id='delete_"+field+"' style='visibility:hidden;border-left:1px #c9c9c9 solid;'>\
			    <img onClick=\"deleteQuestion("+field+")\" src=images/icon_cross.gif>\n\
			 </td>\n\
			</tr>\n\
           </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.
