function CompareTime(StartTime,EndTime,Label){
	var ST = StartTime.split(":");
	var ET = EndTime.split(":");
	var Flag =0;
		
		if(eval(ST[0])>eval(ET[0])){
			Flag =1;
			alert(Label);
			return false
		}
		if(eval(ST[0])==eval(ET[0])){
			if(eval(ST[1])>eval(ET[1])){
				Flag =1;
				alert(Label);
				return false;
			} 
		}
		
		if(eval(ST[1])==eval(ET[1]) && eval(ST[0])==eval(ET[0])){
			Flag =1;
			alert(Label);
			return false;
		}
	
	if(Flag ==1){
		return false;
	} else {
		return true;
	}
}
function setfocus(element)
{// written by Albazei 04-11-2009 to falidation in firefox browser

		setTimeout(
				   function()
					{
						element.focus();
						element.select();	
					}
						,100);
}

function IsValidNID(Val,Label,element){
	var inValidChars = "1234567890";
	Val=trim(Val);
	
	if(Val.charAt(0) != "1")
	{
		alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
		setfocus(element)
		return false;
	}
	
	
	if(Val!="")
	{
		for (i = 0; i < Val.length; i++){   
			var c = Val.charAt(i);
			var code=c.charCodeAt(0);
			if (inValidChars.indexOf(c) == -1){
				alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
				setfocus(element);
				return false;
			}
		}
		if(Val.length == 10){
			ValidateNID(Val,element,Label);
		}
		else{
			alert(" عدد خانات "+Label+" غير صحيح ");
			setfocus(element);

			return false;
		}
	}
	return true;
}



function IsValidNIDT(Val,Label,element){
	var inValidChars = "1234567890";
	Val=trim(Val);
	
	if(Val.charAt(0) != "1")
	{
		alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
		//setfocus(element)
		return false;
	}
	
	
	if(Val!="")
	{
		for (i = 0; i < Val.length; i++){   
			var c = Val.charAt(i);
			var code=c.charCodeAt(0);
			if (inValidChars.indexOf(c) == -1){
				alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
				//setfocus(element);
				return false;
			}
		}
		if(Val.length == 10){
			ValidateNID(Val,element,Label);
		}
		else{
			alert(" عدد خانات "+Label+" غير صحيح ");
			//setfocus(element);

			return false;
		}
	}
	return true;
}

function IsValidNIDTR(Val,Label,element){
	var inValidChars = "1234567890";
	Val=trim(Val);
	
	if(Val.charAt(0) != "1")
	{
		alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
		document.getElementById('Invalid_NID').value = 1
		return false;
	  
	}
	
	
	if(Val!="")
	{
		for (i = 0; i < Val.length; i++){   
			var c = Val.charAt(i);
			var code=c.charCodeAt(0);
			if (inValidChars.indexOf(c) == -1){
				alert(" رجاءً أدخل ارقام صحيحة لخانة "+Label);
				document.getElementById('Invalid_NID').value = 1
				return false;
			}
		}
		if(Val.length == 10){
			ValidateNID(Val,element,Label);
		}
		else{
			alert(" عدد خانات "+Label+" غير صحيح ");
			document.getElementById('Invalid_NID').value = 1
        	return false;
		}
	}
	return true;
}



function ValidateNID(nidno,element,Label)
{
	var nidlen = nidno.length;
	
	var nindigitno=nidno.substr(0,nidlen-1);
	
	var notovalidate=nidno.substr(nidlen-1,nidlen);
	
	var wholechrs="";
	var nomlen = nidno.length-1;
	
	for (i = 0; i < nomlen; i++){ 
		
		if(i%2 == 0)
		{
			var chr = (nidno.charAt(i))*2;
			//alert("value of chr -- " +chr)
		}
		else
		{
			var chr = nidno.charAt(i);
			//alert("value of chr -- " +chr)
		}
		wholechrs = wholechrs + chr;
		
		
	}
	var addmultiples=0
	
	for (j = 0; j < wholechrs.length; j++){
		addmultiples= addmultiples + parseInt(wholechrs.charAt(j));
		
	}
	
	var validateno = "";
	validateno = addmultiples.toString();
	validateno = validateno.substr(validateno.length-1, validateno.length);
	
	var lastno=0;
	if(parseInt(validateno) > 0)
	{
		lastno = 10 - parseInt(validateno);
	}
	if(parseInt(notovalidate) != lastno)
	{
		alert(Label+" غير صحيح الرجاء التأكد من");
		setfocus(element)
			return false;
	}
	return true;
}
function AccessControl(Field,Label){
	if(Field=='0' || Field=='disabled'){
		alert("لا يمكنك اتمام عملية "+Label);
		return false;	
	} else {
		return true;
	}
}


function IsAcceptEnglishCharacters(Val,Label,element){
	var inValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .1234567890-,#()'[]{}/_@!#$%^&*";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
        if (inValidChars.indexOf(c) == -1 ){
			alert("توجد حروف غير صحيحة في  "+Label);
			setfocus(element)
				return false;
		}
    }	
	}
	return true;
}

function  ConfirmMsgToExit(objForm,URL,TabId,Trigger){
	if(confirm("هل تريد الخروج؟ ")){
	 	if(TabId) {
			if(objForm.tabToLoad && TabId!=""){
				objForm.tabToLoad.value = TabId;
			}
		} else {
			if(objForm.tabToLoad)
			objForm.tabToLoad.value = "";
		}
		if(Trigger) {
			if(objForm.triggerEvent && Trigger!='') {
				objForm.triggerEvent.value = Trigger;
			}
		}
		objForm.action = URL;
		objForm.submit();
	}
}



//string formatting functions
function IsZero(sText,Label,element)
{ 	

if(trim(sText)==""){
	return false;
}

val=eval(sText);
 if(val==0){
   alert(Label+" يجب أن يكون أكبر من صفر");
			setfocus(element)
			return false;}
 else
   return true;
}
function trim(text)
{
	return text.replace(/^\s+/,'').replace(/\s+$/,'');
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function floatRound(number,X) {
	X = (!X ? 2 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

//Validation Functions
function IsNumber(sText,Label,element)
{
   var ValidChars = "0123456789";
   var IsDigit=true;
   var Char;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsDigit == true; i++) 
   { 
      Char = sText.charAt(i); 
      if(ValidChars.indexOf(Char) == -1) 
      {
         IsDigit = false;
      }
   }
   if(!IsDigit)
   {   
   	alert(" رجاءً أدخل رقماً موجباً كاملا ًلخانة "+Label);
			setfocus(element)
			}
  }
  return IsDigit;
}

function IsAlpha(sText,Label,element)
{
   sText=trim(sText);
   var isAlpha=true;
   if(sText!="")
   {
	 for(var j=0; j<sText.length; j++)
	 {
		var char = sText.charAt(j);
		var hh = char.charCodeAt(0);
		 if(!((hh >= 1569 && hh<=1630) || (hh >= 1646 && hh<=1791) || (hh==1557) || char==" "))
		      isAlpha=false;
	 }
      if(!isAlpha)
	  {
	    alert("رجاءً أدخل حروفاً عربية صحيحة لخانة "+Label);
		setfocus(element)
	}
   }
}


/*checks for valid English characters. 
This is for "Title" is definition form where value should be english*/
function IsEnglishAlpha(sText,Label,element)
{
   sText=trim(sText);
   if(sText!="")
   {
	 regex=/[^A-Za-z\.\s]/;
	 if(sText.match(regex))
	 { 
	    alert("رجاء أدخل حروف إنجليزية صحيحة لخانة "+Label);
		setfocus(element)	 
	}
   }
}

function IsAlphaNum(sText,Label,element)
{
	var isAlphaNum =true;
	sText=trim(sText);
	if(sText!="")
	{
	for(var j=0; j<sText.length; j++)
		{
		  var char = sText.charAt(j);
		  var hh = char.charCodeAt(0);
		  if(!((hh >= 1569 && hh<=1630) || (hh>=1646 && hh<=1791) || (hh==1557) || (hh >= 1776 && hh<=1785) || (hh>=48 && hh<=57) || (char==" ")))
		      isAlphaNum=false;
		}
	if(!isAlphaNum)
	  {
	    alert(" رجاءً أدخل حروفاً عربية صحيحة ل "+Label);
		setfocus(element)
		}
	  return isAlphaNum;
	}
 }
function IsEnglishAlphaNum(Val,Label,element){
	var inValidChars = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890-";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
        if (inValidChars.indexOf(c) == -1 ){
			alert("رجاء أدخل حروف إنجليزية صحيحة لخانة "+Label);
			setfocus(element)
			return false;
		}
    }
	}
	return true;
}
 
function IsPhone(sText,Label,element)
{
   var ValidChars = "0123456789-()+. ";
   var IsValidChar=true;
   var Char;
   var code;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsValidChar == true; i++) 
   { 
      Char = sText.charAt(i);
	  Xchar = sText.charAt(i+1); 
	  
	  if(Char=="-"){
		 if(Char==Xchar){
			  IsValidChar = false;
		  }
	  }
	  if(i==sText.length-1){
		  if(Char=="-"){
		  	IsValidChar = false;
	 	 }
	  }
	  
	  if(Char==" "){
		  IsValidChar = false;
	  }
	  code=Char.charCodeAt(0);
	  if(ValidChars.indexOf(Char) == -1 && !(code>=1776&&code<=1785)) 
      {
         IsValidChar = false;
      }
   }

	citycodetext = "";
	sText1 = sText;
	if(sText.indexOf("-") != -1) {
		arrPhone = sText.split("-");
		sText1 = arrPhone[1];
		citycodetext = arrPhone[0] + "-";
	}
   
   if(IsValidChar){
		if(citycodetext != "") {
			if(sText1.length!=7) {
				alert("رقم الهاتف/الفاكس يجب أن يحتوي على 7 أرقام بعد"+ citycodetext);
			setfocus(element)
			return false;
			}
		} else {
			if(sText1.length!=7) {
				alert("يجب أن يتكون رقم الهاتف / الفاكس من 7 أرقام");
			setfocus(element)
			return false;
			}
		}
	}
	
   if(document.getElementById("citycode")) {
	 CityCodeVal = document.getElementById("citycode").value;
   } else {
	 CityCodeVal = "";
   }
	
   if(!IsValidChar)
   {
		if(sText != CityCodeVal) {	   
			alert(Label+ " يجب أن يكون بالصيغة الصحيحة مثال: 00-1234567");
			setfocus(element)			
			return IsValidChar;
		}
	} 
   }
 return true;   
}	

function IsPhoneNumber(sText,Label)
{
   var ValidChars = "0123456789-()+. ";
   var IsValidChar=true;
   var Char;
   var code;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsValidChar == true; i++) 
   { 
      Char = sText.charAt(i);
	  Xchar = sText.charAt(i+1); 
	  
	  if(Char=="-"){
		 if(Char==Xchar){
			  IsValidChar = false;
		  }
	  }
	  if(i==sText.length-1){
		  if(Char=="-"){
		  	IsValidChar = false;
	 	 }
	  }
	  
	  if(Char==" "){
		  IsValidChar = false;
	  }
	  code=Char.charCodeAt(0);
	  if(ValidChars.indexOf(Char) == -1 && !(code>=1776&&code<=1785)) 
      {
         IsValidChar = false;
      }
   }

	citycodetext = "";
	sText1 = sText;
	if(sText.indexOf("-") != -1) {
		arrPhone = sText.split("-");
		sText1 = arrPhone[1];
		citycodetext = arrPhone[0] + "-";
	}
   
   if(IsValidChar){
		if(citycodetext != "") {
			if(sText1.length!=7) {
				alert("رقم الهاتف/الفاكس يجب أن يحتوي على 7 أرقام بعد"+ citycodetext);
				return false;
			}
		} else {
			if(sText1.length!=7) {
				alert("يجب أن يتكون رقم الهاتف / الفاكس من 7 أرقام");
				return false;
			}
		}
	}
  /*	
   if(document.getElementById("citycode")) {
	 CityCodeVal = document.getElementById("citycode").value;
   } else {
	 CityCodeVal = "";
   }
  */
	
   if(!IsValidChar)
   {
//		if(sText != CityCodeVal) {
			alert(Label+ " يجب أن يكون بالصيغة الصحيحة مثال: 00-1234567");
//		}
	} 
	return IsValidChar;
   }
}	

function IsMobileNumber(sText,Label,element)
{
   var ValidChars = "0123456789-()+. ";
   var IsValidChar=true;
   var Char;
   var code;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsValidChar == true; i++) 
   { 
      Char = sText.charAt(i);
	  Xchar = sText.charAt(i+1); 
	  
	  if(Char=="-"){
		 if(Char==Xchar){
			  IsValidChar = false;
		  }
	  }
	  if(i==sText.length-1){
		  if(Char=="-"){
		  	IsValidChar = false;
	 	 }
	  }
	  
	  if(Char==" "){
		  IsValidChar = false;
	  }
	  code=Char.charCodeAt(0);
	  if(ValidChars.indexOf(Char) == -1 && !(code>=1776&&code<=1785)) 
      {
         IsValidChar = false;
      }
   }
   if(IsValidChar){
		if(sText.length!=10){
			alert("يجب ان يتكون رقم الهاتف المحمول من 10 خانات");
			setfocus(element)
			return false;
	   }
	}
   if(!IsValidChar)
   {
   	alert(Label+ " يجب أن يكون بالصيغة الصحيحة مثال: 229-230-4443 أو (229) -230-4443");
	setfocus(element)
			} 
	return IsValidChar;
   }
}	

function IsPercent(sText,Label,element)
{
   sText=trim(sText);
   
     if(sText==""){
	  return false; 
   }
   
   if(!IsNumber(sText,Label,element)){
		return false;	  
   }
	
  if(!IsZero(sText,Label,element)){
		return false;	  
   }
   
   if(sText!="")
   {
	 percent=parseInt(sText);
	 if(percent<0||percent>100)
	 {
 		 alert(Label+ " رجاءً أخل مبلغاً يتراوح بين 1و 100");	  
			setfocus(element)
		}
   }
}
function IsAmount(sText)
{
   var ValidChars = "0123456789.,,.";
   var IsAmount=true;
   var Char;
   for (i = 0; i < sText.length && IsAmount == true; i++) 	
   { 
		 Char = sText.charAt(i); 
		 if (ValidChars.indexOf(Char) == -1) 
         {
    	     IsAmount = false;
         }
   }
   return IsAmount;
}

function IsValidAmount(sText,Label,element)
{
    var isValidAmount=true;
    sText=trim(sText); 
	if(sText!="")
	{
	if(!IsAmount(sText))
	{
		errmsg=" رجاءً أدخل رقماً صحيحاً ًلخانة "+Label;
		isValidAmount=false;
	}
	AmtArray = sText.split(".")
	if(AmtArray.length>2)
	{
		errmsg=" لا يجوز إدخال أكثر  من رقم بعد الفاصلة لخانة "+Label;
		isValidAmount=false;
	}
	if(AmtArray.length>1)
	{
		FloatAmt = AmtArray[1];
		if(FloatAmt.length>2)
		{
			errmsg=" لا يجوز إدخال أكثر من رقمين بعد الفاصلة لخانة "+Label;
			isValidAmount=false;
		}
	}
	if(!isValidAmount){
	   alert(errmsg);
			setfocus(element)
		}
   }
}

function IsEmail(sText,Label,element)
{
 var ValidChars = "abcdefghijklmnopqrstuvwxyz.ABCDEFGHIJKLMNOPQRSTUVWXYZ@_-0123456789";
	var Val=trim(sText);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
        if (ValidChars.indexOf(c) == -1 ){
			alert(" رجاءً أدخل حروفا انجليزية لخانة "+Label);
			setfocus(element)
			return false;
		}
    }
	}
  
  var isEmail=false;
  sText=trim(sText);
  if(sText!="")
  {
  var email = new String(sText);
  var index = email.indexOf("@");
  if (index > 0)
  {
    var pindex = email.indexOf(".",index);
    if ((pindex > index+1) && (email.length > pindex+1))
	    isEmail= true;
  }
 if(!isEmail)
 {
   //alert(" رجاءً أدخل بريداً الكترونياً صحيحاً لخانة "+Label);
   
   alert("name@site.domain  "+ Label +" يجب أن يكون على الصيغة ");
			setfocus(element)
} 
 }
}

function IsURL(strURL,Label,element)
	{
		var ValidChars = "abcdefghijklmnopqrstuvwxyz.ABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789/:-";
			var Val=trim(strURL);
			if(Val!="")
			{
			for (i = 0; i < Val.length; i++){   
				var c = Val.charAt(i);
				if (ValidChars.indexOf(c) == -1 ){
				 alert("http://www.xyz.com "+Label+" خاطىء, يجب أن يكون على الصيغة");
			setfocus(element)
			return false;
				}
			}
			}	 
	 strURL=trim(strURL);
	  var httpFlag = true;
      if(strURL!="")
	  {
	    strURL= strURL.toUpperCase();
		var isURL=true;		
		if(strURL=="HTTP://"||strURL=="HTTPS://") 
		   isURL=false;
		pos=strURL.indexOf("/");
		if(pos!=-1){
		prefix= strURL.substr(0,pos+2);
		}else{
		prefix="";
		}
		if(prefix!="HTTP://" && prefix!="HTTPS://")
		    isURL=false;
		site=strURL.substr(pos+2);
		if(!site.indexOf("WWW.")!=-1)
		if(prefix!=""){
			if(isURL==false) httpFlag = false;
		site=site.substr(4);
		} else {
		site=site.substr(3);
		}
		regex=/^[\w-]+\.[\w]+/
	   	if(!site.match(regex) || !httpFlag)
		{
		  alert("http://www.xyz.com "+Label+" خاطىء, يجب أن يكون على الصيغة");
			setfocus(element)
			}
	  }
	}
	
function IsName(Val,Label,element){
	var inValidChars=".. ";
	var validName=true;
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++)
	{   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557)))
	       validName=false;		
     }
	 if(!validName)
	 {
	        alert(" رجاءً أدخل حروفاً عربية صحيحة لخانة "+Label);
			setfocus(element)
		}
	}
	return validName; 
}

function IsAllNum(sText)
{
   var ValidChars = "0123456789";
   var IsDigit=true;
   var Char;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsDigit == true; i++) 
   { 
      Char = sText.charAt(i); 
      if(ValidChars.indexOf(Char) == -1) 
      {
         return false;
      }
   }
   }
  return true; 
}

function IsCompanyName(Val,Label,element){

	var inValidChars = "..@'‘- 0123456789";
	var isCompanyName=true;
	Val=trim(Val);
	if(Val!="")
	{
	 if(IsAllNum(Val))
	    isCompanyName=false;
	 else
	 {
	 for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557)))
			isCompanyName=false;
	  }
	 }
	}
	if(!isCompanyName){
	       // alert("Invalid characters found in "+Label);
			alert(Label+" يوجد فبه رموز غير صحيحة ");
			setfocus(element)
		}
   return isCompanyName;
}

function IsAddress(Val,Label,element){
	var inValidChars = " ..1234567890-,,#()'‘[]{}[]{}";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557))){
			alert(" رجاءً أدخل حروفا صحيحة لخانة "+Label);
			setfocus(element)
			return false;
		}
    }
	}
	return true;
}

function IsCity(Val,Label,element){
	var inValidChars = " -";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557))){
			alert(" رجاءً أدخل مدينة صحيحة لخانة "+Label);
			setfocus(element)
			return false;
		}
    }
	}
	return true;
}

function IsId(Val,Label,element){
	var inValidChars = " 1234567890-";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557))){
			alert(Label+ " يحتوي على حروف خاطئة");
			setfocus(element)
			return false;
		}
    }
	}
	return true;
}
//Date Validation Functions

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function IsDate(dtStr,Label,element)
{
	var a = dtStr.split("/");
	if(dtStr!=""){
		if(a.length!=3){
			errmsg="ارجو ادخال تاريخ صحيح لخانة "+Label+"\n يجب ان يكون شكل التاريخ هواليوم/الشهر/العام	";
			alert(errmsg);
			setfocus(element);
			return(false);
		}
	}
	
	var daysInMonth = DaysArray(12)
	var dtCh= "/";
    var minYear=1330;
    var maxYear=1450;
	var errmsg;
	var isDate=true;
	dtStr=trim(dtStr);
	if(dtStr!="")
	{
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos2+1)
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYear.charAt(0)=="0" && strYear.length>1) strYear=strYear.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYear)
	var ArabDate=new Date();
	/*Only if the year is valid can the date be checked because the function to calculate the number of 
	  days in a Hijri month will return null for an invalid year*/
	if(year>=minYear && year<=maxYear)
	{
	ArabDate.setArabYear(year);
	ArabDate.setArabMonth(month); 
	month_days=ArabDate.getMonthDays(month);
	if (strDay.length<1 || day<1 || day>month_days)
		{errmsg="أدخل تاريخاً صحيحاً ل "+Label+"\nصيغة التاريخ يجب أن تكون: اليوم/الشهر/العام";
		 isDate=false;}	
	}
	if (pos1==-1 || pos2==-1) 
		{errmsg="أدخل تاريخاً صحيحاً ل "+Label+"\nصيغة التاريخ يجب أن تكون: اليوم/الشهر/العام";
		isDate=false;}
	if (strMonth.length<1 || month<1 || month>12)
		{errmsg="أدخل شهراً صحيحاً بين 1 و 12 ل "+Label+"\nصيغة التاريخ يجب أن تكون: اليوم/الشهر/العام";
		isDate=false;}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	  {	errmsg="أدخل عاماً صحيحاً بين"+minYear+" و "+maxYear+" ل "+Label+"\nصيغة التاريخ يجب أن تكون: اليوم/الشهر/العام";  
		isDate=false;}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr,dtCh))==false)
   {errmsg="أدخل تاريخاً صحيحاً ل "+Label+"\nصيغة التاريخ يجب أن تكون: اليوم/الشهر/العام";
		isDate=false;}	
  if(!isDate)
	{
      alert(errmsg); 
	  setfocus(element);
	}
   }
  return isDate;	
}

function IsDateForGregFuture_ThisMonth(sText,Label,element)
{ 
	var Res = true;
	if(IsDateForGreg(sText,Label,element)){
      today=new Date();
	  indate=new Date();
	  sText=trim(sText);
	  if(sText!="")
	  {
	  dateArr=sText.split("/");
      indate.setDate(dateArr[0]); indate.setMonth(dateArr[1]-1); indate.setFullYear(dateArr[2]);
  	  today.setDate(1);
	  if(indate<today)
	    {
	     //alert("غير صحيح "+Label+"\n"+Label+" يجب أن يكون خلال هذا الشهر أو في المستقبل");
 		 alert("تاريخ بدء خطة التوظيف الزمنية يجب أن يكون في بداية الشهر القادم وما بعده");
	     element.value = "";

		 setfocus(element);
		 Res=false;
	    }
	  }
	}
	return(Res)
}

function IsDateinPast(dtStr,Label,element)
{
	if(IsDate(dtStr,Label,element)){
	  var isPast=true;
	  today=new Date();
	  today=today.GregToArab(today.getDate(),today.getMonth()+1,today.getFullYear());
	  indate=new Date();
	  dtStr=trim(dtStr);
	  if(dtStr!="")
	  {

	  dateArr=dtStr.split("/");
      indate.setArabYear(dateArr[0]); indate.setArabMonth(dateArr[1]); indate.setArabDate(dateArr[2]);
	  if(indate.getArabDate()>today.getArabDate() && indate.getArabMonth()>=today.getArabMonth() && indate.getArabYear()>=today.getArabYear())
	      isPast=false;
	  else if(indate.getArabMonth()>today.getArabMonth() && indate.getArabYear()>=today.getArabYear())
	      isPast=false;
	  else if(indate.getArabYear()>today.getArabYear())	
	      isPast=false;
	  else
	      isPast=true;
     if(!isPast){	  
	    alert(Label+" يجب أن يكون تاريخاً ماضيَا");
		setfocus(element);
	  }
	  }
	 }
}
function CompareTwoDates(FirstDate,LastDate,Label,element){
		findate   = new Date();
		indate    = new Date();
		var MsgFdate = FirstDate;
		var MsgLDate = LastDate;
		FirstDate = trim(FirstDate);
		LastDate  = trim(LastDate);
			FirstDate = FirstDate.split("/");
			LastDate  = LastDate.split("/");
			indate.setDate(FirstDate[0]); indate.setMonth(FirstDate[1]-1); indate.setFullYear(FirstDate[2]);
			findate.setDate(LastDate[0]); findate.setMonth(LastDate[1]-1); findate.setFullYear(LastDate[2]);
			if(indate<findate){
				alert(Label +" "+MsgLDate);
				//alert("Invalid "+Label+"\n"+Label+" must be in the past");
				
				setfocus(element);
				return false;
			}
		return true;
}



function IsDateinPast_Today(dtStr,Label,element)
{
	if(IsDate(dtStr,Label,element)){
	  var isPast=true;
	  today=new Date();
	  today=today.GregToArab(today.getDate(),today.getMonth()+1,today.getFullYear());
	  indate=new Date();
	  dtStr=trim(dtStr);
	  if(dtStr!="")
	  {

	  dateArr=dtStr.split("/");
      indate.setArabYear(dateArr[0]); indate.setArabMonth(dateArr[1]); indate.setArabDate(dateArr[2]);
	  if(indate.getArabDate()>today.getArabDate() && indate.getArabMonth()>=today.getArabMonth() && indate.getArabYear()>=today.getArabYear())
	      isPast=false;
	  else if(indate.getArabMonth()>today.getArabMonth() && indate.getArabYear()>=today.getArabYear())
	      isPast=false;
	  else if(indate.getArabYear()>today.getArabYear())	
	      isPast=false;
	  else
	      isPast=true;
     if(!isPast){	  
	    alert("خاطىء "+Label+"\n"+Label+" يجب أن يكون تاريخاً ماضيَا");
		setfocus(element);
	  }
	  }
	 }
	}


function IsDateinFuture(dtStr,Label,element)
{
	  if(IsDate(dtStr,Label,element)){
	  var isFuture=true;
	  today=new Date();
	  today=today.GregToArab(today.getDate(),today.getMonth()+1,today.getFullYear());
	  indate=new Date();
	  dtStr=trim(dtStr);
	  if(dtStr!="")
	  {
	  dateArr=dtStr.split("/");
      indate.setArabYear(dateArr[0]); indate.setArabMonth(dateArr[1]); indate.setArabDate(dateArr[2]);
	  if(indate.getArabDate()<today.getArabDate() && indate.getArabMonth()<=today.getArabMonth() && indate.getArabYear()<=today.getArabYear())
	      isFuture=false;
	  else if(indate.getArabMonth()<today.getArabMonth() && indate.getArabYear()<=today.getArabYear())
	      isFuture=false;
	  else if(indate.getArabYear()<today.getArabYear())	
	      isFuture=false;
	  else
	      isFuture=true;
     if(!isFuture){	  
	    alert("خاطىء"+Label+"\n"+Label+" يجب أن يكون تاريخاً في المستقبل");
		setfocus(element);
	  }
	  }
	 }
}
function IsDateinFuture_Today(dtStr,Label,element)
{
	  if(IsDate(dtStr,Label,element)){
	  var isFuture=true;
	  today=new Date();
	  today=today.GregToArab(today.getDate(),today.getMonth()+1,today.getFullYear());
	  indate=new Date();
	  dtStr=trim(dtStr);
	  if(dtStr!="")
	  {
	  dateArr=dtStr.split("/");
      indate.setArabYear(dateArr[0]); indate.setArabMonth(dateArr[1]); indate.setArabDate(dateArr[2]);
	  if(indate.getArabDate()<today.getArabDate() && indate.getArabMonth()<=today.getArabMonth() && indate.getArabYear()<=today.getArabYear())
	      isFuture=false;
	  else if(indate.getArabMonth()<today.getArabMonth() && indate.getArabYear()<=today.getArabYear())
	      isFuture=false;
	  else if(indate.getArabYear()<today.getArabYear())	
	      isFuture=false;
	  else
	      isFuture=true;
     if(!isFuture){	  
	    alert("خاطىء"+Label+"\n"+Label+" يجب أن يكون تاريخاً في المستقبل");
		setfocus(element);
	  }
	  }
	 }
	}
function DateCompare(dateBefore,dateAfter,LabelBefore,LabelAfter,element)
{
	if(IsDate(dateAfter,LabelAfter,element)){
    var compareFlag=true;  		
	dateBefore=trim(dateBefore);
	dateAfter=trim(dateAfter);
	if((dateBefore!="")&&(dateAfter!=""))
	{
		dateBeforeObj=new Date();
		dateAfterObj=new Date();
		dateBeforeArr=dateBefore.split("/");
		dateAfterArr=dateAfter.split("/");
		dateBeforeObj.setArabYear(dateBeforeArr[0]); dateBeforeObj.setArabMonth(dateBeforeArr[1]); dateBeforeObj.setArabDate(dateBeforeArr[2]);
		dateAfterObj.setArabYear(dateAfterArr[0]); dateAfterObj.setArabMonth(dateAfterArr[1]); dateAfterObj.setArabDate(dateAfterArr[2]);
		if(dateAfterObj.getArabYear()<dateBeforeObj.getArabYear())
		   compareFlag=false;
		else if((dateAfterObj.getArabYear()==dateBeforeObj.getArabYear())&&(dateAfterObj.getArabMonth()<dateBeforeObj.getArabMonth()))
		    compareFlag=false;
		else if((dateAfterObj.getArabYear()==dateBeforeObj.getArabYear())&&(dateAfterObj.getArabMonth()==dateBeforeObj.getArabMonth())&&(dateAfterObj.getArabDate()<dateBeforeObj.getArabDate()))
		      compareFlag=false;
		else
		      compareFlag=true;
		if(!compareFlag)
		  {
		    alert("خاطىء "+LabelAfter+"\n"+LabelAfter+" لا يجوز أن يكون قبل "+LabelBefore);
		    setfocus(element);
		  }
	}
  }
}

function DateCompareInEnglish(dateBefore,dateAfter,LabelBefore,LabelAfter,element)
{
	if(IsDateForGreg(dateAfter,LabelAfter,element)){
	dateBefore=trim(dateBefore);
	dateAfter=trim(dateAfter);
	if((dateBefore!="")&&(dateAfter!=""))
	{
		dateBeforeObj=new Date();
		dateAfterObj=new Date();
		dateBeforeArr=dateBefore.split("/");
		dateAfterArr=dateAfter.split("/");
		dateBeforeObj.setDate(dateBeforeArr[0]); dateBeforeObj.setMonth(dateBeforeArr[1]-1); dateBeforeObj.setFullYear(dateBeforeArr[2]);
		dateAfterObj.setDate(dateAfterArr[0]); dateAfterObj.setMonth(dateAfterArr[1]-1); dateAfterObj.setFullYear(dateAfterArr[2]);
		if(dateAfterObj<dateBeforeObj)
		  {
		    alert("خاطىء "+LabelAfter+"\n"+LabelAfter+" لا يجوز أن يكون قبل "+LabelBefore);
		    setfocus(element);
		  }
	}
  }
}
	  	  
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}			  
function resetFormValues(MyForm)
{
	for(i=0;i<MyForm.length;i++)
	{
		if (MyForm[i].type=="hidden" || MyForm[i].type=="button" || MyForm[i].type=="submit")
		{ // To retain hidden and button values
		}
		else
		{
			if (MyForm[i].type=="checkbox")
				MyForm[i].checked = false;
			else
				MyForm[i].value = "";
		}
	}
}  

function IsValidEnglishArabicDesc(sText,label,ele) {
   var isTrue=true;
   if(sText!="")
   {
	 for(var j=0; j< sText.length; j++)
	 {
		var char = sText.charAt(j);
		var hh = char.charCodeAt(0);
		 if(!((hh==13) || (hh==10) || (hh==35) || (hh > 36 && hh < 42 ) || (hh > 43 && hh < 46) || (hh > 45 && hh < 60) || (hh == 61) || (hh > 64 && hh < 92) || (hh == 93) || (hh > 96 && hh < 124) || (hh==125) || (hh >= 1569 && hh<=1630) || (hh >= 1646 && hh<=1791) ||  (hh==1557) || (hh==8216) || (hh==1548) ||  (hh==8217) || (hh==1567) || (hh==1563) ||(char==" ")))
		      isTrue=false;
	 }
   }

	if(!isTrue) {
		alert("رجاءً أدخل حروفا صحيحة لخانة "+label);
		ele.focus();
		ele.select();
		return false;
	}
	
	return true;
}


function IsGraterThanDOB(DOB,CmpDate,label){
	 var result = true;
	  	  
	  dobdate=DOB;
	  niddate=CmpDate.value;
	  if (dobdate != "" && niddate !="") {
		  ddateArr=dobdate.split("/");
		  ndateArr=niddate.split("/");
		  dday = eval(ddateArr[2]);
		  dmonth = ddateArr[1]-1;
		  dyear = ddateArr[0];
		  nday = eval(ndateArr[2]);
		  nmonth = ndateArr[1]-1;
		  nyear = ndateArr[0];
			
		  if(dyear>nyear) {
			result = false;
		  }
		  if(dyear==nyear) {
		  	if (dmonth>nmonth)
				result = false;
		  	if (dmonth==nmonth) {
				if (dday>nday)
					result = false;
			}
		  }
	   }
	if(!result)	{
		alert(label);
		CmpDate.select();
		CmpDate.focus();
		return false;
	}
}

function IsDateForGreg(dtStr,Label,element){

	var daysInMonth = DaysArray(12)
	var dtCh= "/";
    var minYear=1900;
    var maxYear=2100;
	var errmsg;
	var isDate=true;
	dtStr=trim(dtStr);
	if(dtStr!="")
	{
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strDay=dtStr.substring(0,pos1)
	var strYear=dtStr.substring(pos2+1)
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYear.charAt(0)=="0" && strYr.length>1) strYear=strYear.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYear)
	if (pos1==-1 || pos2==-1) 
	    {errmsg="ادخل تاريخ صحيح لـ "+Label+"\ndd/mm/yyyy يجب ان يكون شكل التاريخ ";
		isDate=false;}
	if (strMonth.length<1 || month<1 || month>12)
		{errmsg="ادخل شهراً صحيحاً ل "+Label+"\n dd/mm/yyyy يحب ان يكون شكل التاريخ ";
		isDate=false;}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
		{errmsg="ادخل تاريخ صحيحاً لـ"+Label+"\n  dd/mm/yyyy شكل التاريخ يجب ان يكون";
		 isDate=false;}	
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	  {	errmsg="ادخل سنة صحيحة بين "+minYear+" و"+maxYear+" لـ "+Label+"\n dd/mm/yyyy يجب ان يكون شكل التاريخ ";  
		isDate=false;}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr,dtCh))==false)
	   {errmsg="ادخل تاريخاً صحيحاً لـ "+Label+"\n dd/mm/yyyy يجب ان يكون شكل التاريخ ";
		isDate=false;}
	if(!isDate)
	{
      //alert(errmsg); 
	  setfocus(element);
	}
   }
  return isDate;	
}

function IsDateinPastForGreg(dtStr,Label,element){
	if(dtStr==""){
		return false;
	}
	 if(IsDateForGreg(dtStr,Label,element)){
	  today=new Date();
	  indate=new Date();
	  dtStr=trim(dtStr);
		  if(dtStr!="") {
		  	dateArr=dtStr.split("/");
		 	 indate.setDate(dateArr[0]); indate.setMonth(dateArr[1]-1); indate.setFullYear(dateArr[2]);
			  if(indate>today){
				alert(Label+" غير صحيح "+"\n يجب ان يكون في الماضي" +Label);
				setfocus(element);
				return false;
			  }
		  }
	   return true;
	 } else {
			return false;
	 }
}
function IsValidEnglishArabic(Val,Label,element){
	var inValidChars = " ..abcdefghijklmnopqrstuvwxyz.ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890-,,#()'‘[]{}[]{}/_";
	Val=trim(Val);
	if(Val!="")
	{
    for (i = 0; i < Val.length; i++){   
        var c = Val.charAt(i);
		var code=c.charCodeAt(0);
        if (inValidChars.indexOf(c) == -1 && !((code>=1569&&code<=1630)||(code>=1646&&code<=1791)||(code==1557))){
			alert(" رجاءً أدخل حروفا صحيحة لخانة "+Label);
			setfocus(element);
			return false;
		}
    }
	}
	return true;
}

function IsDateinFuture_TodayForEnglish(sText,Label,element)
{
	var Res = true;
	if(IsDateForGreg(sText,Label,element)){
      today=new Date();
	  indate=new Date();
	  sText=trim(sText);
	  if(sText!="")
	  {
	  dateArr=sText.split("/");
      indate.setDate(dateArr[0]); indate.setMonth(dateArr[1]-1); indate.setFullYear(dateArr[2]);
	  if(indate<today)
	    {
	     alert("غير صحيح "+Label+"\n"+Label+" يجب ان يكون في المستقبل او اليوم");
		 setfocus(element);
		 Res=false;
	    }
	  }
	}
	return(Res)
}

var optSearchString = "";
var nowsecond = 0;
function GoSearchArabic(thisform,thisfield) {
var now = new Date();
		var elnum = parseInt(-1);
		var k = parseInt(-1);
		for (var j = 0; j < document.forms[thisform].elements.length; j++) {
			if (document.forms[thisform].elements[j].name == thisfield) {
				elnum = j;
				break;
			}
		}
		var myvar = "";
		var menuLength = "";
		var makeempty = 0;
		menuLength = eval("document." + thisform + "." + thisfield + ".length");
		var actualkey=String.fromCharCode(event.keyCode);
		optSearchString = optSearchString + actualkey;
		keyvalue = event.keyCode;
		optSearchString = prompt("Enter Search value..",'');
		if (optSearchString) {
			srchlength = optSearchString.length;
			optSearchString = optSearchString.toUpperCase();
			for (var i = 0; i < menuLength; i++) {
				myvar1 = eval("document." + thisform + "." + thisfield + ".options[" + i + "].text.toUpperCase()");
				myvar = myvar1.substring(0,srchlength);
				if(srchlength > 1) {
					if (myvar.indexOf(optSearchString) >= 0) {
						document.forms[thisform].elements[elnum].options[i].selected = true;
//						makeempty = 0;
						break;
					} else {
//						makeempty = 1;
					}
				}
			}
		}
/*		
		if(makeempty) {
			optSearchString = "";
			optSearchString = actualkey;
		}
		
		if(nowsecond)  {
			nowsecond1 = now.getSeconds();
			SecondsDiff = (nowsecond1-nowsecond);
			nowsecond = now.getSeconds();
		} else {
			nowsecond = now.getSeconds();
			SecondsDiff = 0;
		}
		if(SecondsDiff > 2) {
			optSearchString = "";
		}
//		alert(optSearchString);
		return false;
	*/
}
function CheckMaxAccNo(sText,Label,element,digit){
	sText=trim(sText);
	digit=eval(digit);
	if(sText.length<digit && sText.length>0){
		alert("يجب كتابة رقم الأيبان الخاص بالمنشأة والمكون من "+ digit +" رقم");
		setfocus(element);
		return false;
   }
} 
function IsNumber_PoBox(sText,Label,element)
{
   var ValidChars = "0123456789.,'/)(\"\\";
   var IsDigit=true;
   var Char;
   sText=trim(sText);
   if(sText!="")
   {
   for (i = 0; i < sText.length && IsDigit == true; i++) 
   { 
      Char = sText.charAt(i); 
      if(ValidChars.indexOf(Char) == -1) 
      {
         IsDigit = false;
      }
   }
   if(!IsDigit)
   {   
   	alert(" رجاءً أدخل رقماً موجباً كاملا ًلخانة "+Label);
	setfocus(element);
   }
  }
  return IsDigit;
}

function IsNumberIsZero(sText,Label,element){
	var returnVal = true;
	if(!IsNumber(sText,Label,element)){
		return false;
	}
	
	if(!IsZero(sText,Label,element)){
		return false;
	}	
	return true;
}
