
function	FormOnChangeHandler(object){

	if(object){
		this.value = object.value;
		this.name = object.name
	}
	
	for(var c=0;c<formvalidationsdata.length;c++){
		if(formvalidationsdata[c].name == this.name)
//			alert(formvalidationsdata[c].name +"\n"+formvalidationsdata[c].dataType + "\n"+formvalidationsdata[c]['validation'].toSource())
			this.validate(object, formvalidationsdata[c]['validation'], false)

	}
}

FormOnChangeHandler.prototype.validate = function(object, validations, alert_handled_by){
	
	for(var c=0; c<validations.length; c++){
		if(validations[c]['name'] == 'is_numerical'){

			var re = new RegExp(/^\d*$/)
			var rs = re.exec(this.value)

			if(rs)
				continue;
			else
				if(alert_handled_by)
					alert(this.value + "\n"+ validations[c]['label'][lang])
				setTimeout("document.getElementById('"+this.name+"').focus()", "100");
				setTimeout("document.getElementById('"+this.name+"').select()", "100");
				return false;

		}
		else if (validations[c]['name'] == 'is_not_null'){
			if(this.value == '' || this.value == 0){
				if(alert_handled_by)
					alert(validations[c]['label'][lang] +  "\n" )
				setTimeout("document.getElementById('"+this.name+"').focus()", "100");
				setTimeout("document.getElementById('"+this.name+"').select()", "100");
				return false;

			}
		}
		else if (validations[c]['name'] == 'is_checked'){
		
			if(document.getElementById(this.name).checked == false){
				if(alert_handled_by)
					alert(validations[c]['label'][lang] +  "\n" )
				setTimeout("document.getElementById('"+this.name+"').focus()", "100");
				setTimeout("document.getElementById('"+this.name+"').select()", "100");
				return false;

			}
		}

	}
	return true;
}

function	FormOnSubmitHandler(){


	for(var c=0;c<formvalidationsdata.length;c++){
		if(validate(formvalidationsdata[c].name, formvalidationsdata[c]['validation']));
		else 
			return false;
	}
	return true;
}


function validate(object, validations){

//	alert(object.name+validations)

	if(object){
//	alert('kli	')
		fo = new FormOnChangeHandler(document.getElementById(object))
		if(!fo.validate(object, validations, true))
			return false;
	}
	if (1){
		for(var c=0;c<validations.length;c++){
			if(validations[c]['name'] == 'choice_made'){
				var myButtons = document.getElementsByName(object)
				for(var cc=0;cc<myButtons.length; cc++){
					if(myButtons[cc].checked == true){
						return true;							
					}
				}
				if(1)
					alert(validations[c]['label'][lang])
				return false;
			}
		}

	}
	return true;
}
