function preLoadImages(){
  var t='<div style="position:absolute; top:-100px; left:-100px; visibility:hidden">';
  for(i=0;i<arguments.length;i++) t+='<img src="'+arguments[i]+'" height="1" width="1">';
  t+='</div>';
  document.write(t);
}

function swapImage(img1,img2){ if(document.images)document.images[img1].src=img2; }

function trim (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function esEmail(s){
  var email_pattern = /^(\w|-|.|ñ|Ñ)+\@([a-zA-Z0-9]|-)+\.(\w|\.)+/;
  var email_result;
  email_result = email_pattern.exec(s);
  return email_result;
}

function preloadImages() {
  if(document.images){ 
	  if(!document.p) document.p=new Array();
	  j=document.p.length;
	  arg=preloadImages.arguments; 
	  for(i=0; i<arg.length; i++){
	    document.p[j]=new Image; 
		document.p[j].src=arg[i];
		j++;
      }
  }
}

function getImage(src){
	res = new Image;
	res.src=src;
	return res;
}

function findObj(n, d) {
  if(!d) d=document;
  if(!(x=d[n])&&d.all) x=d.all[n]; 
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n);
  return x;
}

function swapImage(imgID,src) {
   if ((img=findObj(imgID))!=null){
	 document.sr=img; 
	 if(!img.oSrc) img.oSrc=img.src; 
     img.src=src;
   }
}

function swapImgRestore() {
  if (document.sr){
	  document.sr.src=document.sr.oSrc;
  }
}

//Calculo de posicion
function grl(img) {
   if(document.getElementById) x = document.images[img].offsetLeft
   else if(document.layers) x = document.images[img].x
        else if(document.all) x = document.images[img].offsetLeft
   tmp = document.images[img].offsetParent;
   while (tmp != null) { x += tmp.offsetLeft; tmp = tmp.offsetParent; }
   return x;
}

function grt(img) {
   if(document.getElementById) y = document.images[img].offsetTop
   else if(document.layers) y = document.images[img].y
        else if(document.all) y = document.images[img].offsetTop
   tmp = document.images[img].offsetParent;
   while (tmp != null) { y += tmp.offsetTop; tmp = tmp.offsetParent; }
   return y;
}

function getCapa(capaID){
	var capa;
    if(document.getElementById){
		capa = document.getElementById(capaID).style;
	}else{
	  if(document.layers){
		  capa = document.layers[capaID];
      }else{
		  if(document.all){
			  capa = document.all[capaID].style;
		  }
	  }
	}
	return capa;
}


/*funciones para los menus*/
function m_activar(capaID,img,top,left) {
	var capa = getCapa(capaID);
    if (this.menuActivo != capa) { 
      this.ocultar();  
	  this.menuActivo = capa; 
	  if (img){
		if (!left) left=0;
	    this.menuActivo.left=grl(img)+left;
		if (!top) top=0;
	    this.menuActivo.top=grt(img)+top; 
	  }
	  this.menuActivo.visibility= "visible";
    }  
}

function m_ocultar() { 
    if (this.menuActivo) { 
		this.menuActivo.visibility = "hidden"; 
		this.menuActivo = null;   
	}
}

function Menu() {
    this.activar = m_activar;
    this.ocultar = m_ocultar;
	this.menuActivo = null;
}

/*funciones para los contenidos*/
function MenuContenido(){
  this.ocultar = ocultar_cont;
  this.mostrar = mostrar_cont;
  this.capa_visible = null;
  this.capa_defecto = null;
}

function ocultar_cont(){ 
  if (this.capa_visible!=null){
	this.capa_visible.style.display="none";
    this.capa_visible=null;
  }
}

function mostrar_cont(nombre){
  capa=document.getElementById(nombre);
  if (capa==null) return;
  if (capa!=this.capa_visible){
    this.ocultar();
    capa.style.display="";
    this.capa_visible=capa;
  }
}
