// JavaScript Document

function validateInput(input) {
	var returnvalue = true;
	var validimage = '/images/form_valid.gif';
	var invalid = (arguments[1]) ? arguments[1] : false;
	if(invalid) {
		var emptyimage = '/images/form_invalid.gif';
	} else {
		var emptyimage = '/images/form_empty.gif';
	}
	var invalidimage = '/images/form_invalid.gif';
	
	parentdiv = input.parentNode;
	while(parentdiv.className != 'formgroup') {
		parentdiv = parentdiv.parentNode;
	}
	for (var i = 0; i < parentdiv.childNodes.length; i++) {
		 if (parentdiv.childNodes[i].tagName == "IMG" && parentdiv.childNodes[i].className == "formfeedback") {
		 		// If text box then
		 	if(input.tagName == 'INPUT' && input.getAttribute('type') == 'text' || input.tagName == 'TEXTAREA' || input.getAttribute('type') == 'password') {
				if(input.value=='') {
					parentdiv.childNodes[i].setAttribute('src', emptyimage);
					returnvalue = false;
				} else {
					if(input.name=="email") {
						if(isValidEmail(input.value)) {
							parentdiv.childNodes[i].setAttribute('src', validimage);
						} else {
							parentdiv.childNodes[i].setAttribute('src', invalidimage);
							returnvalue = false;
						}
					} else {
						parentdiv.childNodes[i].setAttribute('src', validimage);
					}
				}
			}
				// if drop down then
			if(input.tagName == 'SELECT') {
				container = input.parentNode;
				validdropdown = true;
				for (var j = 0; j < container.childNodes.length; j++) {
					if(container.childNodes[j].tagName == 'SELECT') {
						if(container.childNodes[j].selectedIndex == 0) {
							validdropdown = false;
						}
					}
				}
				if(validdropdown) {
					parentdiv.childNodes[i].setAttribute('src', validimage);
				} else {
					parentdiv.childNodes[i].setAttribute('src', emptyimage);
					returnvalue = false;
				}
			}
				// if option group then
			if(input.tagName == 'INPUT' && input.getAttribute('type') == 'radio') {
				var radiochecked = false;
				var radiogroup = input.getAttribute('name');
				
				var radioGrp = document['forms']['enquiryform'][radiogroup];
				for(var j=0; j < radioGrp.length; j++){
					if (radioGrp[j].checked == true) {
						radiochecked = true
					}
				}

				if(radiochecked) {
					parentdiv.childNodes[i].setAttribute('src', validimage);
				} else {
					parentdiv.childNodes[i].setAttribute('src', emptyimage);
					returnvalue = false;
				}
			}
		}
	}
	return returnvalue;
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function isValidEmail(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
		return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		 return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		 return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		 return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		 return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		 return false
	 }

	 return true					
}

addLoadEvent(function(){
for(i=0; i<document.forms['enquiryform'].elements.length; i++) {
	var currentElement = document.forms['enquiryform'].elements[i];
	var relAttribute = String(currentElement.getAttribute('rel'));
	if(!(relAttribute.toLowerCase().match('optional'))) {
		validateInput(currentElement);
	}
}
});
function onSubmit() {
	var validData = true;
	for(i=0; i<document.forms['enquiryform'].elements.length; i++) {
		var currentElement = document.forms['enquiryform'].elements[i];
		var relAttribute = String(currentElement.getAttribute('rel'));
		if(!(relAttribute.toLowerCase().match('optional'))) {
			if(!(validateInput(currentElement, true))) {
				validData = false;	
			}
		}
	}
	return validData;
}