// JavaScript Document			
	function validate($frm_obj) {
				
		$count = $frm_obj.elements.length;
		var $pos=0;
		var $error = new Array('valid');	
		for( i=0; i < $count - 1; i++ ) {
			var $max; 
			var $min;
					
			$elem_obj = $frm_obj.elements[i];
			//alert("Name: "+$elem_obj.name+" Type :"+$elem_obj.type+" value :"+$elem_obj.value);			
			switch ($elem_obj.type) {
				
				 case 'text' : 		if($elem_obj.checks==""){
					 					break;
					 				}
				 					$checks = $elem_obj.checks.split(","); //get an array of user defined checks									
									$checkslen = $checks.length;			// get length of the array of checks.
									
									
									for($j=0; $j<$checkslen; $j++) {
										if($checks[$j].indexOf("max") > -1) {	// get the value of maximum length of the text.
											$check = $checks[$j].split("=");
											$max = $check[1];											
										}
										else $max = 200;
										
										if($checks[$j].indexOf("min") > -1) {	// get the value of minimum length of the text.
											$check = $checks[$j].split("=");
											$min = $check[1];											
										}
										else $min = 1;
										
										switch ($checks[$j]) {
											case 'schar'  : $check_result = check_special_char($elem_obj.value);
															if ($check_result != 1) {
																$error[$pos++]="Special Charecters as " +$check_result +"are not allowed !";																
																// $span_id.innerHTML = "Special Charecters are not allowed.";				
															}
															break;
											case 'bspace' : $check_result = check_blank_space($elem_obj.value);
															if ($check_result == 0) {
																$error[$pos++]=$elem_obj.valueType+" :"+"Blank spaces are not allowed !";																	
																//$span_id.innerHTML = "Blank spaces are not allowed.";				
															}	
															break;
											case 'numeric': $elem_val = $elem_obj.value;
															$check_result = $elem_val.search("[^ A-Za-z]");
															//alert($check_result+" "+$elem_val.length);
															if($check_result > -1 && $elem_val.length > $check_result) 
						  									{ $error[$pos++]=$elem_obj.valueType+" :"+"Numbers are not allowed !"; }
															break;
											case'charecter':$elem_val = $elem_obj.value;
															$check_result = $elem_val.search("[^0-9]");
															//alert($check_result+" "+$elem_val.length);
															if($check_result > -1 && $elem_val.length > $check_result) 
						  									{ $error[$pos++]=$elem_obj.valueType+" :"+"Charecters are not allowed !"; }
															break;															
											case 'mail'   : 
											                if($elem_obj.value!=""){
																$check_result = validateEmailv2($elem_obj.value);															
																//return false;
																if(!$check_result){
																  $error[$pos++]=$elem_obj.valueType+" :"+"Not in proper email format !";	
																}
															}
											
															//else $error[$pos++]=$elem_obj.valueType+" :"+"Not in proper email format !";												
										} //switch ($checks[$j])
										
									} //end of for($j=0; $j<$checkslen; $j++)
									
									
										// call function for check length and for empty text.																														
									if($max!="" || $min!=""){
										$check_result = check_text_length($max,$min,$elem_obj.value); 
									}
									if($check_result == "maximum" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Number of charecters are more than " + $max +"!";
									}
									if($check_result == "minimum" ){
										$error[$pos++]= $elem_obj.valueType+" :"+"Number of charecters are lessthan " + $min +" !";
									}
									if($check_result == "empty" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Field is Empty !";
									}
																		
				 			   		break;				 			   		

				 case 'password' :	if($elem_obj.checks==""){
					 					break;
					 				}
									//password[$pass++]=$elem_obj.value;
									
				 					$checks = $elem_obj.checks.split(","); //get an array of user defined checks									
									$checkslen = $checks.length;			// get length of the array of checks.
									
									for($j=0; $j<$checkslen; $j++) {
										if($checks[$j].indexOf("max") > -1) {	// get the value of maximum length of the text.
											$check = $checks[$j].split("=");
											$max = $check[1];											
										} 
										if($checks[$j].indexOf("min") > -1) {	// get the value of minimum length of the text.
											$check = $checks[$j].split("=");
											$min = $check[1];											
										}
										
										switch ($checks[$j]) {
											case 'schar'  : $check_result = check_special_char($elem_obj.value);
															if ($check_result != 1) {
																$error[$pos++]=$elem_obj.valueType+" :"+"Special Charecters as " +$check_result +"are not allowed !";																
																// $span_id.innerHTML = "Special Charecters are not allowed.";				
															}
															break;
											
										} //end switch ($checks[$j])
									} // end for($j=0; $j<$checkslen; $j++)
										// call function for check length and for empty text.																														
									$check_result = check_text_length($max,$min,$elem_obj.value); 
									if($check_result == "maximum" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Charecters are not more than " + $max +"!";
									}
									if($check_result == "minimum" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Required minimum "+$min+" charecters !"; 
									}
									if($check_result == "empty" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Empty Fileds !";
									}																										
				 			   		break;


				 case 'textarea' :  if($elem_obj.checks==""){
					 					break;
					 				}
				 					$check_result = check_text_length($max,$min,$elem_obj.value);				 					
									if ($check_result == "empty" ){
										$error[$pos++]=$elem_obj.valueType+" :"+"Empty fileds !";										
									}									 									
									break;
									
				case 'select-one' : 			 								 					
									if ($elem_obj.value == "" ||  $elem_obj.value == -1){
										$error[$pos++]=$elem_obj.valueType+" :"+"Please select value !";										
									}																	
									break;	

			case 'select-multiple' :						 								 					
									if ($elem_obj.value == "" ||  $elem_obj.value == -1){
										$error[$pos++]=$elem_obj.valueType+" :"+"Please select value !";										
									}																	
									break;	

		   } //end switch ($elem_obj.type)
		  		  
		  
	   } //end for( i=0; i < $count - 1; i++ ) 	   
				
		   if($error.length >= 1 && $error[0]!="valid"){		 
			  frm_error="You have following errors:\n";
			  for(er=0; er<$error.length; er++){
				frm_error=frm_error+$error[er]+"\n";
			  }
			  alert(frm_error);
			  return false;	
		   }	
		   else {
				return true;
		   }
	} //end function validate($frm_obj)
	
	function check_text_length($maximum,$minimum,$elem_value) { // function for checking desired text length.
		if($elem_value.length > $maximum ){ 
			return "maximum";
		}			
 		if ($elem_value == "") {	
			return "empty";
		}
		if ($elem_value.length < $minimum) {	
			return "minimum";
		}
		else
			return 1;
	}
	
	function check_special_char($elem_value) { // function for checking special charecters into the input text.
		var $typed_spe_char = "";
		$specialChar = new Array("!","@","#","$","%","^","~","`","&","*","(",")","+","=","|","/","<",">",";",":","[","]","{","}","'","?");
		for ($s = 0; $s < $specialChar.length; $s++) {
			if($elem_value.indexOf($specialChar[$s]) > -1 ) {
				$typed_spe_char = $typed_spe_char + $specialChar[$s] + " ";				
			}
		}
		if($typed_spe_char != ""){
			return $typed_spe_char;				
		}
		else {
			return 1;
		}
	}		
	
	function check_blank_space($elem_value) { // function for checking blank spaces into the input text.
		if($elem_value.indexOf(" ") > -1 ) {
				return 0;				
		}
		else { 
			return 1;
		}	
	}

function validateEmailv2(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;
      }
      return true;
    }
return  false;
}

// JavaScript Document