function validate(obj){
	var field    = obj;
	var fieldArr = field.className.split("_");
	var msgLoc   = document.getElementById(fieldArr[2]);							  
	
	switch(fieldArr[1]){
		case "text":
			if(checkValueExists(obj.value)==0)
			{
				msgLoc.firstChild.nodeValue = "This cannot be blank !";
				obj.className = 'formError_' + fieldArr[1] + '_' + fieldArr[2];
			}else{
				msgLoc.firstChild.nodeValue = "*";				
				obj.className = 'formRequired_' + fieldArr[1] + '_' + fieldArr[2];
			}			
		break;
		case "email":
			if(checkValidEmail(obj.value)==0)
			{
				msgLoc.firstChild.nodeValue = "Invalid E-Mail !";				
				obj.className = 'formError_' + fieldArr[1] + '_' + fieldArr[2];			
			}else{	
				msgLoc.firstChild.nodeValue = "*";			
				obj.className = 'formRequired_' + fieldArr[1] + '_' + fieldArr[2];
			}
		break;
		case "numeric":
			if(checkValueExists(obj.value)==0)
			{
				msgLoc.firstChild.nodeValue = "Not Numeric !";
				obj.className = 'formError_' + fieldArr[1] + '_' + fieldArr[2];
			}
			else
			{
				if(checkNumeric(obj.value)==0)
				{
					msgLoc.firstChild.nodeValue = "Not Numeric !";				
					obj.className = 'formError_' + fieldArr[1] + '_' + fieldArr[2];			
				}else{	
					msgLoc.firstChild.nodeValue = "*";			
					obj.className = 'formRequired_' + fieldArr[1] + '_' + fieldArr[2];
				}
			}
		break;
		case "zip":
			if(checkValidZip(obj.value)==0)
			{
				msgLoc.firstChild.nodeValue = "Invalid Zip Code !";
				obj.className = 'formError_' + fieldArr[1] + '_' + fieldArr[2];
			}else{
				msgLoc.firstChild.nodeValue = "*";				
				obj.className = 'formRequired_' + fieldArr[1] + '_' + fieldArr[2];
			}			
		break;		
		
		case "form":		
			if(checkValidForm(obj)==0)			
				return false;
			else
				return true;		
		break;
	}
}

/*Return 0 if error, 1 is success for all functions below*/
function checkValueExists(value){
	if(value!="")
		return 1;
	else
		return 0;
}

function checkNumeric(value){
	if(!isNaN(value))
		return 1;
	else
		return 0;
}

function checkLength(value,reqLen){
	if(value.length == reqLen)
		return 1;
	else
		return 0;
}

function checkValidZip(value){
	if(checkValueExists(value)==0)
		return 0		
	else
		if(checkLength(value,5)==0)
			return 0
		else
			if(checkNumeric(value)==0)
				return 0;
			else	
				return 1;	
}

function checkValidEmail(email){
	var goodEmail = email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
			
	if(goodEmail)
		return 1;
	else
		return 0;	
}

function checkValidForm(form){
	var error       = 1;
	var numElements = form.length;

	for(i=0;i<numElements;i++)
	{
		var field    = form[i];
		var fieldArr = field.className.split("_");		
		var msgLoc   = document.getElementById(fieldArr[2]);		
		//alert(field.value)
		if(fieldArr[0]=="formError"){			
			error = 0;			
		}else if(fieldArr[0]=="formRequired"){				
			if(fieldArr[1]=="text"&&checkValueExists(field.value)==0){
				msgLoc.firstChild.nodeValue = "This cannot be blank !";
				error = 0;												
			}else if(fieldArr[1]=="email"&&checkValidEmail(field.value)==0){
				msgLoc.firstChild.nodeValue = "Invalid E-Mail !";
				error = 0;					
			}else if(fieldArr[1]=="zip"&&checkValidZip(field.value)==0){
				msgLoc.firstChild.nodeValue = "Invalid Zip Code !";
				error = 0;					
			}
		}		
	}	
	return error;
}