var wdth=150;
var content_text="";
var status_text="";
var timerid=0;
var delayid=0;
var tt2_obj;

var xLeft=0;
var yTop=0;
var width=150;

var opera=navigator.userAgent.toLowerCase().indexOf('opera')>0; //   Opera
var layer=(document.layers)? true:false;               // Netscape 4.x
var ebyid=(document.getElementById)? true:false;       // Netscape 6.x
var docal=(document.all)? true:false;                  // IExplorer 4.x
var iegt4=false;

if (docal) {
  if ((navigator.userAgent.indexOf('MSIE 5') > 0)      // IExplorer 5.x
    || (navigator.userAgent.indexOf('MSIE 6') > 0)) {  // IExplorer 6.x
    iegt4=true;
  }
  if (ebyid) {
    ebyid=false;
  }
}

function GetObj() {
  if (layer) {
    return self.document.TTip;
  } else if (docal || opera) {
    return self.TTip.style;
  } else if (ebyid) {
    return self.document.getElementById("TTip");
  } else {
    return false;
  }
}

function ShowObj() {
  if (layer) { tt_obj.visibility="show"; }
  else if (docal) { tt_obj.visibility="visible"; }
  else if (ebyid) { tt_obj.style.visibility="visible"; }

  if (status_text != "") {
    self.status=status_text;
  }
}

function HideObj() {
  if (layer) { tt_obj.visibility="hide"; }
  else if (docal) { tt_obj.visibility="hidden"; }
  else if (ebyid) { tt_obj.style.visibility="hidden"; }
        
  if (timerid > 0) { clearTimeout(timerid); }
  if (delayid > 0) { clearTimeout(delayid); }
  timerid=0;
  delayid=0;
  self.status="";
}

function ShiftObj() {
  var placeX,placeY;

  scrollXoffset=(docal)?self.document.body.scrollLeft:self.pageXOffset;
  if (docal) { iwidth=self.document.body.clientWidth; }
  if (layer) { iwidth=self.innerWidth; } // was screwed in mozilla, fixed now ???
  if (ebyid) { iwidth=self.outerWidth; }

  placeX=xLeft;
/*
	if ((eval(placeX)+eval(wdth)) > (scrollXoffset+iwidth)) {
		placeX=iwidth+scrollXoffset-wdth;
		if (placeX < 0) { placeX=0; }
	}
*/
//  scrollYoffset=(docal)?self.document.body.scrollTop:self.pageYOffset;

  placeY=yTop;

  if ( (layer) || (docal) ) {
    tt_obj.left=placeX;
    tt_obj.top=placeY;
  } else if (ebyid) {
    tt_obj.style.left=placeX +"px";
    tt_obj.style.top=placeY+"px";
  }
}

function WriteObj() {
  var content="<table width=\""+wdth+"\ border=\"0\" cellpadding=\"1\" cellspacing=\"0\" bgcolor=\"#000000\"><tr><td><table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\" bgcolor=\"#ffffef\"><tr><td valign=\"top\"><div style=\"font-family:Arial,Helvetica,sans-serif; font-size:10pt; color:#000000; font-weight:medium; font-style:normal;\">"+content_text+"</div></td></tr></table></td></tr></table>\n";
  if (layer) {
    var lyr=self.document.TTip.document;
    lyr.write(content);
    lyr.close();
  } else if (docal) {
    self.document.all["TTip"].innerHTML=content;
  } else if (ebyid) {
    var range=self.document.createRange();
    range.setStartBefore(tt_obj);
    var domfrag=range.createContextualFragment(content);
    while (tt_obj.hasChildNodes()) {
      tt_obj.removeChild(tt_obj.lastChild);
    }
    tt_obj.appendChild(domfrag);
  }
}


function Tip(evnt,c_txt,s_txt,size,px,py) {
  tt_obj=GetObj();

  if (!tt_obj) {
    alert('GetObj failed!');
    return true;
  }
  if (c_txt) {
    if (c_txt == "BASKET") c_txt=content;
    content_text=c_txt;
    status_text=s_txt;
    wdth=size;
    if (px == "L") { shiftx=15+wdth; }
    else { shiftx=-15; }
    if (py == "T") { shifty=35; }
    else if (py == "S") { shifty=-30; }
    else { shifty=-15; }

    if ( (layer) || (ebyid) ) {
      xLeft=evnt.pageX-shiftx;
      yTop=evnt.pageY-shifty;
    } else if (iegt4) {
      xLeft=evnt.x+self.document.body.scrollLeft-shiftx;
      yTop=evnt.y+self.document.body.scrollTop-shifty;
    } else if (docal) {
      xLeft=evnt.x-shiftx;
      yTop=evnt.y-shifty;
    }
    WriteObj();
    ShiftObj();

    delayid=setTimeout("ShowObj();", 200);
    if (timerid > 0) clearTimeout(timerid);
    timerid=setTimeout("HideObj();", 3000);
    return false;
  } else {
    HideObj();
    return true;
  }
}

