/**
******************************************************
* validation.js
******************************************************
*
* Form Validation JavaScript
*
******************************************************
*
* NOTES: check_email() only works if field value is null.
*
******************************************************
*
* Developed By	: Ewave Designs (UK)
* Company URL	: http://www.ewavedesigns.co.uk
* Author        : M S Rahman
* Contact       : s.rahman@webain.co.uk
* Author URL   	: http://www.webain.co.uk
* Date Created	: 09/02/2005
* Script Status	: IE bugs found for check_select(). Rest is Healthy.
* Version		: 1.2 Re
* Last Modified	: 30/05/2006 {Please update this accordingly}
*
******************************************************
*
*  Copyright (c) 2006 Ewave Designs (UK). All rights reserved.
*
******************************************************
*
**/

// Define global variables
var form = "";
var submitted = false;
var error = false;
var error_message = "";

// Error Message Templates
var errMsgTmp = "Errors have occured during the process of your form.\n\nPlease make the following corrections:\n\n";
var alreadySubmMsgTmp = "This form has already been submitted. Please press OK and wait for this process to be completed.";

function check_input(field_name, field_size, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == '' || field_value.length < field_size) {
      error_message = error_message + "* " + message + "\n";
	  error = true;
    }
  }
}
function check_email(field_name,message){
	  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
			var field_value = form.elements[field_name].value;
			
			if (field_value !== '' ){
				validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
				if (field_value.search(validRegExp) == -1) {
						error_message = error_message + "* " + message + "\n";
						error = true;
				}
	
			  }
	  }
}
function check_select(field_name, field_default, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == field_default) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}
function isValidEmail(strEmail,message){
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  strEmail = document.forms[0].email.value;
   // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    } 
}

function check_contact_form(form_name) {
	  if (submitted == true) {
		alert(alreadySubmMsgTmp);
		return false;
	  }
	  error = false;
	  form = form_name;
	  error_message = errMsgTmp;
	  check_input("name", 2, "Your Name must contain a minimum of 2 characters.");
	  check_email("email","A valid e-mail address is required. Please amend and retry");
	  check_select("enquery", "Please Select", "Please tell how you heard about us.");
	  check_input("message", 7, "Your Message must contain a minimum of 7 characters.");
	  if (error == true) {
		alert(error_message);
		return false;
	  } else {
		submitted = true;
		return true;
	  }
}
