// JavaScript Document
function showControlPanelError(strErrorText) {
	alert(strErrorText);
	if (document.getElementById("username")) {document.getElementById("username").focus();}
}

function replaceMainImage(strImageNumber) {
	if(document.getElementById("mainImage")) {
		document.getElementById("mainImage").src = "images/pagetop/pagetop" + strImageNumber + ".jpg";
	} else {
		mainImage.src = "images/pagetop/pagetop" + strImageNumber + ".jpg";
	}
}

function swapNavBarArrow(strArrowId,OnOff) {

	if(document.getElementById(strArrowId)) {
		var objArrow = document.getElementById(strArrowId);
	} else {
		var objArrow = eval("document." + strArrowId);
	}

	if(OnOff == 1) {
		objArrow.src = "images/arrowactive_16x16.jpg"
	} else {
		objArrow.src = "images/arrow_16x16.jpg"
	}
}

function show2dp(curAmount) {
	strZeros = "00"
	if (isNumeric(curAmount)==false)
		{
		if (curAmount != "") {alert("This value must be numeric.")}
		return "";
		}
	else
		{
		intLen = (curAmount + "").length;
		intPoint = (curAmount + "").indexOf(".");
		if (intPoint == -1)
			{
			return curAmount + ".00"	
			}
		else
			{
			curAmount = curAmount + strZeros.substring(intLen-intPoint-1)
			return (curAmount.substring(0,intPoint+3));		//Take two digits after decimal point
			}			
		}
	}


function isNumeric(strString)
{
   //  check for valid numeric strings
	var strValidChars = "0123456789.";
	var strChar;
	var blnResult1 = true;   
   
   if (strString == 0)
   {
   	return blnResult1;
   }

   if ((strString == "") || (strString == null))
   {   
		blnResult1 = false;
		return blnResult1;
	}	
   else
   {	
	for (i = 0; i < strString.length && blnResult1 == true; i++)
	   {
	   strChar = strString.charAt(i);
	   if (strValidChars.indexOf(strChar) == -1)
	      {
	      blnResult1 = false;
	      }
	   }
	return blnResult1;
   }
}


function splitPostcode(strPostcode)
{
strPostcode = strPostcode.toUpperCase()
if (strPostcode.length < 5)
	{return strPostcode}
intSpcPos = strPostcode.indexOf(" ")
if (intSpcPos > 0)
	{return strPostcode}

return strPostcode.substring(0,3) + " " + strPostcode.substring(3,strPostcode.length)
}


function isValidEMail(strEMail)
{
	if (strEMail.indexOf("@") == -1 | strEMail.indexOf(".") == -1 | strEMail.indexOf(" ") > -1)
	{
		return false	
	}
	else
	{
		return true
	}
}


//SET UP REQUIRED FIELDS FOR Domain Name Registration Form

var arrReqdFields = new Array();

arrReqdFields[1]="first_name";
arrReqdFields[2]="last_name";
arrReqdFields[3]="address1";
arrReqdFields[4]="city";
arrReqdFields[5]="county";
arrReqdFields[6]="zip";
arrReqdFields[7]="phone";
arrReqdFields[8]="email";
arrReqdFields[9]="confirmemail";
arrReqdFields[10]="heardaboutus";


function validateRegForm() {
	
	var intFirstError = 0;
	
	if(!document.getElementById("first_name")) {
		alert("Sorry, your browser does not currently support Domain Name Registration online\n\nPlease call us on 01604 832777 and we will be pleased to process the registration for you")
		return false;
	}


	resetRegFormLabels();
	for(ixField=1;ixField<=arrReqdFields.length-1;ixField++) {
		if (document.getElementById(arrReqdFields[ixField]).value=="") {
			document.getElementById("lbl_" + arrReqdFields[ixField]).className="registrationInputLabelMissing";
			document.getElementById(arrReqdFields[ixField]).className="registrationInfoMissing";
			if (!intFirstError) {intFirstError = ixField} 
		};
	}
	
	if (intFirstError) {
		document.getElementById(arrReqdFields[intFirstError]).focus();	
		alert("Please complete the highlighted fields.");
		return false;	
	}
	
	if (isValidEMail(document.getElementById("email").value)==false) {
		document.getElementById("lbl_email").className="registrationInputLabelMissing";
		document.getElementById("email").className="registrationInfoMissing";
		document.getElementById("email").focus();
		alert("Please enter a VALID e-mail address")
		return false;		
	}

	if(document.getElementById("email").value != document.getElementById("confirmemail").value) {
		document.getElementById("lbl_email").className="registrationInputLabelMissing";
		document.getElementById("lbl_confirmemail").className="registrationInputLabelMissing";
		document.getElementById("email").className="registrationInfoMissing";
		document.getElementById("confirmemail").className="registrationInfoMissing";
		document.getElementById("email").focus();
		alert("Your e-mail addresses do not match");
		return false;		
	}
	return true;	
	
	
	
}


function resetRegFormLabels() {	
	for(ixLabel=1;ixLabel<=arrReqdFields.length-1;ixLabel++) {
		//alert(arrReqdFields[ixLabel]);
		document.getElementById("lbl_" + arrReqdFields[ixLabel]).className="registrationInputLabel";
		document.getElementById(arrReqdFields[ixLabel]).className="registrationInfo";		
	}	
}

//SET UP REQUIRED FIELDS FOR PAYMENT PAGE

function updateInvoiceNumber(invNum) {
	if (invNum == "") {
		strInvNum="";
	} else if (isNumeric(invNum)) {
		strInvNum = "Invoice " + "00000".substr(invNum.length) + invNum;
	} else {
		strInvNum = invNum;
	}

	if (document.getElementById("item_name_1")) {
		document.getElementById("item_name_1").value = strInvNum
		document.getElementById("invoicenumber").value = strInvNum
	} else {
		document.item_name_1.value = strInvNum
		document.invoicenumber.value = strInvNum
	}

	//For WorldPay
	if (document.getElementById("MC_RelatesTo")) {
		document.getElementById("MC_RelatesTo").value = strInvNum
	}	

	if (document.getElementById("cartId")) {
		var randomNum = new Date();
		document.getElementById("cartId").value = strInvNum + "_" + randomNum.getTime() ;
		document.getElementById("desc").value = strInvNum;
	}
	
	
}

var arrReqdFields_Pmt = new Array()

//arrReqdFields_Pmt[1]="first_name";
//arrReqdFields_Pmt[2]="last_name";
arrReqdFields_Pmt[1]="os0_1";	//Company Name
arrReqdFields_Pmt[2]="invoicenumber";
arrReqdFields_Pmt[3]="amount_1";

function validateMakePayment() {
	var intFirstError = 0;

	if(!document.getElementById("invoicenumber")) {
		alert("Sorry, your browser does not currently support Payments Online\n\nPlease call us on 01604 832777 for advice")
		return false;
	}


	resetPaymentFormLabels();
	for(ixField=1;ixField<=arrReqdFields_Pmt.length-1;ixField++) {
		if (document.getElementById(arrReqdFields_Pmt[ixField]).value=="") {
			document.getElementById("lbl_" + arrReqdFields_Pmt[ixField]).className="registrationInputLabelMissing";
			document.getElementById(arrReqdFields_Pmt[ixField]).className="registrationInfoMissing";
			if (!intFirstError) {intFirstError = ixField} 
		};
	}

	if (intFirstError) {
		document.getElementById(arrReqdFields_Pmt[intFirstError]).focus();	
		alert("Please complete the highlighted fields.");
		return false;	
	}

	/*
	if (isNumeric(document.getElementById("invoicenumber").value) == false) {
		document.getElementById("lbl_invoicenumber").className="registrationInputLabelMissing";
		document.getElementById("invoicenumber").className="registrationInfoMissing";
		alert("Please enter a numeric value for the Invoice Number")
		document.getElementById("invoicenumber").focus()
		return false
	}
	*/

	if (isNumeric(document.getElementById("amount_1").value) == false) {
		document.getElementById("lbl_amount_1").className="registrationInputLabelMissing";
		document.getElementById("amount_1").className="registrationInfoMissing";
		alert("Please enter a numeric value for the amount to be paid")
		document.getElementById("amount_1").focus()
		return false
	}
}

function resetPaymentFormLabels() {	
	for(ixLabel=1;ixLabel<=arrReqdFields_Pmt.length-1;ixLabel++) {
		//alert(arrReqdFields_Pmt[ixLabel]);
		document.getElementById("lbl_" + arrReqdFields_Pmt[ixLabel]).className="registrationInputLabel";
		document.getElementById(arrReqdFields_Pmt[ixLabel]).className="registrationInfo";		
	}	
}

function validateEnquiry()	{
	if (document.getElementById("frmEnquiry")) {
		var frmE = document.getElementById("frmEnquiry");
	} else {

	}

	if(frmE.yourname.value == "") 	{
		alert("Please enter your name")
		frmE.yourname.focus();
		return false;
	}

	if(frmE.email.value=="" && frmE.phone.value=="") {
		alert("Please provide us with either a contact e-mail address or a contact telephone number")
		frmE.email.focus()
		return false;
	}

	if(frmE.email.value!="") {
		if (isValidEMail(frmE.email.value)==false) {
			alert("Please check your e-mail address as it does not appear to be valid");
			frmE.email.focus();
			return false;
		}
	}

	if(frmE.enquiry.value=="") {
		alert("Please give us details of your enquiry");
		frmE.enquiry.focus();
		return false;
	}

	return true;
}


function checkDomainNameSelected() {
	numAvail=0;
	
	//frm = document.getElementById("frmRegisterDomain");
	frm = document.forms["frmRegisterDomain"];
	if(frm.extension) {	//Only available if at least one name can be registered
		if(frm.extension.length) {	//Only available if MORE than one name can be registered
			numAvail = frm.extension.length
		} else {
			if(frm.extension.value) {numAvail = 1;}
		}
	}

	if (numAvail == 1) {
		if(frm.extension.checked) {
			return true;
		} else {
			alert("Please tick the box to register the domain name.");
			return false;
		}
	} else if (numAvail>1) {
		for (ixExt=0;ixExt<numAvail;ixExt++) {
			if(frm.extension[ixExt].checked) {return true;}
		}
	
		alert("Please select at least one domain name to be registered")
	} else {
		alert("Sorry, all of the above domain names have already been registered")
	}
	return false;
}
