function showPreview(image)
{
document.getElementById('previewImage').src=image;
}
amount = 3 //anzahl der galerien
fb=0;
// extern eingebunden js file
Bla = Class.create({
	initialize: function(element, contents) {
		this.element = $(element);
		this.currentPage = 0;
		this.counter = 0;
		this.contents = contents || [];
		this.buildInterface();
		this.addEvents();
		this.switchPage(0);
	},
  
	buildInterface: function() {	
	
	
		this.currentPage = parseInt(this.element.id.split("_")[1])
		var namesID = 'names_'+this.currentPage;
		var rightID = 'right_'+this.currentPage;
		
		for (var i=0; i < this.contents.length; i++) {
			var name = new Element('p', { 'className': 'locationNames_'+i }).update(this.contents[i]['name']);
			$(namesID).appendChild(name);
			
			var text = new Element('span', { 'className': 'locationText_'+this.currentPage }).update(this.contents[i]['infoText']);
			$(rightID).appendChild(text);
			
		};
	},
  
	addEvents: function() {
		
			this.element.observe('click', this.handleClicks.bind(this));
		
	},
  
	handleClicks: function(event) {
		
		event.stop();
		var element = event.element();
	    /*
		if(element.descendantOf('pagination')){
			if (element.tagName.toLowerCase() == 'span') {
				var index = parseInt(element.innerHTML) - 1;
				//this.hideAndShowPage(index);
			}
		}
		*/
		//var element = event.element();
	    		
		// click on span with class pagination
		/*
		if (element.hasClassName('left'))
			this.switchPage(-1);
		*/
		if (element.tagName.toLowerCase() == 'p') {
			var index = parseInt(element.className.split("_")[1]);
			document.getElementById("hdnPage"+(index+1)).value = 1;
			var name = 'snapBox'+(index+1);
			$(name).style.left = 0;
			this.switchPage(index);
			//alert(index);
			//this.hideAndShowCont(index);
		}
		
		
	},
  
	switchPage: function(index) {

		this.hideAndShowContents(index);
		
	},
  
	hideAndShowContents: function(index) {
		
		fb++;

		if(fb<Number(amount+1)) {
		var namesID = '#names_'+this.currentPage+' p';
		var rightID = '#right_'+this.currentPage+' span';
		var contentID = '.content_'+this.currentPage;
		var locationID = '.locationText_'+this.currentPage;
		} else {
		var namesID = '#names_'+Number(index+1)+' p';
		var rightID = '#right_'+Number(index+1)+' span';
		var contentID = '.content_'+Number(index+1);
		var locationID = '.locationText_'+Number(index+1);
		}
			
		var cont = '.mainContent';
		$$(contentID).invoke('hide');
		$$(contentID)[0].show();

		$$(locationID).invoke('hide');
		$$(locationID)[index].show();
		
		$$(cont).invoke('hide');
		$$(cont)[index].show();
						
		$$(namesID).invoke('removeClassName', 'selected');
		$$(namesID)[index].addClassName('selected');

		//alert("curent="+this.currentPage+"\n Index="+index);
		
		$$(rightID).invoke('removeClassName', 'selected');
		$$(rightID)[index].addClassName('selected');
		
		$$('.mainContent').invoke('hide');
		$$('.mainContent')[index].show();
		
		
	},
	
	hideAndShowPage: function(index) {
		if(this.counter > 1){
			$$('#pagination span').invoke('removeClassName', 'selected');
			$$('#pagination span')[index].addClassName('selected');
		}
    		$$('.middleContent').invoke('hide');
		$$('.middleContent')[index].show();
		
	}/*,
  
	handleClicks: function(event) {
		event.stop();
		var element = event.element();
	    	
		if(element.descendantOf('pagination')){
			if (element.tagName.toLowerCase() == 'span') {
				var index = parseInt(element.innerHTML) - 1;
				this.switchPage(index);
				this.currentPage = index;
			}
		}
	
		if (element.tagName.toLowerCase() == 'p') {
			/*
			var index = parseInt(element.className.split("_")[1])
			this.switchPage(index);
			*/
			/*
			for (var index = 0; index < this.element[this.currentPage].childElements().length; index++) {
			if(this.element.childElements()[index].hasClassName('mainContent'))
				this.counter++;
			}
		}
	}*/
});








Team = Class.create({
	initialize: function(element, contents) {
		this.element = $(element);
		this.contents = contents || [];
		//this.buildInterface();
		this.addEvents();
		this.switchPage(0);
		this.hideAndShowContents(0);
		//this.hideContents(0);
		this.disableOthers('leitung');
	},
  
	addEvents: function() {
		this.element.observe('click', this.handleClicks.bind(this));
	},
  
	handleClicks: function(event) {
		event.stop();
		var element = event.element();
		
		if(element.descendantOf('teamMembers')){
			if (element.tagName.toLowerCase() == 'img') {
				var index = parseInt(element.className.split("_")[1]) - 1;
				this.switchPage(index);
				this.hideAndShowContents(index);
				var type = element.classNames();
				if(element.hasClassName('leitung'))
					$$('#types a.leitung').invoke('addClassName','selectType');
				else
					$$('#types a.leitung').invoke('removeClassName','selectType');
					
				if(element.hasClassName('verkauf'))
					$$('#types a.verkauf').invoke('addClassName','selectType');
				else
					$$('#types a.verkauf').invoke('removeClassName','selectType');

				if(element.hasClassName('bearbeitung'))
					$$('#types a.bearbeitung').invoke('addClassName','selectType');
				else
					$$('#types a.bearbeitung').invoke('removeClassName','selectType');

				if(element.hasClassName('buchhaltung'))
					$$('#types a.buchhaltung').invoke('addClassName','selectType');
				else
					$$('#types a.buchhaltung').invoke('removeClassName','selectType');

				if(element.hasClassName('logistik'))
					$$('#types a.logistik').invoke('addClassName','selectType');
				else
					$$('#types a.logistik').invoke('removeClassName','selectType');

				if(element.hasClassName('schreinerei'))
					$$('#types a.schreinerei').invoke('addClassName','selectType');
				else
					$$('#types a.schreinerei').invoke('removeClassName','selectType');
			}
		}
		
		
		if(element.descendantOf('types')){
			if (element.tagName.toLowerCase() == 'a') {
				element.removeClassName('selectType');
				var type = element.className;
				this.disableOthers(type);
				/*myArray = $('types').getElementsByClassName('selectType');*/
				$$('.selectType').invoke('removeClassName','selectType');
				/*
				for (var index = 0; index < myArray.length; ++index) {
					myArray[index].removeClassName('selectType');
				}
				*/
				element.addClassName('selectType');
			}
		}
				
	},
  
	switchPage: function(index) {
		//this.hideAndShowContents(index);
		this.disableOthers('content_'+(index+1));
	},
  
	hideAndShowContents: function(index) {
		$$('.content').invoke('hide');
		$$('.content')[index].show();
	},
	
	hideContents: function(index) {
		$$('.content').invoke('hide');
	},
	
	disableOthers: function(type){
		
		var myArray = $('teamMembers').childElements();
		for (var index = 0; index < myArray.length; ++index) {
				myArray[index].addClassName('disabled');
		}
		
		/*myArray = $('teamMembers').getElementsByClassName(type);*/
		/*myArray = $('teamMembers').select(type);*/
		$$('.'+type).invoke('removeClassName','disabled');
		/*
		for (var index = 0; index < myArray.length; ++index) {

				myArray[index].removeClassName('disabled');
		}
		*/
	}
});









Ausstellung = Class.create({
	initialize: function(element, contents) {
		this.element = $(element);
		this.contents = contents || [];
		this.buildInterface();
		this.addEvents();
	},
  
	buildInterface: function() {
		var count = 0;
		var page = 0;
		var div = new Element('div', { 'id': 'images_'+page, 'class': 'images'});
		$('images').appendChild(div);		
		
		/*
		var link = new Element('span').update(page+1);
      		$('pagination').appendChild(link);
		*/
		
		for (var i=0; i < this.contents.length; i++) {
			
			if(i != 0 && i % 4 == 0)
			{
				var br = new Element('br');
				div.appendChild(br);
			}
			if(i != 0 && i % 16 == 0)
			{
				page++;
				/*
					link = new Element('span').update(page + 1);
					$('pagination').appendChild(link);
				*/
				div = new Element('div', { 'id': 'images_'+page, 'class': 'images', 'style':'display:none'});
				$('images').appendChild(div);
			}
			
			/*var source = this.contents[i]['thumb'];*/
			var image = new Element('img', { 'className': 'thumbnails', 'src': this.contents[i]['thumb'], 'border':'0'});
			var a = new Element('a', { 'href': this.contents[i]['src'], 'rel': 'lytebox[gallery]', 'title': this.contents[i]['title']}).update(image);
			//.invoke("observe", "mouseover", function() {showPreview(this) });
			//, 'onmouseover':showPreview(this)
			div.appendChild(a);
		}
		$$("#images a").invoke("observe", "mouseover", function() {showPreview(this) });
		
		if(page > 0)
		{
			for(var index = 0; index <= page; index++)
			{
					var link = new Element('span').update(index+1);
      					$('pagination').appendChild(link);
			}
		}
		
	},

	addEvents: function() {
		this.element.observe('click', this.handleClicks.bind(this));
	},
  
	handleClicks: function(event) {
		event.stop();
		var element = event.element();
				
		if (element.tagName.toLowerCase() == 'span') {
			var index = parseInt(element.innerHTML) - 1;
			this.switchPage(index);
		}				
	},
  
	switchPage: function(index) {
		this.hideAndShowContents(index);
	},
  
	hideAndShowContents: function(index) {
		$$('.images').invoke('hide');
		$$('.images')[index].show();
	}
});









News = Class.create({
	initialize: function(element, number) {
		this.element = $(element);
		this.number = number;
		this.counter = 0;
		this.buildInterface();
		this.switchPage(0);
		this.addEvents();
	},
  
	buildInterface: function() {
		for (var index = 0; index < this.element.childElements().length; index++) {
			if(this.element.childElements()[index].hasClassName('newsPages'))
				this.counter++;
		}
		
		if(this.counter > 1)
		{
			for (var index = 1; index <= this.counter; index++) {
				var link = new Element('span').update(index);
      				$('pagination').appendChild(link);
			}
		}
	},

	addEvents: function() {
		this.element.observe('click', this.handleClicks.bind(this));
	},
  
	handleClicks: function(event) {
		/*event.stop();*/
		var element = event.element();
				
		if (element.tagName.toLowerCase() == 'span') {
			var index = parseInt(element.innerHTML) - 1;
			this.switchPage(index);
		}				
	},
  
	switchPage: function(index) {
		this.hideAndShowContents(index);
	},
  
	hideAndShowContents: function(index) {
		$$('.newsPages').invoke('hide');
		$$('.newsPages')[index].show();
	}
});










// extern eingebunden js file
Referenzen = Class.create({
	initialize: function(element) {
		this.element = $(element);
		this.counter = 0;
		this.currentPage = 0;
		this.buildInterface();
		this.addEvents();
		this.switchPage(0);
	},
  
	buildInterface: function() {
  		for (var index = 0; index < this.element.childElements().length; index++) {
			if(this.element.childElements()[index].hasClassName('mainContent'))
				this.counter++;
		}
		
		if(this.counter > 1) {
			for(var index = 0; index < this.counter; index++) {
				var link = new Element('span').update(index+1);
				$('pagination').appendChild(link);
			}
		}
		
	},
  
	addEvents: function() {
		this.element.observe('click', this.handleClicks.bind(this));
	},
  
	handleClicks: function(event) {
		event.stop();
		var element = event.element();
	    	
		if(element.descendantOf('pagination')){
			if (element.tagName.toLowerCase() == 'span') {
				var index = parseInt(element.innerHTML) - 1;
				this.switchPage(index);
				this.currentPage = index;
			}
		}
	
		if (element.tagName.toLowerCase() == 'p') {
			/*
			var index = parseInt(element.className.split("_")[1])
			this.switchPage(index);
			*/
			/*
			for (var index = 0; index < this.element[this.currentPage].childElements().length; index++) {
			if(this.element.childElements()[index].hasClassName('mainContent'))
				this.counter++;
			}
			*/
		}
	},
  
	switchPage: function(index) {
		this.hideAndShowContents(index);
		/*
		$$('#names p').invoke('removeClassName', 'selected');
		$$('#names p')[index].addClassName('selected');
		$$('#right span').invoke('removeClassName', 'selected');
		$$('#right span')[index].addClassName('selected');
		*/
	},
  
	hideAndShowContents: function(index) {
		$$('.mainContent').invoke('hide');
		$$('.mainContent')[index].show();
	}
	
});




// auf der jew. seite
/*
document.observe('dom:loaded', function() {
  blubb = new Bla('element_id', [{ name: 'lala', element_id: 'blabla', infoText: 'fjshjdf hjsdf ' }]);
})
*/

