/**
 * @author User
 */
window.addEvent('domready', function() {

	ic_news();
	ic_music();

});

var ic_news = function()
{

	if ($('ic_news_box_cont')) {
		var to_news_summary_ids = ['to_news_summary', 'to_news_summary_pol'];
		// beim ersten laden top-news reinladen
		//$('ic_news_content').load('/_pool/func/info_container/polizeimeldungen/topnews_topics.inc.html');

		new Request({
			url: '/_pool/func/info_container/news/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) {

				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
		to_news_summary_ids.each(function(to_news_summary) {
			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/polizeimeldungen/' + id + '_topics.inc.html');
			
			new Request({
				url: '/_pool/func/info_container/news/' + 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;
}
