var viewport_x,viewport_y;
if (self.innerHeight) // all except Explorer
{
	viewport_x = self.innerWidth;
	viewport_y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
{
	viewport_x = document.documentElement.clientWidth;
	viewport_y = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
	viewport_x = document.body.clientWidth;
	viewport_y = document.body.clientHeight;
}

function swapDisplay(divId,action) {
	var divObj = findObj (divId);
	if (action == 'hide') {
	  divObj.style.visibility = 'hidden';
	} else if (action == 'show') {
	  divObj.style.visibility = 'visible';
	} else if (!action) {
  	if (divObj.style.visibility == 'hidden') {
  		divObj.style.visibility = 'visible';
  	} else {
  		divObj.style.visibility = 'hidden';
  	}
	}
}

function setFocus(elementID) {
  var element = findObj (elementID);
  element.focus();
}

function init() {
  if (window.Event) {
    document.captureEvents(Event.CLICK);
  }
  var tSearch = findObj('toggleSearch');
  tSearch.onclick = setSearchDivPosition;
}

function setSearchDivPosition(e) {
  x = (window.Event) ? e.pageX : event.clientX;
  y = (window.Event) ? e.pageY : event.clientY;

  var searchDiv = findObj('searchDiv');
  var sDiv_width = 200;//parseInt(searchDiv.style.width);
  var sDiv_height = 100;//parseInt(searchDiv.style.height);
  var new_x,new_y;
  new_x = x - sDiv_width/2;
  if (new_x < 0) new_x = 0;
    if ((new_x + sDiv_width) > viewport_x)
    new_x = viewport_x - sDiv_width;
  new_y = y - sDiv_height/2;
  if (new_y < 0) new_y = 0;
  if ((new_y + sDiv_height) > viewport_y)
    new_y = viewport_y - sDiv_height;
  searchDiv.style.left = new_x +'px';
  searchDiv.style.top = new_y +'px';
}

window.onload = init;