var tagName;
var blurOnMe;
var addFunctionality;
	
blurOnMe = function(){
	//alert("blurOnMe");
this.className=this.className.replace(" highlight", "");
this.className=this.className.replace(" onFocus", "");
}

function focusOnMe(element){
	//alert("focusOnMe");
	element.focus();
	element.className+=" highlight";
}

function addFormFocus(tagType){
	var test = "";
	
		var navRoot = document.getElementsByTagName(tagType);
		
		for (var i = 0; i <  navRoot.length  ; i++)  {
			
			navRoot[i].onfocus = function(){
				 this.className+=" onFocus";
				 //alert(tagType + "focus");
				 this.onblur = blurOnMe;
			}
			
		}// for
}

function isEmail(strng) {
  var error = ""
  var flag = true;
  var emailFilter=/^.+@.+\..{2,3}$/;
  if (!(emailFilter.test(strng))) { 
    flag = false;
  }

  var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
  if (strng.match(illegalChars)) {
    flag = false;
  }
  return flag;
}
 
function validateRequest(tagType){
	var test = "";
		var navRoot = document.getElementsByTagName(tagType);
		for (var i = 0; i <  navRoot.length  ; i++)  {
			//alert(navRoot[i].className.indexOf("required"));
			if (navRoot[i].className.indexOf("required") >= 0){
				if (navRoot[i].value==''){
					//alert("This field must have a value: " + navRoot[i].id);
					document.getElementById("errorReport").innerHTML = '<p class="highlight"><span>Error</span> You forgot to fill up the <strong>' + navRoot[i].id + '</strong> field.</p>';
					focusOnMe(navRoot[i]);
					navRoot[i].onblur = blurOnMe;
					return false;				
				}// if value = ''
				
				if (navRoot[i].id == "email"){
					if (!isEmail(navRoot[i].value)){
						//alert("The 'email' field required a valid email address");
						document.getElementById("errorReport").innerHTML = '<p class="highlight"><span>Error</span>The <strong>email</strong> field required a <strong>valid</strong> email address</p>';
						focusOnMe(navRoot[i]);
						navRoot[i].onblur = blurOnMe;
						return false;								
					}
				}// if 'email'		
				
				if (navRoot[i].id == "country"){
					if (navRoot[i].value=='empty'){
						//alert("The 'select' field required a valid country");
						document.getElementById("errorReport").innerHTML = '<p class="highlight"><span>Error</span>Please select <strong>Country</strong></p>';
						focusOnMe(navRoot[i]);
						navRoot[i].onblur = blurOnMe;
						return false;								
					}
				}// if 'country'	
				
			}// if className contains required
		}// for
}// function

callValidateRequest = function(){
		if(validateRequest("input") == false){return false};
		if(validateRequest("textarea") == false){return false};
		if(validateRequest("select") == false){return false};
		}

addFunctionality = function(){
	if (document.all&&document.getElementById) {
		addFormFocus("input");
		addFormFocus("textarea");
	}
	document.getElementById("myform").onsubmit = callValidateRequest;
}

window.onload=addFunctionality;