/**
*   file:           slideshow-0.1.js
*
*   function:       slideshow
*   begin:          jan.2009
*   copyright:      © 2009 <i-D> internet + Design GmbH & Co. KG
*                   Erfurter Str. 35
*                   99423 Weimar
*                   Deutschland
*                   Fon:     03643 7785 0
*                   Fax:     03643 7785 29
*                   E-Mail:  office@i-d.de
*                   Web:     http://www.i.d.de/
*   author:         Michael Waack <m.waack@i-d.de>
*
*/

// lädt style nach (noscript-hack)
function getStyle(content) {
	if (content) {
		idTools.addStyle("/de/css/slideshow/slideshow-content-js.css");
		if(navigator.userAgent.indexOf('MSIE 6')>-1)
			idTools.addStyle('/de/css/slideshow/slideshow-ie-content.css');	}
	else {
		document.write('<link href="/de/css/slideshow/slideshow-js.css" rel="stylesheet" media="screen" type="text/css" />');
		if(navigator.userAgent.indexOf('MSIE 6')>-1)
			document.write('<link href="/de/css/slideshow/slideshow-ie.css" rel="stylesheet" media="screen" type="text/css" />');
	}
	
}

// Wchsellt die container
var timespandefault = 5; // standard ist 5 sekunden
var timespan = 5; // standard ist 5 sekunden

var active = true;
var action = false;
var DEBUG = false;
var counter;
var countSlides = 0;
var opacity = 0;
var aktiv = null;
var i = 100;
var m_href = new Array();
var m_linktext = new Array();
var curSlide = 0;
var oldShow = 0;
var oldHide = 0;
var curInterval;

function slide(itemShow,itemHide) {
	if (aktiv != null)
		return;
	
	if (action) {
		action = false;
		return;
	}
	oldShow=itemShow;
	oldHide=itemHide;
	if (!$("slider_" + itemShow)) itemShow = 0;
		
	if (DEBUG == true) $('debug').innerHTML = "1: " +  itemShow + "  " + itemHide;

	$("slider_" + (itemShow)).style.display = "inline";
	//$("slideOuter").setAttribute("title",m_linktext[itemShow]); // + ' : ' + m_href[itemShow]);
	
	// fading starten
	
	aktiv = window.setInterval("fadeOut(" + itemShow + "," + itemHide + ")",10);
	
	// reiter?
	if ($('tab' + itemHide)) {
		$('tab' + itemHide).style.background = '#ccc';	
		$('tab' + itemShow).style.background = '#cc0000';
	}
	
	itemHide = itemShow;
	itemShow ++;

	if (active == true ) {
		try {
			curInterval = window.setTimeout("slide(" + itemShow + "," + itemHide + ")", (timespan * 1000));
		} catch (e){
			curInterval = window.setTimeout("slide(" + itemShow + "," + itemHide + ")", (timespandefault * 1000));
		}
	}
}



function fadeOut(itemShow,itemHide)
{
	curSlide = itemShow;
	if( opacity > 100 ) {
		window.clearInterval(aktiv);
		aktiv = null;
		if (itemHide >-1) $("slider_" + itemHide).style.display = "none";
		for (var i=0;i<countSlides;i++)
			if($("slider_" + (i)) && i != itemShow) $("slider_" + (i)).style.display = "none";
		
		opacity = 0;
	} else {
		opacity ++;
		setSlide(itemShow,itemHide,opacity);
	}
}

function slideTab(item)
{
	if (active == true)
	{
		active = false;
		slide(item);
		action = true;
	} else {
		action = false;
		active = true;
		slide(item);
	}
}


// Startet die slideshow
function slideInit()
{
	
	//if (!idTools.RequireReady("prototype")) return;
	// ohne css kein slide
	if($('slideOuter').getStyle('height')===undefined)
		return;
	
//	if ($('slideOuter').getStyle('height') != "180px")
//		return;

	// Bilder positionieren, links/texte in array's lesen, umbruch einfügen, ie hack
	var n = 0;
	while ($("slider_" + (n) )) {
		$("slider_" + (n) ).style.position = "absolute"; 									// positionieren
		if ($("slideMsg_" + (n) + "_2").textContent == "" || $("slideMsg_" + (n) + "_2").innerText == "")
		{
			$("slideMsg_" + (n) + "_2").removeClassName('inline');
			$("slideMsg_" + (n) + "_2").removeClassName('slideMsg2');
			$("slideMsg_" + (n) + "_2").addClassName = 'empty';
		}
		if ($("slideMsg_" + (n) + "_1").textContent == "" || $("slideMsg_" + (n) + "_1").innerText == "")
		{
			$("slideMsg_" + (n) + "_1").removeClassName('inline');
			$("slideMsg_" + (n) + "_1").removeClassName('slideMsg1');
			$("slideMsg_" + (n) + "_1").childElements()[0].remove(); 
			$("slideMsg_" + (n) + "_1").addClassName = 'empty';
		}
		// IE-hack für transparent
		if (Prototype.Browser.IE) {
			$("slideMsg_" + (n) + "_1").style.filter = "alpha(opacity=100)";
			$("slideMsg_" + (n) + "_2").style.filter = "alpha(opacity=100)";
		}
		$("slider_" + n).style.filter = "alpha(opacity=" + opacity + ")";
		$("slider_" + n).style.MozOpacity = opacity / 100;
		$("slider_" + n).style.opacity = opacity / 100;
			
				
		$$("div.slideText")[n].childElements()[0].insert({after: new Element("br", { style: "clear: left"})} ); // umbruch
		n++;
	}
	countSlides = n;


	counter = document.createElement("div");
	$(counter).addClassName('counter');

	
	$(counter).update("1/" + countSlides);
	var p_prev = document.createElement("div");
	var p_next = document.createElement("div");
	$(p_prev).addClassName('prev');
	$(p_next).addClassName('next');
	
	
	$(p_next).observe('click', function (event){changeSlide(1); });
	$(p_prev).observe('click', function (event){changeSlide(-1); });
	
	$('slidePager').insert(p_prev);
	$('slidePager').insert(counter);
	$('slidePager').insert(p_next);
	
	// start slide
	slide(0,-1);
}

function changeSlide(direction)
{
	action = true;
	var itemShow =0;
	var itemHide = 0;
	if (curSlide + direction >= countSlides )
		itemHide = curSlide;
	else {
		if (curSlide + direction > -1)
			itemShow =curSlide+direction;
		else
			itemShow = countSlides-1;
		itemHide = curSlide;
	}
	if (DEBUG == true) $('debug').innerHTML = "Show: " +itemShow + "  Hide: " + itemHide;

	curSlide = itemShow;
	window.clearInterval(aktiv);
	aktiv = null;
	window.clearTimeout(curInterval);
	action = false;
	slide(itemShow,itemHide);
	//setSlide(itemShow,itemHide,100);
}

function setSlide(itemShow,itemHide,opacity)
{
	$(counter).update((itemShow + 1) + "/" + countSlides);
	$("slider_" + (itemShow)).style.display = "inline";
		
	$("slider_" + itemShow).style.filter = "alpha(opacity=" + opacity + ")";
	$("slider_" + itemShow).style.MozOpacity = opacity / 100;
	$("slider_" + itemShow).style.opacity = opacity / 100;
	if($("slideImg_" + itemShow)) $("slideImg_" + itemShow).style.filter = "alpha(opacity=" + opacity + ")";
	
	if (itemHide >-1) $("slider_" + (itemHide)).style.filter = "alpha(opacity=" + (100 - opacity) + ")";
	if (itemHide >-1) $("slider_" + (itemHide)).style.MozOpacity = (100 - opacity) / 100;
	if (itemHide >-1) $("slider_" + (itemHide)).style.opacity = (100 - opacity) / 100;
	if ($("slideImg_" + (itemHide))) $("slideImg_" + (itemHide)).style.filter = "alpha(opacity=" + (100 - opacity) + ")";
}


		
idTools.Require("prototype")
idTools.addEvent(window, 'load', slideInit);


//Event.observe(window, 'load', slideInit);
