var xmlHttp
var xmlHttpWhois
var xmlHttpAddon

function bodyonLoad()
{
        statusDivJS = document.getElementById("statusDiv");
        isAvailableDivJS = document.getElementById("isAvailableDiv");
        domainInput =  document.getElementById("domain_name");
        extensionInput =  document.getElementById("domain_ext");
        whatDomainDivJS = document.getElementById("whatDomainDiv");
        assignDomainDivJS = document.getElementById("assignDomainDiv");
        isLoaded = true;
        setInterval("checkForChange()",intervalToCheckForChange);

	showHidePaymentCycles();
	showHidePlans(get_payment_cycle_value());
	showHideAddons();
}

function validate_required(field,alerttxt)
{
	with (field)
	{
	if (value==null||value=="")
	{
		alert(alerttxt);
		field.focus();
		return false
	}
	else {return true}
	}
}

function validate_digit(field, alerttxt)
{
	var numericExpression = /^[0-9]+$/;
	if(field.value.match(numericExpression) || (field.value == "")){
		return true;
	}else {
		alert(alerttxt);
		field.focus();
		return false;
	}
}

function validate_digit_required(field, alerttxt)
{
	var numericExpression = /^[0-9]+$/;
	if(field.value.match(numericExpression)){
		return true;
	}else {
		alert(alerttxt);
		field.focus();
		return false;
	}
}

function validate_email(email_field, alerttxt) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   with (email_field)
   {
   if(reg.test(value) == false) {
	alert(alerttxt);
	email_field.focus();
	return false;
   }
   else {return true}
   }
}

function validate_domain(alerttxt) {

	statustxt = document.getElementById("statusDiv").innerHTML;
	rExp = /invalid/i;
	if (statustxt.search(rExp)  > 0)
	{
		alert(alerttxt);
		return false
	}
	return true;
}

function validate_domain_available(alerttxt) {
	var availtxt = document.getElementById("isAvailableDiv").innerHTML;
	rExp = /unavailable/i;

	if (document.getElementById("domain_ext").value == "org")
	{return true;}
	if (availtxt.search(rExp) > 0)
	{
		alert(alerttxt);
		return false
	}

	return true;

}

function enableField(fieldname)
{
	 document.getElementById(fieldname).disabled = false
}


function addonToStr()
{
   var str = '';
   var elem = document.getElementById('orderform').elements;
   rExp = /addon_*/
   for(var i = 0; i < elem.length; i++)
   {
	elemname =  elem[i].name
	if (elemname.match(rExp) && elem[i].checked)
      	{
		str = str + elem[i].value
		elemmulti = elemname.replace(/addon_/,"ao_multi_")
		if (document.getElementById(elemmulti) != null )
		{

			if (validate_digit_required(document.getElementById(elemmulti), JS_ADDON_NUMBER))
			{
				str = str + "^" + document.getElementById(elemmulti).value 
			}
		}
		str = str + ":"
	}
   }
   return str;
}

function hideAllAddon()
{
   var elem = document.getElementById('orderform').elements;
   rExp = /addon_*/
   for(var i = 0; i < elem.length; i++)
   {
        elemname =  elem[i].name
        if (elemname.match(rExp))
	{
		labelname = "label_" + elem[i].value
		elem[i].checked = false;
		document.getElementById(labelname).style.display="none"
	}
   }
}

function get_domaintype_value()
{
   for (var i=0; i < document.orderform.domaintype.length; i++)
   {
   if (document.orderform.domaintype[i].checked)
      {
      	return document.orderform.domaintype[i].value;
      }
   }
   return -1;
}

function get_payment_cycle_value()
{
   if (isNaN(document.orderform.payment_cycle.length))
   {
        return document.orderform.payment_cycle.value;
   }

   for (var i=0; i < document.orderform.payment_cycle.length; i++)
   {
   if (document.orderform.payment_cycle[i].checked)
      {
      	return document.orderform.payment_cycle[i].value;
      }
   }
   return -1;
}

function get_payment_method_value()
{

   for (var i=0; i < document.orderform.payment.length; i++)
   {
   if (document.orderform.payment[i].checked)
      {
      	return document.orderform.payment[i].value;
      }
   }
   return -1;
}

function getaddon(plantype,serviceplan)
{
	xmlHttpAddon=GetXmlHttpObject()
	if (xmlHttpAddon==null)
	{
	//alert ("Browser does not support HTTP Request")
	return
	}
	var url="../../order/query/getaddon.php"
	url=url+"?plantype="+plantype
	url=url+"&serviceplan="+serviceplan
	xmlHttpAddon.onreadystatechange=stateChangedDisplayAddon
	xmlHttpAddon.open("GET",url,true)
	xmlHttpAddon.send(null)
}

function showHideDomain(domaintype)
{
	if (domaintype == "regdomain") 
	{
		document.getElementById("txtBoxDomainName").style.display = "inline";
		document.getElementById("txtBoxDomainExt").style.display = "inline";
		document.getElementById("txtBoxDomainYear").style.display = "inline";
			
		document.getElementById("statusDiv").style.display = "inline";
		document.getElementById("whatDomainDiv").style.display = "inline";
		document.getElementById("isAvailableDiv").style.display = "inline";
		document.getElementById("assignDomainDiv").style.display = "none";
		
		document.getElementById("domain_name").className="standardInputSmall";
		document.getElementById("domain_name").size="20";
		document.getElementById("domain_name").value="";
		document.getElementById("domain_ext").value="com";
		document.getElementById("domain_year").value="1";
		document.getElementById("statusDiv").innerHTML = "";
		document.getElementById("whatDomainDiv").innerHTML = "";
		document.getElementById("isAvailableDiv").innerHTML = "";

	}
	else if ((domaintype== "trandomain")||(domaintype == "owndomain"))
	{
		document.getElementById("txtBoxDomainName").style.display = "inline";
		document.getElementById("txtBoxDomainExt").style.display = "none";
		document.getElementById("txtBoxDomainYear").style.display = "none";
		document.getElementById("statusDiv").style.display = "none";
		document.getElementById("whatDomainDiv").style.display = "none";
		document.getElementById("isAvailableDiv").style.display = "none";
		document.getElementById("assignDomainDiv").style.display = "none";
		document.getElementById("domain_name").className="standardInput";
		document.getElementById("domain_name").size="30";
		document.getElementById("domain_name").value="";
		document.getElementById("domain_ext").value="";
		document.getElementById("domain_year").value="";
	}
	else if (domaintype == "subdomain")
	{
		document.getElementById("txtBoxDomainName").style.display = "none";
		document.getElementById("txtBoxDomainExt").style.display = "none";
		document.getElementById("txtBoxDomainYear").style.display = "none";
		document.getElementById("statusDiv").style.display = "none";
		document.getElementById("whatDomainDiv").style.display = "none";
		document.getElementById("isAvailableDiv").style.display = "none";
		document.getElementById("assignDomainDiv").style.display = "inline";
	}
	
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("txtPrice").innerHTML=xmlHttp.responseText 
	} 
}

function stateChangedDisplayAddon()
{
	if (xmlHttpAddon.readyState==4 || xmlHttpAddon.readyState=="complete")
	{ 
		addonStr = xmlHttpAddon.responseText
		addonarr = addonStr.split(":");
                for(var i = 0; i < addonarr.length; i++)
                {
			addondata =  addonarr[i];
			if (addondata != "")
			{
				//check for multiplier and price override for addon in format of addon@48^addonmultiplier
				addondataarr = addondata.split("^");
				addonnamearr = addondataarr[0].split("@"); 
				
				if (addondataarr.length > 1) // there is addon multiplier
				{
					document.getElementById("divmulti_"+addonnamearr[0]).style.display = "inline";
					document.getElementById("label_"+addonnamearr[0]).style.display = "inline";
				}
				else 
				{
					document.getElementById("label_"+addonnamearr[0]).style.display = "inline";
				}
			}
		
		}
	} 
}

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
	objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
	objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

