var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE);
if(!IE) document.captureEvents(Event.MOUSEDOWN);
function BROWSER_CONTROL() { this.onloadEvents = new Array();};

BROWSER_CONTROL.prototype.addOnloadEvent = function(func) {
	this.onloadEvents[this.onloadEvents.length] = func;
}

var __BROWSER_CONTROL__ = new BROWSER_CONTROL();
function getMouseXY(e) {
	try {
		var tempX;
		var tempY;
		if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
		} else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
		}  
		// catch possible negative values in NS4
		if (tempX < 0){tempX = 0}
		if (tempY < 0){tempY = 0} 
		//alert((IE) ? document.all['searchBox'].style : document.getElementById("searchBox").style); 
	
		var searchBox = (IE) ? document.all['searchBox'].style : document.getElementById("searchBox").style;
		searchBox.visibility = "visible";
		searchBox.left = tempX + "px";
		searchBox.top = tempY + "px";
		opacity("searchBox", 0, 100, 500);
		document.getElementById("searchString").focus();
	
		return true;
	} catch(err) {
		window.location.href = "/2008/search.asp";
	}
}


function opacity(id, opacStart, opacEnd, millisec) {
	//alert(inNestedElement + " " + justLeftNestedElement);
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;
	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
		setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
		timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
		{
		setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
		timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";

} 

function mouseDown(e) {
	if(!e) e = window.event;
	var element;
	if(e.target) element = e.target.parentNode;
	else if(e.srcElement) element = e.srcElement.parentNode;
	else return;
	
	var searchBox = document.getElementById("searchBox");
	while(element != null) {
		if(element.id == "searchBox") return;
		if(element.id == "searchButton") {
			searchBox.style.visibility = "hidden";
			changeOpac(0, "searchBox");
			return;
		}

		element = (element.parentElement) ? element.parentElement : element.parentNode;
	}
	
	if(searchBox.style.opacity == 1  || searchBox.style.MozOpacity == 1 || searchBox.style.KhtmlOpacity == 1 || searchBox.style.filter == "alpha(opacity=100)") {
		opacity("searchBox", 100, 0, 500);
	}

}


__BROWSER_CONTROL__.addOnloadEvent(function() {
	document.getElementById("searchButton").onclick = getMouseXY;
	document.onmousedown = mouseDown;
});

window.onload = function() {
	for(i=0;i<__BROWSER_CONTROL__.onloadEvents.length;i++) {
		__BROWSER_CONTROL__.onloadEvents[i]();
	}
}