var xml;
var cMenus;
var subMenu_int;

// PRELOAD CONSTANT IMAGES
pic1= new Image(39,16);
pic1.src="images/sideMenu_over_2.gif";

pic1= new Image(5,5);
pic1.src="images/sideMenuLI.gif";

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;


   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;

   }


function checkEmail(str) {
///// function for validating email address
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){
		    return false
		} else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		    return false
		} else 	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		} else  if (str.indexOf(at,(lat+1))!=-1){
		    return false
		} else 	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   return false
		} else  if (str.indexOf(dot,(lat+2))==-1){
		    return false
		} else if (str.indexOf(" ")!=-1){
		     return false
		} else {
 		 	return true
 		}
}

function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
}

function getHTTPObject()
{
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest(); } catch(e) {}
	alert("XMLHttpRequest not supported");
	return null;
 }

 
 
function LoadXML(url)
{
	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		   if (xmlHttp.readyState != 4)  { return; }
		   var serverResponse = xmlHttp.responseText;
	};
	xmlHttp.send(null);
	return xmlHttp.responseXML.documentElement;
}

function showEmailError(errorText)
{
	document.getElementById('emailError').innerText=errorText;
}

function menuLinks_over(divID)
{
	document.getElementById('menuLinkDiv_'+divID).className = 'menu_mouseOver';
}

function menuLinks_out(divID)
{
	document.getElementById('menuLinkDiv_'+divID).className = 'menu_mouseOut';
}

function showSubMenu(menuID)
{
	if (menuID!=0)
	{
		switch (menuID)
		{
			case "1":
			case 1:
			menuID = "menu_hosting";
			break;
			case "5":
			case 5:
			menuID = "menu_servers";
			break;
			case "10":
			case 10:
			menuID = "menu_domains";
			break;
			case "14":
			case 14:
			menuID = "menu_techSupport";
			break;
			case "15":
			case 15:
			menuID = "menu_aboutUs";
			break;
			case "19":
			case 19:
			menuID = "menu_login";
			break;
		}
		var url = "xml_getSubMenu.php?menuID="+menuID+"&siteLang="+siteLang;
		xml = LoadXML(url);
		if(xml != null)
		{
			smDiv = document.getElementById("subMenuDiv");
			smDiv.innerHTML="";
			cMenus = 1;
			var totalMenus = xml.getElementsByTagName('totalMenus')[0].firstChild.data;
			subMenu_int=setInterval("addMenuRow("+totalMenus+")", 50);
		}
	}
	else
	{
		smDiv = document.getElementById('subMenuDiv');
		smDiv.innerHTML="";
	}
}

function addMenuRow(totalMenus)
{
	if (cMenus <= totalMenus)
	{
		menuLink = (xml.getElementsByTagName('menuLink_'+cMenus)[0].firstChild)?xml.getElementsByTagName('menuLink_'+cMenus)[0].firstChild.data:"";
		menuTarget = xml.getElementsByTagName('menuTarget_'+cMenus)[0].firstChild.data;
		menuCode = xml.getElementsByTagName('menuCode_'+cMenus)[0].firstChild.data;
		menuTitle = (xml.getElementsByTagName('menuTitle_'+cMenus)[0].firstChild)?xml.getElementsByTagName('menuTitle_'+cMenus)[0].firstChild.data:"";
		if (menuLink!="")
		{
			if (curMenuPage == menuCode)
				smDiv.innerHTML +=  "<div width=100% id='menuLinkDiv_"+cMenus+"'>"+
										"&nbsp;<img src='images/sideMenuLI.gif' align=absmiddle>&nbsp;&nbsp;"+
										"<a href='"+menuLink+"' id='menuLink_"+cMenus+"' class='sideMenu' target='"+menuTarget+"' onMouseOver='menuLinks_over("+cMenus+");' onMouseOut='menuLinks_out("+cMenus+");'>"+
										"<b>"+menuTitle+"</b></a></div>";
			else
				smDiv.innerHTML +=  "<div width=100% id='menuLinkDiv_"+cMenus+"'>"+
										"&nbsp;<img src='images/sideMenuLI.gif' align=absmiddle>&nbsp;&nbsp;"+
										"<a href='"+menuLink+"' id='menuLink_"+cMenus+"' class='sideMenu' target='"+menuTarget+"' onMouseOver='menuLinks_over("+cMenus+");' onMouseOut='menuLinks_out("+cMenus+");'>"+menuTitle+"</a></div>";
		}
		else
		{
			smDiv.innerHTML += "<div width=100% id='menuLinkDiv_"+cMenus+"' class='menu_subTitle'>"+
								"&nbsp;"+
								"<b>"+menuTitle+"</b>"+
								"</div>";
		}
		cMenus++;
	}
	else
		clearInterval(subMenu_int);
}

function checkContact2Sub(){
	if (document.contactForm.contact_fullName.value=="" ||
		document.contactForm.contact_email.value==""){
			showEmailError ("נא מלאו לפחות שם מלא וכתובת אימייל");
			if (document.contactForm.contact_fullName.value=="")
				document.contactForm.contact_fullName.focus();
			else
				document.contactForm.contact_email.focus();
			return false;
	 } else if (!checkEmail(document.contactForm.contact_email.value)){
	 	showEmailError ("כתובת המייל שהזנתם אינה תקנית");
	 	document.contactForm.contact_email.focus();
	 	return false;
	} else {
		showEmailError("נא המתינו בזמן שליחת בקשתכם לאתר...");
		formSubmit="";
		for (i=0; i<document.contactForm.elements.length; i++)
		{
			formSubmit+="&"+document.contactForm.elements[i].name+"="+document.contactForm.elements[i].value;
		}
		var url = "xmlSendContact2.php?checkPHP=true"+formSubmit;
		var xml = LoadXML(url);
		if(xml != null)
		{
			var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
			showEmailError(message);
			var response = xml.getElementsByTagName('reqStat')[0].firstChild.data;
			if (response)
				document.contactForm.reset();
		}
		return false;
	}
}

function domainSearch_select(selectText, unselectText)
{
	cb = document.getElementsByName("domainEndings[]");
	cbLength = cb.length;

	hrefText=document.getElementById("domainSelect");
	if (hrefText.innerText == selectText)
	{
		hrefText.innerText = unselectText;
		checkStat = true;
	}
	else if (hrefText.innerText == unselectText)
	{
		hrefText.innerText = selectText;
		checkStat = false;
	}
	for (i=0; i<cbLength; i++)
	{
		cb[i].checked = checkStat;
	}
}

function subWhoIs()
{
	cb = document.getElementsByName("domainEndings[]");
	cbLength = cb.length;
	for (i=0; i<cbLength; i++)
	{
		if (cb[i].checked)
		{
			document.whoisForm.whois_domain.value = replaceSubstring(document.whoisForm.whois_domain.value, cb[i].value, "");
			checkStat=true;
		}
	}
	if (document.whoisForm.whois_domain.value == "")
	{
		document.getElementById("whoisMessage").style.display="inline";
		document.getElementById("whoisMessage").innerHTML=cTpl_whoIs_noDomain;
		return false;
	}
	if (!checkStat)
	{
		document.getElementById("whoisMessage").style.display="inline";
		document.getElementById("whoisMessage").innerHTML=cTpl_whoIs_noSelection;
		return false;
	}
	else
	{
		document.getElementById("whoisMessage").style.display="inline";
		document.getElementById("whoisMessage").innerHTML=cTpl_whoIs_proccessing;
		document.getElementById("whoIsSubmit").style.display="none";
		return true;
	}
}

function showDomainInfo(divID, totalDivs, divType)
{
	cur_domainDiv = document.getElementById("domainInfo_"+divID).style.display;
	cur_ipDiv = document.getElementById("ipInfo_"+divID).style.display;
	for 	(i=0; i < totalDivs; i ++)
	{
		document.getElementById("domainInfo_"+i).style.display="none";
		document.getElementById("domainInfoHref_"+i).innerText=cTpl_showDomainInfo;
		document.getElementById("ipInfo_"+i).style.display="none";
		if (document.getElementById("ipInfoHref_"+i))
			document.getElementById("ipInfoHref_"+i).innerText=cTpl_showIpInfo;
	}
	if (cur_domainDiv == "none" && divType == 1)
	{
		document.getElementById("domainInfo_"+divID).style.display="inline";
		document.getElementById("domainInfoHref_"+divID).innerText=cTpl_hideDomainInfo;
	}
	else if (cur_ipDiv == "none" && divType == 2)
	{
		document.getElementById("ipInfo_"+divID).style.display="inline";
		if (document.getElementById("ipInfoHref_"+divID))
			document.getElementById("ipInfoHref_"+divID).innerText=cTpl_hideIpInfo;
	}
}

function subOrderForm_1()
{
	document.getElementById("orderForm_submit").style.display="none";
	document.getElementById("orderFormMessage").style.display="inline";
	document.getElementById("orderFormMessage").innerHTML=cTpl_proccessingOrder;
//	alert (document.orderForm.domainStatus[0].value);
	if (document.orderForm.domainName.value == "" && document.orderForm.domainStatus[2].checked!=true)
	{
		document.getElementById("orderFormMessage").style.display="inline";
		document.getElementById("orderFormMessage").innerHTML=cTpl_whoIs_noDomain;
		document.getElementById("orderForm_submit").style.display="inline";
		return false;
	}
	// check if domain is available if domain is set to purchase
	if (document.orderForm.domainStatus[0].checked)
	{
		var url = "xml_whoisCheck.php?domainName="+document.orderForm.domainName.value;
		var xml = LoadXML(url);
		if(xml != null)
		{
			var response = xml.getElementsByTagName('reqStat')[0].firstChild.data;
			if (response == 0)
			{
				document.getElementById("orderFormMessage").style.display="inline";
				document.getElementById("orderFormMessage").innerHTML=cTpl_domainUnavailable;
				document.getElementById("orderForm_submit").style.display="inline";
				return false;
			}
		}
	}
	return false;
}

function populate_selectProducts(catValue, prdValue)
{
	var url = "xml_getCatProducts.php?prdType="+catValue;
	var xml = LoadXML(url);
	if(xml != null)
	{
		var total_products = xml.getElementsByTagName('total_products')[0].firstChild.data;
		document.orderForm.pid.options.length=0;
		for (i=0; i<total_products;i++)
		{
			var option_value= xml.getElementsByTagName('id_'+i)[0].firstChild.data;
			var option_option= xml.getElementsByTagName('desc1_'+i)[0].firstChild.data;
			document.orderForm.pid[i] = new Option (option_option, option_value);
			if (prdValue != "" && prdValue == option_value) document.orderForm.pid.selectedIndex = i;
		}
	}
}

addons = new Array();
function updatePrice(productID, propName)
{
	var testnum="";
	var url = "xml_getProduct.php?pid="+productID;
	var xml = LoadXML(url);
	if(xml != null)
	{
		var productPrice= xml.getElementsByTagName('finalPrice')[0].firstChild.data;
		var curSign = ( xml.getElementsByTagName('curSign') &&
						xml.getElementsByTagName('curSign')[0] &&
						xml.getElementsByTagName('curSign')[0].firstChild &&
						xml.getElementsByTagName('curSign')[0].firstChild.data == "USD")?"$":"₪";
//		document.getElementById("priceCell_"+propName).innerText = productPrice+curSign;
		
		addons[propName] = productPrice;
			
		totalPrice = parseFloat(document.getElementById("totalPriceCell").className);
		if((addons['addons_operatingsystem'])>0)
		{
			totalPrice += parseFloat(addons['addons_operatingsystem']);
		}
		if((addons['addons_controlpanel'])>0)
		{
				totalPrice += parseFloat(addons['addons_controlpanel']);
		}
		if((addons['addons_mssqldatabase'])>0)
		{
			totalPrice += parseFloat(addons['addons_mssqldatabase']);
		}
		if((addons['addons_dedicatedssl'])>0)
		{
			totalPrice += parseFloat(addons['addons_dedicatedssl']);
		}
		if((addons['service_softwareservice'])>0)
		{
			totalPrice += parseFloat(addons['service_softwareservice']);
		}
		
		document.getElementById("totalPriceCell").innerHTML = "<span class=price_list>"+totalPrice+curSign+"</span>" ;
		
	}
}

function securePay_check(f)
{

	if (f.nocc.checked == true)
	{
		// PHONE ORDER
		checkForm = confirm (_reg_continue);
		if (checkForm)
		{
//			f.action = "http://www.playzone.co.il/playzone_regConfirm.php";
			return true;
		}
		else
			return false;
	}

	if (f.cctype.value == "")
	{
		alert(_alert_nocctype);
		f.cctype.focus();
		return false;
	}
	if(f.ccno.value == "" || !IsNumeric(f.ccno.value))
	{
		alert(_alert_noccnum);
		f.ccno.focus();
		return false;
	}

	if(f.cardHolder.value == "" )
	{
		alert(_alert_cardHolder);
		f.cardHolder.focus();
		return false;
	}
	if(f.myid.value == "" || !IsNumeric(f.myid.value))
	{
		alert(_alert_myid);
		f.myid.focus();
		return false;
	}

	if(!checkidnum(f.myid.value))
	{
		alert(_alert_myidInvalid);
		f.myid.focus();
		f.myid.select();
		return false;
	}

	if(f.expyear.value == "" || f.expmonth.value == "")
	{
		alert(_alert_noexpdate);
		f.expyear.focus();
		return false;
	}
	if(f.expyear.value != "" && f.expmonth.value != "")
	{
		if (!validateDate(f))
		{
			alert(_alert_ccExpire);
			f.expmonth.focus();
			return false;
		}
		else
		{
			f.expdate.value = f.expmonth.value + f.expyear.value;
		}
	}
	if(f.mycvv.value == "" || !IsNumeric(f.mycvv.value))
	{
		alert(_alert_mycvv);
		f.mycvv.focus();
		return false;
	}
	return confirm (_reg_continue);
}

function checkSub_purchaseInfo(f)
{
	if(f.firstName.value == "")
	{
		alert(_alert_firstName);
		f.firstName.focus();
		return false;
	}
	else if(f.lastName.value == "")
	{
		alert(_alert_lastName);
		f.lastName.focus();
		return false;
	}
	else if(f.phone.value == "")
	{
		alert(_alert_phone);
		f.phone.focus();
		return false;
	}
	else if(f.phone.value != "" && f.kidomet_phone.value == "")
	{
		alert(_alert_phone_kidomet);
		f.kidomet_phone.focus();
		return false;
	}
	else if(f.mobile.value != "" && f.kidomet_mobile.value == "")
	{
		alert(_alert_phone_kidomet);
		f.kidomet_mobile.focus();
		return false;
	}
	else if(f.email.value == "")
	{
		alert(_alert_email);
		f.email.focus();
		return false;
	}
	else if(f.email.value != "" && !checkEmail(f.email.value))
	{
		alert(_alert_email_err);
		f.email.focus();
		return false;
	}
	/*else if(f.city.value == "")
	{
		alert(_alert_city);
		f.city.focus();
		return false;
	}*/
	else if(f.address.value == "")
	{
		alert(_alert_address);
		f.address.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function purchaseCheck(f)
{
	check_info = checkSub_purchaseInfo(f);
	if (check_info)
	{
		if (f.readTerms.checked == false)
		{
			alert(_alert_readTerms);
			return false;
		}
		else
		{
			check_cc = securePay_check(f);
			return check_cc;
		}
	}

	return false;
}

function checkidnum(number_id)
{
	number_id = new String(number_id);
	var j = 1;
	var sumval = 0;
	if(number_id.length > 9)
	{
		return false;
	}
	while (number_id.length < 9)
	{
	      number_id="0"+number_id;
	}
	for(i = 0; i < 9; i++)
	{
		var desc = (i + 1)%2;
		desc = (desc) ? desc : 2;
		var cur_val = parseFloat(number_id.substr(i,1))*desc;
		if (cur_val > 9)
			cur_val = (cur_val%10) + 1;
		sumval = sumval + cur_val;
	}
	sumval = sumval%10
	if (sumval > 0)
	    return false;
	return true;
}

function validateDate(f)
{
	if (!IsNumeric(f.expyear.value) || !IsNumeric(f.expmonth.value))
		return false;

	var curYear = parseFloat(f.expyear.value);
	var curMonth = parseFloat(f.expmonth.value);

	if (curMonth < 1 || curMonth > 12)
		return false;

	theDate = new Date();
	var thisMonth = (theDate.getMonth())+1;
	var thisYear = theDate.getYear();
	if (thisYear > 2000)
		thisYear -= 2000;
	else if (thisYear > 100)
		thisYear -= 100;

	/// check year validation
	if (curYear < thisYear)
	{
		return false;
	}
	else if ((curMonth < thisMonth) && (thisYear == curYear))
	{
		return false;
	}
	return true;
}

function clearDef(curField, defValue)
{
	if (curField.value == defValue)
		curField.value = "";
}

function restoreDef(curField, defValue)
{
	if (curField.value == "")
		curField.value = defValue;
}

var ImageEffect = {
	over: function(img) {
		ImageEffect.toggle(img, true);
	},

	out: function(img) {
		ImageEffect.toggle(img, false);
	},

	toggle: function(img, over) {
		img.src = img.src.replace(/(_on|)(\.\w{3})$/, (over ? '_on' : '') + '$2');
	}
};

function popupWin(popUrl, width, height)
{
	if (!navigator.appName.indexOf("Microsoft")) width+=20;
	height+=5;
	topVar=((screen.height / 2)-(height/2));
	leftVar=((screen.width / 2)-(width/2));
	window.open(popUrl, "PopUp", "height="+height+", width="+width+", top="+topVar+", left="+leftVar+", scrollbars=yes, status=no, location=no, resize=yes, menubar=no, titlebar=no, toolbar=no");
}

function formvalid(curForm)
{
	if(curForm.fullname.value == "")
	{
		alert(_alert_fullname);
		curForm.fullname.focus();
		return false;
	}
	/*else if(curForm.phone.value == "")
	{
		alert(_alert_phone);
		curForm.phone.focus();
		return false;
	}*/
	else if(curForm.email.value == "")
	{
		alert(_alert_email);
		curForm.email.focus();
		return false;
	}
	else
		if (!checkEmail(curForm.email.value))
		{
			alert(_tpl_emailNotValid);
			curForm.email.focus();
			return false;
			
		}
	if (confirm(_confirm_sendForm))
	{
		return true;
	}
	else
	return false;
	
	return true;
}

function openframeparams()
{
	var cform=document.getElementById('orderForm');
	if(cform.ext_addons_operatingsystem)
	{
		var url = "xml_updateframe.php?prdType="+cform.prdType.value+"&pid="+cform.pid.value+"&ext_addons_operatingsystem="+cform.ext_addons_operatingsystem.value+"&ext_addons_controlpanel="+cform.ext_addons_controlpanel.value+"&ext_addons_mssqldatabase="+cform.ext_addons_mssqldatabase.value+"&ext_addons_dedicatedssl="+cform.ext_addons_dedicatedssl.value+"&ext_service_softwareservice="+cform.ext_service_softwareservice.value;
	}
	else
	{
		var url = "xml_updateframe.php?prdType="+cform.prdType.value+"&pid="+cform.pid.value;
	}
		xml = LoadXML(url);
		if(xml != null)
		{
			openFrame();
		}

}