/**
 * @author Bram Mulders
 */

	function validSearch() {
		if ($F('search_string') == '' ){
			
			new Effect.Shake($('search_string'), {
				duration: 0.5
			});
			return false;
		}
		return true;
	}
  function validate(form){
	var aCheck = $(form).select('.check');
	for (var i=0; i<aCheck.length; ++i) {
		var item = aCheck[i];


		if (!verify($(item))){
			$(item).scrollTo();
			$(item).activate();
			new Effect.Shake($(item), {
				duration: 0.5
			});
			return false;
		}
	}
	
	var submitbuttons = $(form).getInputs('submit');
	submitbuttons.invoke('disable');
	return true;
 }
 

 verify.required = /^\S{1,}.*$/;
 verify.requiredm = /^\S{1,}.*$/m;
 
 verify.jpgreq_add = /^\S{1,}.*(.jpg)|(.JPG){1}$/;
 verify.jpgreq_edit = /^\S{1,}.*(.jpg)|(.JPG){1}$|^$/;
 
 verify.jpg = /^\S{1,}.*(.jpg)|(.JPG){1}$|^$/;

 verify.email = /\b[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}\b/i;

 verify.day = /^\d{1,2}$/; //
 verify.month = /^\d{1,2}$/; //
 verify.year = /^[1-2]{1}\d{3}$/; // 1000 - 2999
  
 verify.numeric = /^\d+$/; // {0,1,2,3,4,...}
 verify.numericN = /^[1-9]\d*$/; // {1,2,3,4,...}
 verify.numericZ = /^\-?\d+$/; // {...,-4,-3-,2-,-1,0,1,2,3,4,...}
 
 
function verify(element) {
  	var classNames = element.classNames().toArray();
	var value = $F(element);
	classNames = classNames.without('check');	
	for (var c=0; c<classNames.length; ++c) {
		var condition = verify[classNames[c]];
		if (!condition.test(value)) {
			return false;
		}
	};
	return true;
}

