var gbGalleryList = new Array();
var gbGalleryLoaded = false;
var gbPropostaIndex = 0;
var gbPropostaLast = 0;
var gbPropostaInterval;
var Site = {
   
	beforeStart : function() {
      	Site.prepareExternalLinks();
        var divPestanya = new Element("div").setProperty("id","pico_bocata").injectInside("cabecera");
        
        if ($("dllistat_propostes")) Site.prepareCompromisosCarrusel();
	},
	
	start: function(){
	},
    

	prepareExternalLinks : function() {
	    var linkList = $$("a");
	    linkList.each(function(el) {
	      if (el.getProperty('rel')=="external") el.target = "_blank";
	    }, this);
	},
    
    prepareCompromisosCarrusel : function() {
        gbPropostesList = new Array();
        var propostesList = $$("#dllistat_propostes li");
        $("dllistat_propostes").setStyles({"clear" : "both", "position" : "relative", "overflow" : "hidden" });
        $("compromis_links").setStyles({"clear": "both" ,  "overflow" : "hidden"});
        var ii = 0;
        var biggerHeight = 0;
        propostesList.each(function(el) {
            if (biggerHeight < el.getSize()['size'].y) biggerHeight = el.getSize()['size'].y;
            el.setStyles({ "position" : "absolute", "top" : "20px"});
            el.setProperty("id" , "alProp_" + ii);
            if (ii != 0) el.setStyles({ "opacity" : "0"});
            ii++;
        });
        $("dllistat_propostes").setStyles({"height" : biggerHeight + 20});
        
        gbPropostaLast = ii - 1;
        gbPropostaInterval = setInterval("Site.nextCarrusel()", 5000);
    },
    
    siguientePropuesta : function() {
        clearInterval(gbPropostaInterval);
        Site.nextCarrusel()
        gbPropostaInterval = setInterval("Site.nextCarrusel()", 5000);
    },
    
    anteriorPropuesta : function() {
        clearInterval(gbPropostaInterval);
        var oldOne = 'alProp_' + gbPropostaIndex;
        var nextOne;
        if (gbPropostaIndex == 0) {
            nextOne = 'alProp_' + gbPropostaLast;
            gbPropostaIndex = gbPropostaLast;
        } else {
            gbPropostaIndex--;
            nextOne = 'alProp_' + gbPropostaIndex;
            
        }
        $$("#dllistat_propostes li").each(function(el) { el.setStyles({ "opacity" : "0"}); });
        $(nextOne).setStyle("opacity", 1);
        
        gbPropostaInterval = setInterval("Site.nextCarrusel()", 5000);
    },
    
    nextCarrusel : function() {
        var oldOne = 'alProp_' + gbPropostaIndex;
        var nextOne;
        if (gbPropostaIndex == gbPropostaLast) {
            nextOne = 'alProp_0';
            gbPropostaIndex = 0;
        } else {
            gbPropostaIndex++;
            nextOne = 'alProp_' + gbPropostaIndex;
            
        }
        $$("#dllistat_propostes li").each(function(el) { el.setStyles({ "opacity" : "0"}); });
        $(nextOne).setStyle("opacity", 1);
    },
	
	startGallery : function (idGallery, parentDiv, direction, numElements) {
		if ($(parentDiv)) {
            gbGalleryList[idGallery] = new Object();
            gbGalleryList[idGallery].gbParentDiv = parentDiv;
            gbGalleryList[idGallery].gbNumElements = numElements;
            gbGalleryList[idGallery].gbDirection = direction;
            gbGalleryList[idGallery].currentPosition = 1;
            gbGalleryList[idGallery].elementPrefix = "";
            gbGalleryList[idGallery].gbContainerDiv = "";
			
			// Get containerDiv
			var containerDiv = $(parentDiv).getFirst().id;
			gbGalleryList[idGallery].gbContainerDiv = containerDiv;
			
            // Get list prefix
            var lis = $$("#" + gbGalleryList[idGallery].gbContainerDiv + " ul li");
            var firstElement = lis[0].id;
            gbGalleryList[idGallery].elementPrefix = (lis[0].id).substring(0, (lis[0].id).lastIndexOf("_") + 1);
            
            var scroll = new Fx.Scroll(gbGalleryList[idGallery].gbParentDiv, { wait: false, duration: 0, offset: {'x': -3, 'y': -7}, transition: Fx.Transitions.Quad.easeInOut });
            scroll.toElement(firstElement);
            
            var sizeElements = this.getGalleryLong(gbGalleryList[idGallery].gbContainerDiv, gbGalleryList[idGallery].gbDirection);
			if (direction == "x") $(containerDiv).setStyle("width", sizeElements);
				else $(containerDiv).setStyle("height", sizeElements);
            
            gbGalleryLoaded = true;
		}
	},
	
    // Devuelve el ancho/alto que debe ocupar la galería para quede en línea
	getGalleryLong : function(containerDiv, direction) {
        var rtnValue = 0;
        if ($(containerDiv)) {
            var lis = $$("#" + containerDiv + " ul li");
			lis.each(function(element) {
				var size = element.getSize();
				if (direction=="x") {
					size = size['size'].x;
					size += $(element).getStyle("marginRight").toInt() + 2;
					size += $(element).getStyle("marginLeft").toInt() + 2;
				} else {
					size = size['size'].y;
					size += $(element).getStyle("marginTop").toInt() + 2;
					size += $(element).getStyle("marginBottom").toInt() + 2;
				}
				rtnValue += size;
				
			});
        }
        
        return rtnValue;
    },
	
	galleryQuantity : function(which) {
		var rtnValue = 0;
		
		var lis = $$("#" + gbGalleryList[which].gbContainerDiv + " ul li")
		rtnValue = lis.length;
		
		return rtnValue;
	},
	
	Darrera : function(which) {
        if (gbGalleryLoaded) {
            var scroll = new Fx.Scroll(gbGalleryList[which].gbParentDiv, { wait: false, duration: 500, offset: {'x': -3, 'y': -7}, transition: Fx.Transitions.Quad.easeInOut });
             
            if (gbGalleryList[which].currentPosition > 1) {
                gbGalleryList[which].currentPosition--;
                scroll.toElement(gbGalleryList[which].elementPrefix + (gbGalleryList[which].currentPosition));
            }
        }

     },

     Davant : function(which) {
        if (gbGalleryLoaded) {
            var scroll = new Fx.Scroll(gbGalleryList[which].gbParentDiv, { wait: false, duration: 500, offset: {'x': -3, 'y': -7}, transition: Fx.Transitions.Quad.easeInOut });
            

            //if (this.galleryQuantity(which) > (gbGalleryList[which].currentPosition + (gbGalleryList[which].gbNumElements - 1))) {
            //alert((gbGalleryList[which].currentPosition));
           // alert((this.galleryQuantity(which)));
            //alert((gbGalleryList[which].gbNumElements) + (gbGalleryList[which].currentPosition));
            //alert(this.galleryQuantity(which));
            if ( (gbGalleryList[which].gbNumElements) + (gbGalleryList[which].currentPosition) < this.galleryQuantity(which)) {
                
    			var elementPos = ($(gbGalleryList[which].elementPrefix + gbGalleryList[which].currentPosition ).getPosition()).x;
    			gbGalleryList[which].currentPosition++;

                //scroll.toElement(gbGalleryList[which].elementPrefix + (gbGalleryList[which].currentPosition));
                //alert(gbGalleryList[which].elementPrefix + (gbGalleryList[which].gbNumElements + ((gbGalleryList[which].currentPosition-1))));
                scroll.toElement(gbGalleryList[which].elementPrefix + (gbGalleryList[which].gbNumElements + ((gbGalleryList[which].currentPosition-1))));
            }
        } else {
            if (window.ie6) {
                window.fireEvent("load");
            }
        }
        
     },
    

	
	getBaseUrl : function() {
		return (document.location.href).substring(0, (document.location.href).lastIndexOf("/") +1);
	}
    


};

window.addEvent('domready', function() { Site.beforeStart(); });
window.addEvent('load', function() { Site.start(); });
