var owidth=370, iwidth, ooffsetx=0, ooffsety=(ns4)?-20:10, ox=0, oy=0, our=null, html='', delay=200, g_timeout, g_on=false
var DOM2=document.getElementById
var ie4=(document.all)?true:false
var ns4=window.Event?true:false
var ie5,ie6
if(ie4)
{
if (navigator.userAgent.indexOf('MSIE 5')>0) ie5=true
if (navigator.userAgent.indexOf('MSIE 6')>0) ie6=true
}else ie5=ie6=false

var ie=ie4||ie5||ie6
var ns6=(DOM2&&!ie)?true:false
var ns=ns4||ns6

if((ns)||(ie))
{
document.onmousemove=mouseMove
if(ns4) document.captureEvents(Event.MOUSEMOVE)
} else{
	ourlib=no_lib
	nd=no_lib
}

function no_lib(){return true}

function lwr(what,where){
	what+="\n";
	if(DOM2) document.getElementById(where).innerHTML = what
	else if (ns) {var l=document.layers[where].document; l.open(); l.write(what); l.close()} 
	else document.all[where].innerHTML=what
}

function lwr_text(what, where){
	what+="\n";
	if (ns6) {
	  var HTMLElement = document.getElementById(where);
	  if(typeof HTMLElement!="undefined") {
		  var parsedText = document.createTextNode(what);
		  HTMLElement.innerHTML = "";
		  HTMLElement.appendChild( parsedText );
	  }
	} else if (DOM2) document.getElementById(where).innerText = what
	else if (ns) {var l=document.layers[where].document; l.open(); l.write(what); l.close();} 
	else document.all[where].innerText = what
}

function ourlib_delayed(){
	if(typeof(g_timeout)!='undefined' && g_timeout) clearTimeout(g_timeout) 
	lwr(html,'ourDiv')
	if(our) showObject(our)
}

function ourlib(p_html,ofs_x,ofs_y){
  if(ns4) our=document.ourDiv;
  if(ie) our=ourDiv.style;
  if(ns6) our=document.getElementById("ourDiv");
  if(ofs_x) ooffsetx=ofs_x; else ooffsetx=0;
  if(ofs_y) ooffsety=ofs_y; else ooffsety=-12;
	repositionTo(our,ox,oy)
	html=p_html
	if (typeof(g_timeout)!='undefined' && g_timeout) clearTimeout(g_timeout)
	g_timeout=setTimeout('ourlib_delayed()', delay)
	g_on=true
}

function nd () {
	if (typeof(g_timeout) != 'undefined' && g_timeout) clearTimeout(g_timeout)
	if (our) {
		hideObject(our)
		delete our
	}
	g_on=false
	return true
}

function getObject(obj_id) {
  var obj;
  // alert('searching for ' + obj_id);
  if(ns4) obj=eval('document.'+obj_id);
  if(ie) { 
	try {
	  obj = eval(obj_id+'.style');
	} catch (e) { return; };
  }
  if(ns6) obj=document.getElementById(obj_id);
  //  alert('found a ' + typeof(obj_id));
  return obj;
}

function getObj(obj_id) {
  var obj;
  if(ns4) obj=eval('document.'+obj_id);
  if(ie) { 
	try {
	  obj = eval('document.all.'+obj_id);
	} catch (e) { return; };
  }
  if(ns6) obj=document.getElementById(obj_id);
  return obj;
}

function hideObject(obj, no_display){
  if (typeof(obj) == 'undefined') return false;
  if (ie) { obj.visibility="hidden"; if (!no_display) obj.display = 'none'; }
  else if (ns6||DOM2) { obj.style.visibility="hidden"; if (!no_display) obj.style.display = 'none'; }
  else if (ns4) obj.visibility="hide"
}

function showObject(obj, no_display, d_style){
  if (typeof(obj) == 'undefined') return false;
  if (!d_style) d_style = 'block';
   if (ie) { obj.visibility="visible"; if (!no_display) obj.display = d_style; }
  else if (ns6||DOM2) { obj.style.visibility="visible"; if (!no_display) obj.style.display = d_style; }
  else if (ns4) obj.visibility="show"
}

function repositionTo(obj,xL,yL){
	if(ns6){
		obj.style.left=xL + "px"
		obj.style.top=yL+ "px"
	} else if ((ns4)||(ie)) {
		obj.left=xL
		obj.top=yL
	}
}

function placeLayer(){
	var placeX, placeY

	var winoffset=(ie4)? document.body.scrollLeft : pageXOffset
	if (ie4) iwidth=document.body.clientWidth
	if (ns4) iwidth=innerWidth
	if (ns6) iwidth=outerWidth
	
	placeX=ox+ooffsetx
	if((eval(placeX)+ eval(owidth))>(winoffset + iwidth)){
		placeX=iwidth + winoffset - owidth
		if(placeX<0) placeX=0
	}
	
	var scrolloffset=(ie4)? document.body.scrollTop : pageYOffset
	placeY=oy + ooffsety
	if(g_on) repositionTo(our, placeX, placeY)
}

function mouseMove(e){
	if(ns){
		ox=e.pageX
		oy=e.pageY
	}

	if(ie4){
		ox=event.x
		oy=event.y
	}

	if(ie5||ie6){
		ox=event.x+document.body.scrollLeft
		oy=event.y+document.body.scrollTop
				}
	placeLayer()
}

function hide_row(id)
	{
	var obj;
	var i=0;
  	while(typeof(obj=getObject(id+i))!='undefined' && obj){
	hideObject(getObject(id+i)); i++
	}
}

function show_row(id)
	{
	var obj; var i=0;
  	while(typeof(obj = getObject(id+i)) != 'undefined' && obj ) {
		showObject(getObject(id+i), false, ie?'block':'table-row');
		i++;
	}
}