/*
Usage:
new SimpleSlideShow(wrapperElement, arrayOfImagesSources [, options]);

Options:
fadeTime: time in ms for the fade between images
stayTime: time between two fades

License:
MIT-Style-License
Copyright: Jan Kassens <janATkassens.net>


var SimpleSlideShow3 = new Class({
	
	Implements: Options,
	
	options: {
		fadeTime: 500,
		stayTime: 3300
	},
	
	initialize: function(wrapper, images, options) {
		var params = Array.link(arguments, {wrapper: $defined, images: Array.type, options: Object.type});
		this.wrapper = $(params.wrapper);
		this.setOptions(params.options);
		
		this.images = (params.images || JSON.decode(this.wrapper.get('images'))).map(function(image){
			return image.set('tween', {duration: this.options.fadeTime, fps: 25})
		}, this);
		this.index = 0;
		this.topImage = this.images[0].inject(this.wrapper);
		this.fade.delay(this.options.stayTime, this);
	},
	
	fade: function() {
		this.index = (this.index + 1) % this.images.length;
		this.bottomImage = this.topImage;
		this.topImage = this.images[this.index]
			.fade('hide')
			.inject(this.wrapper)
			.fade('in');
		this.fade.delay(this.options.stayTime + this.options.fadeTime, this);
	}
	
});

window.addEvent('domready', function() {
	$$('ul.slideShow3').each(function(slideshow){
		new SimpleSlideShow3(slideshow, slideshow.getElements('li'));
	});
});*/
window.addEvent('load', function(){
	
	var filters = ['', ''],
		finder = document.id('finder'),
		objectTable = document.id('content').getElement('table.objectTable');
		
	String.implement({
		uglyFix: function(){
			return this.replace('½', '5').replace(' ', '').replace('/', '').standardize().tidy().replace(' ', '');
		}
	});
	
	
	if (finder){
		// console.log(['Cow', 'Pig', 'Dog'].extend(['Cat']));
		/* object finder */
		var types = objectTable.getElements('td.type');
		objectTable.getElements('tr').each(function(tr){
			tr.addClass(tr.getElement('td.type').get('text').uglyFix().camelCase());
		});
		var div = new Element('div', {
				'html': 'Objekttyp', 'class': 'selecter'
			}).inject(finder),
			ul = new Element('ul', {
				styles: {'display': 'none'}
			}).inject(div);
		div.addEvents({
			'mouseenter': function(){
				ul.setStyle('display', 'block');
			},
			'mouseleave': function(){
				ul.setStyle('display', 'none');
			}
		});
		types.get('text').unique().sort().extend(['Alle']).each(function(el){
			new Element('li', {
				text: el,
				events: {
					'click': function(){
						objectTable.getElements('tr').setStyle('display', 'none');
						filters[0] = (el == 'Alle') ? '' : el.uglyFix().camelCase();
						console.log(filters);
						var pickEls = (filters[0] != '') ? 'tr.' + filters[0] : 'tr';
						if (filters[1] != '') pickEls += '.' + filters[1];
						objectTable.getElements(pickEls).setStyle('display', 'block');
					}
				}
			}).inject(ul);
		});
		/* place finder */
		var titles = objectTable.getElements('td.title h3 a');
		objectTable.getElements('tr').each(function(tr){
			tr.addClass(tr.getElement('td.title h3 a').get('text').uglyFix().camelCase());
		});
		var div2 = new Element('div', {
				'text': 'Region', 'class': 'selecter'
			}).inject(finder),
			ul2 = new Element('ul', {
				styles: {'display': 'none'}
			}).inject(div2);
		div2.addEvents({
			'mouseenter': function(){
				ul2.setStyle('display', 'block');
			},
			'mouseleave': function(){
				ul2.setStyle('display', 'none');
			}
		});
		titles.get('text').unique().sort().extend(['Alle']).each(function(el){
			new Element('li', {
				text: el,
				events: {
					'click': function(){
						objectTable.getElements('tr').setStyle('display', 'none');
						filters[1] = (el == 'Alle') ? '' : el.uglyFix().camelCase();
						var pickEls = (filters[0] != '') ? 'tr.' + filters[0] : 'tr';
						if (filters[1] != '') pickEls += '.' + filters[1];
						objectTable.getElements(pickEls).setStyle('display', 'block');
					}
				}
			}).inject(ul2);
		});
	}
	
	var gallery2 = document.id('gallery2');
	
	if (gallery2){
		var thumbcarousel = new Element('div', {'class': 'thumbs2'}).inject(gallery2, 'after'),
			g2cinner = new Element('div', {'class': 'g2cinner'}).inject(thumbcarousel),
			thumbs = gallery2.getElements('img').clone(),
			firstImg = gallery2.getElement('img'); // .inject(gallery2);
		
		gallery2.getElements('img').addEvent('click', function(){
			firstImg.setStyle('z-index', 1);
			firstImg = this.getNext().setStyle('z-index', 123);
		});
		//g2cinner.setStyle('width', thumbs.getStyle('width'));
		
		/*Element.implement({
			getSize: function(){
				if (arguments[0] === 'width') return this.offsetWidth;
				else if (arguments[0] === 'height') return this.offsetHeight;
				return {x: this.offsetWidth, y: this.offsetHeight};
			}
		});*/
		
		thumbs.setStyle('display', 'none').inject(g2cinner);
		
		thumbs.each(function(thumb){
			thumb.store('org', thumb.get('src'));
			thumb.set('src', thumb.get('rel'));
		});
		(function(){
			var twidth = 0;
			thumbs.setStyle('display', 'inline').each(function(th){
				twidth += th.getSize().x;
			});
			g2cinner.setStyle('width', twidth);
			g2cinner.getElements('img').each(function(thumb){
				thumb.addEvent('click', function(){
					firstImg.setStyle('z-index', 1);
					firstImg = $$('img[src=' + thumb.retrieve('org') + ']')[0].setStyle('z-index', 123);
				});
			});
			//gallery2
			
			var elOver = false,
				myFx = new Fx.Scroll(thumbcarousel),
				cpos = thumbcarousel.getPosition().x,
				cwidth = thumbcarousel.getSize().x;

			if (twidth > cwidth){
				function getScrollX(){
					if (typeof(window.pageYOffset) == 'number'){
						return window.pageXOffset;
					} else if (document.body && (document.body.scrollLeft || document.body.scrollTop)){
						return document.body.scrollLeft;
					} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
						return document.documentElement.scrollLeft;
					}
					return 0;
				}
				var scrollOffX = getScrollX();
				thumbcarousel.addEvents({
					'mouseenter': function(){
						scrollOffX = getScrollX();
						elOver = true;
					},
					'mouseleave': function(){
						elOver = false;
					}
				});
				document.addEvent('mousemove', function(e){
					if (elOver) myFx.set((((e.client.x + scrollOffX) - cpos) / cwidth) * (twidth - cwidth), 0);
				});
			}
		}).delay(700);
	}

	
});

window.addEvent('domready', function(){
	
	
	if (document.id('gallery3') && document.id('editform')) document.id('footer').dispose();
	
	/*Cufon.replace('div#deco h3', {
		fontFamily: 'DejaVu',
		fontStretch: '91%',
		letterSpacing: '-1px',
		textShadow: '0.01px 0 #fff',
		fontSize: '21'
	}); // , { hover: true }
	*/
	
	Cufon.replace('div#deco h3', {
		fontStretch: '100%'
	}); // , { hover: true }
	
	var myTips = new Tips('div.gallery img', {
		fixed: true,
		title: 'alt',
		offset: {'x': 0, 'y': 62},
		className: 'tooltip',
		showDelay: 0,
		hideDelay: 0,
		onShow: function(tip){
			tip.setStyle ('display', 'block');
			tip.fade('in');
		},
		onHide: function(tip){
			tip.setStyle ('display', 'block');
			tip.fade('out');
		}
	});
	
	if (Browser.Engine.trident) $$('div.gallery img').set('alt', ''); 
	
	var imgFull = document.id('imgFull');
	
	
	
	var gallery2 = document.id('gallery2');
	if (gallery2){
		gallery2.addClass('js');
		gallery2.getElement('img').setStyle('z-index', 123);
	}
	
	$$('div.thumbs img').addEvent('click', function(event){
		imgFull.set('src', this.get('rel'));
	}).setStyle('cursor', 'pointer');
});

	
/*

	if(contentWidth > scrollContent.getSize().x){
		scrollContent.setStyle('width', contentWidth);
		
		var posX = scrollContent.getPosition().x;
		var widthX =  $('bottomContent').getSize().x;
	
		var fxScrollContent = new Fx.Tween(scrollContent, { duration: 33 });
		
		var elOver = false;
		
		$('bottomContent').getElement('div.gallery').addEvents({
			'mouseenter': function(){
				elOver = true;
			},
			'mouseleave': function(){
				elOver = false;
			}
		});

		var mouseX = 100;
		
		document.addEvent('mousemove', function(e){
		    mouseX = e.client.x - posX;
		    mouseX = mouseX * ((contentWidth-widthX) / widthX);
		});
		
		var lastPos = -mouseX * ((contentWidth-widthX) / widthX);
		var newMouseX = contentWidth - widthX;
		var dest = scrollContent.getSize().x - contentWidth;
		(function(){
			if(elOver){
				newMouseX = (newMouseX * 0.9)+(mouseX * 0.1);
			}else{
				newMouseX = (newMouseX * 0.9)+((newMouseX * 0.9) * 0.1);
			}
			fxScrollContent.cancel();
			if(Math.abs(lastPos + newMouseX) > 0.05) fxScrollContent.start('left', lastPos, -newMouseX);
			lastPos = -newMouseX;
		}).periodical(33);



//		$('bottomContent').getElement('div.gallery').addEvent('mouseenter', function(e){
//			mouseX = (e.client.x)? e.client.x : 100 ;
//			var lastPos = -100;
//			var newMouseX = -100;
//			(function(){
//				newMouseX = (newMouseX * 0.9)+(e.client.x * 0.1);
//				fxScrollContent.cancel();
//				fxScrollContent.start('left', lastPos, -newMouseX);
//				lastPos = -newMouseX;
//			}).periodical(33);
//		});

		

	}





*/






