/* Globaldizajn gdFx - marquee replacement 2009-06-01 */

var gdFx = new Class({
	options: {
		transition: 750,
		wait:5000,
		elGumbici:"", //npr. td
		cssGumbici:"",  //css klasa
		cssGumbiciActive:"",
		cssGumbiciActiveBg:"#6a97cc",
		cssGumbiciNotActiveBg:"#3F67A8"
	},

	initialize: function(el, options) {
		this.setOptions(options);
		
		this.periodical = "";
		this.elements = $$(el);
		
		//selektiraj gumbice ako ih ima
		this.selectorGumbici = this.options.elGumbici + "." + this.options.cssGumbici;
		if (this.options.elGumbici!="") {
			this.gumbici = $$(this.selectorGumbici);
		}
		else {
			this.gumbici = [];
		}
		this.fx = [];
		this.fxGumbici = [];
		this.cnt = 0;
		

		this.elements.each(function(el, index){
			if(el.getStyle("display")=="none"){
				el.setStyles({"display": "block", "opacity": "0"});
			}
			this.fx.push(new Fx.Tween(el, {duration:this.options.transition, wait:false}));
		}.bind(this));
		
		this.gumbici.each(function(el, index){
			el.setStyle("cursor","pointer");
			el.setProperty("res", index);
			
			el.addEvents({
				"click":function(){
					$clear(this.periodical);
					if(el.className.indexOf(this.options.cssGumbiciActive)<0){
						this.gumbici.each(function(ele){
							ele.removeClass(this.options.cssGumbiciActive);
							ele.setStyle("background-color", this.options.cssGumbiciNotActiveBg );
						}.bind(this));
						el.addClass(this.options.cssGumbiciActive);
						el.setStyle("background-color", this.options.cssGumbiciActiveBg );
						
						this.elements.each(function(el, index){
							if(el.getStyle("opacity")!=0) {
								//alert(index);
								this.fx[index].start({"opacity":0});
							}
						}.bind(this));					
						
						this.fx[el.getProperty("res")].start({"opacity":1});
						
						

					}
				}.bind(this),
				"mouseover":function(){
					//el.addClass("billBoardItemActive");
				},
				"mouseout":function(){
					//el.removeClass("billBoardItemActive");
				}
			})
			
			
			this.fxGumbici.push(new Fx.Tween(el, {duration:this.options.transition, wait:false}));

		}.bind(this));

		this.periodical = this.anim.bind(this).periodical(this.options.wait);

	},
	anim: function() {

		this.cnt++;
		if (this.cnt==this.fx.length) this.cnt = 0;
		
		this.fx[this.cnt].start("opacity", 1);
		
		if (this.options.elGumbici!="") {
			//aktiviram sljedeci
			this.fxGumbici[this.cnt].start({
				"background-color" : [ this.options.cssGumbiciNotActiveBg, this.options.cssGumbiciActiveBg ]
			}).chain(function(){
				this.gumbici.each(function(ele){
					ele.removeClass( this.options.cssGumbiciActive );
				}.bind(this))
				this.gumbici[this.cnt].addClass( this.options.cssGumbiciActive );	
			}.bind(this))
		
		}
			
		this.elements.each(function(el, indx){
			if(el.getStyle("opacity")!=0){
				this.fx[indx].start("opacity", 0);
				
				if (this.options.elGumbici!="") {
		
					//deaktiviram sve
					this.fxGumbici[indx].start({
						"background-color" : [ this.options.cssGumbiciActiveBg, this.options.cssGumbiciNotActiveBg ]
					})
					

				}
				
			}
		}.bind(this));
		

	}

})

gdFx.implement(new Options, new Events);

