// JavaScript Document



var phoneRE = /^([0-9\ ]+)$/;
var textRE= /^([a-zA-Z]+)$/;
var addressRE= /^([a-zA-Z0-9\.\ ]+)$/;

//var addressRE= /\w/;
var postcodeRE = /\d{4}/;
var numberRE= /^([0-9]+)$/;

function onPageLoad()
{
 document.getElementById("p1").innerHTML=Math.round(Math.random()* (100000 - 1000) + 10);
}



function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2) 
  {alert(alerttxt);return false;}
else {return true;}
}
}


function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
  {alert(alerttxt);return false;}
else {return true}
}
}

function validate_text(field,alerttxt)
{
with (field)
{

var ok = textRE.exec(field.value);

if (!ok)
  {alert(alerttxt);return false;}
else {return true}
}
}

function validate_address(field,alerttxt)
{
with (field)
{

var ok = addressRE.exec(field.value);

if (!ok)
  {alert(alerttxt);return false;}
else {return true}
}
}


function validate_number(field,alerttxt)
{
with (field)
{

var ok = numberRE.exec(field.value);

if (!ok)
  {alert(alerttxt);return false;}
else {return true}
}
}

function validate_phone(field,alerttxt)
{
with (field)
{

var ok = phoneRE.exec(field.value);

if (!ok)
  {alert(alerttxt);return false;}
else {return true}
}
}

function validate_postcode(field,alerttxt)
{
with (field)
{

var ok = postcodeRE.exec(field.value);

if (!ok)
  {alert(alerttxt);return false;}
else {return true}
}
}



function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
  {alert(alerttxt);return false;}
else {return true}
}
}

function validate_quote(field,alerttxt)
{
var secNum = document.getElementById("p1").innerHTML;

with (field)
{

if (value !=secNum)
  {alert(alerttxt);return false;}
else {return true}
}
}


function validate_form(thisform)
{
with (thisform)
{
  
if (validate_required(fname,"Please enter your First Name!")==false)
  {fname.focus();return false;}
if (validate_text(fname,"First Name does not appear to be valid! Letters only!")==false)
  {fname.focus();return false;}
  
if (validate_required(lname,"Please enter your Last Name!")==false)
  {lname.focus();return false;}
if (validate_text(lname,"Last Name does not appear to be valid! Letters only!")==false)
  {lname.focus();return false;}

if (validate_required(address,"Please enter your Address! ")==false)
  {address.focus();return false;}
if (validate_address(address,"Not a valid address! Format as follows: eg. 214 Smith Street or 214 Smith St.")==false)
  {address.focus();return false;}

if (validate_required(city,"Please enter your Suburb or Town!")==false)
  {city.focus();return false;}
if (validate_text(city,"Suburb and Town does not appear to be valid! Letters only!")==false)
  {city.focus();return false;}

if (validate_required(state,"Please enter your State or Region!")==false)
  {state.focus();return false;}
if (validate_text(state,"State/Provence does not appear to be valid! Letters only!")==false)
  {state.focus();return false;}
  
if (validate_required(postcode,"Post/Zip Code must be filled out!")==false)
  {postcode.focus();return false;}
if (validate_postcode(postcode,"Post/Zip Code does not appear to be valid! Four numbers only!")==false)
  {postcode.focus();return false;}  

if (validate_required(country,"Country must be filled out!")==false)
  {country.focus();return false;}
if (validate_text(country,"Country does not appear to be valid! Letters only!")==false)
  {country.focus();return false;}
  
if (validate_required(yourEmail,"Email must be filled out!")==false)
  {yourEmail.focus();return false;}
if (validate_email(yourEmail,"Not a valid e-mail address!")==false)
  {yourEmail.focus();return false;}

if (validate_required(phone,"Telephone Number must be filled out!")==false)
  {phone.focus();return false;}
if (validate_phone(phone,"Telephone Number does not appear to be valid! Numbers and spaces only!")==false)
  {phone.focus();return false;}

if (validate_required(quote,"Please enter the numbers displayed in the above image!")==false)
  {quote.focus();return false;}
if (validate_quote(quote,"The number you have entered does not match the number displayed in the above image! If you can not read the number in the image clearly, click on the link: Generate New Number")==false)
  {quote.focus();return false;}

}
}

