function navInit () {
  this.name = '';
  this.version = '';
  this.core = 'Mozilla';
}

function browserType() {
  var navs = navigator.userAgent;
  var navsver_t = '';
  var navsver = '';
  nav = new navInit;

  if ( navs.indexOf('MSIE') != -1 ) {
    nav.name = 'MSIE';
    navsver_t = navs.search(/MSIE ([^;]+)/);
    navsver   = RegExp.$1;
    nav.core  = 'MSIE';
  } else if ( navs.indexOf('Firefox') != -1 ) {
    nav.name  = 'Firefox';
    navsver_t = navs.search(/([^\/]+)$/);
    navsver   = RegExp.$1;
    nav.core  = 'Mozilla';
  } else if ( navs.indexOf('Thunderbird') != -1 ) {
    nav.name  = 'Thunderbird';
    navsver_t = navs.search(/([^\/]+)$/);
    navsver   = RegExp.$1;
    nav.core  = 'Mozilla';
  } else if ( navs.indexOf('Safari') != -1 ) {
    nav.name  = 'Safari';
    navsver_t = navs.search(/([^\/]+)$/);
    navsver   = RegExp.$1;
  } else if ( navs.indexOf('Opera') != -1 ) {
    nav.name  = 'Opera';
    navsver_t = navs.search(/Opera\/([0-9.]+)/);
    navsver   = RegExp.$1;
  } else if ( navs.indexOf('Konqueror') != -1 ) {
    nav.name  = 'Konqueror';
    navsver_t = navs.search(/Konqueror\/([0-9.]+)/);
    navsver   = RegExp.$1;
  } else if ( navs.indexOf('Mozilla') != -1 ) {
    /* over Netscape 6 */
    if ( navs.indexOf('Netscape') != -1 ) {
      nav.name  = 'Netscape';
      navsver_t = navs.search(/([^\/]+)$/);
      navsver   = RegExp.$1;
    /* Mozilla comportable browser */
    } else if ( navs.indexOf('Gecko') != -1 ) {
      nav.name = 'Mozilla';
      if ( navs.match(/rv:/) ) {
        navsver_t = navs.search(/rv:*([^)]+)\)/);
      } else {
        navsver_t = navs.search(/ (m[0-9]+)/);
      }
      navsver   = RegExp.$1;
    /* Nescape Browser */
    } else {
      nav.name  = 'Netscape';
      navsver_t = navs.search(/Mozilla\/([0-9.]+)/);
      navsver   = RegExp.$1;
      nav.core  = 'Netscape';
    }
  } else {
    nav.name  = 'Netscape';
    nav.core  = 'Netscape';
  }

  nav.version = navsver.replace(/[ ]+\([^)]+\)$/g,"");
  return nav;
}
var nav = browserType();

function newwinInit() {
  this.child = null;
  this.count = 0;
}

ns = new newwinInit;


function previewInit() {
  this.x = 0;
  this.y = 0;
  this.snow = 0;
  this.sw = 0;
  this.cnt = 0;
  this.dir = 1;
  this.offsetx = 3;
  this.offsety = 3;
  this.width = 100;
  this.height = 20;

  try {
    if ( ! nav ) { nav = browserType (); }
  } catch (e) {
    nav = browserType ();
  }
}

pv = new previewInit;
if ( nav.core == 'Netscape' ) {
    over = document.overDiv;
} else {
  over = document.getElementById('overDiv');
}
document.onmousemove = mouseMove;
if ( nav.core != 'MSIE' ) {
  if (document.addEventListener) {
    document.addEventListener("move", mouseMove, false);
  } else {
    document.captureEvents(Event.MOUSEMOVE);
  }
}

function drs(text, d) { 
	if (d == undefined) {
		d = 1;
	}
	dts(d,text); 
	}

function nd() {
  if ( pv.cnt >= 1 ) { pv.sw = 0 };
  if ( pv.sw == 0 ) {
      pv.snow = 0;
      hideObject(over);
  } else { pv.cnt++; }
}

function dts(d,text) {

	/*
	obj = document.documentElement;
	text += "<br />"+"X:"+event.x+", Y:"+ event.y;
	text += "<br />"+"X:"+event.clientX+", Y:"+ event.clientY;
	text += "<br />"+  obj.name;
	*/

    txt = "<TABLE STYLE=\"border:1 #000000 solid\" CELLPADDING=5 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR=#FFFFE7 class='black' style='font-size:9pt'>"+text+"</TD></TR></TABLE>"
    layerWrite(txt);
    pv.dir = d;
    disp();
}

function disp() {
  if (pv.snow == 0) {
    if (pv.dir == 2) { moveTo(over,pv.x+pv.offsetx-(pv.width/2),pv.y+pv.offsety); } // Center
    if (pv.dir == 1) { moveTo(over,pv.x+pv.offsetx,pv.y+pv.offsety); } // Right
    if (pv.dir == 0) { moveTo(over,pv.x-pv.offsetx-pv.width,pv.y+pv.offsety); } // Left
    showObject(over);
    pv.snow = 1;
  }
}


function mouseMove(e) {
  if ( nav.core == 'MSIE' ) {
    pv.x = event.clientX + document.documentElement.scrollLeft + 10;
    pv.y = event.clientY + document.documentElement.scrollTop;
    if ( pv.x + pv.width - document.documentElement.scrollLeft > document.documentElement.clientWidth ) pv.x = pv.x - pv.width - 25;
    if ( pv.y + pv.height - document.documentElement.scrollTop > document.documentElement.clientHeight ) pv.y = pv.y - pv.height;
  } else if ( nav.core == 'Mozilla' ) {
    pv.x = ( (e.pageX)+pv.width-window.pageXOffset > window.innerWidth ) ? (e.pageX+10)-pv.width-10 : e.pageX+10;
    pv.y = ( (e.pageY)+pv.height-self.pageYOffset > window.innerHeight ) ? (e.pageY)-pv.height+5 : e.pageY;
  } else {
    pv.x=e.pageX+10;
    pv.y=e.pageY;
    if (pv.x+pv.width-self.pageXOffset > window.innerWidth) pv.x=pv.x-pv.width-5;
    if (pv.y+pv.height-self.pageYOffset > window.innerHeight) pv.y=pv.y-pv.height;
  }

  if (pv.snow) {
    if (pv.dir == 2) { moveTo(over,pv.x+pv.offsetx-(pv.width/2),pv.y+pv.offsety); } // Center
    if (pv.dir == 1) { moveTo(over,pv.x+pv.offsetx,pv.y+pv.offsety); } // Right
    if (pv.dir == 0) { moveTo(over,pv.x-pv.offsetx-pv.width,pv.y+pv.offsety); } // Left
  }
}

function cClick() { hideObject(over); pv.sw=0; }
function layerWrite(txt) {
  if ( nav.core == 'Netscape' ) {
    var lyr = document.overDiv.document;
    lyr.write(txt);
    lyr.close();
  } else {
    over.innerHTML = txt;
  }
}
function showObject(obj) {
  if ( nav.core == 'Netscape' ) {
    obj.visibility = "show"
  } else {
    obj.style.visibility = "visible";
  }
}
function hideObject(obj) {
  if ( nav.core == 'Netscape' ) {
    obj.visibility = "hide"
  } else {
    obj.style.visibility = "hidden";
  }
}
function moveTo(obj,xL,yL) {
  if ( nav.core == 'Netscape' ) {
    obj.left = xL;
    obj.top = yL;
  } else {
    obj.style.left = xL;
    obj.style.top = yL;
  }
}

