
var autostartSlideshow = false;

var Show = function(id, files){
    
    var pictures = [];
    var container = document.getElementById(id);
    var speed = 10000;
    var slideShowThread = 0;
    var currentIndex = 0;
    var opacityIndex = files.length-1;
    var zIndex = -2;
    var opacity = 1;
    var opacityThread = 0;
    
    var textBox = document.createElement('div');
		textBox.className = "altText";
		document.body.appendChild(textBox);
    
    function init(){
        if(!container){
            return;
        }

        var zona = document.getElementById('contenido-cuerpo');

        KEvent.addListener(zona, 'click', zoneClick);
        KEvent.addListener(zona, 'mousemove', showAlt);
        KEvent.addListener(zona, 'mouseout', hideAlt);
        
        
        createPictures();
        start();
        
    }
    
    function zoneClick(evt){
        var target = KEvent.getTarget(evt);
        
        if(target.id != "contenido-cuerpo" && target.tagName.toLowerCase() != 'h1'){
            return;
        }
        
        viewer.show(currentIndex);
        
    }
     
    function createPictures(){
        for(var i=0; i < files.length; i++){
            pictures[i] = document.createElement('div');
            pictures[i].className = "contenedor-foto";
            pictures[i].style.backgroundImage = "url('"+ROOT+"maximo/"+files[i].maximo+"')";
            container.appendChild(pictures[i]);
        }
    }
    
    function start(){
        pictures[currentIndex].style.visibility = "visible";
        if(pictures.length > 1 && autostartSlideshow){
            slideShowThread = setInterval(nextPicture, speed);
        }
    }
    
    function nextPicture(){
        
        opacityIndex = currentIndex;
        currentIndex++;
        
        if(currentIndex == pictures.length){
            currentIndex = 0;
        }
        
        putPicture(currentIndex);
        
    }
    
    function putPicture(index){
        hideCurrentPicture();
        pictures[index].style.zIndex = zIndex--;
        pictures[index].style.visibility = "visible";
    }
    
    function changePicture(index){
        if(index == currentIndex) return;
        pictures[opacityIndex].style.visibility = "hidden";
        opacityIndex = currentIndex;
        currentIndex = index;
        putPicture(index);
    }
    
    function hideCurrentPicture(){
        opacity = 1;
        clearInterval(opacityThread);
		opacityThread = setInterval(fadeOut, 30);
    }
    
	function fadeOut(){

		opacity -= 0.1;
        setOpacity(opacity);
		if(opacity <= 0.01){
			clearInterval(opacityThread);
            opacityThread = 0;
            pictures[opacityIndex].style.visibility = "hidden";
            setOpacity(1);
		}
	}
    
    function setOpacity(opacity){
        if (window.ActiveXObject) pictures[opacityIndex].style.filter = "alpha(opacity=" + opacity*100 + ")";
		pictures[opacityIndex].style.opacity = opacity;
		if (opacity == 0) pictures[opacityIndex].style.visibility = "hidden";
    }
    

    function showAlt(evt){
        var target = KEvent.getTarget(evt);
        if(target.id != "contenido-cuerpo" && target.tagName.toLowerCase() != "h1"){
            hideAlt();    
            return;
        }
        
        var pos = KEvent.getXY(evt);
        textBox.style.left = pos[0] + 15 + "px";
        textBox.style.top = pos[1] + 15+ "px";
        textBox.style.display = "block";
        textBox.innerHTML = "ampliar imagen";
    }

    function hideAlt(){
        textBox.style.display = "none";
    }
    
    init();
    
    
    
    return {
        changePicture: changePicture
    }
    
}

KEvent.onDOMReady(function(){

    if(document.getElementById('show')){
         var show = new Show("show", files, "");
         if(show){
            var slider = new Slider("slide", show, files, showSize);
        }
    }
    
    if(document.getElementById('plano')){
        iniciarPlano();
        iniciarCambioFondos(show);
    }
});

function loadMap() {
    
    
    
  if (GBrowserIsCompatible() && document.getElementById("mapa-localizacion")) {

    
    var map = new GMap2(document.getElementById("mapa-localizacion"));
    var point = new GLatLng(39.593801, -0.321146);
    map.setCenter(point, 14);
    map.setMapType(G_HYBRID_MAP);
    map.addControl(new GMapTypeControl());
    map.addControl(new GSmallMapControl());
    
        
    var baseIcon = new GIcon(G_DEFAULT_ICON);
    baseIcon.shadow = "";
    baseIcon.iconSize = new GSize(50, 50);
    baseIcon.shadowSize = new GSize(50, 50);
    baseIcon.iconAnchor = new GPoint(25, 25);
    
    var markerOptions = {icon: new GIcon(baseIcon, ROOT_IMG + 'interface/logo_small.png')};
    var marker = new GMarker(point, markerOptions);
    map.addOverlay(marker);
    
    
  }
}

KEvent.onDOMReady(loadMap);


var Slider = function(id, show, files, size){
    
    var container = document.getElementById(id);
    var list = document.getElementById(id + "-list");
    var leftArrow = document.getElementById(id + "-left-arrow");
    var rightArrow = document.getElementById(id + "-right-arrow");
    var items = [];
    var moveThread = 0;
    var offsetLeft = 0;
    var step = 5;
    var widths = {grande: 310, mediano:204};
    var pictureSize = size || "mediano";
    var pictureWidth = widths[pictureSize];
    var glance = pictureSize == "mediano" ? 1 : 0;
    
    function init(){
        if(!container){
            return;
        }
        
        KEvent.addListener(rightArrow, "mousedown", startMoveToRight);
        KEvent.addListener(rightArrow, "mouseup", stop);
        KEvent.addListener(rightArrow, "mouseout", stop);
        
        KEvent.addListener(leftArrow, "mousedown", startMoveToLeft);
        KEvent.addListener(leftArrow, "mouseup", stop);
        KEvent.addListener(leftArrow, "mouseout", stop);
        
        createItems();    
        
    }

    function createItems(){
        
        for(var i=0; i < files.length; i++){
            items[i] = document.createElement('li');
            var pic = new Image();
            pic.src = ROOT + pictureSize+"/"+files[i][pictureSize];
            pic.index = i;
            items[i].appendChild(pic);
            list.appendChild(items[i]);
            KEvent.addListener(pic, "click", showPicture);
        }
        
    }
    
    function showPicture(evt){
        var index = KEvent.getTarget(evt).index;
        show.changePicture(index);
    }
    
    function startMoveToRight(){
        stop();
        moveThread = setInterval(function(){move(-step)}, 15);
    }
    
    function startMoveToLeft(){
        stop();
        moveThread = setInterval(function(){move(step)}, 15);
    }
    
    function move(offset){
        if((offsetLeft >= 0 && offset > 0)
           ||
           (offsetLeft - glance*pictureWidth <= -pictureWidth*(files.length-1) && offset <0)){
            stop();
            return;
        }
        offsetLeft += offset;
        list.style.left = offsetLeft + "px";
    }
    
    function stop(){
        clearInterval(moveThread);
        moveThread = 0;
    }
    
    init();
    
    return {
        
    }
    
}

function iniciarPlano(){

    var links = YAHOO.util.Selector.query('a.link-espacios');
    
    KEvent.addListener(links, 'mouseover', function(evt){
       var id = KEvent.getTarget(evt).getAttribute('data-id');
       document.getElementById('plano').style.backgroundImage
            = "url('" + ROOT_IMG + "plano/"+id+".png')";
    });
    
    KEvent.addListener(links, 'mouseout', function(evt){
       document.getElementById('plano').style.backgroundImage
            = "url('" + ROOT_IMG + "plano/0.png')";
    });

}


function iniciarCambioFondos(show){

    var links = YAHOO.util.Selector.query('a.link-espacios');
    
    KEvent.addListener(links, 'mouseover', function(evt){
        var id = KEvent.getTarget(evt).getAttribute('data-id');
        var index = 0;
        for(var i=0; i < ids.length; i++){
            if(ids[i] == id){
                index = i;
                break;
            }
        }
        
        show.changePicture(index);
    });

}

KEvent.onDOMReady(function(){

	var ban = KSelector.query('#banners');
	var width = ban[0].offsetWidth;

	var bodyW = KDom.getDocumentWidth();

	if(bodyW > 1200){
		KDom.setX(ban, (bodyW-width)/2);
	}

	var banners = KDom.getElementsByClassName('texto-banner');
	
	for(var i=0; i < banners.length; i++){
		fadeOutBanner(banners[i]);
	}

	var cerrar = KDom.getElementsByClassName('x-cerrar');

	for(var i=0; i < cerrar.length; i++){
		KEvent.addListener(cerrar[i], 'click', function(e){
			var target = KEvent.getTarget(e);
			var banner = KDom.getAncestorByClassName(target, 'banner');
			banner.style.display = 'none';
		});
	}

});

function fadeOutBanner(banner){
	var attributes = {color: {to: '#000'}};
	var anim = new YAHOO.util.ColorAnim(banner, attributes);
	anim.onComplete.subscribe(fadeInBanner.createDelegate(this, [banner]));
	anim.animate();
}

function fadeInBanner(banner){
	var attributes = {color: {to: '#ccc'}};
	var anim = new YAHOO.util.ColorAnim(banner, attributes);
	anim.onComplete.subscribe(fadeOutBanner.createDelegate(this, [banner]));
	anim.animate();
}

function cerrarBanner(){
	
}


