/*Remove Spaces From a Text Field */
	function removeSpaces(str) {
		return str.split(' ').join('');
	}
/* Convert Capital Letters to Lower Case */
	function makeLowercase(str) {
		return str.toLowerCase();
	}
/* Remove special characters from a string except - */
	function clearText(str) {
		//re = /\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$|\./g;
		//return str.replace(re, "");
		return str.replace(/[^a-z0-9-]+/g,'');
	}
/* Remove special characters from a string */
	function numText(str) {
		return str.replace(/[^a-z0-9]+/g,'');
	}

/* limit value */
function limiter(str, limit){
	var len = str.length;
	if(len > limit){
		str = str.substring(0, limit);
		return str;
	}
	//document.myform.limit.value = count-len;
}

/*Valid Domain Name */
function validDomainName(str){
	str = makeLowercase(str);
	str = clearText(str);
	//str = limiter(str, 63);
	//str = removeSpaces(str);
	return str;
}

/*Valid Domain Name */
function validUserName(str){
	str = makeLowercase(str);
	str = numText(str);
	//str = limiter(str, 8);
	return str;
}

/* Validate package selection */
function selectOption(frm)
{
	document.getElementById('errPackage').innerHTML = "";
	var inputs = frm.getElementsByTagName("input");
	var option = 0;
    for (var i=0; i < inputs.length; i++) {
		var obj = inputs[i];
		if ((obj.type == "radio") && (obj.checked == true) ){
			option++;
        }
    }

	if(option==0)
	{
		document.getElementById('errPackage').innerHTML = "Please select package of your choice";
		return false;
	}
	return true;
}

/*State/Province toggle*/
function spChoice(val)
{
	document.getElementById('choiceProvince').style.display = 'none';
	document.getElementById('choiceState').style.display = 'none';

	if(val=='P')
		document.getElementById('choiceProvince').style.display = '';
	else if(val=='S')
		document.getElementById('choiceState').style.display = '';
}

/* Validate email address */
function emailValidate(email)
{
	if(email != ''){
	  if(window.RegExp) {
	  
	  /* var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	  if(reg.test(email) == false) {
		 alert('Invalid Email Address');
		 document.getElementById(id_array[i]).focus();
		 return false;
	  } */
	  
		re = new RegExp("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\-]+\.[a-zA-Z]{2,4}$")
		if(!re.test(email)) {
				return true;
			}
		}
	}
	return false;
}

/* Validate int value */
function intValidate(intValue)
{
	if(intValue != ''){
	  if(window.RegExp) {
		re = new RegExp("^[0-9]+$")
		if(!re.test(intValue)) {
			msg_div.innerHTML = msg;
			return true;
		}
	  }
	} 
	return false;
}

/* Validate radio selection */
function radioValidate(rbtn, msg, msg_div)
{
	alert(rbtn + msg + msg_div + check);
	msg_div.innerHTML = "";
	var check = 0;
	
	for(var i=0; i < rbtn.length; i++) {
		if (rbtn[i].checked) {
			check++;
		}
	}
	if(check == 0){
		msg_div.innerHTML = msg;
		return true;
	}
	return false;
}

/* Validate empty fields */
function emptyValidate(fld, msg, msg_div)
{
	msg_div.innerHTML = "";
	if(fld.value.length == 0 || fld.value == ""){
		msg_div.innerHTML = msg;
		fld.focus();
		return true;
	}
	return false;
}

/* Validate same fields */
function sameFieldValidate(fld1, fld2, msg, msg_div)
{
	msg_div.innerHTML = "";
	if(fld1.value != fld2.value){
		msg_div.innerHTML = msg;
		fld2.focus();
		return true;
	}
	return false;
}

/* Validate customer info form */
function formValidate(frm)
{
	var errusername = document.getElementById('errusername');
	var errpwd = document.getElementById('errpwd');
	var errcpwd = document.getElementById('errcpwd');
	var errfname = document.getElementById('errfname');
	var errlname = document.getElementById('errlname');
	var erraddr1 = document.getElementById('erraddr1');
	var errcity = document.getElementById('errcity');
	var errpostalCode = document.getElementById('errpostalCode');
	var errcountry = document.getElementById('errcountry');
	var erremail = document.getElementById('erremail');
	var errphone = document.getElementById('errphone');
	var errstate = document.getElementById('errstate');
	var errprovince = document.getElementById('errprovince');
	
	if(frm.NexusCategory){
		var errrNexusCategory = document.getElementById('errrNexusCategory');
		var errAppPurpose = document.getElementById('errAppPurpose');
	}
	if(frm.uk_legal_type){
		var erruk_legal_type = document.getElementById('erruk_legal_type');
		var erruk_reg_co_no = document.getElementById('erruk_reg_co_no');
		var errregistered_for = document.getElementById('errregistered_for');
	}
	if(frm.cira_legal_type){
		var errcira_legal_type = document.getElementById('errcira_legal_type');
	}
	
	
	errstate.innerHTML = '';
	errprovince.innerHTML = '';
	errcountry.innerHTML = '';
	erremail.innerHTML = '';
	errusername.innerHTML = '';
	errpwd.innerHTML = '';

	if(emptyValidate(frm.username, " Please enter username", errusername))
		return false;
	if(frm.username.value.length < 6 || frm.username.value.length > 14){
		errusername.innerHTML = " <br /> Please enter username <br /> - min 6, max 14 characters, <br /> - first character must be latter";
		frm.username.focus();
		return false;
	}
	if(emptyValidate(frm.pwd, " Please enter password", errpwd))
		return false;
	if(frm.pwd.value.length < 6 || frm.pwd.value.length > 14){
		errpwd.innerHTML = " <br /> Please enter password <br /> - min 6, max 14 characters, <br /> - first character must be latter, <br /> - must have one charater in Capital";
		frm.pwd.focus();
		return false;
	}
	if(emptyValidate(frm.cpwd, " Please confirm password", errcpwd))
		return false;
	if(sameFieldValidate(frm.pwd, frm.cpwd, " Password do not match", errcpwd))
		return false;
	if(emptyValidate(frm.fname, " Please enter first name", errfname))
		return false;
	if(emptyValidate(frm.lname, " Please enter last name", errlname))
		return false;
	if(emptyValidate(frm.addr1, " Please enter address", erraddr1))
		return false;
	if(emptyValidate(frm.city, " Please enter city", errcity))
		return false;
	if(document.getElementById('rbtnstate').checked)	{
		if(frm.state.value=="") {
			errstate.innerHTML = " Please enter state";
			frm.state.focus();
			return false;
		}
	}
	if(document.getElementById('rbtnprovince').checked)	{
		if(frm.province.value=="") {
			errprovince.innerHTML = " Please enter province";
			frm.province.focus();
			return false;
		}
	}
	if(emptyValidate(frm.postalCode, " Please enter postal code", errpostalCode))
		return false;
	if(frm.country.selectedIndex==0) {
		errcountry.innerHTML = " Please select country";
		frm.country.focus();
		return false;
	}
	if(emptyValidate(frm.email, " Please enter email", erremail))
		return false;
	/* if(emailValidate(frm.email, " Please enter valid email", erremail))		
		return false; */
	if(emailValidate(frm.email.value)) {
		erremail.innerHTML = " Please enter valid email";
		frm.email.focus();
		return false;
	}
	if(emptyValidate(frm.phone, " Please enter phone number", errphone))
		return false;

	/* Other validations*/
	/* .us */
	if(frm.NexusCategory){
		if(radioValidate(frm.NexusCategory, " Please select Nexus Category", errNexusCategory))
			return false;
		if(radioValidate(frm.AppPurpose, " Please select Application Purpose", errAppPurpose))
			return false;
	}
	/* .uk */
	if(frm.uk_legal_type){
		if(radioValidate(frm.uk_legal_type, " Please select Legal Type", erruk_legal_type))
			return false;
		if(emptyValidate(frm.uk_reg_co_no, " Please enter Company identification number", erruk_reg_co_no))
			return false;
		if(emptyValidate(frm.registered_for, " Please enter Name of the Registrant", errregistered_for))
			return false;
	}
	/* .ca */
	if(frm.cira_legal_type) {
		if(radioValidate(frm.cira_legal_type, " Please select Legal Type", errcira_legal_type))
			return false;
	}
	return true;
}
/* Validate customer login */
function formLoginValidate(frm)
{
	var errUID = document.getElementById('errUID');
	var errPWD = document.getElementById('errPWD');
		
	if(frm.NexusCategory){
		var errrNexusCategory = document.getElementById('errrNexusCategory');
		var errAppPurpose = document.getElementById('errAppPurpose');
	}
	if(frm.uk_legal_type){
		var erruk_legal_type = document.getElementById('erruk_legal_type');
		var erruk_reg_co_no = document.getElementById('erruk_reg_co_no');
		var errregistered_for = document.getElementById('errregistered_for');
	}
	if(frm.cira_legal_type){
		var errcira_legal_type = document.getElementById('errcira_legal_type');
	}
	
	if(emptyValidate(frm.user, " Please enter username", errUID))
		return false;
	if(emptyValidate(frm.passwd, " Please enter password", errPWD))
		return false;
	
	/* Other validations*/
	/* .us */
	if(frm.NexusCategory){
		if(radioValidate(frm.NexusCategory, " Please select Nexus Category", errNexusCategory))
			return false;
		if(radioValidate(frm.AppPurpose, " Please select Application Purpose", errAppPurpose))
			return false;
	}
	/* .uk */
	if(frm.uk_legal_type){
		if(radioValidate(frm.uk_legal_type, " Please select Legal Type", erruk_legal_type))
			return false;
		if(emptyValidate(frm.uk_reg_co_no, " Please enter Company identification number", erruk_reg_co_no))
			return false;
		if(emptyValidate(frm.registered_for, " Please enter Name of the Registrant", errregistered_for))
			return false;
	}
	/* .ca */
	if(frm.cira_legal_type) {
		if(radioValidate(frm.cira_legal_type, " Please select Legal Type", errcira_legal_type))
			return false;
	}
	return true;
}