var debug = true;
var verweildauer = 7000;
var dauer_uebergang = 3500;

/*
var request;
window.onload = function(){
	zeigeStatus("");
	createRequest();
	if (request){ getDaten(url); }
}
*/

var base_url = "/systemstatic/internet/kopfmotive/";
window.onload = function(){
	var urls = new Array("IMG_0157-schnitt-01.jpg", "IMG_0129-schnitt-6.jpg", "HEI_6881-schnitt-1.jpg", "DSC_0011-n.jpg", "IMG_0156.jpg", "DSC_0035.jpg", "bruecke-schnitt.jpg", "DSC_0113-n.jpg", "P+3-sitzungssaal-schnitt-.jpg", "IMG_0142-schnitt.jpg", "DSC_0179-n.jpg", "DSC_0168-n.jpg", "Neues-Panorama-1schnitt.jpg", "HEI_6901-schnitt.jpg", "HEI_6927-schnitt.jpg", "IMG_0152-schnitt-1.jpg", "JUL_3511-schnitt.jpg", "DSC_0174-n.jpg", "HEI_6969-schnitt.jpg", "DSC_0063-n.jpg", "P+3-plenarsaaldecke-schnitt.jpg", "IMG_0148-schnitt.jpg", "innenhof.jpg", "DSC_0007.jpg", "HEI_6987-schnitt.jpg", "landtag-schnitt.jpg", "DSC_0204.jpg", "DSC_0024.jpg", "DSC_0005-n.jpg", "IMG_0146-schnitt.jpg", "DSC_0132.jpg", "JUL_3511-schnitt-1.jpg", "DSC_0033.jpg", "portal.jpg", "IMG_0135-n.jpg", "DSC_0065-n.jpg", "HEI_6882-schnitt.jpg", "P+2-plenarsaal-schnitt.jpg", "DSC_0041.jpg", "IMG_0149-schnitt.jpg");
	
	var gemischt = new Array();
	var zufall;
	while (urls.length != 0){
		zufall = Math.floor(Math.random() * urls.length);
		gemischt.push(urls[zufall]);
		urls.splice(zufall, 1);
	}
	
	ladeBilder(gemischt.join(","));
}

/* Debugging */

function zeigeStatus(text){
	if (debug && document.getElementById("kontrolle")){
		if (text == ""){ document.getElementById("kontrolle").innerHTML = ""; }
		else { document.getElementById("kontrolle").innerHTML += text + "<br/>"; }
	}
}

/* Bilder laden */

var urls, bilder;
function ladeBilder(x){
	bilder = new Array();
	urls = x.split(",");
	if (urls.length != 0){ ladeBild();}
}

var timer;
function ladeBild(){
	var id = bilder.length;
	if (bilder.length > 0){ zeigeStatus("Bild geladen: " + bilder[bilder.length - 1].bild.src); }
	if (id != 0){ bilder[id - 1].geladen = true; }
	if (id == 1){
		//zeigeBild();
 		//timer = window.setTimeout("zeigeBild()", verweildauer);
		document.getElementById("motiv").style.backgroundImage = "url(" + bilder[0].bild.src + ")";
		setDeckung("motiv", 100);
		timer = window.setTimeout("zeigeBild()", verweildauer);
	}
	if (id < urls.length){
		bilder[id] = new makeBild(id);
		bilder[id].bild.onload = function(){ window.setTimeout("ladeBild()", 200); }
		bilder[id].bild.src = base_url + urls[id];
	}
}

function makeBild(id){
	this.bild = new Image();
	//this.bild.onload = ladeBild;
	this.geladen = false;
	zeigeStatus("Bild laden: " + this.bild.src);
}

/* Bilder zeigen */

var aktuelles_bild;
function zeigeBild(){
	if (aktuelles_bild == null){ aktuelles_bild = 1; }
	if (bilder[aktuelles_bild].geladen){
		zeigeStatus("Bild zeigen: " + aktuelles_bild);
		if (document.getElementById("motiv").style.backgroundImage){
			document.getElementById("kopf").style.backgroundImage = document.getElementById("motiv").style.backgroundImage;
		}
		document.getElementById("motiv").style.backgroundImage = "url(" + bilder[aktuelles_bild].bild.src + ")";
		setDeckung("motiv", 0);
		bildEinblenden("motiv", Math.round(dauer_uebergang/50));
	} else {
		timer = window.setTimeout("zeigeBild()", 100);
	}
}

var step, intervall;
function bildEinblenden(id, steps){
	if (step == null){ step = 0; }
	if (step == 0) {
		setDeckung(id, 0); step++;
		intervall = window.setInterval("bildEinblenden('" + id + "', " + steps + ")", 50);
	} else {
		setDeckung(id, step/steps * 100);
		if (step < steps){ step++; }
		else {
			window.clearInterval(intervall); step = 0;
			aktuelles_bild++;
			if (aktuelles_bild == urls.length){ aktuelles_bild = 0; }
			timer = window.setTimeout("zeigeBild()", verweildauer);
		}
	}
}

function setDeckung(id, deckung){
	if (document.getElementById(id)){
		if (navigator.userAgent.indexOf("Firefox") != -1) {
			if (deckung == 100) { deckung = 99.99; }
		}
				
		var style = document.getElementById(id).style;
		style.filter = "alpha(opacity=" + deckung + ")"; // IE/Win
		style.KhtmlOpacity = (deckung / 100);            // Safari 1.1 or lower, Konqueror
		style.MozOpacity = (deckung / 100);              // Older Mozilla+Firefox
		style.opacity = (deckung / 100);                 // Safari 1.2, Firefox+Mozilla
	}
}

/* HttpRequest */

function createRequest(){
	try {
		request = new XMLHttpRequest();
	} catch (trymicrosoft){
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft){
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed){
				request = null;
			}
		}
	}
	
	if (! request && debug){
		alert("Konnte XMLHttpRequest nicht initialisieren!");
	}
}

function getDaten(url){
	if (request){
		request.open("GET", url, true);
		request.onreadystatechange = verarbeiteDaten;
		request.send(null);
		return false;
	} else {
		return true;
	}
}

function verarbeiteDaten(){
	if (request.readyState == 4){
		if (request.status == 200) {
			ladeBilder(request.responseText);
		} else {
			if (debug){ alert("Es ist ein Fehler aufgetreten: " + request.status); }
		}
	}
}
