function jstrim(mystr)
{ 
  re = / /gi;
  r = mystr.replace(re, "");
  return r;
}


// פונקצייה לבדיקת תעודת זהות
/*function CheckID(input_fld,message)
{
  var id2 = new String(eval(input_fld).value)
  var tmp1,tmp2,machpil

  
  tmp1 = 0
  
  for (i=0;i<8;i++)
  {
    if ((i%2) == 0)
      machpil = 1
    else
      machpil = 2
      
      tmp1 = eval(tmp1 + parseInt(eval((id2.charAt(i)*machpil)/10)))
      tmp1 = eval(tmp1 + parseInt(eval(id2.charAt(i)*machpil)%10))
  }

  tmp1 = (tmp1%10)
  tmp2 = ((10 - (parseInt(id2.charAt(8)) %10) ))
   
  if (tmp1 !=tmp2)
  {
    alert(message);
    eval(input_fld).focus();
	return false;      
  }
  return true;
   
}*/


//  "-" פונקציה לבדיקת חוקיות של טלפון (כולל קידומת ) עם או בלי 
/*function CheckPhone(input_field,emp_allowed,massage)
{
  var item_value = eval(input_field).value
  var isnum = true;
  var flag
  
  if (item_value == "") item_value = 0;
  
  if (!CheckNumeric(input_field,"-","",emp_allowed,massage))
  {
	eval(input_field).focus();
    return false;
  } 
  
  if (!emp_allowed || item_value != 0)
  {
    if (item_value.length >= 9 && item_value.length <= 10 && (item_value.lastIndexOf("-") + 1 ) <= (item_value.length - 6) &&
	  item_value.charAt(0) == 0 )
      return true;
    else
    { 
      alert(massage);
      eval(input_field).focus();
      return false;
    }
  }
    
  return true;
}*/  

// פונקצייה שמקבלת מחרוזת טקסט ותו בודד ומחזירה את המחרוזת ללא התו    
/*function RemoveChar(org_str,ch)
{
  var psik_cnt = 0;
  var pos;
  var new_str = new String;
  var str_tmp = new String(org_str);
  var i;
  
  for (i=0;str_tmp.indexOf(ch) >= 0;i++)
  {
    new_str = new_str + str_tmp.substr(0,str_tmp.indexOf(ch));
    str_tmp = str_tmp.substr(str_tmp.indexOf(ch)+1,str_tmp.length);
  }
  new_str = new_str + str_tmp.substr(str_tmp.lastIndexOf(ch)+1,str_tmp.length);
  return new_str;
}

// פונקצייה שמקבלת מחרוזת טקסט ורשימת תוים כמחרוזת ומסירה כל אחד מהם 
function RemoveChars(org_str,chars)
{
  var i;
  var new_str = new String(org_str);
  
  for(i=0;i<chars.length;i++)
  {
    new_str = RemoveChar(new_str,chars.charAt(i));
  }
  return new_str;
}*/

// פונקצייה שמקבלת שדה ,טווח - מערך עד ערך והודעה ובודקת עם הערך בשדה מתאים לטווח 
// מודיעה את ההודעה ומבצעת פוקוס כאשר יש שגיאה
/*function CheckRange(input_field,start,end,massage)
{
  var flag = true;
  var num = new String;

  num = RemoveChars(eval(input_field).value,",%><");
  
  if (flag && num >= start && num <= end)
  {
    return true;
  }
  else
  {
    alert(massage);
	eval(input_field).focus();
    return false;
  }
}*/
   
    
  
// ( "ובודקת עם נבחרה אפשרות גדולה מ-0 ( שמשמש לאופציית "בחר SELECT פונקצייה שמקבלת שדה מסוג 
// מודיעה את ההודעה ומבצעת פוקוס כאשר יש שגיאה
function CheckSelect(input_field,massage)
{ 
  var option = eval(input_field).value
  if ( option == 0 ) 
  {
	alert(massage);
	eval(input_field).focus();
    return false;
  }
  else
    return true;

}

// מקבלת שדה והודעה וצועקת את ההודעה אם השדה ריק, וצבצעת פוק Checkbox וס על השדה
function CheckCheckbox(input_field,mutar,massage)
{
    //var item_value = eval(input_field).value

    var check1= eval(input_field).checked;

	if ((check1  == false) && (mutar==0) )
	{
		alert (massage);
    	eval(input_field).focus();
		return false;
	}
	return true;
}
// מקבלת שדה והודעה וצועקת את ההודעה אם השדה ריק, וצבצעת פוק Radio וס על השדה
/*function CheckRadio(input_field,mutar,massage)
{
    //var item_value = eval(input_field).value

    var btn= eval(input_field).checked;

	if ((btn  == null) && (mutar==0) )
	{
		alert (massage);
    	eval(input_field).focus();
		return false;
	}
	return true;
}*/

function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}


// מקבלת שדה והודעה וצועקת את ההודעה אם השדה ריק, וצבצעת פוקוס על השדה
function CheckEmpty(input_field,massage)
{
    var item_value = eval(input_field).value
      
    var leng=jstrim(item_value).length;

	if (leng  == 0)
	{
		alert (massage);
    	eval(input_field).focus();
		return false;
	}
	return true;
}

// פונקצייה לבדיקת שם באנגלית
function CheckEnglish(input_field,mutar,massage)
{ 
  var item_value = eval(input_field).value

  var leng=item_value.length;
  var tavv;
  var newstrng=item_value.toLowerCase();
  var i=0; 
  
  if ((mutar==0) && (leng==0))
	{
		alert (massage);
   	    eval(input_field).focus();
		return false;
	}
  while ((i<leng) && (i>=0) )
  {
	tavv=newstrng.charAt(i);
	if (!(((tavv>='a') && (tavv<='z')) || (tavv==' ') || (tavv=='-')) )
			i=-1;// out of loop
	else
		i++;
  }
  if (i==-1)
  {
	alert(massage);
    eval(input_field).focus();
	return false;
  }
  else  return true;
}

// , פונקצייה שבודקת עם מחרודת מכילה רק אותיות בעברית ודגל 0/1 שמציין אם מותר שדה ריק	 
function CheckHebrew(input_field,mutar,massage)
{ 
  var item_value = eval(input_field).value

  var leng=item_value.length;
  var tavv;
  var newstrng=item_value.toLowerCase();
  var i=0; 
  
  if ((mutar==0) && (leng==0))
	{
		alert (massage);
   	    eval(input_field).focus();
		return false;
	}
  while ((i<leng) && (i>=0) )
  {
	tavv=newstrng.charAt(i);
	if (!(((tavv>='א') && (tavv<='ת'))  || (tavv==' ') || (tavv=='-')) )
			i=-1;// out of loop
	else
		i++;
  }
  if (i==-1)
  {
	alert(massage);
    eval(input_field).focus();
	return false;
  }
  else  return true;
}

// check if string is numeric
function CheckNumeric(input_field,spec1,spec2,mutar,massage)
{ 
  var item_value = eval(input_field).value
  
  var leng = item_value.length;
  if ((mutar==0) && (leng==0)) // zero length is forbidden
    {
    alert (massage);
    eval(input_field).focus();
    return false;
    }
  else
  {
    var tavv;
    var i=0; 
    while ((i<leng) && (i>=0) )
    {
	  tavv=item_value.charAt(i);
	  if (!(((tavv>='0') && (tavv<='9')) || (tavv==spec1) || (tavv==spec2)))
		i=-1;// out of loop
	  else
		i++;
    }
    if (i==-1)
    {
	  alert(massage);
      eval(input_field).focus();
	  return false;
    }
    else  
      return true;
  }
}

// check validity of email
function CheckEmail(input_field,mutar,massage)
{
    var eMail = eval(input_field).value
    var tmp_massage
        
    if (massage == "") 
      tmp_massage = 'Ilegal e-Mail'
    else
      tmp_massage = massage
    
    var leng = eMail.length;
    
    if ((mutar==0) && (leng==0)) // zero length is forbidden
    {
      alert (tmp_massage);
      eval(input_field).focus();
      return false;
    }
    if ((mutar==1) && (leng==0)) // zero length is allowed
    {
    return true;
    }
	var isShtrudel = eMail.indexOf('@');
	var isPnt	   = eMail.indexOf('.');
	
	// illegal position of @ or . in the middle
	var illeg1  = (Math.abs(isShtrudel-isPnt)) <= 1;
    var illeg11 =  isPnt < isShtrudel  ;

	// one of @ or . on 0 position
	var illeg2 =(isShtrudel*isPnt) == 0;

	// @ or . in last position
	var illeg3  = (isShtrudel == eMail.length-1);
	var illeg31 = (isPnt	  == eMail.length-1);
	
	if (illeg1 || illeg11 || illeg2 ||  illeg3 ||  illeg31)
	{
		alert(tmp_massage);
        eval(input_field).focus();
		return false;
	}
	return true;
}


function CheckDate(form_name) {

  var form_tmp
  if (form_name == null || form_name == "") 
    form_tmp = "form1"
  else 
    form_tmp = form_name
  
  var year_fld  = "document." + form_tmp + ".year"
  var month_fld = "document." + form_tmp + ".month"
  var day_fld   = "document." + form_tmp + ".day"
  
  // check to make sure that selected date is valid
  var SY = eval(year_fld).selectedIndex;
  var SM = eval(month_fld).selectedIndex;
  var SD = eval(day_fld).selectedIndex;

  // check months with only 30 days
  if (((SM == 3) || (SM == 5) || (SM == 8) || (SM == 10)) && (SD == 30)) {
    errorMsg = "Incorrect date entered. ";
    errorMsg = errorMsg + eval(month_fld).options[SM].value;
    errorMsg = errorMsg + " only has 30 days."
    alert(errorMsg);
    eval(day_fld).focus();
    return false;
  }

  // check February on leap years (only 29 days)
  var leapyear = false;
  var i = parseInt(eval(year_fld).options[SY].value);
  
  // check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
  if ( (Math.floor(i/4) == (i/4)) && ((Math.floor(i/100) != (i/100)) || (Math.floor(i/400) == (i/400))) )
    leapyear = true;
  else 
    leapyear = false;
  
  if ( leapyear && (SM == 1) && (SD > 28) ){
      errorMsg = "Incorrect date entered.  February only has 29 days in ";
      errorMsg = errorMsg + eval(year_fld).options[SY].value;
      eval(day_fld).focus();
      alert(errorMsg);

      return false;
    }

  // check February for all other years (only 28 days)
  if ( (SM == 1) && (SD > 27) && (leapyear == false) ) {
    errorMsg = "Incorrect date entered.  February only has 28 days in ";
    errorMsg = errorMsg + eval(year_fld).options[SY].value;
    alert(errorMsg);
    eval(day_fld).focus();
    return false;
  }

  return true;
}


// מכיל הודעות שגיאה בעברית
/*function CheckDateHeb(form_name) {

  var form_tmp
  if (form_name == null || form_name == "") 
    form_tmp = "form1"
  else 
    form_tmp = form_name
  
  var year_fld  = "document." + form_tmp + ".year"
  var month_fld = "document." + form_tmp + ".month"
  var day_fld   = "document." + form_tmp + ".day"
  
  // check to make sure that selected date is valid
  var SY = eval(year_fld).selectedIndex;
  var SM = eval(month_fld).selectedIndex;
  var SD = eval(day_fld).selectedIndex;

  // check months with only 30 days
  if (((SM == 3) || (SM == 5) || (SM == 8) || (SM == 10)) && (SD == 30)) {

	errorMsg = " תאריך לא חוקי,בחודש "
    errorMsg = errorMsg + eval(month_fld).options[SM].value;
	errorMsg = errorMsg + " יש רק 30 יום"
    alert(errorMsg);
    eval(day_fld).focus();
    return false;
  }

  // check February on leap years (only 29 days)
  var leapyear = false;
  var i = parseInt(eval(year_fld).options[SY].value);
  
  // check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
  if ( (Math.floor(i/4) == (i/4)) && ((Math.floor(i/100) != (i/100)) || (Math.floor(i/400) == (i/400))) )
    leapyear = true;
  else 
    leapyear = false;
  
  if ( leapyear && (SM == 1) && (SD > 28) )
  {
	  errorMsg = "  תאריך לא חוקי , בשנת"
      errorMsg = errorMsg + " " + eval(year_fld).options[SY].value;
      errorMsg = errorMsg + " חודש פברואר יש רק 29 יום"
      eval(day_fld).focus();
      alert(errorMsg);

      return false;
    }

  // check February for all other years (only 28 days)
  if ( (SM == 1) && (SD > 27) && (leapyear == false) ) {
    errorMsg = "  תאריך לא חוקי , בשנת"
    errorMsg = errorMsg + " " + eval(year_fld).options[SY].value;
    errorMsg = errorMsg + " חודש פברואר יש רק 28 יום"
    alert(errorMsg);
    eval(day_fld).focus();
    return false;
  }

  return true;
}*/


