// JavaScript Document
var form = "";
var submitted = false;
var error = false;
var error_message = "";

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.length < field_size) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_radio(field_name, message) {
  var isChecked = false;

  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name];

    for (var i=0; i<radio.length; i++) {
      if (radio[i].checked == true) {
        isChecked = true;
        break;
      }
    }

    if (isChecked == false) {
      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 check_email(field_name, message)
{
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;
		
		var at=field_value.indexOf('@');
		var dot=field_value.lastIndexOf('.');
		var atpos=field_value.lastIndexOf('@');
		var emlen=field_value.length;
		
		if (at<1||dot-at<2||atpos+1==emlen||dot+1==emlen||emlen-dot<3) 
		  {
		  error_message = error_message + "* " + message + "\n";
		  error = true;
		  }
	}
} 

function check_phone(field_name, message)
  {
  var phchar='0123456789 -_+.()';
  var flag=0;
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;
		  for (i=0; i<=field_value.length; i++)
			{	
			if(phchar.indexOf(field_value.charAt(i))==-1)
			  {	
			    flag=1;				
			  }	
			}
			if(flag || field_value.length < 5)	{
				error_message = error_message + "* " + message + "\n";
				error = true;
			}
  }
}

function check_zip(field_name, message)
  { 
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;
		 if(isNaN(field_value) || field_value.length < 4)	{		
				error_message = error_message + "* " + message + "\n";
				error = true;
			}
    }
}

function check_form(form_name) {
  if (submitted == true) {
    alert("<?php echo JS_ERROR_SUBMITTED; ?>");
    return false;
  }

  error = false;
  form = form_name;
  error_message = "Errors have occured during the process of your form.\n\nPlease make the following corrections:\n\n";
  
  check_input("txtName", 3, "Your Name must contain a minimum of 3 characters.");
  check_input("txtOrg", 3, "Your Organization must contain a minimum of 3 characters.");
  check_input("txtStreet", 3, "Your Street must contain a minimum of 3 characters.");
  check_input("txtAddress", 5, "Your Address must contain a minimum of 5 characters.");
  check_input("txtCity", 3, "Your City must contain a minimum of 3 characters.");
  check_input("txtState", 3, "Your State must contain a minimum of 3 characters.");
  check_zip("txtZip", "Your Zip must contain numbers [9456].");
  check_input("txtCountry", 3, "Your Country must contain a minimum of 3 characters.");
  check_phone("txtPhone", "Your Phone must contain a valid numbers [123...].");
  check_email("txtEmail", "Your email must be valid [john@text.com].");  
  check_select("txtProduct", '', "Select your product from list.");
  check_select("txtSubproduct", '', "Select your sub-product from list.");
  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}
  