     // Detectar navegador

     function Browser() {
     
       var ua, s, i;
     
       this.isIE    = false;  // Internet Explorer
       this.isOP    = false;  // Opera
       this.isNS    = false;  // Netscape
       this.version = null;
     
       ua = navigator.userAgent;
     
       s = "Opera";
       if ((i = ua.indexOf(s)) >= 0) {
         this.isOP = 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;
       }
     
       s = "Gecko";
       if ((i = ua.indexOf(s)) >= 0) {
         this.isNS = true;
         this.version = 6.1;
         return;
       }
     
       s = "MSIE";
       if ((i = ua.indexOf(s))) {
         this.isIE = true;
         this.version = parseFloat(ua.substr(i + s.length));
         return;
       }
     }
     // Fin detectar navegador 
     
               
var browser = new Browser();
          
//----------------------------------------------------------------------------
// Navegación por el menú y control del botón pulsado
//----------------------------------------------------------------------------

var activeButton = null;

// Si hacen clic fuera del menú, este desaparece

if (browser.isIE)
      document.onmouseover = pageMousedown;
   else
      document.addEventListener("mouseover", pageMousedown, true);
     
function pageMousedown(event) {       
       var el;
			 
			 
     
       // If no hay botón activo, salir.
      
       if (activeButton == null)
         return;
     
       // Encontrar el elemento sobre el que pasó el ratón
     
			
       if (browser.isIE)
					//el = window.event.srcElement;
				 el = (window.event.srcElement.tagName? window.event.srcElement : window.event.target.parentNode)
       else
         el = (event.target.tagName ? event.target : event.target.parentNode);
				 
				//alert("--"+el.id);
     
       // Si se vuelve a pasar el ratón sobre el mismo elemento, salir.
     
       //if (el == activeButton)
         //return;
     
       // Si el elemento no es parte de un menú, reset y null el botón activo
      
       //if (getContainerWith(el, "DIV", "menu") == null) {
				
			 if (el.id.indexOf('Menu')==-1 && el.id.substring(0,5)!='pMenu') {
         resetButton(activeButton);
         activeButton = null;
          }
     }
		 

		 
		
function buttonClick(objeto, tipo, menuId) {       
			 
       var button;
			 
			 if (document.getElementById(menuId)==null) {
			 		 if (activeButton != null) resetButton(activeButton);					 
					 return false;
       }
          
       // Get the target button element.
       
       if (browser.isIE)
					if (tipo==1) {							
							button=objeto;
							}
						else {							
							button = window.event.srcElement.parentNode;		         
						}
       else {
				
         button = objeto;
       }   
			
			//alert("bc="+button.id);
       // Blur focus from the link to remove that annoying outline.
     
       //button.blur();
     
       // Associate the named menu to this button if not already done.
       // Additionally, initialize menu display.
			
			
			
       if (button.menu == null) {				
         button.menu = document.getElementById(menuId);
				 
         if (button.menu.isInitialized == null) {
					
           menuInit(button.menu);
					}
       }
     
       // Reset the currently active button, if any.
				
				if (activeButton != null && activeButton!=button)
         resetButton(activeButton);
     
       // Activate this button, unless it was the currently active one.
			
       if (button != activeButton) {
         depressButton(button);					
         activeButton = button;
       }
       //else
         //activeButton = null;
     
       return false;
}
		
		function buttonMouseover(event, menuId) {
                         
				  var button;
				
				  // Find the target button element.
				
				  if (browser.isIE)
				    button = window.event.srcElement;
				  else
				    button = event.currentTarget;
				
				  // If any other button menu is active, make this one active instead.
				
				  if (activeButton != null && activeButton != button)
				    buttonClick(event, menuId);
				}
				
		
		function depressButton(button) {		
				  var x, y;
								  
				  // Position the associated drop down menu under the button and
				  // show it.
				
				  x = getPageOffsetLeft(button);
				  y = getPageOffsetTop(button) + button.offsetHeight;
				
				  // For IE, adjust position.
				
				  if (browser.isIE) {
				    x += button.offsetParent.clientLeft;
				    y += button.offsetParent.clientTop;
				  }
				
				  //button.menu.style.left = x + "px";
				  //button.menu.style.top  = y + "px";
				  button.menu.style.visibility = "visible";
				
				  // For IE; size, position and show the menu's IFRAME as well.
				
				  if (button.menu.iframeEl != null)
				  {
				    button.menu.iframeEl.style.left = button.menu.style.left;
				    button.menu.iframeEl.style.top  = button.menu.style.top;
				    button.menu.iframeEl.style.width  = button.menu.offsetWidth + "px";
				    button.menu.iframeEl.style.height = button.menu.offsetHeight + "px";
				    button.menu.iframeEl.style.display = "";
				  }
		}
		
		function resetButton(button) {
		
				  // Restore the button's style class.
				
				  removeClassName(button, "menuButtonActive");
				
				  // Hide the button's menu, first closing any sub menus.
				
				  if (button.menu != null) {
				    closeSubMenu(button.menu);
				    button.menu.style.visibility = "hidden";
				
				    // For IE, hide menu's IFRAME as well.
				
				    if (button.menu.iframeEl != null)
				      button.menu.iframeEl.style.display = "none";
				  }
		}
		
		//----------------------------------------------------------------------------
		// Code to handle the menus and sub menus.
		//----------------------------------------------------------------------------
		
		function menuMouseover(event) {
                    
		
				  var menu;
				
				  // Find the target menu element.
                        
				  if (browser.isIE)
				    menu = getContainerWith(window.event.srcElement, "DIV", "Menu");
				  else
				    menu = event.currentTarget;                      
				  // Close any active sub menu.
				
				  if (menu.activeItem != null)
				    closeSubMenu(menu);
		}		
		
		function closeSubMenu(menu) {
		
					  if (menu == null || menu.activeItem == null)
					    return;
					
					  // Recursively close any sub menus.
					
					  if (menu.activeItem.subMenu != null) {
					    closeSubMenu(menu.activeItem.subMenu);
					
					
					    // Hide the sub menu.
					    menu.activeItem.subMenu.style.visibility = "hidden";
					
					    // For IE, hide the sub menu's IFRAME as well.
					
					    if (menu.activeItem.subMenu.iframeEl != null)
					      menu.activeItem.subMenu.iframeEl.style.display = "none";
					
					    menu.activeItem.subMenu = null;
					  }
					
					  // Deactivate the active menu item.
					
					  removeClassName(menu.activeItem, "menuItemHighlight");
					  menu.activeItem = null;
		}
		
		//----------------------------------------------------------------------------
		// Code to initialize menus.
		//----------------------------------------------------------------------------
		
		function menuInit(menu) {
		
			  var itemList, spanList;
			  var textEl, arrowEl;
			  var itemWidth;
			  var w, dw;
			  var i, j;
			
			  // For IE, replace arrow characters.
			
			  if (browser.isIE) {
			    menu.style.lineHeight = "2.5ex";
			    spanList = menu.getElementsByTagName("SPAN");
			    for (i = 0; i < spanList.length; i++)
			      if (hasClassName(spanList[i], "menuItemArrow")) {
			        spanList[i].style.fontFamily = "Webdings";
			        spanList[i].firstChild.nodeValue = "4";
			      }
			  }
			
			  // Find the width of a menu item.
			
			  itemList = menu.getElementsByTagName("A");
			  if (itemList.length > 0)
			    itemWidth = itemList[0].offsetWidth;
			  else
			    return;
			
			  // For items with arrows, add padding to item text to make the
			  // arrows flush right.
			
			  for (i = 0; i < itemList.length; i++) {
			    spanList = itemList[i].getElementsByTagName("SPAN");
			    textEl  = null;
			    arrowEl = null;
			    for (j = 0; j < spanList.length; j++) {
			      if (hasClassName(spanList[j], "menuItemText"))
			        textEl = spanList[j];
			      if (hasClassName(spanList[j], "menuItemArrow")) {
			        arrowEl = spanList[j];
			      }
			    }
			    if (textEl != null && arrowEl != null) {
			      textEl.style.paddingRight = (itemWidth 
			        - (textEl.offsetWidth + arrowEl.offsetWidth)) + "px";
			
			      // For Opera, remove the negative right margin to fix a display bug.
			
			      if (browser.isOP)
			        arrowEl.style.marginRight = "0px";
			    }
			  }
			
			  // Fix IE hover problem by setting an explicit width on first item of
			  // the menu.
			
			  if (browser.isIE) {
			    w = itemList[0].offsetWidth;
			    itemList[0].style.width = w + "px";
			    dw = itemList[0].offsetWidth - w;
			    w -= dw;
			    itemList[0].style.width = w + "px";
			  }
			
			  // Fix the IE display problem (SELECT elements and other windowed controls
			  // overlaying the menu) by adding an IFRAME under the menu.
			
			  if (browser.isIE) {
			    var iframeEl = document.createElement("IFRAME");
			    iframeEl.frameBorder = 0;
			    iframeEl.src = "javascript:;";
			    iframeEl.style.display = "none";
			    iframeEl.style.position = "absolute";
			    iframeEl.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
			    menu.iframeEl = menu.parentNode.insertBefore(iframeEl, menu);
			  }
			
			  // Mark menu as initialized.
			
			  menu.isInitialized = true;
			}
			
			//----------------------------------------------------------------------------
			// General utility functions.
			//----------------------------------------------------------------------------
			
			function getContainerWith(node, tagName, className) {
			
			  // Starting with the given node, find the nearest containing element
			  // with the specified tag name and style class.
                    
			  while (node != null) {
			    if (node.tagName != null && node.tagName == tagName &&
			        hasClassName(node, className))
			      return node;
			    node = node.parentNode;
			  }
			
			  return node;
		}
		
		function hasClassName(el, name) {
		
				  var i, list;
				
				  // Return true if the given element currently has the given class
				  // name.
				
				  list = el.className.split(" ");
				  for (i = 0; i < list.length; i++)
				    if (list[i] == name)
				      return true;
				
				  return false;
		}
		
		function removeClassName(el, name) {
		
				  var i, curList, newList;
				
				  if (el.className == null)
				    return;
				
				  // Remove the given class name from the element's className property.
				
				  newList = new Array();
				  curList = el.className.split(" ");
				  for (i = 0; i < curList.length; i++)
				    if (curList[i] != name)
				      newList.push(curList[i]);
				  el.className = newList.join(" ");
		}
		
		function getPageOffsetLeft(el) {
		
            var x;
          
            // Return the x coordinate of an element relative to the page.
          
            x = el.offsetLeft+0.2;
            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;
		}








		//---------------------------------------------------------------------------------------
		// Este es el javaScript que hace que las transiciones de los vínculos sean suaves. BORRAR
		//---------------------------------------------------------------------------------------




          var pendiente=new Array(20);
          function ini(id,propiedad,valor){
                 for (i=1;;i++){
                   nodo=document.getElementById(id+i);
                     if (nodo==null) break;
                     nodo.style[propiedad]=valor;
                 }
          }
          
          function colorP(id,propiedad,rF,gF,bF,pasos,retardo){               
                 nodo=document.getElementById(id);                 
                 rgb=nodo.style.color;
                 i1=rgb.indexOf("(");
                 i2=rgb.indexOf(",");
                 i3=rgb.indexOf(",",i2+1);
                 i4=rgb.indexOf(")");
                 r=parseInt(rgb.substring(i1+1,i2));
                 g=parseInt(rgb.substring(i2+1,i3));
                 b=parseInt(rgb.substring(i3+1,i4));
                 r+=(rF-r)/pasos; g+=(gF-g)/pasos; b+=(bF-b)/pasos;
                 pasos--;                 
                 nodo.style["color"]="rgb("+parseInt(r)+","+parseInt(g)+","+parseInt(b)+")";    
                 if (pasos>0){
                   clearTimeout(pendiente[id]);
                   cadena="colorP('"+id+"','"+propiedad+"',"+rF+","+gF+","+bF+","+pasos+","+retardo+")";    
                   pendiente[id]=setTimeout(cadena, retardo);
                 }
								 
  }
	
	
	        function fTraducir(valor)
        {    
             document.getElementById("idioma").value = valor;
             document.getElementById("url").value = document.URL; 
             document.menuPub.submit();
        }	
				
				
				function fSeccionIdiomas()
				{
					if(document.getElementById("idioma").value == "es" || document.getElementById("idioma").value=="")
					{
						document.getElementById("tablaIdiomas").value = document.getElementById("pIdiomas").innerHTML;
					}
				}
				
				function fCargarSeccionIdiomas()
				{
					document.getElementById('pIdiomas').innerHTML = document.getElementById('tablaIdiomas').value;
				}
				
				
				function addLoadEvent(func) 
				{   
					 var oldonload = window.onload;   
					 if (typeof window.onload != 'function') {   
						 window.onload = func;   
					 } else {   
						 window.onload = function() {   
							 if (oldonload) {   
								 oldonload();   
							 }   
							 func();   
						 }   
					 }   
				}