function validate_field(form_name,field_name,field_type,errorMsg){
 var field=eval("document."+form_name+"."+field_name);
 var alphanum=/^[0-9a-zA-Z_]+$/;
 var alphanum_space=/^[0-9a-zA-Z_ .;:]+$/;
 var argv=validate_field.arguments;
 var return_value=true;
switch(field_type){
 case "alphaNum_no_space" :{
	   if(!field.value.match(alphanum) || field.value=='')
		 {
           field.focus();
           alert(errorMsg);
		   return_value = false;
		 }
	 } 
	 break;// END case
	 
case "alphaNum" :{
	   if(!field.value.match(alphanum_space) || field.value=='')
		 {
           field.focus();
           alert(errorMsg);
		   return_value = false;
		 }
	 } 
	 break;// END case
	 
case "notNull" :{
	   if(field.value=='')
		 {
           field.focus();
           alert(errorMsg);
		   return_value = false;
		 }
	 }
	 break;// END case
	 
// form_name, field, field_type, erroMsg, [min_value], [max_value]	
case "int_notNull" :{
	  if(field.value == '' || isNaN(field.value) 
		   ||	(arguments[4] != '' && field.value < arguments[4])	// daca e pusa valoare de MINIM, si valoarea e mai mica decat MINIM
		   ||	(arguments[5] != '' && field.value > arguments[5]))	// daca e pusa valoare de MAXIM, si valoarea e mai mica decat MAXIM
		 {
           field.focus();
           alert(errorMsg);
		   return_value = false;
		 }
	 } 
	 break;// END case

// form_name, field, field_type, erroMsg, [min_value], [max_value]	 
case "int" :{
	  if(isNaN(field.value) 
		   ||	(arguments[4] != '' && field.value < arguments[4])	// daca e pusa valoare de MINIM, si valoarea e mai mica decat MINIM
		   ||	(arguments[5] != '' && field.value > arguments[5]))	// daca e pusa valoare de MAXIM, si valoarea e mai mica decat MAXIM
		 {
           field.focus();
           alert(errorMsg);
		   return_value = false;
		 }
	 } 
	 break;// END case

case "zipcode" :{
	var str=field.value;
	str=str_replace(' ','',str);
	var cod_zip_ca=/^(\w)(\d)(\w)(\d)(\w)(\d)$/;
	var cod_zip_us=/^(\d){5}(-\d{4})?$/;
	if(!cod_zip_ca.test(str) && !cod_zip_us.test(str)){
	 alert(errorMsg);
	 field.focus;
	return_value = false;}
	} 
	break;// END case	 

case "password" :{
     if(field.value.length<6){
	 alert(errorMsg);
	 field.focus;
	return_value = false;}
	} 
	break;// END case	
	
case "radio":{
	var return_value = false 
	for(var i=0; i<field.length; i++){ 
			if(field[i].checked == true) return_value = true 
		} 
	 if(!return_value){
			alert(errorMsg)
		}
	}	
	break;

case "email" :{
	var email=/^(\w+[\-\.])*\w+@(\w+\.)+[A-Za-z]+$/;
	if(!email.test(field.value)){
	 alert(errorMsg);
	 field.focus;
	return_value = false;}
	} 
	break;// END case	
	
} // end switch
 return return_value;
} // end function validate_field()
