var parentXT=1;
var parentYT=-31;
var parentXL=1;
var parentYL=-31;
var menuXT=1;
var menuYT=-34;
var menuXL=1;
var menuYL=-34;

var parentX;
var parentY;
var menuX;
var menuY;

if (!document.all)
{   parentXT=1;
	parentYT=-31;
	parentXL=1;
	parentYL=-31;
	menuXT=1;
	menuYT=-24;	
	menuXL=1;
	menuYL=-24;		
}
window.highlight=new Array();
window.comboboxen=new Array();
window.activeMenu=null;

document.onmouseup=hideAll;


function sMiE2(menuname, event, menuid, parentmenu, type) {	
	var m=findMenu(menuname + menuid);
	if (m) {
			m.showMenu(event, menuid, 0, type)
			pathOver(m, menuname, type, 0);	
		//var img=document.getElementById("meni_item"+ menuid);
		
		
		//if (img)
		//  img.src="meni_item_over.gif"
	} else {
		var p=findMenu(menuname + parentmenu);
		if (p) {
			pathOver(p, menuname, type, 1);			
			p.hideSubmenus();
		} else {
			//hideAll();
		}
	}
}

function pathOver(menu, menuname, type, parent) {
	var p=menu;
	var tip;
	tip="smenu";

	if(parent==0)
		p=p.parentMenu;
	while (p) {
		var pp=document.getElementById(tip + p.menu.id.substring(p.menu.id.lastIndexOf("_"), p.menu.id.length));
		if(pp)
		{
			if(type==0)
				pp.style.backgroundColor= '#b04580';
			else if (type==1)
				pp.style.backgroundColor= '#a5a5a5';
		}
		p=p.parentMenu;
	}
}


function clearBgColor(parent, type, menuname)
{
	var p=findMenu(menuname + parent);
	if(p)
	{
		while (p) {
			var pp=document.getElementById(type + p.menu.id.substring(p.menu.id.lastIndexOf("_")+1, p.menu.id.length));
			if(pp)
				pp.style.backgroundColor= '';
			p=p.parentMenu;
		}
	}	
}


function hideAll(event) {
	var p=window.activeMenu;
	while (p) {
		p.hideMenu();
		p=p.parentMenu;
	}
	showComboBoxen('visible');
}

function getStyle(x,styleProp)
{
	var y=null;

	if (document.defaultView && document.defaultView.getComputedStyle)
		y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	else if (x.currentStyle)
		y = eval('x.currentStyle.' + styleProp);
	
	return y;
}

function showMenu(event, A, B, type) {

	if (!this) return;
	showComboBoxen('hidden');
	window.activeMenu=this;

	if (this.visible) return;
	this.hideSisters();

    if (!this.pos) 
    {
		if (type=='0')
			this.pos=getXYcoord( 'pxmenu' + '_' + A);
		if (type=='1')
			this.pos=getXYcoord( 'pxmenu' + '_' + A);
	}

	if (type=='1')
	{	
		parentX=parentXT;
		parentY=parentYT;
		menuX=menuXT;
		menuY=menuYT;	
	}
	if (type=='0')
	{
		parentX=parentXL;
		parentY=parentYL;
		menuX=menuXL;
		menuY=menuYL;		
	}

	if (document.all || document.getElementById)
	{
   	  if (this.parentMenu && this.parentMenu.menu) {
	    this.menu.style.left = (this.pos.x+menuX) + "px";
	    this.menu.style.top = (this.pos.y+menuY) + "px";
		} else {
	    this.menu.style.left = (this.pos.x+parentX) + "px";
	    this.menu.style.top = (this.pos.y+parentY) + "px";
		}

	  this.menu.style.visibility="visible";
	  this.visible=true;
	}
}

function findMenu(menu) {	
	if (window.menus) return menus[menu];
	return null;
}

function showParents(visibility) {
	if (this.parentMenu) {
		if (document.layers)
			this.parentMenu.menu.visibility=visibility;
		else
			this.parentMenu.menu.style.visibility=visibility;
		this.parentMenu.showParents(visibility);
	}
}

function getXYcoord ( pixel ) {
     var el = document.images[pixel];
//     if ( document.layers ) return el;
     var xy = { x:0 ,y:0 };
     do { xy.x += parseInt( el.offsetLeft );
        xy.y += parseInt( el.offsetTop );
        el = el.offsetParent;
     } while ( el );
   xy.x++; xy.y--;
   return xy;
}


function hideMenu() {
	if (!this.menu) return;
	if (!this.visible) return;
	
	//alert("tu");
	
	this.hideSubmenus();
	this.menu.style.visibility="hidden";

	this.visible=false;
}

function hideSubmenus() {
	if (this.children) {
		for (var i=0; i<this.children.length; i++)
			this.children[i].hideMenu();
	}
}

function hideSisters() {
	
	if (this.parentMenu && this.parentMenu.children) {
		for (var i=0; i<this.parentMenu.children.length; i++) {
			this.parentMenu.children[i].hideMenu();
			
		}
	}
}

function Menu(menuid) {
	this.menuid=menuid;
	this.menu=null;
	this.parentMenu=null;
	this.visibility=false;
	this.level=0;

	this.registerMenu=registerMenu;
	this.showParents=showParents;
	this.hideMenu=hideMenu;
	this.hideSubmenus=hideSubmenus;
	this.hideSisters=hideSisters;
	this.registerChild=registerChild;
	this.showMenu=showMenu;

	this.children=null;
}

function registerMenu(parentid) {
	if (!window.menus) window.menus=new Array();

	var menu=window.menus[parentid];
	this.parentMenu=menu;

	if (document.all) {
		menu=document.all[this.menuid];
	} else if (document.getElementById) {
		menu=document.getElementById(this.menuid);
	}
	this.menu=menu;

	window.menus[window.menus.length]=this;
	window.menus[this.menuid]=this;

    if (this.parentMenu) {
		this.parentMenu.registerChild(this);
	} 
}

function registerChild(menu) {
	if (!this.children) this.children=new Array();
	this.children[this.children.length]=menu;
	menu.level=this.level+1;
}

function findComboBoxen() {
    var COMBOBOX=0;
    if ((document.getElementsByTagName("SPAN"))) {
      var el = document.getElementsByTagName("SPAN");
      var sName;
      for (var i=0; i<el.length; i++) {
        sName=el[i].id;
        if (el[i].id=="hideme") {
		window.comboboxen[COMBOBOX++]=el[i];
	}
      }
    }
}

function showComboBoxen(x) {
	if (!document.layers && document.all) {
		for (var i=0; i<window.comboboxen.length; i++) {
			window.comboboxen[i].style.visibility=x;
		}
	}
}

var id=null;
function setTimeout_(checkTime){
	if (checkTime)
	{
	  if (id!=null)
	   clearTimeout(id);
	  id=window.setTimeout("hidell();",700);
	}
	else
   {
	  if (id!=null)
	    clearTimeout(id);
	  id=null;
	}
}

function hidell() {
 var p=window.activeMenu;
 
 while (p) {
  p.hideMenu();
  p=p.parentMenu;
  
 }
 showComboBoxen('visible');
}




