// JavaScript Document
// 
// Versión 1.0 - Víctor J. Chamorro - Ipdea.com
// Versión 2.0 - 2010/04/16 - Víctor J. Chamorro - Ipdea.com - Agregada opción de una única imágen con posición.
//__________________________________________________________________________

//Globales
var SLIDE = new Array();
var SLIDE_ocupado = false;
var SLIDE_width_tmp = 0;
var SLIDE_opacity_tmp = 0;
var SLIDE_timer_opacity;
var SLIDE_timer_movimiento;
var SLIDE_timer_cambiaimagen;
var SLIDE_onchange_image;
//__________________________________________________________________________
function CargaSlide(div, imagenes){

	if (typeof(div) != "string" || typeof(imagenes) != "object"){		
		alert('ERROR CargaSlide: No se han pasado los datos correctos');
		return;
	}
	
	slide_div = document.getElementById(div);
	if (slide_div == null){
		alert('ERROR CargaSlide: El ID de la capa no es correcto');
	}
	SLIDE['type'] = 'imagenes';
	SLIDE['images'] = imagenes;
	SLIDE['div'] = slide_div;
	
	CreaEstructura();
	CambiaImagen(0);
	//setInterval("CambiaImagen()", SLIDE['seconds']*1000);

}
//__________________________________________________________________________

function CargaSlide2(div, posiciones, imagen){
	if (typeof(div) != "string" || typeof(posiciones) != "object" || typeof(imagen) != "string"){		
		alert('ERROR CargaSlide: No se han pasado los datos correctos');
		return;
	}
	
	slide_div = document.getElementById(div);

	if (slide_div == null){
		alert('ERROR CargaSlide: El ID de la capa no es correcto');
	}

	SLIDE['type'] = 'posiciones';
	SLIDE['imagen'] = imagen;
	SLIDE['posiciones']=posiciones;
	SLIDE['div'] = slide_div;
	
	CreaEstructura();
	//CambiaImagen(0);
	i=0;
	
	Movimiento(SLIDE_width_tmp,i);
}
//__________________________________________________________________________

function CreaEstructura(){
	
	var div = SLIDE['div'];
	
	if (SLIDE['style']==1){
		div.innerHTML = '<div id="slide_left" style="border:0px; padding:0px; margin:0px;float:left;">&nbsp; </div><div id="lide_rigth" style="border:0px; padding:0px; margin:0px; float:left;">&nbsp; </div><br class="clear" />';
		SLIDE['div_left'] = document.getElementById('slide_left');
		SLIDE['div_rigth'] = document.getElementById('lide_rigth');
		
		SLIDE['div_left'].style.width = SLIDE['ancho']+"px";
		SLIDE['div_left'].style.height = SLIDE['alto']+"px";
		
		SLIDE['div_rigth'].style.width = '0px';
		SLIDE['div_rigth'].style.height = SLIDE['alto']+"px";
	}else{
		
		div.innerHTML = '<div id="slide_left" style="border:0px; padding:0px; margin:0px;">&nbsp;</div>';
		SLIDE['div_left'] = document.getElementById('slide_left');
		SLIDE['div_rigth'] = div;
		
		SLIDE['div_left'].style.width = SLIDE['ancho']+"px";
		SLIDE['div_left'].style.height = SLIDE['alto']+"px";
	}
	
}
//__________________________________________________________________________

function CambiaImagen(i){

	clearTimeout(SLIDE_timer_cambiaimagen);
	clearTimeout(SLIDE_timer_movimiento);
	clearTimeout(SLIDE_timer_opacity);

	if (SLIDE.tipo=='imagenes'){
		SLIDE.div_rigth.style.background = 'url('+SLIDE['images'][i]+') no-repeat top left';
	}else{
		SLIDE.div_rigth.style.background = 'url('+SLIDE.imagen+') no-repeat top left';
		SLIDE.div_rigth.style.backgroundPosition = SLIDE.posiciones[i];
	}
	
	if (typeof(SLIDE_onchange_image) == "function"){
		SLIDE_onchange_image(i);
	}

	SLIDE_timer_cambiaimagen=setTimeout("Movimiento("+(SLIDE_width_tmp)+","+i+")", 105);
}
//__________________________________________________________________________

function Movimiento(x, i){
	if (SLIDE['style'] == 2){		
		Opacidad(x, i);
		return;
	}
	SLIDE['div_left'].style.width = ((SLIDE['ancho'])-x)+"px";
	SLIDE['div_rigth'].style.width = (x)+"px";
	x= x+20;
	SLIDE_width_tmp  = x;
	
	
	
	if (SLIDE_width_tmp >= SLIDE['ancho']){
		SLIDE['div_left'].style.width = SLIDE['ancho']+"px";
		if (SLIDE.tipo=='imagenes'){
			SLIDE.div_left.style.background = 'url('+SLIDE['images'][i]+') no-repeat top left';
		}else{
			SLIDE.div_left.style.background = 'url('+SLIDE.imagen+') no-repeat top left';
			SLIDE.div_left.style.backgroundPosition = SLIDE.posiciones[i];
		}
		SLIDE['div_rigth'].style.width = '0px';
		
		//}
		i++;
		if (SLIDE.tipo=='imagenes'){
			if (i == SLIDE.images.length) i = 0;
		}else{
			if (i == SLIDE.posiciones.length) i = 0;
		}
		var segundos = SLIDE['seconds']*1000;
		SLIDE_timer_movimiento=setTimeout("CambiaImagen("+(i)+")", segundos);
		SLIDE_width_tmp = 0;
	}else{
		SLIDE_timer_movimiento=setTimeout("Movimiento("+(SLIDE_width_tmp)+","+(i)+")", 100);	
	}
}
//__________________________________________________________________________

function Opacidad(x, i){
	
	PoneOpacidad(SLIDE['div_left'], (10-x));

	x= x+0.25;
	SLIDE_opacity_tmp  = x;
	
	
	if (SLIDE_opacity_tmp >= 10){
		PoneOpacidad(SLIDE['div_left'], 10);
				
		if (SLIDE.tipo=='imagenes'){
			SLIDE.div_left.style.background = 'url('+SLIDE['images'][i]+') no-repeat top left';
		}else{
			SLIDE.div_left.style.background = 'url('+SLIDE.imagen+') no-repeat top left';
			SLIDE.div_left.style.backgroundPosition = SLIDE.posiciones[i];
		}

		i++;
		
		if (SLIDE.tipo=='imagenes'){
			if (i == SLIDE.images.length) i = 0;
		}else{
			if (i == SLIDE.posiciones.length) i = 0;
		}
		
		var segundos = SLIDE['seconds']*1000;
		SLIDE_opacity_tmp = 10;
		
		SLIDE_timer_opacity=setTimeout("CambiaImagen("+(i)+")", segundos);
		
	}else{
		SLIDE_timer_opacity=setTimeout("Opacidad("+(SLIDE_opacity_tmp)+","+(i)+")", 50);	
	}
}
//__________________________________________________________________________

function PoneOpacidad(element, opacidad){
	element.style.opacity = (opacidad/10);
	element.style['-moz-opacity'] = (opacidad/10);
	opacidad = opacidad*10;
	element.style.filter = "alpha(opacity="+opacidad+")";

}

