		// global constants
	var TYPE_FILETYPE = 1;
	var TYPE_ACADEMIC = 2;
	var TYPE_INSTRUCTIONAL = 3;
	var TYPE_ONLINE = 4;
	var TYPE_NEWS = 5;
	var TYPE_NEWSPAPERS = 6;
	var TYPE_NEWSLETTERS = 7;
	var TYPE_BLOGSITES = 8;
	var TYPE_BLOGOSPHERE = 9;
	var TYPE_FORUMS = 10;
	var TYPE_WIKIS = 11;
	var TYPE_REFERENCE = 12;
	var TYPE_GOVT = 13;
	var TYPE_SOCIALBOOKMARKS = 14;
	var TYPE_PRESSRELEASES = 15;
	var TYPE_COMPANIES = 16;
	var TYPE_PEOPLE = 17;
	var TYPE_SPECIALIZED = 18;
	var TYPE_IMAGES = 19;
	var TYPE_VIDEO = 20;
	var TYPE_VIDEOBLOGS = 21;
	var TYPE_PODCASTS = 22;
	var TYPE_RSS = 23;
	var TYPE_MAJORSEARCH = 24;
	var TYPE_METASEARCH = 25;
	var TYPE_ANSWERBASED = 26;
	var TYPE_VISUAL = 27;
	var TYPE_INVISIBLE = 28;
	var TYPE_SOCIALBOOKMARKSEARCH = 29;

		
		// global vars
	var g_dataType = null;
	var g_searchEngine = null;
	var g_searchText = null;
	var g_mouseX = 0;
	var g_mouseY = 0;

	

  if (document.layers)
    document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove = track; 


		// functions

	function loadSecondRow(datatype) {
		assignVars(datatype, null);
		getSearch("/enginelist.php", "dtype=" + g_dataType);
	}

	function showSearch(engineid, newwin) {
		assignVars(null, engineid);

		var s = trim(document.frmSearch.txtSearch.value);
		if (s == '') {
			alert("Please enter a search string first");
			document.frmSearch.txtSearch.focus();
			return;
		}
		var divFrm = document.getElementById("divIFrame");
		divFrm.style.display="block";

		var frm = document.getElementById("ifrm");
		frm.src = "/includes/searchloader.html";
		var url  = "/getsearchlink.php";
		var pars = "srch=" + document.frmSearch.txtSearch.value + "&engineid=" + g_searchEngine;
		new Ajax.Request(url, {method: 'get', parameters:pars, onComplete:
			function(r) {
				var data = r.responseText;
				if ('' == url) {
						// do nothing
				} else {
					frm.src = data;
				}

			}
		});
		

	}


	function assignVars(datatype, searchengine) {
		if (datatype != null)
			g_dataType = datatype;
		if (searchengine != null)
			g_searchEngine = searchengine;
	}

	function getSearch(urlname, parms) {

		$('divSecondRow').style.display = "block";
		$('divSecondRow').style.backgroundColor = "#ffffff";
		$('divSecondRow').innerHTML = "<br><center><IMG SRC=\"/images/spinner.gif\" WIDTH=16 HEIGHT=16 BORDER=0 ></center>";
		var url  = urlname;
		var pars = parms;
		new Ajax.Request(url, {method: 'get', parameters:pars, onComplete:
			function(r) {
				var data = r.responseText;
				if ('' == url) {
					$('divSecondRow').innerHTML = 'Failure: cannot get url...';
				} else {
					$('divSecondRow').innerHTML = data;
				}

			}
		});
		
	}

function getWindowHeight()
{
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number')
		windowHeight=window.innerHeight;
	else if (document.documentElement&&document.documentElement.clientHeight)
		windowHeight=document.documentElement.clientHeight;
	else if (document.body&&document.body.clientHeight)
		windowHeight=document.body.clientHeight;

	return windowHeight;
}

function getWindowWidth()
{
	var windowWidth=0;
	if (typeof(window.innerWidth)=='number')
		windowWidth=window.innerWidth;
	else if (document.documentElement&&document.documentElement.clientWidth)
		windowWidth=document.documentElement.clientWidth;
	else if (document.body&&document.body.clientWidth)
		windowWidth=document.body.clientWidth;

	return windowWidth;
}


function track(e) {
    g_mouseX = (window.event) ? window.event.x : e.pageX;
    g_mouseY = (window.event) ? window.event.y : e.pageY;
} 

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

	function xtooltip(xlabel, xdiv) {
		var sp = document.getElementById(xdiv);
		var arrPos = findPos(sp);
		var xpos = new String(arrPos[0]);
		xpos = xpos.substr(0, xpos.length);
		var ypos = new String(arrPos[1]);
		ypos = ypos.substr(0, ypos.length);

		var brow = new String(navigator.appName);

		var d = document.getElementById("divTooltip");
		if (d) {
			d.innerHTML = xlabel;
			d.style.display = "block";
			d.style.textColor="#FFFFCC";
			d.style.fontFamily="arial";
			d.style.fontSize="10px";
			d.style.textAlign="left";
			if (brow.indexOf("Netscape") > -1) {
				d.style.left = xpos + "px";
			}
			else {
				if (getWindowWidth() <= 800) {
					d.style.left = Number(xpos);
				}
				else
				if (getWindowWidth() <= 1024) {
					d.style.left = Number(xpos) - 10;
				}
				else
				if (getWindowWidth() <= 1132) {
					d.style.left = Number(xpos) - 10;
				}
				else
				if (getWindowWidth() <= 1260) {
					d.style.left = Number(xpos) - 10;
				}
			}

			if (brow.indexOf("Microsoft") > -1) {
				d.style.top = Number(ypos) + 30;
			}
			else {
				d.style.top = Number(ypos) + 10 + "px";
			}				 

		}


	}
