// Javascript

function chk_reg1(){
	var errmsg = "";
	errmsg += validate(document.reg1.fname,2,"Please enter your First Name.");
	errmsg += validate(document.reg1.sname,2,"Please enter your Last Name.");
	errmsg += validate(document.reg1.dob,1,"Please enter your Day of Birth.");
	if (document.reg1.dob.value > 31)
		{errmsg += "Invalid Day of Birth.\n";}
	errmsg += validate(document.reg1.mob,1,"Please enter your Month of Birth.");
	if (document.reg1.mob.value > 12)
		{errmsg += "Invalid Month of Birth.\n";}
	
	//Added by David Yan 23 Oct. 2007
	if(!document.reg1.checkAttachedCV.checked)
		{
		//alert("Not checked");
		errmsg += validate(document.reg1.cv_name,1,"Please attach your CV.");
		}
	else{
		
		//alert("checked");
	}

	//errmsg += validate(document.reg1.cv_name,1,"Please attach your CV.");

//End Added by David Yan 23 Oct. 2007

	if (errmsg!="")errmsg+="\n";
	errmsg += validate_email(document.reg1.emailadd2,"Please enter a valid Email.");
	errmsg += validate(document.reg1.passwd,6,"Please enter a Password.");
	errmsg += validate(document.reg1.con_passwd,6,"Please confirm the Password.");
	if (document.reg1.passwd.value != document.reg1.con_passwd.value)
		{errmsg += "The Passwords do not match.\n";}
	if(!document.reg1.privacy_chk.checked)
		{errmsg += "The Privacy Statement must be agreed to.";}
	
	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.reg1.Submit.value="Submitting Registration...";
	document.reg1.Submit.disabled=true;
	document.reg1.Reset.style.display="none";
	document.reg1.submit();
	return true;
}
function chk_reg2(){
	var errmsg = "";
	errmsg += validate(document.reg1.fname,2,"Please enter your First Name.");
	errmsg += validate(document.reg1.sname,2,"Please enter your Last Name.");
	errmsg += validate(document.reg1.dob,1,"Please enter your Day of Birth.");
	if (document.reg1.dob.value > 31)
		{errmsg += "Invalid Day of Birth.\n";}
	errmsg += validate(document.reg1.mob,1,"Please enter your Month of Birth.");
	if (document.reg1.mob.value > 12)
		{errmsg += "Invalid Month of Birth.\n";}
	if (errmsg!="")errmsg+="\n";
	//errmsg += validate(document.reg1.cv_name,1,"Please attach your CV.");

//Added by David Yan 30 Oct. 2007
	if(!document.reg1.checkAttachedCV.checked)
		{
		//alert("Not checked");		
		errmsg += validate(document.reg1.cv_name,1,"Please attach your CV.");
		}
	else{
		
		//alert("checked");
	}

	//errmsg += validate(document.reg1.cv_name,1,"Please attach your CV.");

//End Added by David Yan 30 Oct. 2007

	errmsg += validate(document.reg1.practice,1,"Please select your Practice.");
	if (errmsg!="")errmsg+="\n";
	errmsg += validate_email(document.reg1.emailadd2,"Please enter a valid Email.");
	errmsg += validate(document.reg1.passwd,6,"Please enter a Password.");
	errmsg += validate(document.reg1.con_passwd,6,"Please confirm the Password.");
	if (document.reg1.passwd.value != document.reg1.con_passwd.value)
		{errmsg += "The Passwords do not match.\n";}
	if (errmsg!="")errmsg+="\n";
	if(!document.reg1.privacy_chk.checked)
		{errmsg += "The Privacy Statement must be agreed to.";}



	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.reg1.Submit.value="Submitting Registration...";
	document.reg1.Submit.disabled=true;
	document.reg1.Reset.style.display="none";
	document.reg1.submit();
	return true;
}
function chk_log1(){
	if (document.log1.txtcandref.value=="" ||
		document.log1.txtcandpass.value==""){
		alert("Please enter your Reference Number and Password.")
		return false;
	}
	document.log1.Submit.value="Logging in...";
	document.log1.Submit.disabled=true;
	document.log1.Reset.style.display="none";
	document.log1.submit();
	return true;
}

function chk_log2(){
	if (document.log2.txtlmref.value=="" ||
		document.log2.txtlmpass.value==""){
		alert("Please enter your Reference Number and Password.")
		return false;
	}
	document.log2.Submit.value="Logging in...";
	document.log2.Submit.disabled=true;
	document.log2.Reset.style.display="none";
	document.log2.submit();
	return true;
}

// Function reWritten because of new field adding into the system
//  Date: 251007
// Ripon Barua

function chk_pro1(){
	
	var errmsg = "";
	if (!document.pro1.chkact_JobSer.checked && !document.pro1.chkpas_JobSer.checked)
	{
	alert ("Please select your job search status.");
	return false;
	}
	if (!document.pro1.chk_wrkF.checked && !document.pro1.chk_wrkP.checked)
	{
	alert ("Please select your preferences of work type.");
	return false;
	}
	if (!document.pro1.chk_JtyP.checked && !document.pro1.chk_JtyC.checked)
	{
	alert ("Please select your preferences of Job type.");
	return false;
	}

	errmsg += validate(document.pro1.visa,1,"Please select your Eligibility to Work.")	
	errmsg += validate(document.pro1.UpdateHome,1,"Please enter your Home Phone.")
	errmsg += validate(document.pro1.UpdateAddress,1,"Please enter your Address.")
	errmsg += validate(document.pro1.UpdateTown,1,"Please enter your Suburb.")
	errmsg += validate(document.pro1.UpdateState,1,"Please select your State.")
	errmsg += validate(document.pro1.UpdatePostcode,1,"Please enter your Postcode.")
	errmsg += validate(document.pro1.UpdateCountry,1,"Please select your Country.")

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}
	document.pro1.Submit.value="Updating Profile...";
	document.pro1.Submit.disabled=true;
	document.pro1.submit();
	return true;
}

//Add by David for it has been divide into two pages on 28 Dec 2007
//one is criteria, the other is contact
//Here is for criteria
function chk_pro1_criteria(){
	
	var errmsg = "";
	if (!document.pro1.chkact_JobSer.checked && !document.pro1.chkpas_JobSer.checked)
	{
	alert ("Please select your job search status.");
	return false;
	}
	if (!document.pro1.chk_wrkF.checked && !document.pro1.chk_wrkP.checked)
	{
	alert ("Please select your preferences of work type.");
	return false;
	}
	if (!document.pro1.chk_JtyP.checked && !document.pro1.chk_JtyC.checked)
	{
	alert ("Please select your preferences of Job type.");
	return false;
	}

	errmsg += validate(document.pro1.visa,1,"Please select your Eligibility to Work.")	
	
	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}
	document.pro1.Submit.value="Updating Profile...";
	document.pro1.Submit.disabled=true;
	document.pro1.submit();
	return true;
}


//Add by David for it has been divide into two pages on 28 Dec 2007
//one is criteria, the other is contact
//Here is for contact
function chk_pro1_contact(){
	
	var errmsg = "";
	
	errmsg += validate(document.pro1.UpdateHome,1,"Please enter your Home Phone.")
	errmsg += validate(document.pro1.UpdateAddress,1,"Please enter your Address.")
	errmsg += validate(document.pro1.UpdateTown,1,"Please enter your Suburb.")
	errmsg += validate(document.pro1.UpdateState,1,"Please select your State.")
	errmsg += validate(document.pro1.UpdatePostcode,1,"Please enter your Postcode.")
	errmsg += validate(document.pro1.UpdateCountry,1,"Please select your Country.")

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}
	document.pro1.Submit.value="Updating Profile...";
	document.pro1.Submit.disabled=true;
	document.pro1.submit();
	return true;
}


function chk_pro2(){
	var errmsg = "";
	errmsg += validate(document.pro2.workphone,1,"Please enter your Work Phone.")
	errmsg += validate_email(document.pro2.email,"Please enter a valid Email Address.")

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.pro2.Submit.value="Updating Profile...";
	document.pro2.Submit.disabled=true;
	document.pro2.submit();
	return true;
}

function chk_friend(){
	var errmsg = "";
	errmsg += validate(document.mailfriend.your_name,2,"Please input Your Name.")
	errmsg += validate_email(document.mailfriend.your_email,"Please input Your Email.")
	errmsg += validate(document.mailfriend.friend_name,2,"Please input Your Friend's Name.")
	errmsg += validate_email(document.mailfriend.friend_email,"Please input Your Friend's Email.")
	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}
	document.mailfriend.Submit.value="Submitting Registration...";
	document.mailfriend.Submit.disabled=true;
	document.mailfriend.back.style.display="none";
	document.mailfriend.submit();
	return true;
}

function chk_ads1(){
	if (document.ads1.adref.value==""){
		alert("Please enter an Advertisement Reference.")
		return false;
	}
	document.ads1.Submit.value="Searching..."
	document.ads1.Submit.disabled=true;
	document.ads1.submit();
	return true;
}

function chk_app1(){
	if (document.app1.candref.value=="" ||
		document.app1.wg_passwd.value==""){
		alert("Please enter your Reference Number and Password.")
		return false;
	}
	document.app1.Submit.value="Searching...";
	document.app1.Submit.disabled=true;
	document.app1.submit();
	return true;
}

function chk_sea1(){
	if ((document.sea1.job_type_perm.value=="" || document.sea1.job_type_temp.value=="") &&
		document.sea1.industry.value=="" &&
		document.sea1.loca.value=="" && document.sea1.prac.value==""){
		alert("Please select one or more options.");
		return false;
	}
	document.sea1.Submit.value="Searching...";
	document.sea1.Submit.disabled=true;
	document.sea1.submit();
	return true;
}

function chk_sea2(){
	jobs = 0;
	field = document.sea2.chkn;
	if(typeof(field.length)=="undefined"){
		if(!field.checked){
			field.checked = true;
			return false;
		}
	}else{
		for (i = 0; i < field.length; i++)
			if (field[i].checked) jobs++;
	
		if (!jobs){
			alert("Please select one or more Jobs before applying");
			return false
		}
	}

	document.sea2.Submit.value="Applying...";
	document.sea2.Submit.disabled=true;
	document.sea2.submit();
	return true;
}

function chk_cv1(){
	if (document.cv1.attachment.value==""){
		alert("Please attach your CV.");
		return false;
	}
	if (document.cv1.attachment.value.indexOf(".doc")==-1 && document.cv1.attachment.value.indexOf(".rtf")==-1){
		alert("Please attach a MS Word or RTF formatted CV.");
		return false;
	}
	document.cv1.Submit.value="Attaching CV...";
	document.cv1.Submit.disabled=true;
	document.cv1.submit();
	return true;
}

function chk_pas1(){
	var errmsg = "";
	errmsg += validate(document.pas1.OldPass,1,"Please enter your Old Password.");
	errmsg += validate(document.pas1.NewPass,6,"Please enter your New Password.");
	errmsg += validate(document.pas1.VerifyPass,6,"Please Confirm your Password.");
	if (document.pas1.NewPass.value != document.pas1.VerifyPass.value)
		{errmsg += "The Passwords do not match.\n";}

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.pas1.Submit.value="Updating Password...";
	document.pas1.Submit.disabled=true;
	document.pas1.submit();
	return true;
}

function chk_for1(){
	var errmsg = "";
	errmsg += validate(document.for1.firstname,2,"Please enter your First Name.");
	errmsg += validate(document.for1.lastname,2,"Please enter your Surname.");
	errmsg += validate(document.for1.d_birth,1,"Please enter your Day of Birth.");
	if (document.for1.d_birth.value > 31)
		{errmsg += "Invalid Day of Birth.\n";}
	errmsg += validate(document.for1.m_birth,1,"Please enter your Month of Birth.");
	if (document.for1.m_birth.value > 12)
		{errmsg += "Invalid Month of Birth.\n";}
	errmsg += validate_email(document.for1.Email,"Please enter a valid Email Address.");

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.for1.Submit.value="Requesting Password...";
	document.for1.Submit.disabled=true;
	document.for1.Reset.style.display="none";
	document.for1.submit();
	return true;
}

function chk_for2(){
	var errmsg = "";
	errmsg += validate(document.for2.firstname,2,"Please enter your First Name.");
	errmsg += validate(document.for2.lastname,2,"Please enter your Surname.");
	errmsg += validate_email(document.for2.Email,"Please enter a valid Email Address.");

	if (errmsg != ""){
		errmsg="The following errors were found:\n\n"+errmsg;
		alert(errmsg);
		return false;
	}

	document.for2.Submit.value="Requesting Password...";
	document.for2.Submit.disabled=true;
	document.for2.Reset.style.display="none";
	document.for2.submit();
	return true;
}
function trimAll(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);	
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
return sString;
}
function chk_sub1(){
	var ts = 0;
	var i = 0;
	var j = 0;
	var rea = true;
	var elems = document.sub1.elements.length;

	for (i = 0; i < elems; i++)
		if (document.sub1.elements[i].type == 'radio'){
			if (document.sub1.elements[i].checked){
				ts++;
				if (document.sub1.elements[i].value=='0' && trimAll(document.sub1.elements[i+1].value)=="")
					rea = false;				
			}
	}

	if (!ts){
		alert("Please select one or more Timesheets before submitting");
		return false;
	}
	
	if (!rea){
		alert("Please enter Rejected Reason before submitting");
		return false;
	}
	
	document.sub1.Submit.value="Submitting...";
	document.sub1.Submit.disabled=true;
	document.sub1.submit();
	return true;	
}

function chk_alpha(field,num) {
	if(num=="0") err = "Please enter only alphabetic characters";
	else err = "Please enter "+num+" or more alphabetic characters";
	
	var err2 = "Please enter only alphabetic characters";
	var x = field.value;
	if (x.length < num ){
		alert(err);
		field.select();
		field.focus();
		return false;
	}
	var filter  = /^([A-Za-z\ \-])+$/;
	if (filter.test(x)) return true;
	else {
		alert(err2);
		field.select();
		field.focus();
		return false;
	}
}

function chk_alphanumeric(field,num) {
	if(num=="0") err = "Please enter only alphanumeric characters";	
	else err = "Please enter "+num+" or more alphanumeric characters";
	
	var err2 = "Please enter only alphanumeric characters";
	var x = field.value;
	if (x.length < num ){
		alert(err);
		field.select();
		field.focus();
		return false;
	}
	var filter  = /^([0-9A-Za-z\ \-\/])+$/;
	if (filter.test(x)) return true;
	else {
		alert(err2);
		field.select();
		field.focus();
		return false;
	}
}

function chk_numeric(field,num) {
	if(num=="0") err = "Please enter only numeric characters"
	else err = "Please enter "+num+" or more numeric characters"	
	var err2 = "Please enter only numeric characters";
	var x = field.value;
	if (x.length < num ){
		alert(err);
		field.select();
		field.focus();
		return false;
	}
	var filter  = /^([0-9\ \(\)\+\,\.])+$/;
	if (filter.test(x)) return true;
	else {
		alert(err2);
		field.value = "";
		return false;
	}
}

//	Add By David, Updated By Ripon 040308

function chk_Day(field,num) {
	if(num=="0") err = "Please enter only numeric characters"
	else err = "Please enter "+num+" or more numeric characters"	
	var err2 = "Please enter only numeric characters";
	var err3 = "Please select correct date."
	var x = field.value;	
	if (x < 1 || x > 31) // New javascript section to check the range. Ripon 040308
	{
		alert (err3);
		field.value = "" ;
		return false
	}	
	if (x.length < num ){
		alert(err);
		field.select();
		field.focus();
		return false;
	}
	var filter  = /^([0-9\ \(\)\+\,\.])+$/;
	if (filter.test(x)) return true;
	else {
		alert(err2);
		field.value = "";
		return false;
	}
}

// Add By David, Updated by Ripon. 040308
function chk_Month(field,num) {
	if(num=="0") err = "Please enter only numeric characters"
	else err = "Please enter "+num+" or more numeric characters"
	var err2 = "Please enter only numeric characters";
	var err3 = "Please select correct month."
	var x = field.value;	
	if (x < 1 || x > 12) // New javascript section to check the range. Ripon 040308
	{
		alert (err3);
		field.value = "" ;
		return false
	}	
	if (x.length < num ){
		alert(err);
		field.select();
		field.focus();
		return false;
	}
	var filter  = /^([0-9\ \(\)\+\,\.])+$/;
	if (filter.test(x)) return true;
	else {
		alert(err2);
		field.value = "";
		return false;
	}
}
	


function chk_email(field) {
	err = "Please enter a valid email address"
	var x = field.value;
	x = trimAll(x);
	var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if(x!=''){
		if (filter.test(x)) return true;
		else {
			alert(err);
			field.select();
			field.focus();
		}
	}
}

function validate(field,num,msg){
	if (field.value=="") return msg+"\n";
	if (field.value.length<num) return msg+" Must be "+num+" chars long.\n";
	return "";
}

function validate_number(txt,msg){
	txt.value = txt.value.replace(/,/g,"");
	x = txt.value;
	var filter = /^([0-9])+(\.([0-9]){1,2})?$/;
	if(x!="")
		if(!filter.test(x))
			return msg+"\n";
	return "";
}

function validate_email(field,msg) {
	var x = field.value;
	x = trimAll(x);
	var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (x!='') if (filter.test(x)) return "";
	return msg+"\n";
}
function textCounter( field, countfield, maxlimit ) {
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert( 'Comments can only be up to 1000 characters in length.' );
    return false;
  }
}
