window.onload = initForms;

function initForms() {
	document.getElementById("name").onblur = valField;
	document.getElementById("email").onblur = valField;
	document.getElementById("phone").onblur = valField;
	document.getElementById("budget").onblur = valField;
}

function valForm(form) {
    var allGood = true;
    var temp = true;

  	for (var i=0; i<form.elements.length; i++) {
        if(form.elements[i].alt == "validate"){
            this.id = form.elements[i].id;

            temp = this.valField();
            if (temp == false){
                allGood = false;
            }
        }
	}
	return allGood;
}

function valField() {
    objField = document.getElementById(this.id);
    objErr = document.getElementById(this.id + "Err");
    
	if(objField.value.length == 0) {
		if (this.id == "name"){
        	message = "This field is required!";
		}
		else if (this.id == "phone"){
			message = "This field is required!";	
		}
		else if (this.id == "email"){
			message = "This field is required!";	
		}
		else if (this.id == "budget"){
			message = "This field is required!";	
		}
		else{}
		objErr.style.display = "block";
		objErr.style.height = "22px";
        objErr.innerHTML = message;
        //objField.className = "textboxErr";
        objErr.className = "errMsg";
        return false;
    }
	else if(this.id == "email" && !validEmail(objField.value)){
        message = "Invalid Email Address!";
        objErr.style.display = "block";
        objErr.style.height = "20px";
        objErr.innerHTML = message;
        //objField.className = "textboxErr";
        objErr.className = "errMsg";
        return false;
	}
    else {
        objErr.style.display = "none";
        //objField.className = "textboxOK";
        return true;
    }

}

function validEmail(email) {
			var invalidChars = " /:,;";
		
			if (email == "") {
				return false;
			}
			for (var k=0; k<invalidChars.length; k++) {
				var badChar = invalidChars.charAt(k);
				if (email.indexOf(badChar) > -1) {
					return false;
				}
			}
			var atPos = email.indexOf("@",1);
			if (atPos == -1) {
				return false;
			}
			if (email.indexOf("@",atPos+1) != -1) {
				return false;
			}
			var periodPos = email.indexOf(".",atPos);
			if (periodPos == -1) {	
				return false;
			}
			if (periodPos+3 > email.length)	{
				return false;
			}
			return true;
}


