function getOS()
{
	var os=navigator.userAgent;
	if(os.indexOf("Mac")!=-1)
	{
		os="Mac";
	}
	else if(os.indexOf("Konqueror")!=-1)
	{
		os="Konqueror";
	}
	else
	{
		os="Win";
	}
	return os;
};

function getBrowser()
{
	var browser="None";
	if(navigator.appName.indexOf("Netscape")>=0&&parseFloat(navigator.appVersion)>=4)
	{
		browser="NS4";
		version=4;
	}
	if(document.getElementById)
	{
		browser="NS6";
		if(navigator.userAgent.indexOf("6.01")!=-1||navigator.userAgent.indexOf("6.0")!=-1)
		{
			version=6;
		}
		else
		{
			version=6.1;
		}
	}
	if(document.all)
	{
		if(document.getElementById)
		{
			version=5;
		}
		else
		{
			version=4;
		}
		browser="IE";
	}
	return browser;
};

browser=getBrowser();
os=getOS();

function getScrolLeft()
{
	if(browser=="NS4"||browser=="NS6")
	{
		return(window.pageXOffset);
	}
	if(browser=="IE")
	{
		return(document.body.scrollLeft);
	}
};

function getScrolRight()
{
	if(browser=="NS4"||browser=="NS6")
	{
		return(window.innerWidth+window.pageXOffset-16);
	}
	if(browser=="IE")
	{
		return(document.body.clientWidth+document.body.scrollLeft);
	}
};

function getScrolTop()
{
	if(browser=="NS4"||browser=="NS6")
	{
		return(window.pageYOffset);
	}
	if(browser=="IE")
	{
		return(document.body.scrollTop);
	}
};

function getScrolBottom()
{
	if(browser=="NS4"||browser=="NS6")
	{
		return(window.innerHeight+window.pageYOffset);
	}
	if(browser=="IE")
	{
		return(document.body.clientHeight+document.body.scrollTop);
	}
};

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getAbsolutePos(element)
{
    var pos = { x1: element.offsetLeft, y1: element.offsetTop };
    if (element.offsetParent) {
    var par = getAbsolutePos(element.offsetParent);
    pos.x1 += par.x1;
    pos.y1 += par.y1;
    }
    pos.x2 = pos.x1 + ( pos.w = element.offsetWidth  ) - 1;
    pos.y2 = pos.y1 + ( pos.h = element.offsetHeight ) - 1;
    return pos;
}

function preventDefaultEventAction(e)
{
    try{
        e.preventDefault();
    }catch(exc){
        e.returnValue=false;
    }
    return false;
}

function openWindow(e, url, sFeatures)
{
    win = window.open(url, '_blank', sFeatures);
    preventDefaultEventAction(e);
    return win;
}

function openDialog(e, url, w, h)
{
    var sFeatures;
    sFeatures = 'directories=0,location=0,menubar=0,toolbar=0,resizable=1,scrollbars=1,status=0';

    if (typeof(w) != "undefined")
        {
            sFeatures = sFeatures + ',width=' + w.toString();
        }
    if (typeof(h) != "undefined")
        {
            sFeatures = sFeatures + ',height=' + h.toString();
        }

    return openWindow(e, url, sFeatures)
}

function resizeToElement(element, addw, addh)
{
    pos = getAbsolutePos(element);
    w = pos.x2 + 40;
    h = pos.y2 + 60;
    if (typeof(addw) != "undefined")
        w = w + addw;
    if (typeof(addh) != "undefined")
        h = h + addh;
    availWidth = screen.availWidth - 100;
    availHeight = screen.availHeight - 100;
    if (availWidth < w) w = availWidth;
    if (availHeight < h) h = availHeight;
    window.resizeTo(w, h);
}

function disable_form(event, theform)
{
    for (i = 0; i < theform.length; i++)
    {
        var tempobj = theform.elements[i];
        if (tempobj.type.toLowerCase() == "submit")
            tempobj.disabled = true;
        if (tempobj.type.toLowerCase() == "button")
            tempobj.disabled = true;
    }
}
/////////////////////////////////// Menu //////////////////////////////////////
var menu_timer = null;

function onMenuOver() {
    clearTimeout(menu_timer);
}

function onMenuOut() {
    clearTimeout(menu_timer);
    menu_timer = setTimeout("hideAllMenu()", 300);
}

function hideAllMenu() {
  var dives = document.getElementsByTagName('div');
  for (var i=0; i<dives.length; i++) {
    var div = dives[i];
    if (div.className == 'menu') {
      div.style.visibility = 'hidden';
    }
  }
}

function showMenu(id, x, y) {
  var menu = document.getElementById(id);
  if (menu) {
    hideAllMenu();
    clearTimeout(menu_timer);
    _moveMenu(menu, x, y);
    menu.style.visibility = 'visible';
    }
}

function _moveMenu(menu, x, y) {
	if (typeof(x) != "undefined") {
		min_x = getScrolLeft();
		max_x = getScrolRight();
		menuWidth = menu.offsetWidth;
		if(x < min_x) {
			x = min_x;
		}
		if(x + menuWidth > max_x) {
			x = max_x - menuWidth;
		}
		menu.style.left = x;
	}
	if (typeof(y) != "undefined") {
		min_y = getScrolTop();
		max_y = getScrolBottom();
		menuHeight = menu.offsetHeight;
		if(y < min_y) {
			y = min_y;
		}
		if (y + menuHeight > max_y) {
			y = max_y - menuHeight;
		}
		menu.style.top = y;
	}
}

function showMenuAtElementRT(id, element, x_offset, y_offset) {
  var pos = getAbsolutePos(element);
  if (typeof(x_offset) == "undefined")
    x_offset = 0;
  if (typeof(y_offset) == "undefined")
    y_offset = 0;
  showMenu(id, pos.x2 + x_offset, pos.y1 + y_offset);
}

function showMenuAtElementLB(id, element, x_offset, y_offset) {
  var pos = getAbsolutePos(element);
  if (typeof(x_offset) == "undefined")
    x_offset = 0;
  if (typeof(y_offset) == "undefined")
    y_offset = 0;
  showMenu(id, pos.x1 + x_offset, pos.y2 + y_offset);
}

function showMenuAtElementLT(id, element, x_offset, y_offset) {
  var pos = getAbsolutePos(element);
  var menu = document.getElementById(id);
  if (typeof(x_offset) == "undefined")
    x_offset = 0;
  if (typeof(y_offset) == "undefined")
    y_offset = 0;
  showMenu(id, pos.x1 + x_offset, pos.y1 + y_offset - menu.offsetHeight);
}



