	
	
	function validate(form_name){
		ret_value= true;
		
		// get form
		v_form = document.getElementById(form_name);
		// get count elements
		v_count = v_form.elements.length;	

		for(i=0; i < v_count; i++){
			// get control
			v_control = v_form.elements[i];
			
			// clear validation	
			elem = document.getElementById(v_control.name + "_err");
			if( elem ) elem.parentNode.removeChild(elem);		
			
			// if have control identifier
			if(v_control.className!=""){								
				
				if( evaluate(v_control.className,v_control) == false ) {

					elem = document.getElementById(v_control.name + "_err");
					if( elem ) elem.parentNode.removeChild(elem);					
					html_c = '<div id = "'+ v_control.name + '_err" class="error_message">' + v_control.alt + '</div><script> fadein_error("' + v_control.name + '_err");</script>';
					new Insertion.After(v_control,html_c);
					
					ret_value = false;
				}								
			}
		}
		return ret_value;
	}
	
	/* validate form data */ 
	function validate_and_submit(form_name){
							
		if ( validate(form_name) ){		
			v_form = document.getElementById(form_name);
			v_form.submit();
		}
	}
	
	
	
	/* evaluate generic function */ 
	function evaluate(function_eval,v_control){	
		if(function_eval == "required") return evaluate_required(v_control);
		return true;
	}
	
	/* basic required evaluate */ 
	function evaluate_required(v_control){
		if(v_control.value.trim()=="") return false;
		return true;
	}
