isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isMSIE=document.all && document.all.item //Microsoft Internet Explorer 4+
isNetscape4=document.layers //Netscape 4.*
isOpera=window.opera //Opera
isOpera5=isOpera && isDOM //Opera 5+
isMSIE5=isDOM && isMSIE && !isOpera //MSIE 5+
isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera

function closeCoursePopups(){
  var elem = document.getElementsByTagName('div');
  for (i = 0; i < elem.length; i++)
  {
    if (elem[i].id) {
	//alert(elem[i].id);
	//alert(elem[i].visibility);
	elem[i].style.visibility = 'hidden';
 
    }
  }
}

function getLayer(layerName, parentLayerName){
	if(isDOM){ return document.getElementById(layerName); }
	if(isMSIE){ return document.all[layerName]; }
	if(isNetscape4){ return eval('document.layers[layerName]'); }
	return false;
}

function ts(what, text, e)
{
	closeCoursePopups();

	mousex = e.clientX;
	mousey = e.clientY;
	pagexoff = 20;
	pageyoff = 20;
	mouseyoff = 30;
	mousexoff = 30;
	if (isMSIE5) {
		pagexoff = document.body.scrollLeft;
		pageyoff = document.body.scrollTop;
	}
	else{
		pagexoff = window.pageXOffset;
		pageyoff = window.pageYOffset;
	}
	if (getLayer(what)) {
		if(isNetscape4)
			obj = getLayer(what);
		else
			obj = getLayer(what).style;

		if (obj) {
		   if (text != '') {
				document.all[what+'_text'].innerHTML = text;
			}
			leftoff = mousex-pagexoff;
			obj.left = (mousex+pagexoff) + mousexoff;
			topoff = mousey-pageyoff;
			if(isOpera && topoff <= 10) {
				obj.top = (mousey+pageyoff) - mouseyoff;
			} else if( mousey <= - 10) {
				obj.top = (mousey+pageyoff) - mouseyoff;
			}
			else if (isOpera) {
				obj.top = (mousey+pageyoff) - mouseyoff;
			} else {
				obj.top = (mousey+pageyoff) - mouseyoff;
			}

			if(isNetscape4)
				obj.visibility = 'show';
		    else
			obj.visibility = 'visible';
		  }
   }
  return true;
}

function tooltip(n, obj_id, ev)
{
	if (n == 1) {
		ts(obj_id, '', ev);
	}
	else {
		if (isNetscape4) {
			obj = getLayer(obj_id);
			obj.visibility = 'show';
		} else {
	      obj = getLayer(obj_id).style;
			obj.visibility = 'hidden';
		}
  }
  return true;
}

function browse_course(course, topic_ix, mnemonic)
{
	tooltip(0,course);
	w = window.open('CourseDetails?course='+course+'&topic_ix='+topic_ix+'&mnemonic='+mnemonic,'w','left=20,top=20,width=500,height=600,toolbar=0,menubar=0,resizable=1,scrollbars=1');
}

function check_all_products()
{
	elements = document.forms['product_selections'].elements;
	count = elements.length;
	on_off = (elements['sel_desel'].checked == 1);
	for (i=0; i < count; i++) {
		if (elements.name != 'sel_desel') {
			elements[i].checked = on_off;
		}
	}
}

