/////////////////////////////////////////////////////////
//
// MENU CLASS
//
var menue = new Class({

	initialize: function(picto_container, picto_items, pictos_small, pictos_large, menu_items, menu_a, menu_b, activ_index){
		this.container = picto_container;
		this.picto_items = picto_items;
		this.small = pictos_small;
		this.large = pictos_large;
		
		this.menu_items = menu_items;
		this.menu_a = menu_a;
		this.menu_b = menu_b;
		
		this.activ_index = activ_index;
		
		if(this.activ_index >= 0){
			var left = this.container.getStyle('left').toInt();
			this.container.setStyle('left', (left - 11) + 'px');
		}

		this.picto_items.each(function(el, i) {
								 
			el = $(el);
			
			var div = new Element('div').setStyles({
				float: 'left',
				width: '25px',
				height: '36px',
				padding: '2px',
				backgroundRepeat: 'no-repeat',
				backgroundPosition: 'center',
				cursor: 'hand'
			});
			
			if(window.ie && !window.ie7) {
				div.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + this.small[i] + '\')';
				div.setStyles({
					height: '25px',
					padding: '0px',
				 	margin: '2px',
					marginTop: '6px',
					position: 'relative',
					'z-index': 1000
				});
			} else {
				div.setStyles({
				 	backgroundImage: 'url(' + this.small[i] + ')',
					position: 'relative',
					'z-index': 1000
				});
			}
			
			el.replaceWith(div);
			el = null;
			
			this.picto_items[i] = div;
			
			if(i != this.activ_index){				 
				div.addEvent('mouseenter', function() { this.magnify(i); }.bind(this));
				div.addEvent('mouseleave', function() { this.shrink(i); }.bind(this));
			}
			
			// Menu - links
			this.menu_items[i] = $(this.menu_items[i]);
			
			if(i != this.activ_index){
				this.menu_items[i].addEvent('mouseenter', function() { this.magnify(i); }.bind(this));
				this.menu_items[i].addEvent('mouseleave', function() { this.shrink(i); }.bind(this));
			}
		}, this);
		
		this.magnify(this.activ_index);
	},
	magnify: function(id){
		if(id >= 0){
			if(id != this.activ_index) this.shrink(this.activ_index);
			
			el = this.picto_items[id];
			
			el.setStyles({
					width: '36px',
					height: '36px',
					padding: '2px'
			});
			
			if(window.ie && !window.ie7) {
				el.runtimeStyle.filter = '';
				el.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + this.large[id] + '\')';
				
				el.setStyles({
					padding: '0px',
					margin: '2px',
					marginTop: '0px'
				});
			} else {
				el.setStyle('background-image', 'url(' + this.large[id] + ')');
			}
			
			if(this.activ_index < 0){
				var left = this.container.getStyle('left').toInt();
				this.container.setStyle('left', (left - 11) + 'px');
			}
			
			// menu - links
			this.menu_items[id].setProperty('src', this.menu_b[id]);
		}
	},
	shrink: function(id){
		if(id >= 0){
			if(id != this.activ_index) this.magnify(this.activ_index);
			
			el = this.picto_items[id];
			
			el.setStyles({
					width: '25px',
					height: '36px',
					padding: '2px'
			});
			
			if(window.ie && !window.ie7) {
				el.runtimeStyle.filter = '';
				el.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + this.small[id] + '\')';
				
				el.setStyles({
					height: '25px',
					padding: '0px',
					margin: '2px',
					marginTop: '6px'
				});
			} else {
				el.setStyle('background-image', 'url(' + this.small[id] + ')');
			}
			
			if(this.activ_index < 0){
				var left = this.container.getStyle('left').toInt();
				this.container.setStyle('left', (left + 11) + 'px');
			}
			
			// menu - links
			if(id != this.activ_index) this.menu_items[id].setProperty('src', this.menu_a[id]);
		}
	}
});

/////////////////////////////////////////////////////////
//
// Bilder vorladen
//
var preloadImages = function(images){
	images.each(function(img){
		new Element('img').setProperty('src', img);
	});
};


/////////////////////////////////////////////////////////
//
// Seitenaufruf
//
window.addEvent('domready', function(){

	var picto_els = [
					 'pict_kalender', 
					 'pict_veranstaltungsorte', 
					 'pict_essen', 
					 'pict_kunst', 
					 'pict_party', 
					 'pict_kino', 
					 'pict_bildung', 
					 'pict_sport', 
					 'pict_shopping', 
					 'pict_uebernachtung', 
					 'pict_journal', 
					 'pict_werbung', 
					 'pict_kontakt'
					 ];
	
	var picto_imgs_small = [
					  'grafiken/pictogramme/kalender.png', 
					  'grafiken/pictogramme/veranstaltungsorte.png', 
					  'grafiken/pictogramme/essen.png', 
					  'grafiken/pictogramme/kunst.png', 
					  'grafiken/pictogramme/party.png', 
					  'grafiken/pictogramme/kino.png', 
					  'grafiken/pictogramme/bildung.png', 
					  'grafiken/pictogramme/sport.png', 
					  'grafiken/pictogramme/shopping.png', 
					  'grafiken/pictogramme/uebernachtung.png', 
					  'grafiken/pictogramme/journal.png', 
					  'grafiken/pictogramme/werbung.png', 
					  'grafiken/pictogramme/kontakt.png'
					  ];
	
	var picto_imgs_large = [
					  'grafiken/pictogramme/kalender_gross.png', 
					  'grafiken/pictogramme/veranstaltungsorte_gross.png', 
					  'grafiken/pictogramme/essen_gross.png', 
					  'grafiken/pictogramme/kunst_gross.png', 
					  'grafiken/pictogramme/party_gross.png', 
					  'grafiken/pictogramme/kino_gross.png', 
					  'grafiken/pictogramme/bildung_gross.png', 
					  'grafiken/pictogramme/sport_gross.png', 
					  'grafiken/pictogramme/shopping_gross.png', 
					  'grafiken/pictogramme/uebernachtung_gross.png', 
					  'grafiken/pictogramme/journal_gross.png', 
					  'grafiken/pictogramme/werbung_gross.png', 
					  'grafiken/pictogramme/kontakt_gross.png'
					  ];
	
	// Bilder vorladen
	preloadImages(picto_imgs_large);
	
	var menue_els = [
					 'menue_kalender', 
					 'menue_veranstaltungsorte', 
					 'menue_essen', 
					 'menue_kunst', 
					 'menue_party', 
					 'menue_kino', 
					 'menue_bildung', 
					 'menue_sport', 
					 'menue_shopping', 
					 'menue_uebernachtung', 
					 'menue_journal', 
					 'menue_werbung', 
					 'menue_kontakt'
					 ];
	
	var imgs_menue_a = [
					  'grafiken/menue/kalender_a.gif', 
					  'grafiken/menue/veranstaltungsorte_a.gif', 
					  'grafiken/menue/essen_a.gif', 
					  'grafiken/menue/kunst_a.gif', 
					  'grafiken/menue/party_a.gif', 
					  'grafiken/menue/kino_a.gif', 
					  'grafiken/menue/bildung_a.gif', 
					  'grafiken/menue/sport_a.gif', 
					  'grafiken/menue/shopping_a.gif', 
					  'grafiken/menue/uebernachtung_a.gif', 
					  'grafiken/menue/journal_a.gif', 
					  'grafiken/menue/werbung_a.gif', 
					  'grafiken/menue/kontakt_a.gif'
					  ];
	
	var imgs_menue_b = [
					  'grafiken/menue/kalender_b.gif', 
					  'grafiken/menue/veranstaltungsorte_b.gif', 
					  'grafiken/menue/essen_b.gif', 
					  'grafiken/menue/kunst_b.gif', 
					  'grafiken/menue/party_b.gif', 
					  'grafiken/menue/kino_b.gif', 
					  'grafiken/menue/bildung_b.gif', 
					  'grafiken/menue/sport_b.gif', 
					  'grafiken/menue/shopping_b.gif', 
					  'grafiken/menue/uebernachtung_b.gif', 
					  'grafiken/menue/journal_b.gif', 
					  'grafiken/menue/werbung_b.gif', 
					  'grafiken/menue/kontakt_b.gif'
					  ];
	
	// Bilder vorladen
	preloadImages(imgs_menue_b);
									 
	var meinMenue = new menue($('pictogramme'), picto_els, picto_imgs_small, picto_imgs_large, menue_els, imgs_menue_a, imgs_menue_b, index_der_aktiven_seite);
	
	// Alle "title"-Attribute entfernen
	$$(document.getElements('a[title]')).each(function(el){ 
		el.removeProperty('title');
	});
	$$(document.getElements('img[title]')).each(function(el){ 
		el.removeProperty('title');
	});
	
	// Suchworte highlighten
	new Highlighter({element: $E('.inhalt_wrapper')}).highlightSearchTerms(suchQuery || '');
	
	// Suchfeld "oben"
	if($('suche_oben_textfeld'))
	{
		$('suche_oben_textfeld').addEvents({
			focus: function(){
				if(this.value == this.defaultValue) this.value = '';
			},
			blur: function(){
				if(this.value == '') this.value = this.defaultValue;
			}
		});
	}
});