active_menu = 'news';
menu_names = ['news', 'band', 'live', 'fotos', 'music', 'videos', 'merch', 'guests', 'contact'];
menu_entries = new Array();
menu_functions = new Array();
entries_loaded = new Array();

function open_entry(entry){
	menu_entries[entry].menu.fireEvent('mouseenter');
	menu_entries[entry].active.fireEvent('click');
}

var MenuEntry = new Class({

	initialize: function (entry) {

		this.entry = entry;
		this.div = $(entry+'_div');
		this.menu = $(entry+'_menu');
		this.active = $(entry+'_active');

		this.active.set('morph', {
			duration: 125,
			link: 'cancel'
		});

		this.div.addEvent('mouseleave', function() {
			if (active_menu != this.entry){
				if (Browser.Engine.trident)
					this.active.morph(this.active.get('id')+'_normal');
				else
					this.active.morph('img#'+this.active.get('id')+'.normal');
				this.div.setStyle('z-index', 10);
			}
		}.bind(this));
	
		this.menu.addEvent('mouseenter', function() {
			if (Browser.Engine.trident)
				this.active.morph(this.active.get('id')+'_hover');
			else
				this.active.morph('img#'+this.active.get('id')+'.hover');
			this.div.setStyle('z-index', 50);
		}.bind(this));

		this.active.addEvent('click', function() {

			if (active_menu != this.entry){

				hidediv = $(active_menu+'_div');
				hideentry = $(active_menu+'_entry_div');
				showentry = $(this.entry+'_entry_div');
				updatediv = $(this.entry+'_entry_content');
				active_menu = this.entry;
				hidediv.fireEvent('mouseleave');		
				this.div.setStyle('z-index', 20);

				hideFx = new Fx.Tween(hideentry, {
					property: 'opacity',
					duration: 150
				});

				showFx = new Fx.Tween(showentry, {
					property: 'opacity',
					duration: 150
				});

				if (!entries_loaded[this.entry]){

					new Request.HTML({
						url: this.entry+'.php',
						method: 'get',
						update: this.entry+'_entry_content',
						onComplete: function(){

							updatediv.addEvent('load', menu_functions[active_menu]());
	
							hideFx.start(1,0);
							showFx.start(0,1);
							hideentry.setStyle('z-index', -5);
							showentry.setStyle('z-index', 5);
						}
					}).send();
					entries_loaded[this.entry] = true;
				}else{
						updatediv.addEvent('load', menu_functions[active_menu]());

						hideFx.start(1,0);
						showFx.start(0,1);
						hideentry.setStyle('z-index', -5);
						showentry.setStyle('z-index', 5);
				}
			}
	
		}.bind(this));
	}
});



var load_news = function(){
	$('newsletter_form').addEvent('submit', function(e){
		e.stop();

		var req = new Request.HTML({
		  url: 'newsletter_anmeldung.php',
		  data: $('newsletter_form'),
		  update: $('newsletter_content') 
		}).send();  
	});

   var nmp = new SWFObject("playerMultiple.swf", "nmp", "192", "95", "7", "#000000");  
   nmp.addVariable("autoPlay","no")
   nmp.addVariable("playlistPath","shf_playlist.xml")
   nmp.write("news_music_player");

}

var load_band = function(){
	//alert('band');
}



var load_live = function(){

	start_top = 0;
	left = 0;
	top_pos = start_top;
	w_gap = 500;
	h_gap = 0;

	div_cont = $('all_concerts');

	elem_count=0;
	kids = div_cont.childNodes.length;
	i=0;

	while(i < kids){
		if(div_cont.childNodes[i].nodeType != 3){
			elem_count++;
		}
		i++;
	}


	for (var i=0;i<elem_count;i++){
		element=$('gig_'+i);

		if (top_pos + element.offsetHeight > 500){
			left += w_gap;
			top_pos = start_top;
		}		

		element.setStyle('top', top_pos+'px');
		element.setStyle('left', left+'px');

		top_pos += element.offsetHeight + h_gap;
	}

	maxleft = -left;

	slide_Fx = new Fx.Tween('all_concerts',{
		property: 'left',
		duration: 250,
		transition: Fx.Transitions.Quart.easeInOut,
		link: 'ignore'
	});	

	$('live_next').addEvent('click', function() {
		leftstr = $('all_concerts').getStyle('left');
		left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));
		if (left-500 == maxleft)
			$('live_next').tween('opacity', 0);

		if ( left-500 >= maxleft)
			slide_Fx.start(left, left-500);
		
		$('live_back').tween('opacity', 100);

	});

	$('live_back').addEvent('click', function() {
		leftstr = $('all_concerts').getStyle('left');
		left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));
		if (left+500 == 0)
			$('live_back').tween('opacity', 0);

		if (left+500 <= 0)
			slide_Fx.start(left, left+500);

		$('live_next').tween('opacity', 100);
		
		
	});

	leftstr = $('all_concerts').getStyle('left');
	left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));
	
	if (left==0)
		$('live_back').setStyle('opacity', 0);
	else
		$('live_back').setStyle('opacity', 100);

	if (left==maxleft)
		$('live_next').setStyle('opacity', 0);
	else
		$('live_next').setStyle('opacity', 100);	
}

var load_fotos = function(){

	var data;

	var jsonRequest = new Request.JSON({
		url: 'fotosammlung.php',
		onSuccess: function(responseJSON, responseText){
			data = JSON.decode(responseText);
			myShow = new Slideshow('show', data, {delay: 4000, controller: true, height: 310, hu: '../fotos/CD Release Party/images/', thumbnails: false, width: 470});
		}
	}).send();

/*    var data = {
      '1.jpg': {}, 
      '2.jpg': {}, 
      '3.jpg': { caption: 'pic 3' }, 
      '4.jpg': { caption: 'pic 4' },
      '5.jpg': { caption: 'pic 5' }, 
      '6.jpg': { caption: 'pic 6' }, 
      '7.jpg': { caption: 'pic 7' },
      'end.jpg':{}
    };
    myShow = new Slideshow('show', data, {delay: 4000, controller: true, height: 310, hu: 'fotos/', thumbnails: false, width: 470});*/
}

var load_music = function(){
   var so = new SWFObject("playerMultipleList.swf", "mymovie", "250", "200", "7", "#000000");  
   so.addVariable("autoPlay","no")
   so.addVariable("playlistPath","shf_playlist.xml")
   so.write("music_player");
}

var load_videos = function(){
	var so = new SWFObject('mediaplayer/player.swf','mpl','450','337','9');
	so.addParam('allowfullscreen','true');
	so.addParam('allowscriptaccess','always');
	so.addParam('wmode','opaque');
	so.addVariable('playlistfile','http://gdata.youtube.com/feeds/api/playlists/91C89225C2DAA2F3');
	so.addVariable('backcolor','000000');
	so.addVariable('frontcolor','cccccc');
	so.addVariable('lightcolor','333333');
	so.addVariable('playlistsize','200');
	so.addVariable('skin','http://www.longtailvideo.com/jw/upload/stylish.swf');
	so.addVariable('controlbar','over');
	so.addVariable('playlist','over');
	so.write('videoplayer');
}

var load_merch = function(){
	$('buy_form').setStyle('opacity', 0.0);
	$('buy_form').setStyle('t-Index', -10);

	$('buy_form').set('tween',{
		duration: 300,
		transition: Fx.Transitions.Quart.easeInOut,
		link: 'ignore'
	});

//	$('bestellen').addEvent('click', function(){
//		$('buy_form').setStyle('z-Index', 10);
//		$('buy_form').tween('opacity', 1);
//	});

	$('merch_form').addEvent('submit', function(e){
		e.stop();
	});

//	$('bestellen').addEvent('click', function(){
	//	$('buy_form').setStyle('z-Index', 10);
		//$('buy_form').tween('opacity', 1);
//	});

	$('buymerch').addEvent('click', function(){
		alert('Vielen Dank für die Bestellung!');
		
		$('buy_form').tween('opacity', 0.0);
		$('buy_form').tween('z-Index', -10);
	});

   milkbox = new Milkbox({ topPosition:150 });


}

var load_guests = function(){

 /*   var lang = {
        SERVER_ERROR: "<?php _e('An error has occurred.'); ?>",
        COMMENTS_LOADED: "<?php _e('All comments have been loaded.'); ?>",
        LOADING: "<?php _e('Loading...'); ?>",
        ERROR: "<?php _e('Your comment could not be added. Please try again later.'); ?>",
        COMMENTS_LOADING: "<?php _e('More comments are loading. If you are using the scrollbar, please release your mouse.') ?>"
    };

	Guestbook.initialize.pass(['jb_addComment', 'jb_comments', 'jb_message', 'jb_loading_message', lang], Guestbook);*/


	$('guests_add').setStyle('opacity', 0.0);
	$('guests_add').setStyle('z-Index', -10);

	$('guests_add').set('tween',{
		duration: 300,
		transition: Fx.Transitions.Quart.easeInOut,
		link: 'ignore'
	});

	$('add_button').addEvent('click', function(){
		$('guests_add').setStyle('z-Index', 10);
		$('guests_add').tween('opacity', 1);
	});

	start_top = 0;
	left = 0;
	top_pos = start_top;
	w_gap = 500;
	h_gap = 0;
	div_cont = $('jb_comments');

	kids = div_cont.childNodes.length;
	i=0;

	while(i < kids){
		if (Browser.Engine.trident) element = $(div_cont.childNodes[i].id);
		else element = div_cont.childNodes[i];

		if(element.nodeType != 3){

			if (top_pos + element.offsetHeight > 470){
				left += w_gap;
				top_pos = start_top;
			}		

			element.setStyle('top', top_pos+'px');
			element.setStyle('left', left+'px');

			top_pos += element.offsetHeight + h_gap;
		}
		i++;
	}

	guests_maxleft=-left;

	slide_Fx = new Fx.Tween('jb_comments',{
		property: 'left',
		duration: 250,
		transition: Fx.Transitions.Quart.easeInOut,
		link: 'ignore'
	});	

	$('guests_next').addEvent('click', function() {
		leftstr = $('jb_comments').getStyle('left');
		left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));
		
		if (left-500 == guests_maxleft)
			$('guests_next').tween('opacity', 0);
		
		if ( left-500 >= guests_maxleft)
			slide_Fx.start(left, left-500);
			
		$('guests_back').tween('opacity', 100);
	});

	$('guests_back').addEvent('click', function() {
		leftstr = $('jb_comments').getStyle('left');
		left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));

		if (left+500 == 0)
			$('guests_back').tween('opacity', 0);

		if (left+500 <= 0)
			slide_Fx.start(left, left+500);

		$('guests_next').tween('opacity', 100);
					
	});
	
	leftstr = $('jb_comments').getStyle('left');
	left = parseInt(leftstr.substring(0,leftstr.indexOf('p')));
	
	if (left==0)
		$('guests_back').setStyle('opacity', 0);
	else
		$('guests_back').setStyle('opacity', 100);

	if (left==guests_maxleft)
		$('guests_next').setStyle('opacity', 0);
	else
		$('guests_next').setStyle('opacity', 100);
	


	$('jb_addComment').addEvent('submit', function(e){
		e.stop();

		var req = new Request({
			url: 'actions/add.php',
			data: $('jb_addComment'),
			onSuccess: function(text, xml){
				var comment = JSON.decode(text);

				if (comment.value==1) { //alles korrekt

					$('guests_add').tween('opacity', 0.0);

					var guest_req = new Request.HTML({
						url: 'guests.php',
						update: 'guests_entry_content',
						onComplete: function(){
							load_guests();
						}
						
					}).send();
					
					
				} else {
					alert(comment.message);
				}
			}
		}).send();  
	});

}

var load_contact = function(){
}


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

//	$('whole').set('opacity', 0.0);

	$('startbilddiv').set('tween', {
		duration: 500,
		transition: Fx.Transitions.Back.easeIn,
		onComplete: function() { 
			$('schwarzer_vorhang').tween('opacity', 1.0, 0.0);
		}
	});

	$('schwarzer_vorhang').set('tween', {
		onComplete: function() {
			$('news_entry_div').addEvent('load', menu_functions[active_menu]());
		}
	});


	$('hintergrundbild').addEvent('load', function() {

		new Request.HTML({
			url: 'news.php',
			method: 'get',
			update: 'news_entry_content',
			onComplete: function(){

				$('news_div').setStyle('z-index', 50);

				$('news_entry_div').set('opacity', 1.0);
				$('news_entry_div').setStyle('z-index', 5);
				entries_loaded['news'] = true;

				$('startbilddiv').tween('margin-top', 200,-200);			
			}
		}).send();
	});

	var background_images = new Array();

	menu_names.each(function(item){
		menu_entries[item] = new MenuEntry(item);

		background_images[item] = new Image();
		background_images[item].src = 'images/'+item+'bg.jpg';

		$(item+'_entry_div').setStyle('z-index', -5);
		$(item+'_entry_div').set('opacity', 0.0);
	
		menu_functions[item] = eval('load_'+item);
		entries_loaded[item] = false;

	});

});


