function ir (url) { document.location.href=url; }

function cambiar(subm) 
{
  xajax_cambiar_menu(subm);
}

function compruebaLogin(formulario)
{
  nick = formulario.user.value;
  pass = formulario.password.value;
  if (user == "" || pass == "")
    alert("Introduce nick y password para entrar.");
  else
    formulario.submit();
}

function precargar() 
{
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array()
  var i,j=d.MM_p.length,a=precargar.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function addClass(element, value) 
{
  if (!element.className) {
    element.className = value;
  } else {
    var newClassName = element.className;
    newClassName += " ";
    newClassName += value;
    element.className = newClassName;
  }
}

function CambiarEstilo(id) 
{
  var elemento = document.getElementById(id);
  if (elemento.className == "menuselected") {
    elemento.className = "menuunselected";
  }
  else {
    elemento.className = "menuselected";
  }
}

function abre(fichero,titulo,opciones)
{
    window.open(fichero,titulo,opciones);
}

function mostrarSubCapa(capamostrada,ncapas)
{
  if(document.getElementById)
  {  // si se trata de Netscape 6
    Refcapa='document.getElementById("'
    Capa='subcapa'
    Refestilo='").style'
  }
  else if(document.layers)
  { // si se trata de Netscape 4
    Refcapa='document.'
    Capa='subcapa'
    Refestilo=''
  }
  else if(document.all)
  { // si se trata de Internet Explorer 4
    Refcapa=''
    Capa='subcapa'
    Refestilo='.style'
  }
  for (i=1; i<ncapas; i++)
  {
    eval(Refcapa+Capa+i+Refestilo+'.display="none"')
    eval(Refcapa+Capa+i+Refestilo+'.visibility="hidden"')
  }
  eval(Refcapa+Capa+capamostrada+Refestilo+'.display="block"')
  eval(Refcapa+Capa+capamostrada+Refestilo+'.visibility="visible"')
}

function mostrarSubCapaPrefijo(prefijo,capamostrada,ncapas)
{
  if(document.getElementById)
  {  // si se trata de Netscape 6
    Refcapa='document.getElementById("'
    Capa=prefijo
    Refestilo='").style'
  }
  else if(document.layers)
  { // si se trata de Netscape 4
    Refcapa='document.'
    Capa=prefijo
    Refestilo=''
  }
  else if(document.all)
  { // si se trata de Internet Explorer 4
    Refcapa=''
    Capa=prefijo
    Refestilo='.style'
  }
  for (i=1; i<ncapas; i++)
  {
    eval(Refcapa+Capa+i+Refestilo+'.display="none"')
    eval(Refcapa+Capa+i+Refestilo+'.visibility="hidden"')
  }
  eval(Refcapa+Capa+capamostrada+Refestilo+'.display="block"')
  eval(Refcapa+Capa+capamostrada+Refestilo+'.visibility="visible"')
}

function sobre(objeto,raton,color)
{
  objeto.style.cursor=raton;
  objeto.bgColor=color;
}

function fuera(objeto,color)
{
  objeto.bgColor=color;
}

function cargando(capa) {
  xajax.callback.global.onRequest = function() { xajax.$(capa).style.display = 'block'; }
  xajax.callback.global.onComplete = function() { xajax.$(capa).style.display = 'none'; }
}

function mensaje(mensaje)
{
  alert(mensaje);
}

function confirmar(mensaje)
{
  return confirm(mensaje);
}

function comprobar_numerico(valor)
{
  if (isNaN(valor))
  {
    mensaje('El valor introducido debe ser numérico')
    return false;
  }
    else
      return true;
}

function comprobar_numerico_reiniciar(id)
{
 valor = document.getElementById(id).value;
 if (!eseuro(valor))
 {
   mensaje("La cantidad que acabas de introducir no es un número válido. Recuerda que la estructura del número debe ser X.XXX.XXX,XX, es decir, debes usar el punto como separador de miles y la coma como separador decimal.");
   document.getElementById(id).value=0;
  }
}


function compruebapuntos(euro)
{
 if (!isNaN(euro))
   return true;
 euro3 = euro.split(".");
 for (i=0;i<euro3.length;i++)
 {
   if (i>0)
   {
     if (euro3[i].length!=3)
       return false; // Ha puesto menos de tres dígitos entre dos separadores de miles
     else if (isNaN(euro3[i]))
       return false; // El grupo de dígitos analizado no es un número
   }
   else if (isNaN(euro3[i]))
     return false; // El grupo de dígitos analizado no es un número
 }
 return true;
}

function eseuro(euro)
{
 euro2 = euro.split(",");
 if (euro2.length>2)
   return false; // Ha usado dos comas
 else if(euro2.length>1)
 {
   if ((euro2[1].indexOf('.')!=-1) || (isNaN(euro2[1])))
     return false; // Ha usado un punto después de la coma
   else
   {
     if (!compruebapuntos(euro2[0]))
       return false;
   }
   euro = euro.replace(/\./g,"");
   euro = euro.replace(/,/g,".");
   if (isNaN(euro))
     return false; // El número arreglado (sin puntos ni comas) no es válido
 }
 else if (euro2.length==1)
 {
   if (!compruebapuntos(euro2[0]))
     return false;
 }
 else if (isNaN(euro))
   return false; // El número original, sin tratar, no es válido
 return true;
}


function cargando(mensaje)
{
  xajax.$('cargando_mensaje').innerHTML = mensaje;
  xajax.callback.global.onRequest = function() {xajax.$('cargando').style.display = 'block';}
  xajax.callback.global.beforeResponseProcessing = function() {xajax.$('cargando').style.display = 'none';};
}

function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}
function HEXaRGB(cadena)
{
    return new Array(HexToR(cadena),HexToG(cadena),HexToB(cadena));
}

function esconder_progreso()
{
  for (i=0; i<8; i++)
  {
    document.chart_progreso.Toggle_Legend(i);
  }
} 
