var topdefault='';
q="'";
var bcgdefault='#FCFCEA';
var skn;
var defaultpopwidth=200;
  var nav_eventPageX = 0;
  var nav_eventPageY = 0;

function init_popup(){
if ((document.layers) || (!document.all && document.getElementById)) {
  document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove = get_mouse;
}
}

function get_mouse(ev) {
  if (typeof (ev.pageX) == 'number') {   //NS 4, NS 6+, Mozilla 0.9+
    nav_eventPageX = ev.pageX;
    nav_eventPageY = ev.pageY;
  } 
  else {
    if (typeof (ev.clientX) == 'number') {   //IE, Opera, NS 6+, Mozilla 0.9+, except that NS 6+ and Mozilla 0.9+ did pageX ...
      nav_eventPageX = ev.clientX;
      nav_eventPageY = ev.clientY;
      var isBad = ( window.opera || window.debug || window.navigator.vendor == 'KDE' );
      if (document.body && ( document.body.scrollLeft || document.body.scrollTop ) && !isBad) {
        //IE 4, 5 & 6 (in non-standards compliant mode)
        nav_eventPageX += document.body.scrollLeft;
        nav_eventPageY += document.body.scrollTop;
      }
      else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop) && !isBad) {
        //IE 6 (in standards compliant mode)
        nav_eventPageX += document.documentElement.scrollLeft;
        nav_eventPageY += document.documentElement.scrollTop;
      }
    }
    else //cannot get mouse coordinates
      return;
  }
}

function pop (msg,bcg,top,width) {
  if (!skn) 
    skn  = getMainDocLayer ('topdeck');
  if (!skn) return;

  var ev;
  if (typeof(event) != 'undefined') ev = event;
  else if (window.event) ev = window.event;

  if (typeof (ev) != 'undefined')   //say, explorer
    popev (ev, msg,bcg,top,width);
  else {
    var top1=topdefault;
    if (typeof(top) != 'undefined') top1=top;
    var bcg1=bcgdefault;
    if ((typeof(bcg) != 'undefined') && (bcg != '')) bcg1=bcg;
    var wid=(typeof(width)!='number') ? 
        (msg.indexOf('src=')>0 ? 800 : defaultpopwidth) : width;

    var topraw = (top1=='') ? '' : '<tr><td align="center"><FONT COLOR="#FFFFFF" SIZE="1"><b>'+top1 + '</b></td></tr>'; 
    var content ='<TABLE WIDTH=' + wid +
                 ' BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=#9C9ACE>' +
                 topraw + '<tr><td><TABLE WIDTH= ' + 
                 wid + ' BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=' +
                 bcg1 + '><TR><TD><FONT SIZE=2>' + msg + 
                 '</FONT></TD></TR></TABLE></TD></TR></TABLE>';  

    setText (skn, content);
    if (safe_setInfoWinPosition (wid, skn))
      showLayer (skn);
  }
}


function popev (ev,msg,bcg,top,width) {
  if (!skn) 
    skn  = getMainDocLayer ('topdeck');
  if (!skn) return;

  var top1=topdefault;
  if (typeof(top) != 'undefined') top1=top;
  var bcg1=bcgdefault;
  if ((typeof(bcg) != 'undefined') && (bcg != '')) bcg1=bcg;
  var wid=(typeof(width)!='number') ? 
      (msg.indexOf('src=')>0 ? 800 : defaultpopwidth) : width;

  var topraw = (top1=='') ? '' : '<tr><td align="center"><FONT COLOR="#FFFFFF" SIZE="1"><b>'+top1 + '</b></td></tr>'; 
  var content ='<TABLE WIDTH=' + wid +
               ' BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=#9C9ACE>' +
               topraw + '<tr><td><TABLE WIDTH= ' + 
               wid + ' BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=' +
               bcg1 + '><TR><TD><FONT SIZE=2>' + msg + 
               '</FONT></TD></TR></TABLE></TD></TR></TABLE>';  

  setText (skn, content);
  setInfoWinPosition (ev, wid, skn);
  showLayer (skn);
}

function kill() {
  hideLayer (skn);
  //this is done due to Mozilla strange(?) behaviour - it returns wrong 
  //layer width (and not height!) if the previous layer was positioned
  //at location new layer doesn't fit into the page with.
  setPosition (skn, 0, 0);
}

function setInfoWinPosition (ev, width, hintLayer)  {
  if (!ev) {
    if (window.event) ev = window.event;    //DOM
    else return;      //giving up, can't get an event coordinates
  }
  
  var eventPageX = 0;
  var eventPageY = 0;
  if (typeof (ev.pageX) == 'number') {   //NS 4, NS 6+, Mozilla 0.9+
    eventPageX = ev.pageX;
    eventPageY = ev.pageY;
  } 
  else {
    if (typeof (ev.clientX) == 'number') {   //IE, Opera, NS 6+, Mozilla 0.9+, except that NS 6+ and Mozilla 0.9+ did pageX ...
      eventPageX = ev.clientX;
      eventPageY = ev.clientY;
      var isBad = ( window.opera || window.debug || window.navigator.vendor == 'KDE' );
      if (document.body && ( document.body.scrollLeft || document.body.scrollTop ) && !isBad) {
        //IE 4, 5 & 6 (in non-standards compliant mode)
        eventPageX += document.body.scrollLeft;
        eventPageY += document.body.scrollTop;
      }
      else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop) && !isBad) {
        //IE 6 (in standards compliant mode)
        eventPageX += document.documentElement.scrollLeft;
        eventPageY += document.documentElement.scrollTop;
      }
    }
    else //cannot get mouse coordinates
      return;
  }

  var windowInnerWidth = 0;
  var windowInnerHeight = 0;
  var windowOffsetX = 0;
  var windowOffsetY = 0;
  
  if (typeof (window.innerWidth) == 'number') {   //Non-IE
    windowInnerWidth = window.innerWidth;
    windowInnerHeight = window.innerHeight;
    windowOffsetX = ev.pageX - window.pageXOffset;
    windowOffsetY = ev.pageY - window.pageYOffset;
    if (self.scrollbars.visible) {
      if (document.layers)
        windowInnerWidth -= 20;  //?width of scroll bar in NN 4
      else
        windowInnerWidth -= 16;  //?width of scroll bar in Mozilla 
    }
  }
  else {
    if (document.documentElement &&
        (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
      //IE 6+ in 'standards compliant mode'
      windowInnerWidth = document.documentElement.clientWidth;
      windowInnerHeight = document.documentElement.clientHeight;
      windowOffsetX = ev.clientX;
      windowOffsetY = ev.clientY;
    }
    else {
      if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        windowInnerWidth = document.body.clientWidth;
        windowInnerHeight = document.body.clientHeight;
        windowOffsetX = ev.x;
        windowOffsetY = ev.y;
      }
    }
  }
  
  //=========== get layer width, height (or use defaults) ==========
  var lwid = getLayerWidth (hintLayer);
  if (lwid == 0) {
    if (typeof (width) == 'number') lwid = width;
    else if (typeof (defaultpopwidth) == 'number') lwid = defaultpopwidth;
  }

  var lhgt = getLayerHeight (hintLayer);
  if (lhgt == 0) hgt = 40;

  //========== Horisontal positioning =============
  var leftpos = windowOffsetX - 60;     //desirable left position (relative to the window!):
  //now check if layer fits the desirable position from left and right
  if (leftpos + lwid > windowInnerWidth)           //fits right?
    leftpos = windowInnerWidth - lwid - 2;

  if (leftpos < 0)  //fits left?
    leftpos = 2;
  leftpos += (eventPageX - windowOffsetX);

  //========== Vertical positioning =============
  var toppos = windowOffsetY + 20;      //desirable top position (in the window!)
  //now check if layer fits the desirable position from top and bottom
  if (toppos + lhgt > windowInnerHeight) {         //fits bottom?
    if (windowOffsetY - 20 - lhgt > 0)             //try to put layer above
      toppos = windowOffsetY - lhgt - 20;
  }
  toppos += eventPageY - windowOffsetY;
  setPosition (hintLayer, leftpos, toppos);
}


function safe_setInfoWinPosition (width, hintLayer)  {
  var eventPageX = 0;
  var eventPageY = 0;
  if ((typeof (nav_eventPageX) != 'number') || (typeof (nav_eventPageY) != 'number'))
    return false;

  var windowInnerWidth = 0;
  var windowInnerHeight = 0;
  var windowOffsetX = 0;
  var windowOffsetY = 0;
  
  if (typeof (window.innerWidth) == 'number') {   //Non-IE
    windowInnerWidth = window.innerWidth;
    windowInnerHeight = window.innerHeight;
    windowOffsetX = nav_eventPageX - window.pageXOffset;
    windowOffsetY = nav_eventPageY - window.pageYOffset;
    if (self.scrollbars.visible) {
      if (document.layers)
        windowInnerWidth -= 20;  //?width of scroll bar in NN 4
      else
        windowInnerWidth -= 16;  //?width of scroll bar in Mozilla 
    }
  }
  
  //=========== get layer width, height (or use defaults) ==========
  var lwid = getLayerWidth (hintLayer);
  if (lwid == 0) {
    if (typeof (width) == 'number') lwid = width;
    else if (typeof (defaultpopwidth) == 'number') lwid = defaultpopwidth;
  }

  var lhgt = getLayerHeight (hintLayer);
  if (lhgt == 0) hgt = 40;

  //========== Horisontal positioning =============
  var leftpos = windowOffsetX - 60;     //desirable left position (relative to the window!):
  //now check if layer fits the desirable position from left and right
  if (leftpos + lwid > windowInnerWidth)           //fits right?
    leftpos = windowInnerWidth - lwid - 2;

  if (leftpos < 0)  //fits left?
    leftpos = 2;
  leftpos += (nav_eventPageX - windowOffsetX);

  //========== Vertical positioning =============
  var toppos = windowOffsetY + 20;      //desirable top position (in the window!)
  //now check if layer fits the desirable position from top and bottom
  if (toppos + lhgt > windowInnerHeight) {         //fits bottom?
    if (windowOffsetY - 20 - lhgt > 0)             //try to put layer above
      toppos = windowOffsetY - lhgt - 20;
  }
  toppos += nav_eventPageY - windowOffsetY;
/*
  alert ('windowInnerWidth  =' + windowInnerWidth + 
        '\nwindowInnerHeight=' + windowInnerHeight + 
        '\nwindowOffsetX    =' + windowOffsetX +
        '\nwindowOffsetY    =' + windowOffsetY + 
        '\nlwid             =' + lwid + 
        '\nlhgt             =' + lhgt +
        '\nleftpos          =' + leftpos +
        '\ntoppos           =' + toppos);
*/
  setPosition (hintLayer, leftpos, toppos);
  return true;
}

function pop_static (nomer, ev,msg,bcg,top,width) {
  var i_layer = getMainDocLayer ('load_'+nomer);
  if (!i_layer) return;

  setInfoWinPosition (ev, width, i_layer);
  showLayer (i_layer);
}

function kill_static(nomer) {
  var i_layer = getMainDocLayer ('load_'+nomer);
  if (!i_layer) return;
  hideLayer (i_layer);
  //this is done due to Mozilla strange(?) behaviour - it returns wrong 
  //layer width (and not height!) if the previous layer was positioned
  //at location new layer doesn't fit into the page with.
  setPosition (i_layer, 0, 0);
}
