function Trim(str) { if(str) return( str.replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,'$1') ); else return ""; }
function RetFalse(obj,msg) { alert(msg);obj.focus();obj.select();return false; }

function Check_Login(TheForm) {
  if (TheForm.UserName.value == "") return RetFalse(TheForm.UserName, "שגיאה: הינך חייב למלא שם משתמש.");
  if (!(/^[A-Za-zא-ת0-9\-_]+$/.test(TheForm.UserName.value))) return RetFalse(TheForm.UserName, "שגיאה: שם משתמש לא תקין.");
  TheForm.PassWord.value=Trim(TheForm.PassWord.value);
  if (TheForm.PassWord.value == "") return RetFalse(TheForm.PassWord, "שגיאה: הינך חייב למלא סיסמא.");
  if (!(/^[A-Za-zא-ת0-9\-_]+$/.test(TheForm.PassWord.value))) return RetFalse(TheForm.PassWord, "שגיאה: סיסמא לא תקינה.");
  return true;
}

function CheckContact(TheForm) {
  TheForm.FullName.value=Trim(TheForm.FullName.value);
  if (TheForm.FullName.value == "") return RetFalse(TheForm.FullName, "שגיאה: הינך חייב למלא שם .");
  if (!(/^[A-Za-zא-ת\-_ \']+$/.test(TheForm.FullName.value))) return RetFalse(TheForm.FullName, "שגיאה: שם לא תקין.");
  TheForm.EMail.value=Trim(TheForm.EMail.value);
  if (TheForm.EMail.value == "") return RetFalse(TheForm.EMail, "שגיאה: הינך חייב למלא דואל .");
  if (TheForm.EMail.value.indexOf("@")==-1) return RetFalse(TheForm.EMail, "שגיאה: דואל לא תקין.");
  TheForm.Phone.value=Trim(TheForm.Phone.value);
  if ((TheForm.Phone.value != "") && (!(/^[0-9\-_]+$/.test(TheForm.Phone.value)))) return RetFalse(TheForm.Phone, "שגיאה: טלפון לא תקין.");
  TheForm.Subject.value=Trim(TheForm.Subject.value);
  if (TheForm.Subject.value == "") return RetFalse(TheForm.Subject, "שגיאה: הינך חייב למלא נושא.");
  TheForm.Body.value=Trim(TheForm.Body.value);
  if (TheForm.Body.value == "") return RetFalse(TheForm.Body, "שגיאה: הינך חייב למלא תוכן.");

  return true;
}

function CheckSearchForm(TheForm,isAdv) {
  if (isAdv) {
    if ((TheForm.sProductName.value=="") && (TheForm.sCatID.value=="0") && (TheForm.sManufacturer.value=="0")) return RetFalse(TheForm.sProductName, "שגיאה: שדה אחד לפחות חייב להיות מלא.");
  } else {
    if ((TheForm.sProductName.value=="") && (TheForm.sManufacturer.value=="0")) return RetFalse(TheForm.sProductName, "שגיאה: שדה אחד לפחות חייב להיות מלא.");
  }
  return true;
}

var cartEmpty=true;
function CheckAmount(TheForm,Action) {
  cartEmpty=true;
  for (i=0;i<=parseInt(TheForm.NumberOfItems.value);i++) {
    eval("TheForm.Amount"+i).value=Trim(eval("TheForm.Amount"+i).value);
    if (!(/^[0-9]+$/.test(eval("TheForm.Amount"+i).value))) return RetFalse(eval("TheForm.Amount"+i), "שגיאה: כמות לא תקינה.");
  }

  if (Action=="Checkout") {
    for (i=0;i<=parseInt(TheForm.NumberOfItems.value);i++) if ((parseInt(eval("TheForm.Amount"+i).value)>0) && (!eval("TheForm.Del"+i).checked)) cartEmpty=false;

    if (cartEmpty) {
      alert("המוצרים בעגלתך סומנו כך שעגלתך ריקה.\nבשל כך אינך יכול לגשת לקופה.");
      return false;
    }
  }

  TheForm.SubmitButton.disabled=true;
  return true;
}


function CheckUsers(TheForm,FormType) {
  TheForm.FirstName.value=Trim(TheForm.FirstName.value);
  if (TheForm.FirstName.value == "") return RetFalse(TheForm.FirstName, "שגיאה: הינך חייב למלא שם פרטי .");
  if (!(/^[א-ת\-_ \']+$/.test(TheForm.FirstName.value))) return RetFalse(TheForm.FirstName, "שגיאה: שם פרטי לא תקין.");
  TheForm.LastName.value=Trim(TheForm.LastName.value);
  if (TheForm.LastName.value == "") return RetFalse(TheForm.LastName, "שגיאה: הינך חייב למלא שם משפחה .");
  if (!(/^[א-ת\-_ \']+$/.test(TheForm.LastName.value))) return RetFalse(TheForm.LastName, "שגיאה: שם משפחה לא תקין.");
  TheForm.City.value=Trim(TheForm.City.value);
  if (TheForm.City.value == "") return RetFalse(TheForm.City, "שגיאה: הינך חייב למלא עיר .");
  if (!(/^[א-ת\-_ \' ]+$/.test(TheForm.City.value))) return RetFalse(TheForm.City, "שגיאה: עיר לא תקין.");
  TheForm.Street.value=Trim(TheForm.Street.value);
  if (TheForm.Street.value == "") return RetFalse(TheForm.Street, "שגיאה: הינך חייב למלא רחוב .");
  if (!(/^[א-ת0-9\-_ \'\", ]+$/.test(TheForm.Street.value))) return RetFalse(TheForm.Street, "שגיאה: רחוב לא תקין.");
  if (TheForm.Zip.value != "") {
    TheForm.Zip.value=Trim(TheForm.Zip.value);
    if (!(/^[0-9]+$/.test(TheForm.Zip.value))) return RetFalse(TheForm.Zip, "שגיאה: מיקוד לא תקין.");
    if (TheForm.Zip.value.length != 5) return RetFalse(TheForm.Zip, "שגיאה: מיקוד חייב להיות בעל 5 ספרות.");
  }
  TheForm.BuildingNum.value=Trim(TheForm.BuildingNum.value);
  if (TheForm.BuildingNum.value == "") return RetFalse(TheForm.BuildingNum, "שגיאה: הינך חייב למלא מספר בניין .");
  if (!(/^[א-ת0-9\']+$/.test(TheForm.BuildingNum.value))) return RetFalse(TheForm.BuildingNum, "שגיאה: מספר בניין לא תקין.");
  TheForm.AppartmentNum.value=Trim(TheForm.AppartmentNum.value);
  if (TheForm.AppartmentNum.value == "") return RetFalse(TheForm.AppartmentNum, "שגיאה: הינך חייב למלא מספר דירה .");
  if (!(/^[0-9א-ת]+$/.test(TheForm.AppartmentNum.value))) return RetFalse(TheForm.AppartmentNum, "שגיאה: מספר דירה לא תקין.");
  TheForm.Phone.value=Trim(TheForm.Phone.value);
//  if (TheForm.Phone.value == "") return RetFalse(TheForm.Phone, "שגיאה: הינך חייב למלא טלפון .");
  if ((TheForm.Phone.value!="") && (!(/^[0-9\-_]+$/.test(TheForm.Phone.value)))) return RetFalse(TheForm.Phone, "שגיאה: טלפון לא תקין.");
  if ((TheForm.Phone.value!="") && (TheForm.AreaID.value=="")) return RetFalse(TheForm.Phone, "שגיאה: טלפון לא תקין.");
  TheForm.Mobile.value=Trim(TheForm.Mobile.value);
  if (TheForm.Mobile.value=="") return RetFalse(TheForm.Mobile, "שגיאה: פלאפון לא מולא.");
  if (!(/^[0-9\-_]+$/.test(TheForm.Mobile.value))) return RetFalse(TheForm.Mobile, "שגיאה: פלאפון לא תקין.");
  if (TheForm.CellCompID == "") return RetFalse(TheForm.Mobile, "שגיאה: לא נבחרה קידומת לפלאפון.");
  if (FormType=="Add") {
    TheForm.UserName.value=Trim(TheForm.UserName.value);
    if (TheForm.UserName.value == "") return RetFalse(TheForm.UserName, "שגיאה: הינך חייב למלא שם משתמש .");
    if (!(/^[A-Za-zא-ת0-9\-_]+$/.test(TheForm.UserName.value))) return RetFalse(TheForm.UserName, "שגיאה: שם משתמש לא תקין.");
    if (TheForm.UserName.value.length < 3) return RetFalse(TheForm.UserName, "שגיאה: שם משתמש קצר מידי.");
  }
  TheForm.PassWord.value=Trim(TheForm.PassWord.value);
  if (TheForm.PassWord.value == "") return RetFalse(TheForm.PassWord, "שגיאה: הינך חייב למלא סיסמא .");
  if (!(/^[A-Za-zא-ת0-9\-_]+$/.test(TheForm.PassWord.value))) return RetFalse(TheForm.PassWord, "שגיאה: סיסמא לא תקין.");
  if (TheForm.PassWord.value.length < 5) return RetFalse(TheForm.PassWord, "שגיאה: סיסמא קצרה מידי.");
  if (FormType=="Add") {
    TheForm.APassWord.value=Trim(TheForm.APassWord.value);
    if (TheForm.APassWord.value == "") return RetFalse(TheForm.APassWord, "שגיאה: הינך חייב לאשר את הסיסמא.");
    if (TheForm.APassWord.value != TheForm.PassWord.value) return RetFalse(TheForm.APassWord, "שגיאה: הסיסמאות בשדות שונות!.");
    TheForm.EMail.value=Trim(TheForm.EMail.value);
    if (TheForm.EMail.value == "") return RetFalse(TheForm.EMail, "שגיאה: הינך חייב למלא דואל .");
    if (TheForm.EMail.value.indexOf("@")==-1) return RetFalse(TheForm.EMail, "שגיאה: דואל לא תקין.");
  }
//  TheForm.SubmitButton.disabled=true;
  return true;
}

function CheckWarranty(TheForm) {
  TheForm.ProductID.value=Trim(TheForm.ProductID.value);
  if (TheForm.ProductID.value == "0") {
    alert("שגיאה: אתה חייב לבחור מוצר.");
    TheForm.ProductID.focus();
    return false;
  }
  TheForm.SerialNumber.value=Trim(TheForm.SerialNumber.value);
  if (TheForm.SerialNumber.value == "") return RetFalse(TheForm.SerialNumber, "שגיאה: אתה חייב למלא את המספר הסידורי של המוצר.");
  if (!(/^[A-Za-zא-ת0-9\-_ ]+$/.test(TheForm.SerialNumber.value))) return RetFalse(TheForm.SerialNumber, "שגיאה: המספר הסידורי של המוצר אינו תקין.");
  TheForm.WarrantyID.value=Trim(TheForm.WarrantyID.value);
  if (TheForm.WarrantyID.value == "") return RetFalse(TheForm.WarrantyID, "שגיאה: אתה חייב למלא את מספר תעודת האחריות.");
  if (!(/^[A-Za-zא-ת0-9\-_ ]+$/.test(TheForm.WarrantyID.value))) return RetFalse(TheForm.WarrantyID, "שגיאה: מספר תעודת האחריות אינו תקין.");
  TheForm.Shop.value=Trim(TheForm.Shop.value);
  if (TheForm.Shop.value == "") return RetFalse(TheForm.Shop, "שגיאה: אתה חייב למלא את שם החנות בה נקנה המוצר.");
  if (!(/^[A-Za-zא-ת0-9\-_ ]+$/.test(TheForm.Shop.value))) return RetFalse(TheForm.Shop, "שגיאה: שם החנות לא תקין.");
  now=new Date();
  nowM=now.getMonth();
  nowY=now.getFullYear();
  TheForm.BDMonth.value;
  if (TheForm.BDYear.value < nowY) {
    alert("תוקף הכרטיס אינו נכון (שנה).");
    TheForm.BDYear.focus();
    return false;
  }
  if ((TheForm.BDYear.value == nowY) && (TheForm.BDMonth.value < nowM)) {
    alert("תוקף הכרטיס אינו נכון (חודש).");
    TheForm.BDMonth.focus();
    return false;
  }
  TheForm.SubmitButton.disabled=true;
  return true;
}

function CheckEmail(TheForm) {
  TheForm.EMail.value=Trim(TheForm.EMail.value);
  if (TheForm.EMail.value == "") return RetFalse(TheForm.EMail, "שגיאה: הינך חייב למלא דואל .");
  if (TheForm.EMail.value.indexOf("@")==-1) return RetFalse(TheForm.EMail, "שגיאה: דואל לא תקין.");
  return true;
}