function is_correct_email(email)
{
  var regEmail = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/;
  return email.toUpperCase().match(regEmail);  
}
  
function addZero(num)
{
  if (num < 10)
    return '0'+num.toString();
  else
    return num.toString();  
}

function trim(str)
{
   return str.replace(/^[ ]+/, '').replace(/[ ]+$/, '');
}

function isNum(str)
{
   var valid = "0123456789"
   var temp;
   for (var i=0; i<str.length; i++) {
           temp = "" + str.substring(i, i+1);
           if (valid.indexOf(temp) == "-1")
             return false;
   }
   return true;
}
function checkPhoneInput(tb)
{
  var key = window.event.keyCode;
  // delete, backspace, left, rigth, home, end
  //if (key == 46 || key == 8 || key == 37 || key == 39 || key == 36 || key == 35)
  //  return true;
  // 96 - 105
  // 48 - 57
  if (!(key == 46 || key == 8 || key == 37 || key == 39 || key == 36 || key == 35) && (key < 48 || key > 105 || (key > 57 && key < 96)))
  {
    window.event.returnValue = false;
    //return false;
  }

  if (tb.value.length > 8)
    IsNumberActivated(tb);
  //return true;
}
function setupValidation()
{
  $('remind').addEvent('click',function()
  {      
    var err = '';
    var error_starts = ['Сайт в замешательстве: ','Cайт в растерянности: ','Сайт запутался:'];
              
    var no_email = $('email').value.trim()=='';
    var no_icq = $('icq').value.trim()=='';
    var no_jid = $('jid').value.trim()=='';
    var no_phone = $('phone').value.trim()=='';
    var no_date = $('date_field').value.trim()=='';
    var no_memo = $('message').value.trim()=='';
    var incorrect_email = !is_correct_email($('email').value);
    var incorrect_jid = !is_correct_email($('jid').value);
    var no_contacts = no_email && no_icq && no_phone && no_jid;
    var contacts_correct = !no_icq || !no_phone || (!no_email && !incorrect_email) || (!no_jid && !incorrect_jid);
    
    var hlt_ids = [];

    if (no_memo)
    {
      err = 'введите, пожалуйста, сообщение для напоминания';
      hlt_ids = ['message'];
    }
    else if (no_contacts && no_date)
    {
      err = 'заполните, пожалуйста, форму';
      hlt_ids = ['email', 'message', 'phone', 'date_field'];
    }
    else if (no_contacts && !no_date) 
    {
      err = 'пожалуйста, укажите свой email или телефон, или ICQ, или Jabber ID';
      hlt_ids = ['email'];
    }
    else if (!no_jid && incorrect_jid)
    {
      err = 'Jabber ID совсем не похож на настоящий';
      hlt_ids = ['email'];
    }
    else if (!no_email && incorrect_email && !no_date)
    {
      err = 'email кажется очень непонятным';
      hlt_ids = ['email'];
    }
    else if (!no_email && incorrect_email && no_date) 
    {
      err = 'email кажется очень непонятным, дата доставки - загадочной';
      hlt_ids = ['email', 'date_field'];
    }
    else if (contacts_correct && no_date) 
    {
      err = 'пожалуйста, укажите, когда Вы желаете получить послание';
      hlt_ids = ['date_field'];
    }
        
    var error_message = '';
    if (err) 
    {
      error_message = error_starts[$random(0, 2)] + ' ' + err + '.';
      $('val_error').set('text', error_message);
    }  
    
    for (var i=0; i<hlt_ids.length; i++)
      $(hlt_ids[i]).highlight('#BBD9FE');
                            
    return (error_message=='');
  });
}
