var emailReg = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

function trim(str) {
	str = str.replace(/^\s+/, '');
	for ( var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

function checkFields() {

	if (trim(document.getElementById("contactName").value) == "") {
		alert("Please enter your name.");
		document.getElementById("contactName").focus();
		return false;
	}

	var strEmail = trim(document.getElementById("contactEmail").value);

	if (strEmail.length > 0) {
		if (!(strEmail.match(emailReg))) {
			alert("Invalid Email address");
			document.getElementById("contactEmail").focus();
			return false;
		}
	} else {
		alert("Please enter an email address");
		document.getElementById("contactEmail").focus();
		return false;
	}

	if (trim(document.getElementById("telephone").value) == "") {
		alert("Please enter your phone number.");
		document.getElementById("telephone").focus();
		return false;
	}
	return true;
}

function VerificationChecker() {
	if (!checkFields()) {
		return false;
	}
	if (document.webSiteProPromotion.word.value == '') {
		alert('You must fill in the verification code');
		document.webSiteProPromotion.word.focus();
		return false;
	}
	document.getElementById("sendEnquiry").value = "yes";
	return true;

}

function getRadioValue(radioGroupName) {
    radios = document.getElementsByName(radioGroupName);
    
    for (i = 0; i < radios.length; i++) {
        if (radios[i].checked) 
        	{
        		return radios[i].value;
        	}
    }
    
    return false;
}


function checkOrderFields() {

	if (trim(document.getElementById("legalEntity").value) == "") {
		alert("Please enter Legal Entity.");
		document.getElementById("legalEntity").focus();
		return false;
	}

	if (trim(document.getElementById("businessNo").value) == "") {
		alert("Please enter ACN/ABN/ARBN.");
		document.getElementById("businessNo").focus();
		return false;
	}

	if (trim(document.getElementById("addrLine1").value) == "") {
		alert("Please enter Street for Mailing Address");
		document.getElementById("addrLine1").focus();
		return false;
	}

	if (trim(document.getElementById("suburb").value) == "") {
		alert("Please enter Suburb/City for Mailing Address");
		document.getElementById("suburb").focus();
		return false;
	}

	if (trim(document.getElementById("state").value) == "") {
		alert("Please enter State for Mailing Address");
		document.getElementById("state").focus();
		return false;
	}

	if (trim(document.getElementById("postCode").value) == "") {
		alert("Please enter Postcode for Mailing Address");
		document.getElementById("postCode").focus();
		return false;
	}

	var strEmail = trim(document.getElementById("billEmail").value);

	if (strEmail.length > 0) {
		if (!(strEmail.match(emailReg))) {
			alert("Invalid Email address for Billing Email");
			document.getElementById("billEmail").focus();
			return false;
		}
	} else {
		alert("Please enter an Email address for Billing Email");
		document.getElementById("billEmail").focus();
		return false;
	}

	if (trim(document.getElementById("authFirstName").value) == "") {
		alert("Please enter a First Name for Authorised Person or Company Officer");
		document.getElementById("authFirstName").focus();
		return false;
	}

	if (trim(document.getElementById("authLastName").value) == "") {
		alert("Please enter a Last Name for Authorised Person or Company Officer");
		document.getElementById("authLastName").focus();
		return false;
	}

	if (trim(document.getElementById("authTelephone").value) == "") {
		alert("Please enter a Telephone for Authorised Person or Company Officer");
		document.getElementById("authTelephone").focus();
		return false;
	}

	if (trim(document.getElementById("authTelephone").value) == "") {
		alert("Please enter a Telephone for Authorised Person or Company Officer");
		document.getElementById("authTelephone").focus();
		return false;
	}

	strEmail = trim(document.getElementById("authEmail").value);

	if (strEmail.length > 0) {
		if (!(strEmail.match(emailReg))) {
			alert("Invalid Email for Authorised Person or Company Officer");
			document.getElementById("authEmail").focus();
			return false;
		}
	} else {
		alert("Please enter an Email for Authorised Person or Company Officer");
		document.getElementById("authEmail").focus();
		return false;
	}

	
	strEmail = trim(document.getElementById("contactEmail").value);
	if (strEmail.length > 0) {
		if (!(strEmail.match(emailReg))) {
			alert("Invalid Email for Contact Person");
			document.getElementById("contactEmail").focus();
			return false;
		}
	}
	
	if (trim(document.getElementById("registrant").value) == "") {
		alert("Please enter a Registrant");
		document.getElementById("registrant").focus();
		return false;
	}
	
	if (getRadioValue("entityType") == "") {
		alert("Please select a Registrant Entity Type");
		document.getElementById("entityType").focus();
		return false;
	}
	
	if (trim(document.getElementById("domainName").value) == "") {
		alert("Please enter a Domain Name");
		document.getElementById("domainName").focus();
		return false;
	}
	
	if (getRadioValue("selectedPackage") == "") {
		alert("Please select a package");
		document.getElementById("selectedPackage").focus();
		return false;
	}
	
	if (!(document.getElementById("declaration").checked)) {
		alert("Please confirm your declaration");
		document.getElementById("declaration").focus();
		return false;
	}
	
	return true;
}


function VerificationCheckerForOrder() {
	if (!checkOrderFields()) {
		return false;
	}
	if (document.webSiteProOrder.word.value == '') {
		alert('You must fill in the verification code');
		document.webSiteProOrder.word.focus();
		return false;
	}
	document.getElementById("sendOrder").value = "yes";
	return true;

}
