var notnullTxt = " הינו שדה חובה"
var dateTxt = " דורש ערך תאריך"
var numericvalTxt = " דורש ערך מספרי"
var MatchWithTxt = " - אין  התאמה בין השדות"
var emailTxt = " אינו כתובת דואר חוקית"

var NoHebrewTxt = "אינו יכול להכיל תווים בעברית"
var BasemincharTxt = "מינימום תווים לערך זה - "


///////////////////////
function NoHebrew(Val){ 
	HebrewChars = "אבגדהוזחטיכלמנסעפצקרשתףךץםן";
	for(var x=0;x<Val.length;x++){
		NowChar = Val.charAt(x);
		if (HebrewChars.indexOf(NowChar)>-1)	
			return false
	}
	return true	
}
//////////////////////
function isEmail(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(address.value) ;
}
//////////////////////
function isDate(sDate) {
	var dArr = sDate.split("-");
	var d = new Date();
	d.setDate(dArr[2])
	d.setMonth(dArr[1]-1)
	d.setFullYear(dArr[0])	
	return d.getMonth() + 1 == dArr[1] && d.getDate() == dArr[2] &&	d.getFullYear() == dArr[0];
}
//////////////////////
function minchar(val,chars){
	if(val.length==0)return true;
	return (val.length >= chars)
}
//////////////////////
function RadioChecked(Obj){
	Ob = eval(Obj)
	for (counter = 0; counter < Ob.length; counter++){
		if (Ob[counter].checked){
			return true	
		}
	}
	return false
}
//////////////////////
function notnull(Val){	return  Val ? true : false ; }
//////////////////////
function numericval(Val){ 
	Numbers = "0123456789.";

	if (Val.length==0){
		return true
	}

	for(var x=0;x<Val.length;x++){
		NowChar = Val.charAt(x);
		if (Numbers.indexOf(NowChar)==-1)	
			return false
	}
	if (Val.indexOf(".")!=Val.lastIndexOf("."))	
		return false;
		
	return true	
}
//////////////////////
function MatchWith(Ob){
	if(!document.getElementById("MatchWith_"+Ob.name)){
		alert("שגיאה בטופס אימות :\nאוביקט זהות - MatchWith_"+Ob.name+"- אינו קיים")	
		return true
	}
	BaseField = document.getElementById("MatchWith_"+Ob.name).value
	MatchField = Ob.value
	if( BaseField != MatchField ){
		return false			
	}
	return true
	
}
//////////////////////
function Valid(validate,Ob,Frm){
	if (validate=="notnull") {
		if(Ob.type=="radio"){
			return RadioChecked( "document."+Frm.name+"."+Ob.name  )
		}else{
			return notnull(Ob.value) 
		}	
	}
	else if (validate=="numericval") return numericval(Ob.value) 	
	else if (validate=="NoHebrew") return NoHebrew(Ob.value) 	
	else if (validate=="date") return isDate(Ob.value) 		
	else if (validate=="MatchWith") return MatchWith(Ob) 			
	else if (validate=="email") return isEmail(Ob)	
	
	
	else if (validate.indexOf("minchar")!=-1) {
		CharAmount = validate.split("_");
		validate = "minchar";
		mincharTxt  = BasemincharTxt+ CharAmount[1]
		return minchar(Ob.value,CharAmount[1]) 			

	}else return true
}
function validate(Frm){

	for ( var i=0;i<Frm.elements.length;i++ ) {

		var ObTitle = (Frm.elements[i].title) ? Frm.elements[i].title : Frm.elements[i].name ;
		var ObAction = (Frm.elements[i].action) ? Frm.elements[i].action : 0 ;
		var ObType =  Frm.elements[i].type
		var ObValue =  Frm.elements[i].value ;
		var validate = Frm.elements[i].className;
		var ValidElement = true

		if(validate){
			var validateArr = validate.split("+")
			if ( Frm.elements[i].tagName=="INPUT" ||  Frm.elements[i].tagName=="SELECT" ||  Frm.elements[i].tagName=="TEXTAREA" ) {
				ValidElement = true
				for(x in validateArr){
					if (validateArr[x]) ValidElement = Valid(validateArr[x],Frm.elements[i],Frm)
					if (!ValidElement) break;
				}
			}
		}
		if (!ValidElement){

			 if (validateArr[x].indexOf("minchar")==0)
				alert(ObTitle +" "+ eval("mincharTxt"))
			else
				alert(ObTitle +" "+ eval(validateArr[x]+"Txt"))
			
			try{Frm.elements[i].focus()}
				catch(e){}
				
			Frm.elements[i].style.backgroundColor = "ffffcc"
			Frm.elements[i].onchange = function(){
				Frm.elements[i].style.backgroundColor = ""
			}
			return false
		}
	}	

	return true
}
////////////

function EnterPressed(Frm,e) {
	if (window.event) {
		keycode = window.event.keyCode;
		if (e) 
			keycode = e.which;
		if(keycode==13)
			if(validate(Frm))Frm.submit()
	}	
}