// JavaScript Document DOM Scripting library : Form validation 

//Shaun Hare
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


function validateForm(whichform) {
  for (var i=0; i<whichform.elements.length; i++) {
    var element = whichform.elements[i];
    if (element.className.indexOf("required") != -1) {
      if (!isFilled(element)) {
        alert("Please fill in the "+element.name+" field.");
		element.focus();
        return false;
      }
    }
    if (element.className.indexOf("email") != -1) {
      if (!isEmail(element)) {
        alert("The "+element.name+" field must be a valid email address.");
        return false;
      }
    }
	if (element.className.indexOf("tel") != -1) {
      if (!istelno(element)) {
        alert("The "+element.name+" field must be a valid phone number.");
        return false;
      }
    }
  }
  
}

function isFilled(field) {
  if (field.value.length < 1 || field.value == field.defaultValue) {
    return false;
  } else {
    return true;
  }
}

function isEmail(field) {
  if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
    return false;
  } else {
    return true;
  }
}

function istelno(field)
	{
	exp = /^[0-9 \w]{11,12}$/
  if (exp.test(field.value) != true) 
		{return false;}
	else
		{return true;}
	}

function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    
    thisform.onsubmit = function() {
      return validateForm(this);
    }
  }
}

function clearElements(){
	if (!document.getElementsByTagName) return false;

	var inputs = document.getElementsByTagName("input");
	for(var i = 0; i < inputs.length; i++){
		inputs[i].onclick = function(){
			this.value = "";
		}
	}
	
	var areas = document.getElementsByTagName("textarea");
	for(var i = 0; i < areas.length; i++){
		areas[i].onclick = function(){
			this.value = "";
		}
	}
		
		
}


addLoadEvent(prepareForms);


