function doValidation()
{
	var f = document.forms[0];
	for( var i=0; i<f.elements.length; i++){
		var element = f.elements[i];
		
		if( element.required) {
			if ( !eval( element.validation + "("+i+")" )){
				alert(element.errMsg );
				if (element.focus) element.focus();
				return false;
			}
		}
	}
	return true;
}

function validateTextField(index){
	return (document.forms[0].elements[index].value.length ==0)? false:true;
}


function validateCheckbox(index){
	var group = document.forms[0].elements[document.forms[0].elements[index].name];
	for( var i=0; i<group.length; i++){
		if( group[i].checked)
			return true;
	}
	return false;
	
}

function validateEmail(index)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
	var email = document.forms[0].elements[index].value;
	
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) 
		return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) 
		return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) 
			return false;
      }// if
      return true;
    }
	return false;
}
//Needs testing
function validateDate(index){
	var date2check = document.forms[0].elements[index].value;
	var retVal = true;
	var aMMDDCCYY
	var dtest
	
	if (date2check.length ==0)
	{
		retVal = false;
	} 
	else 
	{
		if (/^(\d\d?-\d\d?-\d{4})|(\d\d?\/\d\d?\/\d{4})|(\d{8})$/.test(date2check))
		{
			dtest = new Date(date2check);
			if (/\//.test(date2check))
			{
				aMMDDCCYY = date2check.split("/");
			}
			else if (/-/.test(date2check))
			{
				aMMDDCCYY = date2check.split("-");
			}
			else
			{
				aMMDDCCYY = Array(date2check.substr(0,2), date2check.substr(2,2), date2check.substr(4,4))
				dtest = new Date(aMMDDCCYY[0] + "/" + aMMDDCCYY[1] + "/" + aMMDDCCYY[2]);
			}
			
			if (dtest.getMonth() + 1 != aMMDDCCYY[0] || dtest.getDate() != aMMDDCCYY[1] || dtest.getFullYear() != aMMDDCCYY[2])
			{
				retVal = false;
			}
		}
		else
		{
			retVal = false;
		}
	}
	return retVal;
}

