//<!-- Version 6.5.110.00 -->
//<!--(C) 2000-2003 Genesys Telecommunications Laboratories, Inc. -->
var _browser;

function getBrowserInfo()
{   // convert all characters to lowercase to simplify testing
    var agt = navigator.userAgent.toLowerCase();

    // *** BROWSER VERSION ***
    major   = parseInt(navigator.appVersion);
    minor   = parseFloat(navigator.appVersion);

    nav     = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1)));

    nav2    = (this.nav && (this.major == 2));
    nav3    = (this.nav && (this.major == 3));
    nav4    = (this.nav && (this.major == 4));

    nav4up  = this.nav && (this.major >= 4);

    nav6up  = this.nav && (this.major >= 5);
    navonly = (this.nav && (agt.indexOf(";nav") != -1));

    ie      = (agt.indexOf("msie") != -1);
    ie3     = (this.ie && (this.major == 2));
    ie4     = (this.ie && (this.major == 4));
    ie4up   = this.ie  && (this.major >= 4);

    if(nav6up)
        _browser = "NS6UP";
    else if(nav4up)
        _browser = "NS4UP";
    else if(ie4up)
        _browser = "IE4UP";
    else
        _browser = "UNSUPPORTED";

    return _browser;
}

/******************************************************************/
var IsIE    = true;

function IsBrowserIE ()
{
  CheckBrowser();
  return IsIE;
}

function CheckBrowser()
{
  if (navigator.appVersion.indexOf("MSIE") == -1)
    IsIE  = false;
  else
    IsIE  = true;
}
/********************************************************************************/
// external functions
// Object with nama=Name from frame with nama=Frame
function GetObjFromFrame (Frame, Name) //
{
  var FrameObj = GetFrame (Frame);

  if (FrameObj == null)
  {
    catcherror ("GetObjFromFrame:: can't find frame " + Frame);
    return null;  //===>>
  }
  return LookForObject( FrameObj, Name );   //===>>
}

// Object from current frame with nama=Name
function GetObj (Wnd, Name)
{
  return LookForObject( Wnd, Name );  //===>>
}

//Get frame with name=Name
function GetFrame (Name)
{
  return ProcessFrames(top, Name);
}
/********************************************************************************/
// internal functions
function ProcessFrames(Wnd, Name)
{
  if (Wnd.name != null && Wnd.name.toUpperCase() == Name.toUpperCase())
    return Wnd; //===>>

  var Len = Wnd.frames.length;
  var NextFrame;
  var i = 0;
  for (i = 0; i < Len; i++, NextFrame = null)
  {
    NextFrame = Wnd.frames[i];

    if (NextFrame.name != null && NextFrame.name.toUpperCase() == Name.toUpperCase())
      break;

    if (NextFrame.frames.length > 1)
      if ( null != (NextFrame = ProcessFrames(NextFrame, Name)) )
        break;
  }
  return NextFrame;//===>>
}

function LookForObject( FrameObj, Name )
{
  var Obj,
    Len = FrameObj.document.all.length,
    DocObj = FrameObj.document;

  for(var i = 0; i < Len; i++)
    if (((Obj = DocObj.all(i)) != null) && Obj.name != null && Obj.name.toUpperCase() == Name.toUpperCase())
      return Obj; //===>>

  return null;  //===>>
}

function TrimSpace(ScriptIdUrl)
{
  var i = 0;
  var strParsedUrl  = "";
  var strlURL   = ScriptIdUrl;

  for (i = 0; i < strlURL.length; i++)
  {
    if (strlURL.charAt(i) != " ")
    {
      strParsedUrl = strlURL.substr (i, strlURL.length-i);
      break;
    }
  }
  strlURL = strParsedUrl;
  for (i = strlURL.length-1; i >= 0 ; i--)
  {
    if (strlURL.charAt(i) != " ")
    {
      strParsedUrl = strlURL.substr (0, i+1);
      break;
    }
  }
  return strParsedUrl;
}

function evaluate(raw)
{
  var ms = ";";
  var as = "&";
  var i;

  var meth = new String(raw);
  if (meth.charAt(0) == ms)
    meth = meth.substring(1, meth.length);

  meth = meth.split(ms);

  for (i = 0; i < meth.length; i++)
  {
    var obj = new String(meth[i]);
    if (obj == "null")
      meth[i] = null;
    else if (obj.charAt(0) == as)
      meth[i] = UnmaskArray(obj);
    else
      meth[i] = UnmaskString(obj);
  }

  var evalme = meth[0] + "(";
  for (i = 1; i < meth.length; i++)
  {
    evalme = evalme + "meth[" + i + "]";
    if (i + 1 < meth.length)
      evalme = evalme + ", ";
  }

  evalme = evalme + ")";

  if (isUserFunctionExist (meth[0]))
    eval(evalme);
  else
    alert ("Event handler not exist for " + evalme);
}

function UnmaskString (strIn)
{
  if (strIn == null || strIn.length == 0)
    return null;

  var i;
  var strCurrent = "";

  for (i=0; i < strIn.length; i++)
  {
    if (i < strIn.length-2)
    {
      var trinity = strIn.substr(i, 3);
      if (trinity == "%3B")
      {
        i += 2;
        strCurrent += ";";
      }
      else if (trinity == "%26")
      {
        i += 2;
        strCurrent += "&";
      }
      else if (trinity == "%25")
      {
        i += 2;
        strCurrent += "%";
      }
      else if (trinity == "%0D")
      {
        i += 2;
        strCurrent += "\n";
      }
      else if (trinity == "%0A")
      {
        i += 2;
        strCurrent += "\r";
      }
      else if (trinity == "%22")
      {
        i += 2;
        strCurrent += "\"";
      }
      else
        strCurrent += strIn.charAt(i);
    }
    else
      strCurrent += strIn.charAt(i);
  }

  return strCurrent;
}

function UnmaskArray (strIn)
{
  if (strIn == null || strIn.length ==0 || strIn.charAt(0) != "&")
    return null;

  var iLength = 1;
  var i;

  var aOut = new Array(1);
  var strCurrent = "";

  iLength = 0;
  for (i=1; i < strIn.length; i++)
  {
    if (strIn.charAt(i) == "&")
    {
      aOut[iLength] = strCurrent;
      strCurrent = "";
      iLength++;
      continue;
    }

    if (i < strIn.length-2)
    {
      var trinity = strIn.substr(i, 3);
      if (trinity == "%3B")
      {
        i += 2;
        strCurrent += ";";
      }
      else if (trinity == "%26")
      {
        i += 2;
        strCurrent += "&";
      }
      else if (trinity == "%25")
      {
        i += 2;
        strCurrent += "%";
      }
      else if (trinity == "%0D")
      {
        i += 2;
        strCurrent += "\n";
      }
      else if (trinity == "%0A")
      {
        i += 2;
        strCurrent += "\r";
      }
      else if (trinity == "%22")
      {
        i += 2;
        strCurrent += "\"";
      }
      else
        strCurrent += strIn.charAt(i);
    }
    else
      strCurrent += strIn.charAt(i);
  }

  aOut[iLength] = strCurrent;
  return aOut;
}

function EncodeArray(inData)
{
  var strOut = "&";
  var i;
  for (i = 0; i < inData.length; i++)
  {
    if (inData[i] == null)
      break;
    strOut += MaskSimbols (inData[i]);
    if (i != inData.length-1)
       strOut += ";";
  }
  return strOut;
}

function MaskSimbols (strIn)
{
  var ch;
  var strOut = "";
  var j;
  for (j = 0; j < strIn.length; j++)
  {
    ch = strIn.charAt(j);
    if (ch == ';')
      strOut += "%3B";
    else if (ch == '&')
      strOut += "%26";
    else if (ch == '%')
      strOut += "%25";
    else if (ch == '\n')
      strOut += "%0D";
    else if (ch == '\r')
      strOut += "%0A";
    else if (ch == '\"')
      strOut += "%22";
    else
      strOut += ch;
  }
  return strOut;
}

function isUserFunctionExist(name)
{
  if(eval( "typeof("+name+")" )=='function')
    return true;
  else
    return false;
}

function GetSubmitParametr(Path, Name)
{
  var Params        = "";
  var ParamsArray     = null;
  var KVPair        = null;
  var i         = 0;
  var Parametr      = "";

  Params    = Path.substr(1, Path.length);
  ParamsArray = Params.split ("&");

  if (ParamsArray != null)
  {
    for (i = 0; i < ParamsArray.length; i++)
    {
      KVPair = ParamsArray[i].split ("=");
      if (KVPair != null)
      {
        if (KVPair[0] != null && KVPair[1] != null)
        {
          if (KVPair[0].toUpperCase() == Name.toUpperCase())
          {
            Parametr = KVPair[1];
            break;
          }
        }
      }
    }
  }
  return Parametr;
}

function GetArrayFromQueryString(Path)
{
  var Params        = "";
  var ParamsArray     = null;
  var KVPair        = null;
  var i         = 0;
  var OutArray      = null;
  var Value;

  Params    = Path.substr(1, Path.length);
  ParamsArray = Params.split ("&");

  if (ParamsArray != null)
  {
    OutArray = new Array (ParamsArray.length*2);
    for (i = 0; i < ParamsArray.length; i++)
    {
      KVPair = ParamsArray[i].split ("=");
      if (KVPair != null)
      {
        if (KVPair[0] != null && KVPair[1] != null)
        {
          Value = unescape(KVPair[0]);
          Value = Value.replace(/\+/g, " ");
          OutArray[i*2] = Value;

          Value = unescape(KVPair[1]);
          Value = Value.replace(/\+/g, " ");
          OutArray[i*2+1] = Value;
        }
      }
    }
  }
  return OutArray;
}

function UnEscape (strData)
{
  var result = unescape(strData);
  result = result.replace(/\+/g, " ");
  return result;
}

function GetTime()
{
  var mDate = new Date();
  var strTime;

  if (mDate.getMinutes() < 10)
    strTime = mDate.getHours() + ":0" + mDate.getMinutes();
  else
    strTime = mDate.getHours() + ":" + mDate.getMinutes();

  if (mDate.getSeconds() < 10)
    strTime += ":0" + mDate.getSeconds() + " ";
  else
    strTime += ":" + mDate.getSeconds() + " ";

  return strTime;
}

function GetMinuteString(nSeconds)
{
  var n = nSeconds - (-30); // Convert to numeric (by subtracting) & add 30 to round up
  var nMinutes = (n - (n % 60)) / 60; // Make n evenly divisible by 60, and divide
  if(nMinutes == 0)
    nMinutes = 1;
  var strReturn = nMinutes + " minute";
  if(nMinutes != 1)
    strReturn = strReturn + "s"
  return strReturn;
}

function GetTimeString (seconds)
{
  var strOut = "";
  if (seconds != 0)
  {
    if (seconds/3600 > 1)
    {
      strOut = strOut + Math.floor(seconds/3600) + " hour(s)<br>";
      seconds = seconds%3600;
    }
    if (seconds/60 > 1)
    {
      strOut = strOut + Math.floor(seconds/60) + " minute(s)<br>";
      seconds = seconds%60;
    }
    strOut = strOut + seconds + " second(s)";
  }
  else
    strOut = "0 second(s)";
  return strOut;
}

function CheckNonASCIIChars (strIn)
{
  var i = 0;
  var ch = "";
  for (i=0; i < strIn.length; i++)
  {
    ch = strIn.charAt(i);
    if ( ch < "-" || ch > "z")
      return false;
  }
  return true;
}