
	
	
	function validateSelected(ele, msg)
	{
		
		if (ele.selectedIndex == 0)
		{
			alert("Please select a " + msg + ".")
			ele.focus()
			return false;
		}
		else
			return true
	}
	
	
	function validateEmpty(ele,msg)
	{
		if (ele.value == '')
		{
			alert("Please enter a "+ msg + ".")
			ele.focus();
			return false;
		}
		else
			return true;
	}
	
	function validateLen(ele,len,msg)
	{
		if (ele.value.length < len)
		{
			alert("Length of " + msg + " must be more than " + len + " characters.")
			ele.focus()
			return false;
		}
		else
			return true;
	}
	
	function validatefixedLen(ele,len,msg)
	{
		if (ele.value.length != len)
		{
			alert("Length of " + msg + " must be " + len + " characters.")
			ele.focus()
			return false;
		}
		else
			return true;
	}
	
	function validateMatch(ele1,ele2,msg)
	{
		if (ele1.value != ele2.value)
		{
			alert(msg + " do not match.")
			ele1.focus();		
			return false;
		}
		else
			return true;
	
	}
	
	function validateEmail(ele,msg)
	{
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(ele.value))) 
		{
				alert("Please enter a valid email address for " + msg + ".")
				ele.focus();		
				return false;
		}
		else
			return true;
	}
	
			
function validateDate(ele,msg)
{

	val = ele.value;
	
	var isvalid = true;
	
	if (!Date.parse(val))
		isvalid = false;
	else
	{
		dparts = val.split('/');
		
		if (dparts.length == 3)
		{
			year = dparts[2];
			day = dparts[1];
			month = dparts[0];
			
			if ((year>1900 && year<2100)||(year>0&&year<99))
				isvalid = true;
			else
				isvalid = false;
			if (month > 12 || month < 1)
			    isvalid = false;
			if (day > getDays(month - 1,year) || day < 1)
				isvalid = false;
		}		
		else
		   isvalid = false;
	}
	
	 if (isvalid == false) 
		{
				alert("Date format invalid.  Please enter using MM/DD/YYYY or MM/DD/YY format for " + msg + ".")
				ele.focus();		
				return false;
		}
	else
		return isvalid;
	
}

function validateMoney(ele,msg)
{
  
	val = ele.value;
	var isvalid = true;
	
	exact =/^[0-9]+\.[0-9]{2}/; 
	extranum =/^[0-9]+\.[0-9]{3}/;
	extrachar =/^[0-9]+\.[0-9]{2}\D+/;
	digits =/\D/;
	deci =/\./;
	
	decitest = deci.test(val);
	char_check = digits.test(val);
	form_check = exact.test(val);
		
    enum_check = extranum .test(val);
    echar_check = extrachar.test(val);
	
	if(decitest){
		if(form_check){
			if(!enum_check && !echar_check)
				return isvalid;
			else{
				alert("Money format invalid.  Please enter using monetary form for " + msg + ".")
				ele.focus();		
				return false;
			}	
		}
		else{
			alert("Money format invalid.  Please enter using monetary form for " + msg + ".")
			ele.focus();		
			return false;
		}
	}
	else{
		if(!char_check){
			return isvalid;	
		}
		else{
			alert("Money format invalid.  Please enter using only digits for " + msg + ".")
			ele.focus();		
			return false;
		}
	}		
}	
	
		
	function validate_pal()
	{
		
		var valEles = new Array(6);
		
		valEles[0] = 'txt_company|empty|company';
		valEles[1] = 'txt_city|empty|city';
		valEles[2] = 'txt_state|empty|state';
		valEles[3] = 'txt_contact|empty|contact';
		valEles[4] = 'txt_phone|empty|phone';
		valEles[5] = 'txt_date|empty|date';
		valEles[6] = 'txt_email|email|Email';
		
		return validateControls(valEles);
		
	}
	
	
	
	function validateControls(eles)
	{
		var retval = true;
		for (i = 0; i < eles.length; ++i)
		{
			if (retval == true)
				retval = validateEle(eles[i])
	
		}
		
		return retval;
	}
	
	function validateEle(paramstr)
	{
	
		params = paramstr.split('|');
	//	alert(params);
				
		if (params[1] == 'empty')
		{
			if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
				return validateEmpty(document.getElementById(params[0]),params[2])
		}
		else if (params[1] == 'email')
		{
		    if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
				return validateEmail(document.getElementById(params[0]),params[2])
		}
		else if (params[1].indexOf('length') != -1)
		{
			if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
				return validateLen(document.getElementById(params[0]),params[1].split('-')[1],params[2])
		}
		else if (params[1].indexOf('fixedlen') != -1)
		{
			if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
				return validatefixedLen(document.getElementById(params[0]),params[1].split('-')[1],params[2])
		}
		else if (params[1] == 'match')
		{		
		    if (document.getElementById(params[0].split('-')[0]) && document.getElementById(params[0].split('-')[0]).style.display != 'none')
		  	  	return validateMatch(document.getElementById(params[0].split('-')[0]),document.getElementById(params[0].split('-')[1]),params[2])  
	
		}
		else if (params[1] == 'selected')
		{
		    if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
			   		return validateSelected(document.getElementById(params[0]),params[2])  
		}
		else if (params[1] == 'date')
		{
		    if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
			   		return validateDate(document.getElementById(params[0]),params[2])  
		}
		else if (params[1] == 'money')
		{
		    if (document.getElementById(params[0]) && document.getElementById(params[0]).style.display != 'none')
			   		return validateMoney(document.getElementById(params[0]),params[2])  
		}
		
		else 
		  return true;	
	}
	
	
	
	
	
	
	
	
	
