function Browser() {

  var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();

function test(e) {
    window.alert(getX(e) + ',' + getY(e));
}
function getPageOffsetLeft(el) {

  var x;

  // Return the x coordinate of an element relative to the page.

  x = el.offsetLeft;
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);

  return x;
}

function getPageOffsetTop(el) {

  var y;

  // Return the x coordinate of an element relative to the page.

  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);

  return y;
}
function jahiaGetObject(idf) { 
    if (document.getElementById) {
        return document.getElementById(idf);
    } else if (document.all) {
        return document.all[idf];
    } else { 
        return null;
    }
}

function getX(id) {
   //var e = document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : document.layers[id];
    var e = jahiaGetObject(id);
    x = getPageOffsetLeft(e);
    // adjust position for IE
    if (browser.isIE) {
        x += e.offsetParent.clientLeft;
    }
   
    return x;
}
function getY(id) {
    //var e = document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : document.layers[id];
    
    var e = jahiaGetObject(id);
    y = getPageOffsetTop(e) + e.offsetHeight;
    // adjust position for IE
    if (browser.isIE) {
        y += e.offsetParent.clientTop;
    }
    y += 4;
    return y;
}

function getXTopMenu(id, posMenu) {
   //var e = document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : document.layers[id];
    var x=0;
    var imagenesCargadas = true;
    for (i=1; i<=7; i++){
   	var imagen = document.getElementById("imgMenu" + i);
   	if (imagen.complete==false){
   		imagenesCargadas = false;
   		break;
   	}
    }
    
    var e = jahiaGetObject(id);
    
    if (imagenesCargadas==true){
    	x = getPageOffsetLeft(e);
    	// adjust position for IE
    		if (browser.isIE) {
        		x += e.offsetParent.clientLeft;
    		}
    }else{
     //cuando las imagenes no se han cargado no se puede calcular la posición de los menús, así que se la damos...
     //sólo vale para el menú con las imagenes actuales...
     	switch(posMenu)
	{
	  case 1:
  		x=267;
  		break;
	  case 2:
  		x=398
  		break;
  	  case 3:
  		x=484
  		break;
  	  case 4:
  		x=610
  		break;
          case 5:
  		x=707
  		break;
  	  case 6:
  		x=788
  		break;
          case 7:
  		x=913
  		break;
	  default:
  		x = getPageOffsetLeft(e);
	}
    }
   return x;

}

function getYTopMenu(id) {
    //var e = document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : document.layers[id];
    var e = jahiaGetObject(id);
    var y = 0;
    
    var imagenesCargadas = true;
    for (i=1; i<=7; i++){
   	var imagen = document.getElementById("imgMenu" + i);
   	if (imagen.complete==false){
   		imagenesCargadas = false;
   		break;
   	}
    }

    if (imagenesCargadas==true){
    	y = getPageOffsetTop(e) + e.offsetHeight;
    	// adjust position for IE
    	if (browser.isIE) {
        	y += e.offsetParent.clientTop;
    	}
    	y += 4;
    }else{
    	if (getPageOffsetTop(e)<174){
    		y= 156;
    	}else{
    		y=217;
    	}
    }
    return y;
}

