function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
  {alert(alerttxt);field.select();return false;}
else {return true}
}
}


function validate_postcode(field,alerttxt)
{
with (field)
{
if (value.length<5)
  {alert(alerttxt);field.select();return false;}
else {return true}
}
}



function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (value==null||value=="")
   {return true;}
if (apos<1||dotpos-apos<2) 
  {alert(alerttxt);field.select();return false;}
else {return true;}
}
}

function validate_numeric(field,alerttxt)
{
with (field)
{

var str = value
var vallength = value.length

if (value==null||value=="")
   {return true;}
else
for (var i = 0; i < vallength; i++)
{
if (str.charAt(i) >= 0 && str.charAt(i) <= 9)	
   loop 
else
   {alert(alerttxt);field.select();return false;}
} 
}
}


function checkdate(input,alerttxt){
var validformat=/^\d{2}\/\d{2}\/\d{4}$/
var returnval=false
if(input.value==null||input.value=="")
returnval=true
else
if (!validformat.test(input.value))
alert(alerttxt)
else{
var monthfield=input.value.split("/")[0]
var dayfield=input.value.split("/")[1]
var yearfield=input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}





function validate_form(thisform)
{
with (thisform)
{

//empty textbox validation & numeric validation



if (validate_required(ApcFullName,"[Applicant Full Name] must be filled out !")==false)
  {ApcFullName.focus();return false;}

if (validate_required(ApcPhoneNumber,"[Applicant Phone/ Mobile] must be filled out !")==false)
  {ApcPhoneNumber.focus();return false;}

if (validate_numeric(ApcPhoneNumber,"[Applicant Phone/ Mobile] Please make sure entries are numbers only !")==false)
  {ApcPhoneNumber.focus();return false;}

if (validate_numeric(ApcFax,"[Applicant Fax No] Please make sure entries are numbers only !")==false)
  {ApcFax.focus();return false;}

if (validate_email(ApcEmail,"[Applicant Email Address] not a valid e-mail address !")==false)
  {ApcEmail.focus();return false;}

if (validate_required(ContactPerson,"[Applicant Contact Person] must be filled out !")==false)
  {ContactPerson.focus();return false;}

if (validate_required(CPersonPhoneNumber,"[Applicant Phone Number] must be filled out !")==false)
  {CPersonPhoneNumber.focus();return false;}

if (validate_numeric(CPersonPhoneNumber,"[Contact Person Phone / Mobile] Please make sure entries are numbers only !")==false)
  {CPersonPhoneNumber.focus();return false;}

if (validate_required(ProposedNameSearch1,"[Proposed Name Search] must be filled out !")==false)
  {ProposedNameSearch1.focus();return false;}

if (validate_required(MeaningOfProposedName1,"[Meaning Of Proposed Name] must be filled out !")==false)
  {MeaningOfProposedName1.focus();return false;}

if (validate_required(TheObjects1,"[Nature Of Business, The Object] must be filled out !")==false)
  {TheObjects1.focus();return false;}

if (validate_required(FullExplanation1,"[Nature Of Business, The Explaination] must be filled out !")==false)
  {FullExplanation1.focus();return false;}


//director 1
if (validate_required(DC1FullName,"[Director 1 Full Name] must be filled out !")==false)
  {DC1FullName.focus();return false;}

if (validate_required(DC1NricNew,"[Director 1 Nric (New)] must be filled out !")==false)
  {DC1NricNew.focus();return false;}

if (checkdate(DC1Dob,"[Director 1 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {DC1Dob.focus();return false;}

if (validate_numeric(DC1Phone,"[Director 1 Phone] Please make sure entries are numbers only !")==false)
  {DC1Phone.focus();return false;}

if (validate_numeric(DC1Fax,"[Director 1 Fax] Please make sure entries are numbers only !")==false)
  {DC1Fax.focus();return false;}

if (validate_numeric(DC1Mobile,"[Director 1 Mobile] Please make sure entries are numbers only !")==false)
  {DC1Mobile.focus();return false;}

if (validate_email(DC1PersonalEmail,"[Director 1 Personal Email Address] not a valid e-mail address !")==false)
  {DC1PersonalEmail.focus();return false;}

if (validate_required(DC1ResidentialAddress,"[Director 1 Residential Address] must be filled out !")==false)
  {DC1ResidentialAddress.focus();return false;}

if (validate_required(DC1PostalCode,"[Director 1 Post Code] must be filled out !")==false)
  {DC1PostalCode.focus();return false;}

if (validate_postcode(DC1PostalCode,"[Director 1 Post Code] Please make sure numbers are five digits !")==false)
  {DC1PostalCode.focus();return false;}

if (validate_numeric(DC1PostalCode,"[Director 1 Post Code] Please make sure entries are numbers only !")==false)
  {DC1PostalCode.focus();return false;}

if (validate_required(DC1State,"[Director 1 State] must be filled out !")==false)
  {DC1State.focus();return false;}


//director 2
if (validate_required(DC2FullName,"[Director 2 Full Name] must be filled out !")==false)
  {DC2FullName.focus();return false;}

if (validate_required(DC2NricNew,"[Director 2 Nric (New)] must be filled out !")==false)
  {DC2NricNew.focus();return false;}

if (checkdate(DC2Dob,"[Director 2 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {DC2Dob.focus();return false;}

if (validate_numeric(DC2Phone,"[Director 2 Phone] Please make sure entries are numbers only !")==false)
  {DC2Phone.focus();return false;}

if (validate_numeric(DC2Fax,"[Director 2 Fax] Please make sure entries are numbers only !")==false)
  {DC2Fax.focus();return false;}

if (validate_numeric(DC2Mobile,"[Director 2 Mobile] Please make sure entries are numbers only !")==false)
  {DC2Mobile.focus();return false;}

if (validate_email(DC2PersonalEmail,"[Director 2 Personal Email Address] not a valid e-mail address !")==false)
  {DC2PersonalEmail.focus();return false;}

if (validate_required(DC2ResidentialAddress,"[Director 2 Residential Address] must be filled out !")==false)
  {DC2ResidentialAddress.focus();return false;}

if (validate_required(DC2PostalCode,"[Director 2 Post Code] must be filled out !")==false)
  {DC2PostalCode.focus();return false;}

if (validate_numeric(DC2PostalCode,"[Director 2 Post Code] Please make sure entries are numbers only !")==false)
  {DC2PostalCode.focus();return false;}

if (validate_postcode(DC2PostalCode,"[Director 2 Post Code] Please make sure numbers are five digits !")==false)
  {DC2PostalCode.focus();return false;}

if (validate_required(DC2State,"[Director 2 State] must be filled out !")==false)
  {DC2State.focus();return false;}


//Director 3

if (validate_numeric(DC3Phone,"[Director 3 Phone] Please make sure entries are numbers only !")==false)
  {DC3Phone.focus();return false;}

if (validate_numeric(DC3Fax,"[Director 3 Fax] Please make sure entries are numbers only !")==false)
  {DC3Fax.focus();return false;}

if (validate_numeric(DC3Mobile,"[Director 3 Mobile] Please make sure entries are numbers only !")==false)
  {DC3Mobile.focus();return false;}

if (checkdate(DC3Dob,"[Director 3 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {DC3Dob.focus();return false;}

if (validate_email(DC3PersonalEmail,"[Director 3 Personal Email Address] not a valid e-mail address !")==false)
  {DC3PersonalEmail.focus();return false;}



//Director 4

if (validate_numeric(DC4Phone,"[Director 4 Phone] Please make sure entries are numbers only !")==false)
  {DC4Phone.focus();return false;}

if (validate_numeric(DC3Fax,"[Director 4 Fax] Please make sure entries are numbers only !")==false)
  {DC4Fax.focus();return false;}

if (validate_numeric(DC4Mobile,"[Director 4 Mobile] Please make sure entries are numbers only !")==false)
  {DC4Mobile.focus();return false;}

if (checkdate(DC4Dob,"[Director 4 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {DC4Dob.focus();return false;}

if (validate_email(DC4PersonalEmail,"[Director 4 Personal Email Address] not a valid e-mail address !")==false)
  {DC4PersonalEmail.focus();return false;}


//shareholder 1
if (validate_required(SH1FullName,"[Shareholder 1 Full Name] must be filled out !")==false)
  {SH1FullName.focus();return false;}

if (validate_required(SH1NricNew,"[Shareholder 1 Nric (New)] must be filled out !")==false)
  {SH1NricNew.focus();return false;}

if (validate_required(SH1SharesUnit,"[Shareholder 1 Number of Shares Unit] must be filled out !")==false)
  {SH1SharesUnit.focus();return false;}

if (validate_numeric(SH1SharesUnit,"[Shareholder 1 Number of Shares Unit] Please make sure entries are numbers only !")==false)
  {SH1SharesUnit.focus();return false;}

if (checkdate(SH1Dob,"[Shareholder 1 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {SH1Dob.focus();return false;}

if (validate_numeric(SH1Phone,"[Shareholder 1 Phone] Please make sure entries are numbers only !")==false)
  {SH1Phone.focus();return false;}

if (validate_numeric(SH1Fax,"[Shareholder 1 Fax] Please make sure entries are numbers only !")==false)
  {SH1Fax.focus();return false;}

if (validate_numeric(SH1Mobile,"[Shareholder 1 Mobile] Please make sure entries are numbers only !")==false)
  {SH1Mobile.focus();return false;}

if (validate_email(SH1PersonalEmail,"[Shareholder 1 Personal Email Address] not a valid e-mail address !")==false)
  {SH1PersonalEmail.focus();return false;}

if (validate_required(SH1ResidentialAddress,"[Shareholder 1 Residential Address] must be filled out !")==false)
  {SH1ResidentialAddress.focus();return false;}

if (validate_required(SH1PostalCode,"[Shareholder 1 Post Code] must be filled out !")==false)
  {SH1PostalCode.focus();return false;}

if (validate_postcode(SH1PostalCode,"[Shareholder 1 Post Code] Please make sure numbers are five digits !")==false)
  {SH1PostalCode.focus();return false;}

if (validate_numeric(SH1PostalCode,"[Shareholder 1 Post Code] Please make sure entries are numbers only !")==false)
  {SH1PostalCode.focus();return false;}

if (validate_required(SH1State,"[Shareholder 1 State] must be filled out !")==false)
  {SH1State.focus();return false;}


//shareholder 2
if (validate_required(SH2FullName,"[Shareholder 2 Full Name] must be filled out !")==false)
  {SH2FullName.focus();return false;}

if (validate_required(SH2NricNew,"[Shareholder 2 Nric (New)] must be filled out !")==false)
  {SH2NricNew.focus();return false;}

if (validate_required(SH2SharesUnit,"[Shareholder 2 Number of Shares Unit] must be filled out !")==false)
  {SH2SharesUnit.focus();return false;}

if (validate_numeric(SH2SharesUnit,"[Shareholder 2 Number of Shares Unit] Please make sure entries are numbers only !")==false)
  {SH2SharesUnit.focus();return false;}

if (checkdate(SH2Dob,"[Shareholder 2 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {SH2Dob.focus();return false;}

if (validate_numeric(SH2Phone,"[Shareholder 2 Phone] Please make sure entries are numbers only !")==false)
  {SH2Phone.focus();return false;}

if (validate_numeric(SH2Fax,"[Shareholder 2 Fax] Please make sure entries are numbers only !")==false)
  {SH2Fax.focus();return false;}

if (validate_numeric(SH2Mobile,"[Shareholder 2 Mobile] Please make sure entries are numbers only !")==false)
  {SH2Mobile.focus();return false;}

if (validate_email(SH2PersonalEmail,"[Shareholder 2 Personal Email Address] not a valid e-mail address !")==false)
  {SH2PersonalEmail.focus();return false;}

if (validate_required(SH2ResidentialAddress,"[Shareholder 2 Residential Address] must be filled out !")==false)
  {SH2ResidentialAddress.focus();return false;}

if (validate_required(SH2PostalCode,"[Shareholder 2 Post Code] must be filled out !")==false)
  {SH2PostalCode.focus();return false;}

if (validate_numeric(SH2PostalCode,"[Shareholder 2 Post Code] Please make sure entries are numbers only !")==false)
  {SH2PostalCode.focus();return false;}

if (validate_postcode(SH2PostalCode,"[Shareholder 2 Post Code] Please make sure numbers are five digits !")==false)
  {SH2PostalCode.focus();return false;}

if (validate_required(SH2State,"[Shareholder 2 State] must be filled out !")==false)
  {SH2State.focus();return false;}


//shareholder 3
if (validate_numeric(SH3SharesUnit,"[Shareholder 3 Number of Shares Unit] Please make sure entries are numbers only !")==false)
  {SH3SharesUnit.focus();return false;}

if (validate_numeric(SH3Phone,"[Shareholder 3 Phone] Please make sure entries are numbers only !")==false)
  {SH3Phone.focus();return false;}

if (validate_numeric(SH3Fax,"[Shareholder 3 Fax] Please make sure entries are numbers only !")==false)
  {SH3Fax.focus();return false;}

if (validate_numeric(SH3Mobile,"[Shareholder 3 Mobile] Please make sure entries are numbers only !")==false)
  {SH3Mobile.focus();return false;}

if (checkdate(SH3Dob,"[Shareholder 3 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {SH3Dob.focus();return false;}

if (validate_email(SH3PersonalEmail,"[Shareholder 3 Personal Email Address] not a valid e-mail address !")==false)
  {SH3PersonalEmail.focus();return false;}



//shareholder 4
if (validate_numeric(SH4SharesUnit,"[Shareholder 4 Number of Shares Unit] Please make sure entries are numbers only !")==false)
  {SH4SharesUnit.focus();return false;}

if (validate_numeric(SH4Phone,"[Shareholder 4 Phone] Please make sure entries are numbers only !")==false)
  {SH4Phone.focus();return false;}

if (validate_numeric(SH3Fax,"[Shareholder 4 Fax] Please make sure entries are numbers only !")==false)
  {SH4Fax.focus();return false;}

if (validate_numeric(SH4Mobile,"[Shareholder 4 Mobile] Please make sure entries are numbers only !")==false)
  {SH4Mobile.focus();return false;}

if (checkdate(SH4Dob,"[Shareholder 4 DOB] Invalid Date Format. Please correct and submit again !")==false)
  {SH4Dob.focus();return false;}

if (validate_email(SH4PersonalEmail,"[Shareholder 4 Personal Email Address] not a valid e-mail address !")==false)
  {SH4PersonalEmail.focus();return false;}


}
}
