/**
 * @author User
 */
window.addEvent('domready', function() {

	ic_news();
	ic_music();

});

var ic_news = function()
{
	if ($('ic_news_box_cont')) {

		// beim ersten laden top-news reinladen
		//$('ic_news_content').load('/_pool/func/info_container/news_container/topnews_topics.inc.html');
		new Request({
			url: '/_pool/func/info_container/news_container/topnews_topics.inc.html',
			onComplete: function(content) {
				$('ic_news_content').set('html', content);
			}
		}).send();

		//==========================
		// mehr Nachrichten / alternative News anzeigen
		//==========================
		var first_click = true;

		$('ic_more_news').addEvent('click', function(e)
		{
			e.stop();
			var ic1 = new Fx.Morph('ic1');
			var cont_main = $('ic_news_cont');
			var ic1_cont_main = new Fx.Morph('ic_news_box_cont');
			var news_summary_fx = new Fx.Morph('ic_news_summary');
			var news_full_fx = new Fx.Morph('ic_news_full');

			var news_full_pos = $('ic_news_full').getPosition();


			var ic2 = new Fx.Morph('ic2');

			if (isserIe() && first_click == true) {
//				$('ic2').getElements('[class*=cont_]').each(function(el)
//				{
//
//					var background_image = el.getStyle('background-image');
//					var i = background_image.indexOf('/images/');
//					var j = background_image.lastIndexOf('")');
//					background_image = background_image.substring(i, j);
//
//					el.setStyles({
//						'background': 'none',
//						'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + background_image + '", sizingMethod="scale")'
//					});
//				});
				var el = $('ic2_bg');

					var background_image = el.getStyle('background-image');

					var i = background_image.indexOf('/images/');
					var j = background_image.lastIndexOf('")');

					background_image = background_image.substring(i, j);

					el.setStyles({
						'background': 'none',
						'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + background_image + '", sizingMethod="scale")'
					});
			}

			first_click = false;


			// Summary News ausblenden
			news_summary_fx.start({
				opacity: 0
			});

			// zweite Content-Box ausblenden
			ic2.start({
				opacity: 0
			}).chain(function()
			{

				// News-Box ausfahren
				ic1.start({
					width: 413
				});

				var content_fx = function()
				{
					ic1_cont_main.start({
						width: 392
					}).chain(function()
					{

						cont_main.scrollTo(0, 184);
						// Full News einblenden
						news_full_fx.start({
							opacity: 1
						});
					});
				}

				content_fx.delay(20);


			})

		});
		//==========================

		// komplette News-container zurück auf den kleinen Übersichts-Container setzen
		if ($('ic_news_cont')) {
			$('ic_news_cont').scrollTo(0, 0);
		}

		// Zusammensliden der weiteren Nachrichten
		if ($('to_news_summary')) {
			$('to_news_summary').addEvent('click', function(e)
			{
				e.stop();
				var ic1 = new Fx.Morph('ic1');
				var cont_main = $('ic_news_cont');
				var ic1_cont_main = new Fx.Morph('ic_news_box_cont');
				var news_summary_fx = new Fx.Morph('ic_news_summary');
				var news_full_fx = new Fx.Morph('ic_news_full');

				var news_full_pos = $('ic_news_full').getPosition();


				var ic2 = new Fx.Morph('ic2');

				// Summary News ausblenden
				news_full_fx.start({
					opacity: 0
				}).chain(function()
				{


					ic1_cont_main.start({
						width: 192
					}).chain(function()
					{

						// zweite Content-Box einblenden
						ic2.start({
							opacity: 1
						});

						cont_main.scrollTo(0, 0);
						// Full News einblenden
						news_summary_fx.start({
							opacity: 1
						});
					});

					var box_fx = function()
					{
						// News-Box ausfahren
						ic1.start({
							width: 213
						});
					}

					box_fx.delay(20);
				});

			});
		}

		// weitere Nachrichten laden
		document.getElements('.ic_news_nav_link').addEvent('click', function(e)
		{
			e.stop();

			var id = this.getProperty('id');

			//$('ic_news_content').load('/_pool/func/info_container/news_container/' + id + '_topics.inc.html');
			new Request({
				url: '/_pool/func/info_container/news_container/' + id + '_topics.inc.html',
				onComplete: function(content) {
					$('ic_news_content').set('html', content);
				}
			}).send();
		});
	}
}

var ic_music = function()
{
	if ($('slides')) {
		// alle Slides ermitteln
		var slides_arr = document.getElements('.slides');

		// Slide-Größe ermitteln
		var slide_size = slides_arr[0].getSize();

		// erste Slide clonen und ans Ende stellen
//		var last_slide_el = slides_arr[0].clone(true, true);
//		last_slide_el.setProperty('id', 'slide_last');
//		last_slide_el.setStyles({
//			'width': slide_size.x,
//			'height': slide_size.y
//		});
//		$('slides').adopt(last_slide_el);
//		slides_arr.include(last_slide_el);



		// Anzahl der Slides ermitteln
		var slide_cnt = slides_arr.length;
//$('mainRi').set('html', slide_size.x.toInt()+'*'+slide_cnt+'='+slide_size.x.toInt() * slide_cnt);
		$('slides').setStyle('width', slide_size.x.toInt() * slide_cnt);

		var slides = [];

		slides_arr.each(function(slide, index)
		{
			var id = slide.getProperty('id');
			var name = slide.getProperty('title');
			var pos = slide.getPosition('slides');
			slides[index] = {
				'id': id,
				'name': name,
				'pos_x': pos.x
			};

			var ls_pos = $('slide_last').getPosition('slides');

			var last_slide = {
				'id': 'last_slide',
				'pos_x': ls_pos.x
			}



			slide.getElements('.slides_nav a').addEvent('click', function(e)
			{
				e.stop();

				if (this.getParent('[class=slides]').getProperty('id') == slides[0].id) {
					slide = slides_arr[0];
				}

				var go_to_slide;

				// backward
				if (this.hasClass('left')) {
					var slide_index = index - 1;

					// ist der erste Slide
					if (typeof(slides[slide_index]) == 'undefined') {
						// key des slides for dem letzten bestimmen
						var before_last = slide_cnt - 2;

						// diesen slide übergeben
						go_to_slide = slides[before_last];

						// auf den letzten Slide positionieren
						$('slides').setStyle('margin-left', last_slide.pos_x.toInt() * -1);
						slide = slides_arr.getLast();
					}

					// alle anderen Slides
					else {
						go_to_slide = slides[slide_index];
					}

				}
				// forward
				else if (this.hasClass('right')) {
					var slide_index = index + 1;

					if (slide_index == slide_cnt) {
						go_to_slide = slides[0];
					}
					else {
						go_to_slide = slides[slide_index];
					}
				}


				// slide to go_to_slide
				var slideFx = new Fx.Morph('slides', {
					'duration': 500,
					'transition': Fx.Transitions.Sine.easeInOut
				});

				var navFx = new Fx.Morph(slide.getElement('.slides_nav'), {
					'duration': 150,
					'transition': Fx.Transitions.Sine.easeOut
				});
				var navToFx = new Fx.Morph($(go_to_slide.id).getElement('.slides_nav'), {
					'duration': 150,
					'transition': Fx.Transitions.Sine.easeOut
				});

				navToFx.set({
					'opacity': 0
				});

				// Navigation vom aktuellen Slide ausblenden (alte Slide)
				navFx.start({
					'opacity': 0
				}).chain(function()
				{

					// sliden
					slideFx.start({
						'margin-left': go_to_slide.pos_x.toInt() * -1
					}).chain(function()
					{

						// Navigation des aktuellen Slides anzeigen (neue Slide)
						navToFx.start({
							'opacity': 1
						}).chain(function()
						{
							// wenn es der letzte Slide (dynamisch eingefügter 1. Slide) ist,
							// auf den ersten Slide zurückspringen
							if (go_to_slide.id == 'slide_last') {
								$('slides').setStyle('margin-left', 0);
								$('slides').getElements('.slides_nav').setStyle('opacity', 1);
							}
						});
					});
				});
			});
		});

		slides_arr.each(function(slide, index)
		{
			if (index == 0) {
				var before = slide_cnt - 2;
				var after = index + 1;
			}
			else if (index == slide_cnt - 1) {
				var before = index - 1;
				var after = 1;

			}
			else {
				var before = index - 1;
				var after = index + 1;
			}

			var slide_name_before = slides[before].name;
			var slide_name_after = slides[after].name;

			slide.getElement('a[class*=left]').set('html', slide_name_before);
			slide.getElement('a[class*=right]').set('html', slide_name_after);
		});


		/* CHARTS */
		document.getElements('table[class*=ic_charts] tbody tr:even').addClass('bg1');
		document.getElements('table[class*=ic_charts] tbody tr:odd').addClass('bg2');
	}
}

/**
 * gibt true bei Ie zurück
 * @return bool
 */
function isserIe () {
	var agt=navigator.userAgent.toLowerCase();

	if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
		return true;
	}
	return false;
}
