    function form_allitems(box)
    {
        var elements = box.form.elements
        
        if(box.checked)
        {
            for(i in elements)
            {
                var elem = elements[i]
                
                if(elem && 'object'==typeof(elem) && 'checkbox'==elem.type && elem.name.indexOf('item')!=-1)
                {
                     //alert(i + ' ' + elem.name)
                     elem.checked = true
                }
            }
            if(document.getElementById('del_button')) document.getElementById('del_button').disabled   = false
            if(document.getElementById('del_button2')) document.getElementById('del_button2').disabled  = false
            if(document.getElementById('del_button3')) document.getElementById('del_button3').disabled  = false
            if(document.getElementById('del_button4')) document.getElementById('del_button4').disabled  = false
        }
        else
        {
            for(i in elements)
            {
                var elem = elements[i]
                
                if(elem && 'object'==typeof(elem) && 'checkbox'==elem.type && elem.name.indexOf('item')!=-1)
                {
                     elem.checked = false
                }
            }
            if(document.getElementById('del_button')) document.getElementById('del_button').disabled   = true
            if(document.getElementById('del_button2')) document.getElementById('del_button2').disabled  = true
            if(document.getElementById('del_button3')) document.getElementById('del_button3').disabled  = true
            if(document.getElementById('del_button4')) document.getElementById('del_button4').disabled  = true
        }
        if(document.getElementById('edit_button'))  document.getElementById('edit_button').disabled  = true
        if(document.getElementById('edit_button2')) document.getElementById('edit_button2').disabled = true
        return true
    }

    function form_checkbox(box)
    {
        if(!box.checked)
            document.getElementById('all_items').checked = false

        // установка дизейбла на кнопки "редактировать" и "удалить"
        var elements = box.form.elements
        
        var cnt = 0
        for(i in elements)
        {
            var elem = elements[i]
            
            if(elem && 'object'==typeof(elem) && 'checkbox'==elem.type && elem.name.indexOf('item')!=-1 && elem.checked)
            {
                var checked_id = elem.name
                cnt++
            }
        }
        
        //alert('checked = ' + box.checked + '    cnt = ' + cnt)
        
        if(cnt == 1) document.getElementById('edit_id').value = checked_id
        if(document.getElementById('edit_button'))  document.getElementById('edit_button').disabled   = (cnt != 1) ? true : false
        if(document.getElementById('edit_button2')) document.getElementById('edit_button2').disabled  = (cnt != 1) ? true : false
        
        if(document.getElementById('del_button'))  document.getElementById('del_button').disabled   = (cnt == 0) ? true : false
        if(document.getElementById('del_button2')) document.getElementById('del_button2').disabled  = (cnt == 0) ? true : false
        if(document.getElementById('del_button3')) document.getElementById('del_button3').disabled  = (cnt == 0) ? true : false
        if(document.getElementById('del_button4')) document.getElementById('del_button4').disabled  = (cnt == 0) ? true : false
        
        return true
        
    }


//check symbols
//do not delete, it works in registration
    function checkSinglePass(input, contId)
    {
        var checkPassRegex = /[^(\040a-zA-Z0-9_\-\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\;\:\.\>\<\,\\\/\`\~\|)]/;
        var cont = document.getElementById(contId);

        if (input.value != "" && checkPassRegex.test(input.value))
        {
            input.style.color = "red";
            if (cont != null)
            {
                cont.innerHTML = "Недопустимые символы в пароле. Возможно, у вас включена русская раскладка клавиатуры.";
                cont.style.color = "red";
            }
        }
        else
        {
            input.style.color = "";
            if (cont != null)
            {
                cont.innerHTML = "";
                cont.style.color = "";
            }
        }
    }
    function checkSingleMail(input, contId)
    {
        var checkPassRegex = /[^(\040a-zA-Z0-9_\-\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\;\:\.\>\<\,\\\/\`\~\|)]/;
        var cont = document.getElementById(contId);

        if (input.value != "" && checkPassRegex.test(input.value))
        {
            input.style.color = "red";
            if (cont != null)
            {
                cont.innerHTML = "Недопустимые символы в электронном адресе. Возможно, у вас включена русская раскладка клавиатуры.";
                cont.style.color = "red";
            }
        }
        else
        {
            input.style.color = "";
            if (cont != null)
            {
                cont.innerHTML = "";
                cont.style.color = "";
            }
        }
    }
//  show and hide levt menu in CMS
//  можно прикрутить эффекты.
    function leftmenu(id)
    {
        var obj = document.getElementById(id)
        
        if(obj.className.indexOf('Off') != -1)
        {
            obj.className = id
            setCookie('admin_'+id, '', 365)
        }
        else
        {
            obj.className = id + 'Off'            
            setCookie('admin_'+id, 'Off', 365)
        }
        
        return false
    }

    function setCookie(c_name, value, expiredays)
    {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + expiredays);
        document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()+';path=/');
    }

                
    // пр-ка на ввод только цифр или точки
    function numeralsOnly_and_dot(evt)
    {
        evt = (evt) ? evt : event;
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
        if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
            return false; //alert("Enter numerals only in this field.");
        else 
            return true;
    }
    
    // пр-ка на ввод только цифр
    function numeralsOnly(evt)
    {
        evt = (evt) ? evt : event;
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false; //alert("Enter numerals only in this field.");
        else return true;
    }

    
    
    //table active
    var strLastClassName = "";

function SetTableActivate(tableID, startRow)
{
  var table = null;
  var row = null;

  if (typeof(tableID) == "string")
  {
    table = document.getElementById(tableID);
  }
  else if (typeof(tableID) == "object")
  {
    table = tableID;
  }

  if (table)
  {
    for(var i = startRow; i < table.rows.length; i++)
    {
      row = table.rows[i];
      RegisterEventHandler(row, "mouseover", setRowActivate);
      RegisterEventHandler(row, "mouseout", setRowDeactivate);
    }
  }
}

function getTableRow(element)
{
  if (element.tagName.toLowerCase() == "tr")
  {
    return element;
  }
  else
  {
    if (element.parentNode)
    {
      return getTableRow(element.parentNode);
    }
    else
    {
      return null;
    }
  }
}

function setRowActivate(evt)
{
  if (window.event) evt = window.event;
  var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  var row = null;

  if (elem)
  {
    row = getTableRow(elem);
    if (row)
    {
      strLastClassName = row.className;
      row.className = "I";
    }
  }
}

function setRowDeactivate(evt)
{
  if (window.event) evt = window.event;
  var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);

  if (elem)
  {
    row = getTableRow(elem);
    if (row)
    {
      row.className = strLastClassName;
    }
  }
}

function RegisterEventHandler(object, eventName, handler)
{
  if (object.attachEvent)
    object.attachEvent ('on' + eventName, handler);
  else if (object.addEventListener)
    object.addEventListener (eventName, handler, true);
}