/**
 * SB
 * capsuled javascript functions
 *
 * @author Willehad Grafenhorst <grafenhorst@sunbeam-berlin.de>
 * @lastmodified 2009-05-19
 */

var SB = {

	version: "1.0",

	/**
	 * initializes subroutines
	 */
	init: function() {
          this.newsslide.init();
	},

	/**
	 * the news-slider
	 */
	newsslide: {
		container: 'activity-items',
		framediv: 'showviewframe',
		sliderfx: false,
          xPos: 0,
          iWidthArray: new Array(),
          ix: 0,
          cWidth: 0,
          fWidth: 0,
          
		init: function()  {
		    if (!$(this.container))
		        return false;
		
		
			this.sliderfx = new Fx.Style(this.container, 'left', {
				wait: false,
				duration: 1000,
				onComplete: SB.newsslide.setButtons
			});
			
               this.xPos = 0;
			var itw = 0;
			this.ix = 0;
			var itms = $(this.container).getChildren();
		cWidth = 0;	
               for (i=0; i<itms.length; i++) {
			cWidth += 200;
		}
			$(this.container).setStyle('width', cWidth);
			$(this.container).setStyle('left', this.xPos);
			this.cWidth = 0;
			
			var dSize = $(this.framediv).getSize();
			this.fWidth = dSize.size.x;
			
			//alert(this.iWidthArray.toString());
			
			$('next').addEvent('click', function(e) {
				e = new Event(e);
				if (SB.newsslide.ix > 0) {
				      SB.newsslide.ix--;
				      var itms = $(SB.newsslide.container).getChildren();
				      if (SB.newsslide.cWidth == 0) {
				      	SB.newsslide.checkWidth();
				      }
				      var itmSize = itms[SB.newsslide.ix].getSize();
                   		      itw = itmSize.size.x;
                   		      
				      //itw = SB.newsslide.iWidthArray[SB.newsslide.ix];
					 SB.newsslide.xPos += itw;
					 SB.newsslide.sliderfx.start(SB.newsslide.xPos);
					
                    }
				e.stop();
			});

			$('prev').addEvent('click', function(e) {
				e = new Event(e);
				
				 if (SB.newsslide.cWidth == 0) {
				      	SB.newsslide.checkWidth();
				}
				
				if (SB.newsslide.xPos > (SB.newsslide.fWidth - SB.newsslide.cWidth)) {
				      var itms = $(SB.newsslide.container).getChildren();
				      var itmSize = itms[SB.newsslide.ix].getSize();
                   		      itw = itmSize.size.x;
				
				     //itw = SB.newsslide.iWidthArray[SB.newsslide.ix];
					SB.newsslide.xPos -= itw;
					var newPos = Math.max(SB.newsslide.xPos, (SB.newsslide.fWidth - SB.newsslide.cWidth));
					SB.newsslide.sliderfx.start(newPos);
				     SB.newsslide.ix++;
				} 
				e.stop();
			});
			this.setButtons();
          },
	     setButtons: function() {
	         if ((SB.newsslide.xPos > (SB.newsslide.fWidth - SB.newsslide.cWidth)) || ( SB.newsslide.cWidth == 0))
	     	   $('prev').setStyle('visibility', 'visible');
	     	else
	     	   $('prev').setStyle('visibility', 'hidden');
	     	   
	         if (SB.newsslide.ix > 0)
                    $('next').setStyle('visibility', 'visible');
               else
		        $('next').setStyle('visibility', 'hidden');
         },
         checkWidth: function() {
         // firefox liefert onload z.T. falsche Werte, daher abfrage hier //
          var itms = $(SB.newsslide.container).getChildren();
	        for (i=0; i<itms.length; i++) {
                    var itmSize = itms[i].getSize();
                    itw = itmSize.size.x;
		    SB.newsslide.cWidth += itw;
		    SB.newsslide.iWidthArray[i] = itw;
		}
         }
	
	}

};

// init and bind
window.addEvent('domready', function() {
	SB.init();
});


