// JavaScript Document

var base_url = location.protocol + '//' + location.hostname;

function getHTTPObject() {
	if (typeof XMLHttpRequest != 'undefined') 
		{ return new XMLHttpRequest();
	}
	
	try {
		return new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
		try {
			return new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (e) {} 
	} 
	return false;
}

function show_box(received_event, box) {
    var mouse_x;
    var mouse_y;

    var loginbox_div = document.getElementById(box);

    if (loginbox_div.style.visibility == 'visible') {
      return hide_box(box);
    }

    if (received_event.pageX || received_event.pageY) {
      mouse_x = received_event.pageX;
      mouse_y = received_event.pageY;
    } else if (received_event.clientX || received_event.clientY) {
      mouse_x = received_event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
      mouse_y = received_event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    }

    loginbox_div.style.left = (mouse_x-150) + 'px';
    loginbox_div.style.top  = (mouse_y-150) + 'px';

    loginbox_div.style.visibility = 'visible';
}

function hide_box (box) {
     var loginbox_div = document.getElementById(box);
     loginbox_div.style.visibility = 'hidden';
}

function get_height_of_element(element) {
  var h = 0;
  var o;

  if(element) {
    if ( (o = document.defaultView) && o.getComputedStyle) {
      h = o.getComputedStyle(element, null).height;
      h.replace(/px/, '');
    } else if ('number' == typeof element.offsetHeight) {
      h = element.offsetHeight;
    }
  }

  return parseInt(h, 10);
}

function findPosX (obj) {
  var curleft = 0;
  if(obj.offsetParent)
    while(1) {
      curleft += obj.offsetLeft;
      if (!obj.offsetParent)
        break;
        obj = obj.offsetParent;
    }
  else if(obj.x)
    curleft += obj.x;
    return curleft;
}

function findPosY (obj) {
  var curtop = 0;
  if(obj.offsetParent)
    while (1) {
      curtop += obj.offsetTop;
      if (!obj.offsetParent)
        break;
        obj = obj.offsetParent;
    }
  else if (obj.y)
    curtop += obj.y;
    return curtop;
}
