/**
* JavaScripts für Slideshow Startseite EFRE
*
* 2011 <i-D> internet & Design GmbH & Co. KG
* Erfurter Str. 35
* 99423 Weimar
* Deutschland
* Fon:     03643 7785 0
* Fax:     03643 7785 29
* E-Mail:  office@i-d.de
* Web:     http://www.i.d.de/
*
* @author Michael K. Waack <m.waack@i-d.de>
*
*/

//	jQuery.noConflict();
//(function(){document.documentElement.id='js'})();

ucSlideshow = Class.create({
	parseStyles : ['position','left','top','width','height'],
	left : ['324px', '567px','213px'],
	top : '111px',
	current : 0,
	
	initialize: function (elem) {
		this.obj = elem;
		this.items = this.obj.select('.uc-list img');		// aray fder verfügbaren bilder
		this.visibleItems = [];								// Styles für die elemente
		// Styles festlegen
		this.readStyles($('bild'),0)
		if (this.items.length>1) {
			this.readStyles($('bildVor'),1)
		}
		if (this.items.length>2) {
			this.readStyles($('bildZurueck'),this.items.length-1)
		}
		// Nicht sichtbare styles
		this.hidden = {cursor : 'pointer',zIndex : 1000, position : 'absolute',height: '1px',width:'1px', left:'330px',top:'112px'}
		
		for (i=0;i<this.items.length;i++) {
			this.items[i].setStyle(this.hidden);
			if (i>1 && i<this.items.length-1) { this.visibleItems[i] = this.hidden; }
			this.items[i].index = i;
			this.items[i].clickHandler = this.changeImage.bindAsEventListener(this,this.items[i]); 
			Event.observe(this.items[i], 'click', this.items[i].clickHandler);
		}

		this.items[0].setStyle(this.visibleItems[0]);

//			this.items[0].setStyle({
//					width	: this.visibleItems[0].width,
//					height	: this.visibleItems[0].height, 
//					left	: this.visibleItems[0].left,
//					top		: this.visibleItems[0].top});
							
		this.frontImage = this.items[0];
		this.slideText = $('slideText');
		if (this.frontImage.title) {
			this.slideText.setStyle({display:'inline-block'});
			this.slideText.update(this.frontImage.title);
		} else {
			this.slideText.setStyle({display:'none'});
			this.slideText.update('');
		}
		if (this.items.length>1) {
			this.items[1].setStyle(this.visibleItems[1]);
			this.items[1].addClassName('next');

			if (this.items.length>2) {
				this.items[this.items.length-1].setStyle(this.visibleItems[this.items.length-1]);
				this.items[this.items.length-1].addClassName('prev');
			} 
		}
		document.documentElement.id='js';
	},
	/*
	 * Bildwechsel durchführen
	 */
	changeImage : function(ev,item) {
		if (this.moveing) return;
		if (this.frontImage == item) return;
		this.moveing = true;
		faktor = (item.index==1?-1:1);
		
		for (i=0;i<this.items.length;i++) {
			this.items[i].index += faktor;
			if (this.items[i].index<0) {
				this.items[i].index = this.items.length-1;
			}
			if (this.items[i].index>this.items.length-1) {
				this.items[i].index = 0;
			}
			
		}

		for (i=0;i<this.items.length;i++) {
//			this.items[i].morph(this.visibleItems[this.items[i].index],{duration : 1});
			this.items[i].removeClassName('next');
			this.items[i].morph({
					width	: this.visibleItems[this.items[i].index].width,
					height	: this.visibleItems[this.items[i].index].height, 
					left	: this.visibleItems[this.items[i].index].left,
					top		: this.visibleItems[this.items[i].index].top}, 
					{duration: 1}
					);
			if (parseInt(this.visibleItems[this.items[i].index].left)>560) {
				this.items[i].addClassName('next');
			}
			if (parseInt(this.visibleItems[this.items[i].index].left)<230) {
				this.items[i].addClassName('prev');
			}
		}
		this.frontImage = item;
		if (this.frontImage.title!= '') {
			this.slideText.setStyle({display:'inline-block'});
			this.slideText.update(this.frontImage.title);
		} else {
			this.slideText.setStyle({display:'none'});
			this.slideText.update('');
		}		
		
		this.moveDone.delay(1,this);
	},
	
	moveDone : function (that) {
		that.moveing=false;
	},
	
	readStyles : function(item,index) {
		this.visibleItems[index] ={};
		for (i=0;i< this.parseStyles.length;i++) {
			this.visibleItems[index][this.parseStyles[i]] = item.getStyle(this.parseStyles[i]);
		}
		if (index<2) {
			this.visibleItems[index]['left'] = this.left[index];
		} else {
			this.visibleItems[index]['left'] = this.left[2];
		}
		this.visibleItems[index]['zIndex'] = 1000;
		this.visibleItems[index]['cursor'] = 'pointer';
		item.remove();
	}

});



Event.observe(window, 'load', function() {
	new ucSlideshow($('gallery'));
		
});



