function validator_isNumeric(str){
	return ((str.search(/[^1234567890.-]/gi)==-1)?(true):(false));
};
function validator_isIntNumeric(str){
	return ((str.search(/[^1234567890-]/gi)==-1)?(true):(false));
};
function validator_isPositiveNumeric(str){
	return ((str.search(/[^1234567890.]/gi)==-1)?(true):(false));
};
function validator_isEmail(str){
	var z=str.replace(/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*[@]{1}[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]{2,})+/gi,"");
	if (z!="") return false; else return true;
};

function Trim(s) 
{
		while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
		{ s = s.substring(1,s.length); }
		while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
		{ s = s.substring(0,s.length-1); }
		return s;
} 

function myOnFormSubmit(formNode){
	var z=formNode.elements.length;
	var status=true;
	var focused = false;
	var message="";
	for (var i=0; i<z; i++)
	if (((formNode.elements[i].getAttribute("validator")) && (! eval("validator_"+formNode.elements[i].getAttribute("validator"))(Trim(formNode.elements[i].value)) ) ) || (((!formNode.elements[i].disabled)&&(formNode.elements[i].getAttribute("required")))&&(Trim(formNode.elements[i].value)=="")))
		{
		if (!focused){
			try{
				formNode.elements[i].focus();
				focused = true;
			}catch(e){}
		}
		formNode.elements[i].style.backgroundColor="#ff9999";
		if (formNode.elements[i].getAttribute("message")) message+=formNode.elements[i].getAttribute("message")+"\n";
		status=false;
		}
	else
		formNode.elements[i].style.backgroundColor="";
	if (!status) alert(message);	
	return status;
};

function myOnFormClick(node){
	node.style.backgroundColor="";
};