
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.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 MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { 
    v = args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility = v; 
  }
}

var animando = false;
var smselected = 'none';

function SelectSubmenu(subSelected) {
   if(subSelected == 'none' && smselected != 'none'){   
      // si se tiene que ocultar todo y no se está haciendo ya, cancelar cualquier animación anterior
      var smaparar = smselected;
      smselected = 'none';
      animando = true;
      $('div#submenus > div').each(function () { 
         $(this).children().each( function() { $(this).stop(true, false); });
      });
   }
   else if(animando) return;
   smselected = subSelected;
   animando = true;
   var esperar = false;  // se pone a true si hay que esperar a que terminen de ocultarse otros submenus antes de mostrar el seleccionado
   
   var ss = "";
   $('div#submenus > div').each(function () {
      // escondemos todos excepto el que tenga class='selected'
      if( this.className != 'selected' && $(this).css('display') != 'none' ){
         //$(this).fadeOut(400);
         ocultar($(this), 400);
         esperar = true;
         ss = this.id;
      }
   });
   
   
   if (subSelected == ss) { // si el submenu que se quiere mostrar es el que se acaba de ocultar, entonces no se muestra
      animando = false;
   }
   else {
      var s = $('div#'+subSelected);
      if(s.length == 0) animando = false;
      else mostrar(s, 400, esperar);
   }
}

function mostrar(s, milisegundos, esperar){
   var nsub = s[0].id;
   nsub = nsub.substr(nsub.length - 1, 1);  // nsub = número del submenu a mostrar (1,2,3,4 o 5)
   
   var front = s.children().first();
   var back = s.children().last();
   
   var w = s.width(), h = s.height();
   var tw = w/5;
   var th = h*0.8;
   var d = milisegundos/3;
   if( esperar == true ) back.delay(320);
   back.queue( function () {
      back.css({
         'opacity': 0,
         'left': tw*nsub - tw/2,
         'width': 0,
         'height': 0
      });
      front.css({'display': 'none'});
      s.css({'display': 'block'});
      back.animate({
         opacity: 1,
         left: tw*(nsub-1),
         width: tw,
         height: th
      }, d);
      back.animate({
         left: 0,
         width: w,
         height: h
      }, milisegundos-d, function () { front.css({'display': 'block'}); animando = false; });
      $(this).dequeue();
   });
}

function ocultar(s, milisegundos){
   var nsub = s[0].id;
   nsub = nsub.substr(nsub.length - 1, 1);
   
   var front = s.children().first();
   var back = s.children().last();
   
   var w = s.width(), h = s.height();
   var tw = w/5;
   front.delay(milisegundos/2).queue(function () { front.css({'display': 'none'}); $(this).dequeue(); });
   back.animate({
      opacity: 0,
      left: tw*nsub - tw/2,
      width: 0,
      height: 0
   }, milisegundos, function (){
      s.css({'display': 'none'});
      back.css({
         'opacity': 1,
         'left': 0,
         'width': w,
         'height': h
      });
      front.css({'display': 'block'});
   });
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n];
  for(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); 
  return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){
      document.MM_sr[j++]=x;
      if(!x.oSrc) x.oSrc=x.src;
      x.src=a[i+2];
   }
}


