/*

** $Id: add.js,v 1.2 2003/09/16 20:31:48 damonp Exp $

**

** Copyright (C) 2002 siliconsys.com <dev@siliconsys.com>

** See LICENSE file in root directory of this installation for

** licensing information.

*/



	function validate()

	{

	   if(document.contact.name.value == ""){

	      alert("Please enter your name");

	      document.contact.name.focus();

	      return false;

	   }

	   if(document.contact.phone.value == ""){

	      alert("Please enter your telephone number");

	      document.contact.phone.focus();

	      return false;

	   }

	   if(! isDigit(document.contact.phone.value)) {

	      alert("please enter a valid phone number");

	      document.contact.phone.focus();

	      return false;

	   }
	   
	   if(document.contact.email.value == ""){

	      alert("Please enter your email address");

	      document.contact.email.focus();

	      return false;

	   }


	   if(! isDigit(document.contact.mobile.value)) {

	      alert("please enter a valid mobile phone number");

	      document.contact.mobile.focus();

	      return false;

	   }

	   if(! isEmailChars(document.contact.email.value)) {

	      alert("please enter a valid email address");

	      document.contact.email.focus();

	      return false;

	   }

	   if(! isChars(document.contact.country.value)) {

	      alert("Your country was not recognised. Please use letters and spaces only.");

	      document.contact.country.focus();

	      return false;

	   }

	   if( !containsIllegalStrings(document.contact.query.value)) {

	      alert("Your query contains illegal strings that may be used to manipulate the form. Please rephrase your query.");

	      document.contact.query.focus();

	      return false;

	   }


	   
	   return true;

	}

	function isDigit(string) {

	    //if (! string) return false;

	    var Chars = "0123456789-.+() ";



	    for (var i = 0; i < string.length; i++) {

	       if (Chars.indexOf(string.charAt(i)) == -1)

	          return false;

	    }

	    return true;

	}

	function isEmailChars(string) {

	    //if (! string) return false;

	    var Chars = "acbdefghijklmonpqrstuvwxyzABCDEFGHIJKLMONPQRSTUVWXYZ0123456789.@-_";



	    for (var i = 0; i < string.length; i++) {

	       if (Chars.indexOf(string.charAt(i)) == -1)

	          return false;

	    }

	    return true;

	}

	function isChars(string) {

	    //if (! string) return false;

	    var Chars = "acbdefghijklmonpqrstuvwxyzABCDEFGHIJKLMONPQRSTUVWXYZ ";



	    for (var i = 0; i < string.length; i++) {

	       if (Chars.indexOf(string.charAt(i)) == -1)

	          return false;

	    }

	    return true;

	}

	function containsIllegalStrings(string) {

	    if (string.indexOf("multipart") != -1) return false;
	    if (string.indexOf("MIME") != -1) return false;
	    if (string.indexOf("boundary=") != -1) return false;
	    if (string.indexOf("Content-Type:") != -1) return false;
	    if (string.indexOf("bcc:") != -1) return false;
	    if (string.indexOf("Bcc:") != -1) return false;
	    if (string.indexOf("us-ascii") != -1) return false;
	    if (string.indexOf("text/plain") != -1) return false;


	    return true;

	}



	function checkDecimals(string) {

	    var Chars = ".";

	    var count = 0;



	    for (var i = 0; i < string.length; i++) {

	       if (Chars.indexOf(string.charAt(i)) != -1)

	         ++count;

	    }

	    if(count > 1)

	    	return false;

	    else

	    	return true;

	}
