/*
'NAME:										jscript/AddEditUser.js
'VERSION:							1.1
'VERSIONED:
'APPLICATION:			First Report main site
'LANGUAGE:						JavaScript
'FOR:											First Report Ltd
'CREATED:
'COPYRIGHT						yMonda Ltd
'AUTHORS:
'RETURN CODE:
' ***************************************************************
' DESCRIPTION and NOTES
'Validation functios For Admin Interface
' ***************************************************************
'REVISION HISTORY
'2005-06-23 VS replaced code to validate fields with regex
'2005-08-05 WHC replaced uk with GB and allowed blank postcode for non GB addresses
'2005-09-22 VS added JS code to validate Useer First Name to see if no Mr,Mrs,Dr,Ms were entered
'2005-09-26 VS added JS to validate AffiliateURL if Exists
'2005-11-17 VS added JS to validate OrgName
'*/ 

var p_bSubmit = 0;
var counter = 0;
var Emails = "";

function ValidateForm(objForm){
	with (objForm){
		if (Honorific.value == ""){
				alert("Please select your Title.");
				Honorific.focus();
				return (false);
		}

		if (!goodGivenName(GivenName, "Please enter a valid First Name")){
			return (false);
		}

		if ((GivenName.value.toUpperCase() == "DR") ||(GivenName.value.toUpperCase() == "MR")||(GivenName.value.toUpperCase() == "MS")||(GivenName.value.toUpperCase() == "MRS")){
			alert("Please enter a valid First Name");
			GivenName.focus();
			return (false);
		}

		if (!goodFamilyName(FamilyName, "Please enter a valid Surname")){
			return (false);
		}

		if (Position.value == ""){
			alert("Please select value for 'Position:' field");
			Position.focus();
			return (false);
		}

		if ((OrgName.value.indexOf(' ') != -1) && (OrgName.value.length <= 3)){
			alert("Full company name is required");
			OrgName.focus();
			return (false);
		}

		if (!goodOrgName(OrgName, "Full company name is required")){
			return (false);
		}

		if ("undefined" != typeof(AffiliateURL)){
				if (AffiliateURL.value == ""){
					alert("Please enter a value  for Affiliate URL field");
					AffiliateURL.focus();
					return (false);
				}
		}

		if (!goodAddress(Street, "Please enter a valid Address line1")){
			return (false);
		}

		if (!goodTownCounty(PostTown, "Please enter a valid Town/City/Area")){
			return (false);
		}

		 if (Country.value =="GB") {
			if (!goodUKPostCode(PostCode, "Please enter a valid PostCode")){
				return (false);
			}
		 }

		if ((PostCode.value == "") && (Country.value =="GB")){
			alert("Postcode value is Empty");
			PostCode.focus();
			return (false);
		}

		if (!goodEmailAddress(Email, "Please enter a Valid E-mail address")){
			return (false);
		}

		 if (Country.value =="GB"){
			if (!goodTel(Telephone, "Please enter a valid Telephone number")){
				return (false);
			}
		}

		if (Mobile.value != ""){
			if (!goodMobile(Mobile, "Please enter a value for the \"Mobile Telephone\" field.")){
				return (false);
			}
		}

		if (Fax.value != ""){
			if (!goodTel(Fax, "Please enter a valid Fax number")){
				return (false);
			}
		}

		//if ("undefined" != typeof(AffiliateURL)) {}
		//else{
		//	if (CheckCreditsIfSelected(objForm) == false){
		//		return false;
		//	}
		//}

		if (agree.checked == false){
			alert("You must have read and agreed to the Terms and Conditions.");
			return (false);
		}
	}

	counter++;
	if(counter > 1){
		if(counter > 2) { return false; }
		alert('Page is processing, please wait...\n\n' + 
		'One click is sufficient.\n\n' +
		'Thank you for your patience.');
		return false;
	}
}

function CheckCreditsIfSelected(thisform) {
	myOption = -1;
	for (i=0; i< thisform.length; i++){
		var e = thisform.elements[i] ;
		if ((e.checked) && (e.type == "radio")){
				myOption = i;
		}
	}

	if (myOption == -1){
		alert("You need to select some Credits for your account");
		return false;
	}else{
		return true;
	}
}

function DoPrefillDetails(){
	if (frmUserDetails.PrefillDetails.checked){
		if ( (frmUserDetails.Position.value != "Credit Controller")&&(frmUserDetails.Position.value != "Other Administration") ){
			frmUserDetails.SeniorDirectorHonorific.value = frmUserDetails.Honorific.value;
			frmUserDetails.SeniorDirectorGivenName.value = frmUserDetails.GivenName.value;
			frmUserDetails.SeniorDirectorFamilyName.value = frmUserDetails.FamilyName.value;
		}else{
			alert('Same as Primary Contact cannot be selected if you are Credit Controller or Other Administration')
			frmUserDetails.PrefillDetails.checked = false
		}
	}else{
		frmUserDetails.SeniorDirectorHonorific.value = "";
		frmUserDetails.SeniorDirectorGivenName.value = "";
		frmUserDetails.SeniorDirectorFamilyName.value = "";
	}
}

function ValidatePosition(){
	if ((frmUserDetails.Position.value == "Credit Controller")||(frmUserDetails.Position.value == "Other Administration")){
		frmUserDetails.PrefillDetails.style.backgroundColor = 'gray';
		frmUserDetails.SeniorDirectorHonorific.value = "";
		frmUserDetails.SeniorDirectorGivenName.value = "";
		frmUserDetails.SeniorDirectorFamilyName.value = "";
		frmUserDetails.PrefillDetails.checked = false;
		frmUserDetails.PrefillDetails.disabled=true;
	}else{
		frmUserDetails.PrefillDetails.disabled=false;
		frmUserDetails.PrefillDetails.style.backgroundColor = 'white';
		frmUserDetails.SeniorDirectorHonorific.value = "";
		frmUserDetails.SeniorDirectorGivenName.value = "";
		frmUserDetails.SeniorDirectorFamilyName.value = "";
		frmUserDetails.PrefillDetails.checked = false;
		if (frmUserDetails.Position.value == "Individual"){
			frmUserDetails.PrefillDetails.checked = true;
			frmUserDetails.SeniorDirectorHonorific.value = frmUserDetails.Honorific.value;
			frmUserDetails.SeniorDirectorGivenName.value = frmUserDetails.FirstName.value;
			frmUserDetails.SeniorDirectorFamilyName.value = frmUserDetails.LastName.value;
		}
	}
}

function checkSeniorDirectorGivenName(){
	if ((frmUserDetails.SeniorDirectorGivenName.value.toUpperCase() == frmUserDetails.FirstName.value.toUpperCase()) && ((frmUserDetails.Position.value == "Credit Controller")||(frmUserDetails.Position.value == "Other Administration"))){
		alert("Sorry, the same First Name for 'Senior Director First Name' field is NOT allowed when Position 'Credit Controler' or 'Other Admin' is selected");
		frmUserDetails.SeniorDirectorGivenName.value = "";
		frmUserDetails.SeniorDirectorGivenName.focus();
	}
}

function checkSeniorDirectorFamilyName(){
	if ((frmUserDetails.SeniorDirectorFamilyName.value.toUpperCase() == frmUserDetails.LastName.value.toUpperCase()) && ((frmUserDetails.Position.value == "Credit Controller")||(frmUserDetails.Position.value == "Other Administration"))){
		alert("Sorry, the same Family Name for 'Senior Director Surname' field is NOT allowed when Position 'Credit Controler' or 'Other Admin' is selected");
		frmUserDetails.SeniorDirectorFamilyName.value = "";
		frmUserDetails.SeniorDirectorFamilyName.focus();
	}
}

function checkPosition(){
	if ((frmUserDetails.Position.value == "Individual")&&(frmUserDetails.SeniorDirectorRole.value == "Not Applicable"))	{
		alert("Sorry, this option is not available if 'Individual' is selected as a Position.");
		frmUserDetails.SeniorDirectorRole.value = "";
	}
}
