// JavaScript Document
var $submenu_opened = -1;
var $menu_item_ids = new Array();
var $submenu_block_ids = new Array();
var $timer;
var $opened = false;
var $over = false;
var $currentMouseX = 0;
var $currentMouseY = 0;

var BrowserName = navigator.appName;
var OPERA = false;
var NETSCAPE = false;
var EXPLORER = false;

if (BrowserName=="Opera") OPERA=true;
if (BrowserName=="Netscape") NETSCAPE=true;//FF, chrome, safari
if (BrowserName=="Microsoft Internet Explorer") EXPLORER=true;

//	mouse events handling
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;

function getMouseXY(e) 
{
	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;
	}  
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}  
	$currentMouseX = tempX;
	$currentMouseY = tempY;
	return true;
}

function RegisterMenuIds($mainIds, $subIds)
{
  $menu_item_ids = $mainIds;
  $menu_block_ids = $subIds; 

  for ($i=0;$i<$menu_item_ids.length;$i++)
  {
    $id = $menu_item_ids[$i];
    $element = document.getElementById($id);
    
    if ($element)
    {
       $element.onmouseover = Over; 
       //$element.onmousemove = Over;
    }
  }
  for ($i=0;$i<$menu_block_ids.length;$i++)
  {
    $id_b = $menu_block_ids[$i];
    $element_b = document.getElementById($id);
    
    if ($element_b)
    {
       //$element_b.onmousemove = Over;
       $element_b.onmouseover = Over; //BlockOver;
       $element_b.onmouseout = Out; //BlockOut;  
    }
  }  
}
function Over()
{
      $block_id = -1;
      $id = this.id;
      if ($submenu_opened != -1)
      {
        $opened_element = document.getElementById($submenu_opened);
        if ($opened_element)
        {
          $opened_element.style.display = 'none';
        }
        clearTimeout($timer);
      }      
      for ($j=0;$j<$menu_block_ids.length; $j++)
      {
        $block_id = $menu_block_ids[$j];
        if ($block_id.indexOf($id) == 0)
        {
          $sub_element = document.getElementById($block_id);
          if ($sub_element)
          {            
            $pos = findPosition( this );
            $sub_element.style.display = 'block';

			//var op = (navigator.userAgent.indexOf("Opera")!=-1);
 			//if (IE || op) $sub_element.style.position = 'absolute';
 			//else $sub_element.style.position = 'relative';
			if (OPERA || EXPLORER) {
				$sub_element.style.position = 'absolute';
            	$sub_element.style.top = $pos[1];
            	$sub_element.style.left = $pos[0];
			}
			else $sub_element.style.position = 'relative';


            $submenu_opened = $block_id;
            $timer = setTimeout("checkMousePosition()", 3000);
          }
          break;
        }
      }
}
function findPosition( oElement ) {
  if( typeof( oElement.offsetParent ) != 'undefined' ) 
  {
    $width = oElement.offsetWidth;
    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
      posX += oElement.offsetLeft;
      posY += oElement.offsetTop;
    }
    posX += $width;
    return [ posX, posY ];
    //return [ oElement.offsetLeft, oElement.offsetTop ];
  } 
  else 
  {
    return [ oElement.x, oElement.y ];
  }
}
function Out()
{
      if (($submenu_opened != -1) && $over)
      {
        return;
      }
      if ($submenu_opened != -1)
      {
        $opened_element = document.getElementById($submenu_opened);

        if ($opened_element)
        {
          $opened_element.style.display = 'none';     
		  clearTimeout($timer);     
        }
        $submenu_opened = -1;
      }    
}
function BlockOver()
{
  if (this.id == $submenu_opened)
  {
    $over = true;
  }
}
function BlockOut()
{
  if (this.id == $submenu_opened)
  {
    $over = false;
    $timer = setTimeout("Out()", 3000);
  }
}
function checkMousePosition()
{
	$opened_element = document.getElementById($submenu_opened);
    if ($opened_element)
	{
		$pos = findPosition( $opened_element );
		//$pos[0] = parseInt($opened_element.style.left);
		//$pos[1] = parseInt($opened_element.style.top);
	 	$dim = getDimensions($submenu_opened);
	 	
		//document.getElementById('keyword').value = 'OR: '+$pos[1]+','+$pos[0]+','+($pos[1]+$dim[1])+','+($pos[0]+$dim[0])+' MP: '+$currentMouseX+':'+$currentMouseY;

		$menuelement = document.getElementById("menu");
		$menupos = findPosition( $menuelement );

		//document.getElementById('searchbox_002399708225919668872:zs40jgruyqg').q.value = document.documentElement.clientHeight + "    " +$currentMouseX + '>=' +($pos[0]-$menupos[0]-50) + ", " + $currentMouseX + "<=" + ($pos[0]+$dim[0]) + ", " + $currentMouseY + ">=" + ($pos[1]) + ", " + $currentMouseY + "<=" + ($pos[1]+$dim[1]);
		if (EXPLORER) {
			{
				$timer = setTimeout("checkMousePosition()", 3000);
				return;
			}
		}
		else {
			if (($currentMouseX >= $pos[0]-$menupos[0]-50) && ($currentMouseX <= ($pos[0]+$dim[0])) &&  ($currentMouseY >= $pos[1]) && ($currentMouseY <= ($pos[1]+$dim[1])))
			{
				$timer = setTimeout("checkMousePosition()", 3000);
				return;
			}
		}
	}
	clearTimeout($timer);
	Out();
}
function getDimensions($ElementId)
{
	return [ getElementWidth($ElementId), getElementHeight($ElementId) ];
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}
function getElementHeight(Elem) {
 	var ns4 = document.layers;
	var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) 
		||(navigator.userAgent.indexOf("Opera/5")!=-1);
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	var ns4 = document.layers;
	var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) 
		||(navigator.userAgent.indexOf("Opera/5")!=-1); 
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}