//global variable for new AJAX content
var content;

//fade-in first picture
window.onload = function(){
	if(document.getElementById('pictureShowImg'))opacity('pictureShowImg', 0, 100, 700);	
}


//function that gets called in time intervals
function refreshPictureDiv(){
	setRequest('pictureShow.php');
}

//set new AJAX request
function setRequest(url,post) {
	requestPage = url;
	// create request
	if(typeof post == undefined || post == undefined) post = 'x=y';	 //necessary for some proxy servers => some dont work if post is empty	
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} catch (e) {
			try {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} catch (e) {}
		}
	}	
	// check request
	if (!request) {
		alert("Fehler!");
		return false;
	} else {
		// open request
		request.open('POST', url, true);
		request.setRequestHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8");
		// send request
		request.send(post);
		// interpret request (asynchronous)
		request.onreadystatechange = interpretRequest;
	}
}
	
//interpret answer of AJAX request
function interpretRequest() {
	switch (request.readyState) {
		// if readyState == 4 and request.status == 200, then everything is ok
		case 4:
			if (request.status != 200) {
				alert("Request completed, but not OK\nError:"+request.status);
			} else {
				content = trim(request.responseText); //new content
				preload(content.substring(content.indexOf('href=')+6,content.indexOf(".")+4).replace("big", "small")); //preload
				setTimeout("opacity('pictureShowImg', 100, 0, 700)", 2000);
				setTimeout("refreshDiv('pictureShow')",2800);
			}
			break;
		default:
			break;
	}
}

//function for fade out
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

//set new content from AJAX request
function refreshDiv(id){
	document.getElementById(id).innerHTML = content;
	opacity('pictureShowImg', 0, 100, 700);
}

//preload image
function preload(imgUrl){
	document.Vorladen = new Array();
    if(document.images){
        document.Vorladen[0] = new Image();
        document.Vorladen[0].src = imgUrl;
    }
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}






