
function inicio(){	
	
	var ules=document.getElementsByTagName("dl")
	var total_ul=ules.length;
	
	for(var i=0;i<total_ul;i++){
		var ul=ules[i];
		if(ul.className=="gal"){
			ul["ultima"]=0;
			init(ul.id,i);
		}
	}
	
}

function init(nombre_galeria,indice_galeria){	
	
	var nombre_galeria=nombre_galeria;
	var indice_galeria=indice_galeria;
	var gale=document.getElementById(nombre_galeria);
	
	var total=gale.getElementsByTagName("dd").length;	
	gale.cantidad=total;
	gale.top=total;
	gale.cargados=0;
	gale.slide=false;
	
	for(var i=0;i<total;i++){
		var img= gale.getElementsByTagName("dd")[i].getElementsByTagName("img")[0];
			
			img.indice_imagen=i;
			img.indice_galeria=indice_galeria;
			img.nombre_galeria=nombre_galeria;

			
			if(img.width>0){
				
				if(img.indice_imagen==document.getElementsByTagName("dl")[img.indice_galeria].ultima){
						muestro(img.nombre_galeria,img.indice_imagen);
					}				
					img.cargado=true;
					muestro_bot(img.nombre_galeria,img.indice_imagen)
				
			}else{
					
				img.onload=function(){
						if(this.indice_imagen==document.getElementsByTagName("dl")[this.indice_galeria].ultima){
							muestro(this.nombre_galeria,this.indice_imagen);
						}				
						this.cargado=true;
						muestro_bot(this.nombre_galeria,this.indice_imagen)
		
				}
			}
			
			img.src=img.src;	
	}
	
}
	
function muestro_bot(nombre_galeria,indice_imagen){
	
		var nombre_bot=nombre_galeria+"_menu";	
		var indice_imagen=indice_imagen;
		var gale=document.getElementById(nombre_galeria);
		
		if(indice_imagen==gale.ultima){
			document.getElementById(nombre_bot).getElementsByTagName("dd")[indice_imagen].innerHTML='<span>'+(indice_imagen+1)+'</span>';
		}else{
			document.getElementById(nombre_bot).getElementsByTagName("dd")[indice_imagen].innerHTML='<a style="display:block;" onclick="muestro(\''+nombre_galeria+'\','+(indice_imagen)+'); return false" href="#">'+(indice_imagen+1)+'</a>';
		}
		
		
		gale.cargados++
		if(gale.cargados==gale.cantidad){
			var nombre_switch=nombre_galeria+"_switch";
			var switcher=document.getElementById(nombre_switch);
			
			if(switcher&&gale.cantidad>1){
				
				switcher.style.display="inline";
				
				/* auto slide */
				switchSlide(nombre_galeria);				
				
				
				switcher.onclick=function(){
					this.blur();
					switchSlide(nombre_galeria);
				}
				
			}
			
		}
		
}
	
function muestro(nombre_galeria,indice_imagen){
		
		var nombre_bot=nombre_galeria+"_menu";
		var nombre_galeria=nombre_galeria;
		var indice_imagen=indice_imagen;
		var gale=document.getElementById(nombre_galeria);
		var ultima=gale.ultima;		
		var bot_li=document.getElementById(nombre_bot).getElementsByTagName("dd");
		var img_li=gale.getElementsByTagName("dd");
		var total=gale.getElementsByTagName("dd").length;
	
		bot_li[ultima].innerHTML='<a style="display:block;" onclick="muestro(\''+nombre_galeria+'\','+(ultima)+'); return false" href="#">'+(ultima+1)+'</a>';		
		img_li[ultima].style.zIndex=gale.top;
		
		bot_li[indice_imagen].innerHTML='<span>'+(indice_imagen+1)+'</span>';	
		gale.top++
		img_li[indice_imagen].style.zIndex=gale.top;
		
		img_li[ultima].style.display="inline";		
		img_li[ultima].style.opacity=1;
		img_li[ultima].style.filter = 'alpha(opacity=100)';
		img_li[ultima]["inc"]=100;
		
		
		for(var i=0;i<total;i++){
			if(i!=ultima){
				img_li[i].style.display="inline";		
				img_li[i].style.opacity=0;
				img_li[i].style.filter = 'alpha(opacity=0)';
				img_li[i]["inc"]=0;	
			}
		}
				
		gale.ultima=indice_imagen;		
		alpheo(nombre_galeria,indice_imagen,ultima);
		
}
	
function opaqueo(nombre_galeria,indice_imagen){
	
	var gale=document.getElementById(nombre_galeria);
	var li=gale.getElementsByTagName("dd")[indice_imagen];	
	
	if(indice_imagen!=gale.ultima){
		
		clearInterval(li.timer);
		li.timer=null;
		
	}else{	
	
		if(li.style.opacity>=1){
		
			clearInterval(li.timer);
			li.timer=null;
		
		}else{
	
			li.inc+=20;
			li.style.opacity=li.inc/100;	
			li.style.filter = 'alpha(opacity=' + li.inc + ')';

	
			if(li.style.opacity<1 && li.timer==null){		
				li.timer = setInterval("opaqueo('"+nombre_galeria+"',"+indice_imagen+");", 20);
			}
			
		}
	}
	
}

function alpheo(nombre_galeria,indice_imagen,ultima){
	
	var gale=document.getElementById(nombre_galeria);
	var li=gale.getElementsByTagName("dd")[ultima];
	
	if(indice_imagen!=gale.ultima){
		
		clearInterval(li.alpha_timer);
		li.alpha_timer=null;		
		opaqueo(nombre_galeria,indice_imagen);
		
	}else{
	
		if(li.style.opacity<=0){
		
			clearInterval(li.alpha_timer);
			li.alpha_timer=null;		
			opaqueo(nombre_galeria,indice_imagen);
		
		}else{
	
			li.inc-=20;
			li.style.opacity=li.inc/100;	
			li.style.filter = 'alpha(opacity=' + li.inc + ')';

	
			if(li.style.opacity>0 && li.alpha_timer==null){
				li.alpha_timer = setInterval("alpheo('"+nombre_galeria+"',"+indice_imagen+","+ultima+");", 20);
			}	
		}
	}
	
}


function switchSlide(nombre_galeria){
	
	var gale=document.getElementById(nombre_galeria);
	var nombre_switch=nombre_galeria+"_switch";
	
	
	if(gale.slide==false){		
		document.getElementById(nombre_switch).value="stop slideshow";
		gale.timer = setInterval("cambio('"+nombre_galeria+"');", 2500);		
		gale.slide=true;
	}else{		
		document.getElementById(nombre_switch).value="play slideshow";
		clearInterval(gale.timer);
		gale.slide=false;
	}
	
}

function cambio(nombre_galeria){
	
	var gale=document.getElementById(nombre_galeria);
	var ultima=document.getElementById(nombre_galeria).ultima;
	
	if(ultima<(gale.cantidad-1)){
		var siguiente=ultima+1
		muestro(nombre_galeria,siguiente)
	}else{
		muestro(nombre_galeria,0)
	}
	
}

window.onload=inicio;