function trim(str) {
  var newstr = str.replace(/^\s*(.+?)\s*$/, "$1");
  if (newstr == " ") {
      return "";
  }
  return newstr;
}

function drop_spaces(str) {
  var newstr = trim(str); 
  return newstr.replace(/(\s)+/g, ""); 
}

function check_email(email) {
  var template = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;
  email = drop_spaces(email); 
  if (template.test(email)) {
      return true;
  }
  return false; 
}

function testKeyNumber(e)
{
  var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);
  if (e.ctrlKey || e.altKey || key < 32)
    return true;
  key = String.fromCharCode(key);
  return /[\d]/.test(key);
}

function testKeyAlphaNum(e)
{
  var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);
  if (e.ctrlKey || e.altKey || key < 32)
    return true;
  key = String.fromCharCode(key);
  return /[\w]|[\-,]/.test(key);
}

function isEmpty(str) {
   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))
          return false;
      return true;
}

function checkForm(f, al) {
  var errMSG = ""; 
  for (var i = 0; i<f.elements.length; i++) 
    if (null!=f.elements[i].getAttribute("required")) 
      if (isEmpty(f.elements[i].value))
        errMSG += "  " + f.elements[i].title + "\n";
      if ("" != errMSG) {
        if (al) { alert("Не заполнены обязательные поля:\n" + errMSG);}
        return false;
      }
  return true;
}

function JSClock(mode) {
   var time = new Date()
   var hour = time.getHours()
   var minute = time.getMinutes()
   var second = time.getSeconds()
   if (mode==12) {
   var temp = "" + ((hour > 12) ? hour - 12 : hour)
   if (hour == 0)
      temp = "12";
   temp += ((minute < 10) ? ":0" : ":") + minute
   temp += ((second < 10) ? ":0" : ":") + second
   temp += (hour >= 12) ? " P.M." : " A.M."
   } else {
     var temp = "" + ((hour < 10) ? "0":"") + hour;
     temp += ((minute < 10) ? ":0" : ":") + minute
     temp += ((second < 10) ? ":0" : ":") + second
   }
   return temp
}


