function validateForm(objValidate) {
	
	var fieldData = objValidate;
	msgErrorEmail = '';
	msgErrorReq = '';
	msgErrorZip = '';
	errorCnt = 0;
	
	for(var i=0; i<fieldData.length; i++) {
	  isError = false;
		
	  var elmLabel = fieldData[i][0];
	  var elmInput = fieldData[i][1];
	  var elmImg = fieldData[i][2];
	  var elmType = fieldData[i][3];
	  var elmError = fieldData[i][4];
	  var elmErrorID = fieldData[i][5];
		
	  var elmValue = document.getElementById(elmInput).value;
		
	  // Check Email
	  if(elmType === 'email') {
	    var reg = /[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/
	    if(!reg.test(elmValue)) {
	      isError = true;
	      msgErrorEmail = 'A valid email address is required!';
	    }
	  }
	  
	  // Check required
	  if(elmType === 'required') {
	    if(elmValue === '') {
	      isError = true;
	      msgErrorReq = 'A value is required!';
	    }
	  }
	  
	  // Check zipcode
	  if(elmType === 'zipcode') {
	    var reg = /\d{5}(-\d{4})?/;
	
	    if(!reg.test(elmValue)) {
	      isError = true;
	      msgErrorZip = 'A valid zip code is required!';
	    }
	  }
	  
	  // Display Error
	  if (isError) {
	    setInput(elmInput,1);          
	    setLabel(elmLabel,1);
	    setIcon(elmImg,1);
	    errorCnt++;
	    
	  } else {
	    setInput(elmInput,0);
	    setLabel(elmLabel,0);
	    setIcon(elmImg,0);          
	  }
	}
	
	if (errorCnt) {
	  formErrors(elmErrorID, elmError);
	  return false;
	} else {
	  return true;
	}
	
}

function setInput(elmID,typeID){
  var elm = document.getElementById(elmID);
  
  if (typeID === 1) {
    elm.className = 'errorInput';
  } else {
    elm.className = 'normalInput';
  }
}

function setLabel(elmID,typeID){
  var elm = document.getElementById(elmID);
  if (typeID === 1) {
    elm.className = 'errorLabel';
  } else {
    elm.className = 'normalLabel';
  }
}

function setIcon(elmID,typeID) {
  var elm = document.getElementById(elmID);
  if (typeID === 1) {
    elm.className = 'errorIcon';
  } else {
    elm.className = 'normalIcon';
  }
}

function formErrors(errorElm, errorClass) {
  if(!errorClass) {
    errorClass = 'errorForm';
  }  
  var content = '';
  var elm = document.getElementById(errorElm);
  
  elm.className = errorClass;
  
  if (msgErrorEmail != null) {
    content = msgErrorEmail+'<br />';
  }
  
  if (msgErrorReq != null) {
    content += msgErrorReq+'<br />';
  }
  
  if (msgErrorZip != null) {
    content += msgErrorZip+'<br />';
  }
  
  elm.innerHTML = content;
}
