function getId(id)
{
  return document.getElementById(id);
}

function show(photo, w, h)
{
  var doc = document.documentElement;
  var win = getId("img_win");
  var img = getId("img");

  var border = 10;
  var d_w = doc.clientWidth - border;
  var d_h = doc.clientHeight - border;

  if (w > d_w)
  {
    k = w / d_w;
    w = d_w;
    h = Math.round(h / k);
  }

  if (h > d_h)
  {
    k = h / d_h;
    h = d_h;
    w = Math.round(w / k);
  }

  var top = doc.clientHeight/2 - h/2 - border/2 + "px";
  if (top < 0) top = 0;
  win.style.top = top;
  win.style.left =  Math.round(doc.clientWidth/2 - w/2 - border/2) + "px";

  img.src = "/img/1x1.gif";
  img.width = w;
  img.height = h;
  img.src = photo;

  win.style.visibility = "visible";
}

function hide()
{
  getId("img_win").style.visibility = "hidden";
  getId("img").src = "/img/1x1.gif";
}



function empty(form, field, mes)
{
  var el = document.forms[form].elements[field];
  if (el.value == "")
  {
    alert(mes);
    el.focus();
    return false;
  }
  else return true;
}



function mail_send()
{
  var war = new Array('имя', 'e-mail', 'сообщение');
  for (i=0; i<war.length; i++) if (!empty('mail', i, 'Введите ' + war[i] + '!')) return false;

  var email = document.mail.elements[1];
  var r = /.{1,}@.{1,}(\.[a-z]{2,4})+/;
  if (!r.test(email.value))
  {
    alert('Неправильно введен E-mail!');
    email.focus();
    return false;
  }
}

function textarea()
{
  var el = document.mail.elements[2];
  if (el.value.length > 1000) el.value = el.value.substring(0, 1000);
}



function menu(id)
{
  var menu = document.getElementById('m' + id);
  var icon = document.getElementById('i' + id);

  if (!menu) return false;

  if (menu.style.display == '')
  {
    menu.style.display = 'none';
    icon.src = "/img/plus.gif";
  }
  else
  {
    menu.style.display = '';
    icon.src = "/img/minus.gif";
  }
}



function reg_validate()
{
  var el = document.reg;
  var type = el.type[0].checked;
  var field = new Array("", "", "Логин", "Пароль", "Повтор пароля", "ФИО", "E-mail", "Адрес доставки", "Телефон", "Компания", "Юридический адрес", "ИНН", "КПП", "Банк", "БИК", "Р/С", "К/С");

  for (i=2; i<field.length; i++)
  {
    if (type == true && i > 8) break;
    if (!empty('reg', i, 'Введите поле "' + field[i] + '"!')) return false;
  }

  var pass1 = el.elements[3];
  if (pass1.value.length < 8)
  {
    alert('Пароль должен быть не менее 8 символов!');
    pass1.focus();
    return false;
  }

  if (login.value == pass1.value)
  {
    alert('Логин и пароль не должны совпадать!');
    return false;
  }

  var pass2 = el.elements[4];
  if (pass1.value != pass2.value)
  {
    alert('Пароль и его повтор не совпадают!');
    pass2.focus();
    return false;
  }

  var email = el.elements[6];
  var r = /.{1,}@.{1,}(\.[a-z]{2,4})+/;
  if (!r.test(email.value))
  {
    alert('Неправильно введен E-mail!');
    email.focus();
    return false;
  }

  if (!type)
  {
    var f = new Array(11, 12, 14, 15, 16);
    var r = /^[0-9]+$/;

    for (i=0; i<f.length; i++)
    {
      if (!r.test(el.elements[f[i]].value))
      {
	alert('Неверно введено поле "' + field[f[i]] + '"!');
	el.elements[f[i]].focus();
	return false;
      }
    }
  }
}



function info_validate(type)
{
  var el = document.info;
  var field = new Array("Логин", "Новый пароль", "Повтор пароля", "ФИО", "E-mail", "Телефон", "Адрес доставки", "Компания", "Юридический адрес", "ИНН", "КПП", "Банк", "БИК", "Р/С", "К/С");

  for (i=0; i<field.length; i++)
  {
    if (i == 1 || i == 2) continue;
    if (type == 1 && i > 8) break;
    if (!empty('info', i, 'Введите поле "' + field[i] + '"!')) return false;
  }

  var login = el.elements[0];
  var pass1 = el.elements[1];

  if (pass1.value != '')
  {
    if (pass1.value.length < 8)
    {
      alert('Пароль должен быть не менее 8 символов!');
      pass1.focus();
      return false;
    }
  }

  if (login.value != '' && pass1.value != '' && login.value == pass1.value)
  {
    alert('Логин и пароль не должны совпадать!');
    return false;
  }

  var pass2 = el.elements[2];
  if (pass1 != '')
  {
    if (pass1.value != pass2.value)
    {
      alert('Пароль и его повтор не совпадают!');
      pass2.focus();
      return false;
    }
  }

  var email = el.elements[4];
  var r = /.{1,}@.{1,}(\.[a-z]{2,4})+/;
  if (!r.test(email.value))
  {
    alert('Неправильно введен E-mail!');
    email.focus();
    return false;
  }

  if (type == 2)
  {
    var f = new Array(9, 10, 12, 13, 14);
    var r = /^[0-9]+$/;

    for (i=0; i<f.length; i++)
    {
      if (!r.test(el.elements[f[i]].value))
      {
	alert('Неверно введено поле "' + field[f[i]] + '"!');
	el.elements[f[i]].focus();
	return false;
      }
    }
  }
}



function pas_validate()
{
  el = document.forms[0].email;
  r = /\w{1,}@\w{1,}(\.[a-z]{2,4})+/;
  if (!r.test(el.value))
  {
    alert("Неправильно введен e-mail!\nПроверьте, все ли буквы на латинском и наличие символов @ и .");
    el.focus();
    return false;
  }
  else return true;
}


function bask(id)
{
  var r = /^[0-9]+$/;
  var quan = eval('document.catalog.q' + id);
  if (r.test(quan.value))
  {
    frames[0].location = '/include/basket.php?ID=' + id + '&QUAN=' + quan.value;
    message('Товар добавлен!');
  }
  else message('Введите верно количество!');
}

var timer;
function message(text)
{
  var doc = document.documentElement;
  var mes = document.getElementById('message');

  mes.innerHTML = text;
  mes.style.top = doc.clientHeight/2 - mes.clientHeight/2 + "px";
  mes.style.left = doc.clientWidth/2 - mes.clientWidth/2 + "px";
  mes.style.visibility = 'visible';

  clearTimeout(timer);
  timer = setTimeout("document.getElementById('message').style.visibility='hidden'", 1000);
}
