var img_path = "images/";
var data_path = "tpl/xml/banner.xml";

var img_anz = 0;	//Anzahl aller Bilder
var img_id = 1; 	//Aktuell aktives Bild
var to = 0;  			//Zielort in px
var tomove = 0;		//Bewegungsstrecke zur nächsten Position
var barpos = 0;		//barposition in px
var step = 1;			//Schritt der Bewegung
areapos = 0;			//Position des Players vor beginn des scrollens


function init_player()
{
	//Auslesen der Daten aus der XML Datei
	
	o = null;
	if(window.XMLHttpRequest) {
	 o = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			o = new ActiveXObject('Msxml2.XMLHTTP');
		}
	 	catch(e1) {
			try {
		 		o = new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e2) {
			}
		}
	}
	o.open('GET',data_path,false);
	o.send(null);
	x = o.responseXML.documentElement;
	
	
	anz = 0;
	result = '<nobr>';
	for(i=0;i<x.childNodes.length;i++)
	{
		show = true;
		
		element = x.childNodes[i];
		if(element.nodeType == 1)
		{
			end = element.getElementsByTagName('end');
			if(end.length >= 1)
			{
				jetzt = new Date();
				
				jahr   = end[0].getAttribute("year");
				monat  = end[0].getAttribute("month");
				tag    = end[0].getAttribute("day");
				stunde = end[0].getAttribute("hour");
				minute = end[0].getAttribute("minute");
				
				monat = monat - 1;
				zeit = new Date(jahr, monat, tag, stunde, minute);
				
				if(zeit < jetzt)
				{
					show = false;
				}
			}

			start = element.getElementsByTagName('start');
			if(start.length >= 1)
			{
				jetzt = new Date();
				
				jahr   = start[0].getAttribute("year");
				monat  = start[0].getAttribute("month");
				tag    = start[0].getAttribute("day");
				stunde = start[0].getAttribute("hour");
				minute = start[0].getAttribute("minute");
				
				monat = monat - 1;
				zeit = new Date(jahr, monat, tag, stunde, minute);
				
				if(zeit > jetzt)
				{
					show = false;
				}
			}
			
			if(show)
			{
				anz++;
				
				//Bildpfad
				path = element.getElementsByTagName('path')[0].firstChild.nodeValue;
				
				//URL
				url_nodes = element.getElementsByTagName('url');
				if(url_nodes.length >= 1) {
					url = url_nodes[0].firstChild.nodeValue;
				} else {
					url = '#';
				}
				
				//Target
				target_nodes = element.getElementsByTagName('target');
				if(target_nodes.length >= 1) {
					target = target_nodes[0].firstChild.nodeValue;
				} else {
					target = '_top';
				}
				
				//Zusammensetzen
				if(url != '#') {
					result += '<a href="'+ url +'" target="'+ target +'"><img src="'+ path +'" border="0" width="630" height="240"></a>';
				} else {
					result += '<img src="'+ path +'" border="0" width="630" height="240">';
				}
			}
	 	}
	}
	result += '</nobr>';
	
	//Bilder ausgeben
	document.getElementById('scrollarea').innerHTML = result + document.getElementById('scrollarea').innerHTML;
	
	//Buttons ausgeben
	document.getElementById('linkbar').innerHTML = write_buttons(anz);
	img_anz = anz;
	
	//Das erste Icon wird aktiviert
	document.getElementById('linkbar').getElementsByTagName('img').item(1).style.opacity = '0.8';
	document.getElementById('linkbar').getElementsByTagName('img').item(1).style.MozOpacity = '0.8';
	
	//Player starten
	var bar_inter = setInterval("movebar();", 60);
}

function write_buttons(anz)
{	
	result = '<a href="javascript:prev_img();"><img src="/images/layout/player/playeral.png" border="0" style="margin-right:10px;" /></a>';
	
	for(i = 1; i<=anz; i++)
	{
	  result += ' <a href="javascript:goto('+ i +');"><img src="/images/layout/player/playerdot.png" border="0" style="margin-right:6px;" /></a>';
	}
	
	result += '<a href="javascript:next_img();"><img src="/images/layout/player/playerar.png" border="0" style="margin-left:4px;" /></a>';
	
	return result;
}


function goto(img_goto)
{
	//Alle Icons werden deaktiviert
	for(i=0; i< document.getElementById('linkbar').getElementsByTagName('img').length; i++) {
		document.getElementById('linkbar').getElementsByTagName('img').item(i).style.opacity = '0.5';
		document.getElementById('linkbar').getElementsByTagName('img').item(i).style.MozOpacity = '0.5';
	}
	
	//Das aktuelle Icon wird aktiviert
	document.getElementById('linkbar').getElementsByTagName('img').item(img_goto).style.opacity = '0.8';
	document.getElementById('linkbar').getElementsByTagName('img').item(img_goto).style.MozOpacity = '0.8';
	
	//Das Feld das bewegt werden soll
	var area = document.getElementById('scrollarea');
	
	//Falls Fehler passiert sein sollten springt das Feld zunächst an die vorgesehene Position
	area.scrollLeft = (img_id - 1) * 630 + 1;
	tomove = 0;
	
	//Die Anzeige wird zurück gesetzt
	barpos = 0;
	
	//Die Werte zur Bewegung werden berechnet...
	tomove = (img_goto - 1) * 630 - to;
	to = (img_goto - 1) * 630;
	img_id=img_goto;
	
	//...und ausgeführt
	setTimeout("scroll_to();", 30);
}


function next_img()
{	
	if(img_anz == img_id) {
		goto(1);
	} else {
		goto(img_id+1);
	}
}

function prev_img()
{
	if(img_id == 1) {
		goto(img_anz);
	} else {
		goto(img_id - 1);
	}
}

function scroll_to()
{	
	if(step <= 30)
	{
	  stepspeed = new Array(2,5,10,14,19,19,14,10,5,2);
		speednow = stepspeed[Math.floor((step-1)/3)] / 300;
		
		area = document.getElementById('scrollarea');
	
	  areapos += tomove * speednow;
		area.scrollLeft = areapos;
	  step++;
	
	  setTimeout("scroll_to();", 20);
	}
	else
	{
		step = 1;
	}
}

function movebar()
{
	barpos = barpos + 0.5;
	barpx = barpos * 6.3;
	
	document.getElementById('loadbar').style.width = barpx + "px";
	if(barpos == 100)
	{
		barpos = 0;
		next_img();
		
	}
}
