// namespace : webon.js.form_tools
// version : 1.1.0
// modify : 31/12/2008


function validation(form){
try
{
    $$('.alert').invoke('removeClassName', 'alert');
	var formElements = $(form).getElements();
	for(var i=0;i<formElements.length;i++)
	{
	    var input = $(formElements[i]);
	    if(input.readAttribute('check') == null || input.readAttribute('check') == '')continue;
	    if(input.hasClassName('inputHide') || input.hasClassName('disabled'))continue;
	    
	    if(validation_check(input)==false){
	        return false;
	    }
	}
	return true;
}catch(e){alert(e);return false;}
}

function validation_check(input){
	var checks = $w(input.readAttribute('check'));
	for(var i=0;i<checks.length;i++){
		var c=checks[i];
		var temp=c.split(":");
		var method=temp.length>0?temp[0]:"";
		var params=temp.length>1?","+temp[1]:"";
		if(window[method]){
			var e=method+"(input"+params+")";
			var result=eval(e);
			if(result==false)return false;
			
		}else{
			alert("Validation method ["+method+"] not found.");
			return false;
		}
	}
	return true;
}

function show_error_msg(msg,vars,values,input){
    input.focus();
    //$(input.name+'Row').addClassName('alert');
    if($(input).up('tr'))$(input).up('tr').addClassName('alert');
	for(var i=0;i<vars.length;i++){
		var v=vars[i];
		var reg=new RegExp(v,"ig");
		msg=msg.replace(v,values[i]);
	}
	alert(msg);
}

function show_error_msg_withRowName(msg,vars,values,input,row){
    input.focus();
    $(row).addClassName('alert');
	for(var i=0;i<vars.length;i++){
		var v=vars[i];
		var reg=new RegExp(v,"ig");
		msg=msg.replace(v,values[i]);
	}
	alert(msg);
}







