function containsNumber(sText){

  var ValidChars = "0123456789";
     var ContainsNumber=false;
     var Char;

     for (i = 0; i < sText.length && ContainsNumber == false; i++){
      Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) != -1){
          ContainsNumber = true;
         }
     }

 return ContainsNumber;
 }
 
function validatePhoneNumber( area, number ) {

  if (isEmpty(area.value)) {
   area.focus();
   alert("Area code cannot be empty!");
   return false;
  }

  if (!isNumeric(area.value)) {
   area.focus();
   alert("Area code must be numeric!");
   return false;
  }
  
  if (isEmpty(number.value)) {
   number.focus();
   alert("Number cannot be empty!");
   return false;
  }
  
  temp = trim(number.value);
  if (temp.length < 6) {  
   number.focus();
   number.select();
   alert("Number cannot be less than 6 digits!");
   return false;
  }
  
  if (!isNumeric(number.value)) {
   number.focus();
   number.select();
   alert("Number must be numeric!");
   return false;
  }

return true;
}

function isAddress(value){
    var characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-'/,.()& ";
    value = trim(value);
    for (i=0; i<value.length; i++) {
        if (characters.indexOf(value.charAt(i),0) == -1) return false;
    }
return true;
}

function isName(value){
    var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-'";
    value = trim(value);
    for (i=0; i<value.length; i++) {
        if (characters.indexOf(value.charAt(i),0) == -1) return false;
    }
return true;
}

function isNumeric(sText){

	var ValidChars = "0123456789";
   	var IsNumber=true;
   	var Char;
 
   	for (i = 0; i < sText.length && IsNumber == true; i++){ 
    	Char = sText.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1){
        	IsNumber = false;
        }
    }
return IsNumber;   
}

function cookiesEnabled() {

  // Test whether cookies are enabled by attempting to set a cookie and then change its value
  // set test cookie
  var c = "areYourCookiesEnabled=0";
  document.cookie = c;
  var dc = document.cookie;
  // cookie not set?  fail
  if (dc.indexOf(c) == -1) return 0;
  // change test cookie
  c = "areYourCookiesEnabled=1";
  document.cookie = c;
  dc = document.cookie;
  // cookie not changed?  fail
  if (dc.indexOf(c) == -1) return 0;
  // delete cookie
  document.cookie = "areYourCookiesEnabled=; expires=Thu, 01-Jan-70 00:00:01 GMT";
  return 1;
  
}

function submitAndDisable() {
 	   	
   var isDisabled = document.form.Submit.disabled;
   	   	
   if(submitted == true || isDisabled == true) { return; }

   submitted = true;   
   document.form.Submit.disabled = true;
   var oldVal = document.form.Submit.value;
   document.form.Submit.value = oldVal + '...';
      
   if (!validate()){   
     document.form.Submit.value = oldVal;
     document.form.Submit.disabled = isDisabled;
     submitted = false;
     return false;     
   }
   submitForm();
   return true;
 }    	    	   

function isEmpty(val){
    if ( trim(val) == "") {
      return true;
    }
return false;
}

function trim(val){
    if(val.length < 1){
    return"";
    }

    trimVal = rightTrim(val);
    trimVal = leftTrim(trimVal);
    if(trimVal==""){
    return "";
    }
    else{
    return trimVal;
    }
}

function rightTrim(val){
   var w_space = String.fromCharCode(32);
   var v_length = val.length;
   var strTemp = "";
   if(v_length < 0){
    return"";
   }
   var iTemp = v_length -1;
   while(iTemp > -1){
    if(val.charAt(iTemp) == w_space){
    }
    else{
     strTemp = val.substring(0,iTemp +1);
     break;
    }
    iTemp = iTemp-1;
   }
return strTemp;
}

function leftTrim(val){
    var w_space = String.fromCharCode(32);
    if(v_length < 1){
    return"";
    }
    var v_length = val.length;
    var strTemp = "";

    var iTemp = 0;

    while(iTemp < v_length){
    if(val.charAt(iTemp) == w_space){
    }
    else{
     strTemp = val.substring(iTemp,v_length);
     break;
    }
    iTemp = iTemp + 1;
    }
return strTemp;
}

function isAlphaNumeric(value){
    var characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    value = trim(value);
    for (i=0; i<value.length; i++) {
        if (characters.indexOf(value.charAt(i),0) == -1) return false;
    }
return true;
}

function MM_swapImgRestore() { //v3.0
 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
 var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
   d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
 if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function isDate(strDate) {

   var reDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
   var y = 3, m = 2, d = 1;

	var match = strDate.match(/^(\d\d?)\/(\d\d?)\/(\d{4})$/);
	if (match == null || match == 'undefined') {
		return false;
	}

     var dateParts = reDate.exec(strDate)
     var year  = parseInt(dateParts[y],10);
     var month = parseInt(dateParts[m],10);
     var day   = parseInt(dateParts[d],10);

     switch (month) {
     case 1 :
     case 3 :
     case 5 :
     case 7 :
     case 8 :
     case 10:
     case 12:
       if (day > 31) return false;
       break;
     case 4 :
     case 6 :
     case 9 :
     case 11:
       if (day > 30) return false;
       break;
     case 2 :
       if (day > (isLeapYear(year) ? 29 : 28)) return false;
       break;
     default:
       return false;
   }

   return true;

 }

 function isLeapYear(y) {
  return (y%4!=0) ? false : (y%100!=0) ? true : (y%400!=0) ? false : true;
 }
 
/* Address data validation */
 function validateNZstreetAddress( streetNo, street, suburbTown ){

  if (isEmpty(streetNo.value)) {
   streetNo.focus();
   alert("Street No cannot be empty!");
   return false;
  }

  if (isEmpty(street.value)) {
   street.focus();
   alert("Street cannot be empty!");
   return false;
  }

  if (isEmpty(suburbTown.value)) {
   suburbTown.focus();
   alert("Suburb/Town cannot be empty!");
   return false;
  }

 return true;
 }

function validateRuralDeliveryAddress( ruralDeliveryNo, suburbTown ){

  if (isEmpty(ruralDeliveryNo.value)) {
   ruralDeliveryNo.focus();
   alert("RD No. cannot be empty!");
   return false;
  }
  
  if (!isNumeric(ruralDeliveryNo.value)) {
   ruralDeliveryNo.focus();
   alert("RD No. must be numeric!");
   return false;
  }
  
  if (isEmpty(suburbTown.value)) {
   suburbTown.focus();
   alert("Suburb/Town cannot be empty!");
   return false;
  }

return true;
}

function validateOverseasAddress( address, country ){

  if (isEmpty(address.value)) {
   address.focus();
   alert("Address cannot be empty!");
   return false;
  }

  if (isEmpty(country.value)) {
   country.focus();
   alert("Country cannot be empty!");
   return false;
  }

return true;
}

function validatePOBoxAddress( suburbTown, boxNo ){

  if (isEmpty(boxNo.value)) {
   boxNo.focus();
   alert("P O Box cannot be empty!");
   return false;
  }
 
  if (!isNumeric(boxNo.value)) {
   boxNo.focus();
   alert("P O Box must be numeric!");
   return false;
  }
  
  if (isEmpty(suburbTown.value)) {
   suburbTown.focus();
   alert("Suburb/Town cannot be empty!");
   return false;
  }

 return true;
 }

function validatePrivateBagAddress( suburbTown, bagNo ){

   if (isEmpty(bagNo.value)) {
    bagNo.focus();
    alert("Bag cannot be empty!");
    return false;
   }


   if (!isNumeric(bagNo.value)) {
    bagNo.focus();
   	alert("Bag must be numeric!");
   	return false;
   } 

  if (isEmpty(suburbTown.value)) {
   suburbTown.focus();
   alert("Suburb/Town cannot be empty!");
   return false;
  }

return true;
}

function validatePhoneFaxNumber( country, area, number ) {

  if (isEmpty(country.value)) {
   country.focus();
   alert("Country cannot be empty!");
   return false;
  }

  if (!isNumeric(country.value)) {
   country.focus();
   alert("Country must be numeric!");
   return false;
  }
  
  if (isEmpty(area.value)) {
   area.focus();
   alert("Area cannot be empty!");
   return false;
  }

  if (!isNumeric(area.value)) {
   area.focus();
   alert("Area must be numeric!");
   return false;
  }
  
  if (isEmpty(number.value)) {
   number.focus();
   alert("Number cannot be empty!");
   return false;
  }
  
  temp = trim(number.value);
  if (temp.length < 6) {  
   number.focus();
   alert("Number cannot be less than 6 digits!");
   return false;
  }
  
  if (!isNumeric(number.value)) {
   number.focus();
   alert("Number must be numeric!");
   return false;
  }

return true;
}

function validateEmailAddress( emailAddress ) {
	
  if (isEmpty(emailAddress.value)) {
    emailAddress.focus();
    alert("Email Address cannot be empty!");
    return false;
  }
return true;
}

function validateWorkExtension( extension ) {

  if (!isEmpty(extension.value)) {
  	if (!isNumeric(extension.value)) {
   		extension.focus();
   		alert("Extension must be numeric!");
   		return false;
  	}
  }
 return true;	 
}  
