var
max_l=400;

function max_vopros(o)
{
        if (o.value.length >= max_l)
        {
        o.value = o.value.substr(0,max_l);
        }
document.getElementById("vopros_length").innerHTML = o.value.length + "/" +max_l;
return true;
}

var
max_l2=400;

function max_vopros2(o)
{
        if (o.value.length >= max_l2)
        {
        o.value = o.value.substr(0,max_l2);
        }
document.getElementById("vopros_length2").innerHTML = o.value.length + "/" +max_l2;
return true;
}

/* Часы */
razd=":";
function clock_form()
{
     day=new Date()
     h=day.getHours();
     m=day.getMinutes();

     if (h<10)
         {
         h="0"+h;
         }

     if (m<10)
         {
         m="0"+m;
         }
     if (razd==":")
     {
     razd=" "
     }
     else
     {
     razd=":"
     }
     clock_f2=h+razd+m;

     d=day.getDay();
     if (d==0) {dn="воскресенье";}
     if (d==1) {dn="понедельник";}
     if (d==2) {dn="вторник";}
     if (d==3) {dn="среда";}
     if (d==4) {dn="четверг";}
     if (d==5) {dn="пятница";}
     if (d==6) {dn="суббота";}

     name_month=new Array ("января","февраля","марта", "апреля","мая", "июня","июля","августа","сентября", "октября","ноября","декабря");
     mon=name_month[day.getMonth()];

     document.getElementById("date").innerHTML=day.getDate()+" "+mon+", <font color='#3399ff'>"+dn+"</font>";
     document.getElementById("clock").innerHTML=clock_f2;
     id=setTimeout("clock_form()",500);
}



// Проверка формы регистрации

function no_char(text)
{
if (text.match(/[^a-zA-Z0-9\-\_\@\%\{\}\[\]\(\)\u0080-\uFFFF]/))
    {
    return true;
    }
    else
    {
    return false;
    }
}

function checkmail(value)
{
reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
if (!value.match(reg))
    {
    return true;
    }
    else
    {
    return false;
    }
}

function valid_form(form)
{

// Заранее объявим необходимые переменные
var el, // Сам элемент
elName, // Имя элемента формы
value, // Значение
type; // Атрибут type для input-ов
// Массив списка ошибок, по дефолту пустой
var errorList = [];
// Хэш с текстом ошибок (ключ - ID ошибки)
var errorText = {
1 : "Не заполнено поле 'Логин'",
2 : "Не заполнено поле 'E-mail'",
3 : "Некорректный логин",
4 : "Некорректный 'E-mail'",
5 : "Не заполнено поле 'Имя'",
6 : "Некорректное имя",
7 : "Не совпадают пароли",
8 : "Некорректный пароль",
9 : "Не заполнено поле '№ тел.'",
10 : "Некорректный номер телефона"
}

for (var i = 0; i < form.elements.length; i++)
     {
     el = form.elements[i];
     elName = el.nodeName.toLowerCase();
     value = el.value;

     if (elName == "input")
         { // INPUT
         // Определяем тип input-а
         type = el.type.toLowerCase();
         // Разбираем все инпуты по типам и обрабатываем содержимое
         switch (type)
                 {
                 case "text" :
                 if (el.name == "im" && value == "") errorList.push(5);
                 if (el.name == "im" && no_char(value)) errorList.push(6);
                 if (el.name == "login" && value == "") errorList.push(1);
                 if (el.name == "login" && no_char(value)) errorList.push(3);
                 //if (el.name == "tel" && value == "") errorList.push(9);
                 if (el.name == "tel" && no_char(value)) errorList.push(10);
                 if (el.name == "email" && value == "") errorList.push(2);
                 if (el.name == "email" && checkmail(value)) errorList.push(4);
                 break;

                 case "password":
                 if (el.name == "pass" && value == "") errorList.push(8);
                 if (el.name == "pass" && no_char(value)) errorList.push(8);
                 break;
                 }
         }
     }

p=form.pass.value;    // берём со страницы из поля ПАРОЛЬ значение
p2=form.pass2.value;  // берём со страницы из поля ПАРОЛЬ2 значение
if (p != p2) errorList.push(7);
// Финальная стадия
// Если массив ошибок пуст - возвращаем true

if (!errorList.length) return true;

// Если есть ошибки - формируем сообщение, выовдим alert
// и возвращаем false
var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";
for (i = 0; i < errorList.length; i++) {
errorMsg += errorText[errorList[i]] + "\n";
}
alert(errorMsg);
return false;

}


function na_open_window(name, url, left, top, width, height, toolbar, menubar, statusbar, scrollbar, resizable)
{
  toolbar_str = toolbar ? 'yes' : 'no';
  menubar_str = menubar ? 'yes' : 'no';
  statusbar_str = statusbar ? 'yes' : 'no';
  scrollbar_str = scrollbar ? 'yes' : 'no';
  resizable_str = resizable ? 'yes' : 'no';
  window.open(url, name, 'left='+left+',top='+top+',width='+width+',height='+height+',toolbar='+toolbar_str+',menubar='+menubar_str+',status='+statusbar_str+',scrollbars='+scrollbar_str+',resizable='+resizable_str+',location=no');
}
