// ** Declaració variables globals

var isNav,isIE
var bw
var coll=""
var styleObj=""

var nDelay=500;
var aMenuTimer	= new Array();

// ** Posicionament inicial de la barra de menú

var nContainerYPos  = 0; // Top de la div que conté la capçalera
// Albert
// var nMenuYPos = 0;   // Top relatiu a la div que conté la capçalera de la div 'MenuDesp'
var nMenuYPos = 129;   // Top relatiu a la div que conté la capçalera de la div 'MenuDesp'

// ** Determinem les característiques del browser

function verifyCompatibleBrowser(){
	var t=this
	t.ver=navigator.appVersion
	t.dom=document.getElementById?1:0
	t.ie6=(t.ver.indexOf("MSIE 6")>-1 && t.dom)?1:0;
	t.ie5=(t.ver.indexOf("MSIE 5")>-1 && t.dom)?1:0;
	t.ie4=(document.all && !t.dom)?1:0;
	t.ie4mac=(document.all && t.dom && t.ver.indexOf("Macintosh")>-1)?1:0;
	t.ns6=(t.dom && parseInt(t.ver)>=5)?1:0;
	t.ns4=(document.layers && !t.dom)?1:0;
	t.bw=(t.ie5||t.ie4||t.ns4||t.ns6||t.ie4mac);
	return this
}
bw=new verifyCompatibleBrowser();

isIE=(bw.ie5||bw.ie4||bw.ie6||bw.ie4mac);
isNav=((bw.ns4||bw.ns6)&&(!bw.dom));


//Albert
var tempX = 0;
var tempY = 0;
var IE = document.all?true:false;
// obsoleta. Ara calculem la posició del gif del botó amb getAbsoluteElementPosition()
if (!IE){
  // per firefox calculem continuament la posició
  // document.addEventListener("mousemove", getMouseXY, true);
}

// obsoleta. Ara calculem la posició del gif del botó amb getAbsoluteElementPosition()
function getMouseXY(e) {
  if (IE) { //para IE
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
  }
  else { //para netscape
    tempX = e.pageX;
    tempY = e.pageY;
  }
  if (tempX < 0){tempX = 0;}
  if (tempY < 0){tempY = 0;}
  return true;
}

function getAbsoluteElementPosition(element) {
  if (typeof element == "string")
    element = document.getElementById(element);

  if (!element) return { top:0,left:0 };

  var y = 0;
  var x = 0;
  while (element.offsetParent) {
    x += element.offsetLeft;
    y += element.offsetTop;
    element = element.offsetParent;
  }
  return {top:y,left:x};
}
//Albert

// ** Show/Hide delayed
function ognShowDiv2(theDivName){
  for(i=1;i<cNumItems+1;i++){
		ognHideDiv('Menu'+i);
	}
  // Albert
  // obsoleta. Ara calculem la posició del gif del botó amb getAbsoluteElementPosition()
  // if (IE){
  //  getMouseXY();
  // }else{
  //  // per firefox calculem continuament la posició (document.addEventListener)
  // }
  // document.getElementById(theDivName).style.left=tempX-10;

  var theImgName=theDivName.substr(4,2);
  if (IE){
    document.getElementById(theDivName).style.left=getAbsoluteElementPosition(theImgName).left;
  }else{
    // firefox té la posició x ja en el DOM
    document.getElementById(theDivName).style.left=document.getElementById(theImgName).x;
    // per seguretat, si dóna 0, calculem per la funció general
    if (document.getElementById(theDivName).style.left<=0)
      document.getElementById(theDivName).style.left=getAbsoluteElementPosition(theImgName).left;
  }
  // Albert

	document.getElementById(theDivName).style.visibility='visible';
	clearTimeout(aMenuTimer[theDivName]);
}

function ognShowDiv(theDivName){
  for(i=1;i<cNumItems+1;i++){
		ognHideDiv('Menu'+i);
	}
  document.getElementById(theDivName).style.visibility='visible';
	clearTimeout(aMenuTimer[theDivName]);
}


function ognHideDiv(theDivName){
	document.getElementById(theDivName).style.visibility='hidden';
}

function ognShowDivDelay(theDivName,theDelay){
	aMenuTimer[theDivName]=setTimeout('ognShowDiv(\''+ theDivName +'\')',theDelay);
}

function ognHideDivDelay(theDivName,theDelay){
	aMenuTimer[theDivName]=setTimeout('ognHideDiv(\''+ theDivName +'\')',theDelay);
}

function ognWriteDiv(theDivName,theContent){
	bw=new verifyCompatibleBrowser();
	if (bw.dom){
		document.getElementById(theDivName).innerHTML = theContent;
	}
	else if (bw.ns4){
    var lyr=document.layers['BarraMenu2'].document.layers[theDivName].document;
		lyr.open();
		lyr.write(theContent);
		lyr.close();
	}
}

// ** Posicionament vertical

function ognResituarMenu(){
  // Albert
  // var theMenuDivStyle=getObjectStyle('MenuDesp');
  // //document.getElementById('logDIV').innerHTML='ContenidorTop: '+ nContainerYPos +'<br>menuTop: '+theMenuDivStyle.top+'<br>scrollTop: '+getScrollTop();
  // theMenuDivStyle.top=(getScrollTop()>(nContainerYPos + nMenuYPos))?(getScrollTop()-nContainerYPos)+"px":nMenuYPos+"px";
}

function getScrollTop(){
  // Albert
  //return isIE?((document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop):window.pageYOffset;
  return isIE?((document.documentElement)?document.body.scrollTop:document.body.scrollTop):window.pageYOffset;
  // Albert
}

function getObjectStyle(obj){
	var bw=new verifyCompatibleBrowser();
	return (typeof obj=="string")?(theObj=bw.dom?document.getElementById(obj).style:eval("document."+coll+obj+styleObj)):theObj=obj;
}

function ognPreloadImage(strImgObj,strImgSrc) {
	if (document.images) {
			eval(strImgObj+' = new Image()');
			eval(strImgObj+'.src = "'+ strImgSrc +'"');
	}
}

function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

function ognInitMenu(){

	// ** Situem la barra de menú al seu lloc (relatiu respecte al contenidor)
  var theMenuDivStyle=getObjectStyle('MenuDesp2');
  theMenuDivStyle.top= nMenuYPos +"px";

	// ** Activem l'script recol·locador del menu
  // Albert
  // menuInterval=setInterval('ognResituarMenu()',40);

	// ** Pintem dinàmicament el contingut de cada opció de menú i mostrem les divs en acabat
  // Albert
  cNumItems = 10;
  // Albert
	for (i=1;i<cNumItems+1;i++){
			ognHideDiv('Menu'+i);
			ognWriteDiv('Menu'+i,eval('ognMenuItem'+ i +'Content'));
	}

	// ** Amaguem la tapa que protegeix el menu;
	//ognHideDiv('MascDIV');
}




