reloadUrl  = '';
stopReload = false;

function StartReload(url)
{
    reloadUrl = url;
    setTimeout('GoReloadUrl()', 200000);
}

function GoReloadUrl()
{
    if (stopReload)
        return;

    self.location = reloadUrl;
}

function clearSelect(obj)
{
    var cnt = obj.options.length;

    for (var i = cnt - 1; i >= 0; i--)
    {
        obj.options[i] = null;
    }
}

function clearSelect2(obj, gr1)
{
    var cnt = obj.options.length;

    for (var i = cnt - 1; i >= gr1; i--)
    {
        obj.options[i] = null;
    }
}

function objDump(d, l) 
{
    if (l == null) l = 1;
    var s = '';
    if (typeof(d) == 'object') 
    {
        s += typeof(d) + " {\n";
        for (var k in d) 
        {
            for (var i=0; i<l; i++) 
                s += "  ";

            s += k+": " + objDump(d[k],l+1);
        }
        for (var i=0; i<l-1; i++) 
            s += "  ";

        s += "}\n"
    } 
    else 
        s += '' + d + "\n";

    return s;
}

function findInSelect(obj, val, type)
{
    var cnt = obj.options.length;

    if (2 == type)
    {
        for (var i = 0; i < cnt; i++)
        {
            if (obj.options[i].text == val)
            {
                obj.options[i].selected = true;
                break;
            }
        }
    }
    else
    {
        for (var i = 0; i < cnt; i++)
        {
            if (obj.options[i].value == val)
            {
                obj.options[i].selected = true;
                break;
            }
        }
    }
}

function adiv(res)
{
    return res ? 'block':'none';
}

function _v(id)
{
    return document.getElementById(id);
}

function _vstl(id, param, val)
{
    if (null == val)
    {
        switch(param)
        {
            case 'bg':
                return document.getElementById(id).style.backgroundColor;
                break;
            case 'c':
                return document.getElementById(id).style.color;
                break;
        }
    }
    else
    {
        switch(param)
        {
            case 'bg':
                document.getElementById(id).style.backgroundColor = val;
                break;
            case 'c':
                document.getElementById(id).style.color = val;
                break;
        }
    }
}

function del_from_array(arr, index, type)
{
    var new_arr = new Array();
    var len     = arr.length;

    if (null == type || 1 == type)
    {
        if (index >= len)
            return arr;

        for (var i = 0; i < index; i++)
        {
            new_arr[new_arr.length] = arr[i];
        }

        for (var i = index + 1; i < len; i++)
        {
            new_arr[new_arr.length] = arr[i];
        }
    }
    else
    {
        for (var i = 0; i < len; i++)
        {
            if (index != arr[i])
                new_arr[new_arr.length] = arr[i];
        }
    }

    return new_arr;
}

function in_array(needle, haystack)
{
    var len = haystack.length;
    for (var i = 0; i < len; i++)
    {
        if (needle == haystack[i])
            return true;
    }

    return false;
}

function in_arrayi(needle, haystack)
{
    var len = haystack.length;
    needle = needle.toLowerCase();
    for (var i = 0; i < len; i++)
    {
        if (needle == haystack[i].toLowerCase())
            return true;
    }

    return false;
}

function make_hidden(idnum)
{
   if (_v(idnum).style.display == 'none')
       _v(idnum).style.display = 'block';
   else
       _v(idnum).style.display = 'none';
}

function mhidden(idnum1,idnum2)
{
    _v(idnum1).style.display = 'none';
    _v(idnum2).style.display = 'block';
}

function spisokChange(klausel,spisok,nospisok)
{
    if (klausel.checked)
    {
        nospisok.disabled='';
        spisok.disabled='1';
    }
    else
    {
        nospisok.disabled='1';
        spisok.disabled='';
    }
}

function check_email(email)
{
    if (7 > email.length)
       return false;

    var zones = new Array(
            'ac','ad','ae','af','ag','ai','al','am','an','ao','aq','ar','as','at','au','aw','az',
            'ax','ba','bb','bd','be','bf','bg','bh','bi','bj','bm','bn','bo','br','bs','bt','bv',
            'bw','by','bz','ca','cc','cd','cf','cg','ch','ci','ck','cl','cm','cn','co','cr','cs',
            'cu','cv','cx','cy','cz','de','dj','dk','dm','do','dz','ec','ee','eg','eh','er','es',
            'et','eu','fi','fj','fk','fm','fo','fr','ga','gb','gd','ge','gf','gg','gh','gi','gl',
            'gm','gn','gp','gq','gr','gs','gt','gu','gw','gy','hk','hm','hn','hr','ht','hu','id',
            'ie','il','im','in','io','iq','ir','is','it','je','jm','jo','jp','ke','kg','kh','ki',
            'km','kn','kp','kr','kw','ky','kz','la','lb','lc','li','lk','lr','ls','lt','lu','lv',
            'ly','ma','mc','md','mg','mh','mk','ml','mm','mn','mo','mp','mq','mr','ms','mt','mu',
            'mv','mw','mx','my','mz','na','nc','ne','nf','ng','ni','nl','no','np','nr','nu','nz',
            'om','pa','pe','pf','pg','ph','pk','pl','pm','pn','pr','ps','pt','pw','py','qa','re',
            'ro','ru','rw','sa','sb','sc','sd','se','sg','sh','si','sj','sk','sl','sm','sn','so',
            'sr','st','sv','sy','sz','tc','td','tf','tg','th','tj','tk','tl','tm','tn','to','tp',
            'tr','tt','tv','tw','tz','ua','ug','uk','um','us','uy','uz','va','vc','ve','vg','vi',
            'vn','vu','wf','ws','ye','yt','yu','za','zm','zw',
            'aero','biz','cat','com','coop','info','jobs','mobi','museum','name','net',
            'org','pro','travel','gov','edu','mil','int'
            );

    var regEmail = /^[\w-\.]+@([\w-]+\.)+([\w-]{2,4})$/;

    var myArr = regEmail.exec(email);

    if (null == myArr)
       return false;

    if (!in_arrayi(myArr[2], zones))
       return false;

    return true;
}

function isDigit(charCode){ return (charCode >= 48 && charCode <= 57)}
function isLat(charCode){ return ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122))}
function isRus(charCode){ return (charCode >= 1040 && charCode <= 1103)}
function filter(evt,set,exc,x) 
       { //set= 1 - digit 2 - lat 4 - rus; x=кроме set
    evt = (evt) ? evt : ((event) ? event : null);
    if (evt) {
        var charCode = (evt.charCode || evt.charCode == 0) ? evt.charCode :
            ((evt.keyCode) ? evt.keyCode : evt.which);
//alert(charCode);
        if (charCode > 13 && !x^(!(set&1 && isDigit(charCode)) && !(set&2 && isLat(charCode)) && !(set&4 && isRus(charCode)) && exc.indexOf(String.fromCharCode(charCode))==-1)) {
        if (evt.preventDefault) { evt.preventDefault(); } else { evt.returnValue = false; return false; }
        }
    }
}

function isNumeric(str)
{
  if (str.length == 0) return false;
  for (var i=0; i < str.length; i++)
     {
      var ch = str.substring(i, i+1);
      if ( ch < "0" || ch>"9" || str.length == null)  return false;
    }
  return true;
}

/**
 * Displays an confirmation box beforme to submit a "EXIT/DELETE" operations.
 * This function is called while clicking links
 *
 * @param   object   the link
 * @param   string   confirm message
 *
 * @return  boolean  whether to run the query or not
 */
function confirmLink(theLink, confirmMsg)
{
    var is_confirmed = confirm(confirmMsg);
    if (is_confirmed)
        theLink.href += '&is_js_confirmed=1';

    return is_confirmed;
} // end of the 'confirmLink()' function

function selControl(obj)
    {
     var i;
     var reg = /^check/;
     var result;
     for (i = 0; i < obj.form.elements.length; i++)
         {
          if (reg.test(obj.form.elements[i].name))
              obj.form.elements[i].checked = obj.checked;
         }
    }
function wopen(url,name,w,h,r,s,st)
 {
   var w=window.open(url,name,"width="+w+",height="+h+",resizable="+r+",toolbar=0,location=0,status="+st+",menubar=0,directories=0,scrollbars="+s);
 }

function SimpleCheckForm(obj)
{
    obj.elements.submit.value    = 'Wait...';
    obj.elements.submit.disabled = true;
    return true;
}

function dec(code,encrypted) 
{	
    var strCodes = new Array('!','"','#','$','%','&',"'",'(',')','*','+',',','-','.','/','0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?','@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','[','',']','^','_','`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    
    var num = encrypted[0] - 0x41;
    var encrypted_email = encrypted.slice(1,encrypted.length - num);	
    var email = '';
    for (var i = 0; i < encrypted_email.length; i++) 
    {		
	email += strCodes[(encrypted_email[i] ^ code) - 0x21];
    }
    return email;
}

var esomestr = dec(36,[85,80,65,69,73,100,82,77,87,81,69,72,84,76,69,86,73,10,71,75,73,215,53,236,223,111,76,50,217,239,4,39,66,40,12,18,244,22,212,177,210]);
