function validatenew(strValidateStr,objValue,message) 
{
	//alert();
	strError=message;
	if(strValidateStr)
	{
	switch(objValue)
		{
			case "req": 
			 {
			   ret = TestRequired(strValidateStr,strError);
			   break;             
			 }//case required 
			   case "num": 
			   { 
					ret = TestInput(strValidateStr,"[^0-9]",strError);					break;               
			   }
			   case "dec": 
			   {  
					ret = TestInput(strValidateStr,"[0-9\.]",strError);			break;               
			   }
		      case "email": 
              { 
			    ret = TestEmail2(strValidateStr,strError);
                break; 
              } 
			  case "ans": 
              { 
				ret = TestInput(strValidateStr,"[A-Za-z0-9\\s]",strError);		break; 
              }	
			   case "char": 
              { 
				ret = TestInput(strValidateStr,"[A-Za-z]",strError);		break; 
              }	
		}
	}
	return ret;
}

function validate(strValidateStr,objValue) 
{
	//alert(strValidateStr);
	if(strValidateStr)
	{
		strError=strValidateStr.name;
		switch(objValue)
		{
			case "req": 
			 {
				 strError+=" : must not be blank";
				//alert(objValue);
			   ret = TestRequired(strValidateStr,strError);
			   break;             
			 }//case required 
			   case "num": 
			   { strError+=" : must be number";
				   //alert(objValue);
					ret = TestInput(strValidateStr,/^-?\d+$/,strError);
					break;               
			   }
			   case "dec": 
			   {   strError+=" : must be number";
					ret = TestInput(strValidateStr,/^[-+]?[0-9]+(\.[0-9]+)?$/,strError);
					break;               
			   }
		      case "email": 
              { strError+=" : must be valid email";
			    //  alert(strValidateStr);
			    //alert(strError);
			    ret = TestEmail2(strValidateStr,strError);
               break; 
              } 
			  case "ans": 
              { strError+=": Only alpha-numeric characters and space allowed ";
				ret = TestInput(strValidateStr,/[A-Za-z0-9\\s]/,strError);
				break; 
              }		
			  case "char": 
              { strError+=": Only characters and space allowed ";
				ret = TestInput(strValidateStr,/[A-Za-z]+/,strError);
				break; 
              }		
			  
			  case "date": 
              { strError+=": Wrong Date Format ";
				ret = TestInput(strValidateStr,/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/,strError);
				break; 
              }	
			  case "select": 
              { strError+=": Choose one please";
			  	validateSelect(strValidateStr,strError);
				break; 
              }
			  case "radio2": //only 2 radio with the same name
              { //strError+=": Choose one please";
			  	validateRadio2(strValidateStr,strError);
				break; 
              }
		}
	}
	return ret;
}
function validateRadio2(strValidateStr,strError) 
{
	if(strValidateStr[0].checked==""&&strValidateStr[1].checked=="")
	{
		ret = false;
		alert("Choose one please");
		strValidateStr[0].checked=true;
	}
	else
		ret = true;
}
function validateSelect(strValidateStr,strError) 
{
	if(strValidateStr.value=="")
	{
		ret = false;
		alert(strError);
		strValidateStr.focus();
	}
	else
		ret = true;
}
function TestRequired(strValidateStr,strError) 
{
	var ok=true;
	//alert(strValidateStr.value.length);
	if(strValidateStr.value.length==0)
	{
		alert(strError);
		strValidateStr.focus();
		ok=false;
	}
	return ok;
}
function TestInput(objValue,strRegExp,strError)
{
   var ret = false;
	//var charpos =objValue.value.search(strRegExp);
    var charpos = strRegExp.test(objValue.value);
	
	//alert(charpos);
    if(charpos) 
    { 
	
      ret = true; 
    }
	else
	{
		alert(strError);
		objValue.focus();
	}
 return ret;
}
function TestEmail2(objValue,strError)
{
var ret = false;
     if(objValue.value.length > 0 && validateEmail(objValue.value)	 ) 
     { 
            ret = true; 
     }else
	 alert(strError);
	 objValue.focus();
return ret;
}
function validateEmail(email)
{
    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;
}
function validatecontact(form)
{
	//alert("enter");
	//alert(form.elements[0].value);
var check=""; 
if(form.elements[1].value=="1")
 check="email";
else if(form.elements[1].value=="2")
 check="num";
else if(form.elements[1].value=="3")
  check="ans";
 //alert(check);
  
if(validate(form.elements[3],check)&&validate(form.elements[4],'req')&&validate(form.elements[5],'req'))
return true;
else 
return false;
}

