//===========================================================================
function openWind(adr,w,h,st,tb,mb,sb) {
	s = "width="+w+",height="+h+",status="+st+",toolbar="+tb+",menubar="+mb+",scrollbars="+sb;
	myWin= open(adr, "displayWindow", s);
}
  //===========================================================================
  function MM_jumpMenu(targ,selObj,restore)
  { if(selObj.selectedIndex!=0 && selObj.options[selObj.selectedIndex].value!='')
    { eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
    }
    if (restore) selObj.selectedIndex=0;
  }
  
  //===========================================================================
  function trim(x)
  {
    var ch,c
    ch=x.toString()
    c=ch.charAt(0)
    while (c==" ")
    { ch=ch.slice(1)
    c=ch.charAt(0)
    }
    c=ch.charAt(ch.length-1)
    while(c==" ")
    { ch=ch.slice(0,-1)
    c=ch.charAt(ch.length-1)
    }
    return ch;
  }  
    
  //= Осуществляет переход между страницами ===================================
  function send(frm, p1, v1, p2, v2, p3, v3, p4, v4, p5, v5)
  { if(!frm) return false;
    if(p1)
    { if (p1=='action') eval('document.'+frm+'.'+p1+'="'+v1+'";');
      else eval('if (document.'+frm+'.'+p1+') document.'+frm+'.'+p1+'.value="'+v1+'";');
    }
    if(p2) eval('if (document.'+frm+'.'+p2+') document.'+frm+'.'+p2+'.value="'+v2+'";');
    if(p3) eval('if (document.'+frm+'.'+p3+') document.'+frm+'.'+p3+'.value="'+v3+'";');
    if(p4) eval('if (document.'+frm+'.'+p4+') document.'+frm+'.'+p4+'.value="'+v4+'";');
    if(p5) eval('if (document.'+frm+'.'+p5+') document.'+frm+'.'+p5+'.value="'+v5+'";');
    eval('document.'+frm+'.submit();');
    return true;
  }
    
  //===========================================================================
  function check_url(url)
  {
    var re = new RegExp("^http[s]?://[\\w\\.-]+\\.[A-Za-z]{2,}.*");
    var re2 = new RegExp("^http[s]?://[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}");
    return(re.test(url) || re2.test(url));
  }
  
  //===========================================================================
  function check_mail(email)
  { var re = new RegExp("^[\\w\\.-]+@[\\w\\.-]+\\.[A-Za-z]{2,}");
    return (re.test(email));
  }
  
  //===========================================================================
  function only_number()
  { if(navigator.appName=='Microsoft Internet Explorer')
    { if(!(event.keyCode>47 && event.keyCode<58)) return false;
    }
    return true;      
  }
  
  //"Internal" function to return the decoded value of a cookie
  function getCookieVal (offset)
  { var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
  }

  //Function to correct for 2.x Mac date bug.  Call this function to
  //fix a date object prior to passing it to SetCookie.
  //IMPORTANT:  This function should only be called *once* for
  //any given date object!  See example at the end of this document.
  function FixCookieDate (date)
  { var base = new Date(0);
    var skew = base.getTime(); // dawn of (Unix) time - should be 0
    if (skew > 0)  // Except on the Mac - ahead of its time
      date.setTime (date.getTime() - skew);
  }

  //Function to return the value of the cookie specified by "name".
  //name - String object containing the cookie name.
  //returns - String object containing the cookie value, or null if
  //the cookie does not exist.
  function GetCookie (name)
  { var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen)
    { var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
    }
    return null;
  }

  //Function to return the value of the cookie specified by "name".
  //name - String object containing the cookie name.
  //returns - String object containing the cookie value, or null if
  //the cookie does not exist.
  function GetCookie (name)
  { var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen)
    { var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
    }
    return null;
  }

  
  //  Function to create or update a cookie.
  //    name - String object containing the cookie name.
  //    value - String object containing the cookie value.  May contain
  //      any valid string characters.
  //    [expires] - Date object containing the expiration data of the cookie.  If
  //      omitted or null, expires the cookie at the end of the current session.
  //    [path] - String object indicating the path for which the cookie is valid.
  //      If omitted or null, uses the path of the calling document.
  //    [domain] - String object indicating the domain for which the cookie is
  //      valid. If omitted or null, uses the domain of the calling document.
  //    [secure] - Boolean (true/false) value indicating whether cookie transmission
  //      requires a secure channel (HTTPS).
  //
  //  The first two parameters are required.  The others, if supplied, must
  //  be passed in the order listed above.  To omit an unused optional field,
  //  use null as a place holder.  For example, to call SetCookie using name,
  //  value and path, you would code:
  //
  //      SetCookie ("myCookieName", "myCookieValue", null, "/");
  //
  //  Note that trailing omitted parameters do not require a placeholder.
  //
  //  To set a secure cookie for path "/myPath", that expires after the
  //  current session, you might code:
  //
  //      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
  //    
  function SetCookie (name,value,expires,path,domain,secure)
  {   document.cookie = name + "=" + escape (value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  }

  
  //  Function to delete a cookie. (Sets expiration date to start of epoch)
  //    name -   String object containing the cookie name
  //    path -   String object containing the path of the cookie to delete.  This MUST
  //             be the same as the path used to create the cookie, or null/omitted if
  //             no path was specified when creating the cookie.
  //    domain - String object containing the domain of the cookie to delete.  This MUST
  //             be the same as the domain used to create the cookie, or null/omitted if
  //             no domain was specified when creating the cookie.
  function DeleteCookie (name,path,domain)
  { if (GetCookie(name))
    { document.cookie = name + "=" +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
  }    