function initSlide(){
	this.selectedContainer = 1;
	this.selectedSlide = 0;
	getArray();
}

function createXMLHttpRequest(){
	if(window.ActiveXObject){
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.XMLHttpRequest){
		var xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}

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 + ")"; 
}

function getArray(){
	var url="/site/ajax/setSlider.php";

	var xmlHttp = createXMLHttpRequest();
	xmlHttp.onreadystatechange = function(){setArray(xmlHttp);}
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send(null);
}

function setArray(xmlHttp){
	if(xmlHttp.readyState == 4){
		if(xmlHttp.status == 200){
			var response = xmlHttp.responseText;
			//var checker = document.createElement("div");
			//checker.innerHTML = response;
			//document.appendChild(checker);
			//document.print(response);
			var responseXML = xmlHttp.responseXML;
			
			//alert(response);
			
			var slides = responseXML.getElementsByTagName("slide");
			//alert("slideshow gevonden?"+slides.length);
			this.slideArray = new Array;
			var i = 0;
			for(i=0;i<slides.length;i++){
				this.slideArray[i] = new Array;
				this.slideArray[i]['plaats'] 			= (slides[i].getElementsByTagName('plaats')[0]) 			? slides[i].getElementsByTagName("plaats")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['adres'] 			= (slides[i].getElementsByTagName('adres')[0]) 				? slides[i].getElementsByTagName("adres")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['titel'] 			= (slides[i].getElementsByTagName('titel')[0]) 				? slides[i].getElementsByTagName("titel")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['oppervlakte'] = (slides[i].getElementsByTagName('oppervlakte')[0]) 	? slides[i].getElementsByTagName("oppervlakte")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['href'] 				= (slides[i].getElementsByTagName('href')[0]) 				? slides[i].getElementsByTagName("href")[0].childNodes[0].nodeValue : "";
//				this.slideArray[i]['type'] 				= (slides[i].getElementsByTagName('type')[0]) 				? slides[i].getElementsByTagName("type")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['koopprijs'] 	= (slides[i].getElementsByTagName('koopprijs')[0]) ? slides[i].getElementsByTagName('koopprijs')[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['huurprijs'] 	= (slides[i].getElementsByTagName('huurprijs')[0]) 		? slides[i].getElementsByTagName("huurprijs")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['koopsoort'] 	= (slides[i].getElementsByTagName('koopsoort')[0]) 		? slides[i].getElementsByTagName("koopsoort")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['huursoort'] 	= (slides[i].getElementsByTagName('huursoort')[0]) 		? slides[i].getElementsByTagName("huursoort")[0].childNodes[0].nodeValue : "";
				this.slideArray[i]['image'] 			= (slides[i].getElementsByTagName('image')[0]) 				? "url("+slides[i].getElementsByTagName("image")[0].childNodes[0].nodeValue+") no-repeat" : "url('/images/image2.jpg') no-repeat";
				this.slideArray[i]['statusid'] 		= (slides[i].getElementsByTagName('statusid')[0]) 		? slides[i].getElementsByTagName("statusid")[0].childNodes[0].nodeValue : " ";
			}
			
		}
		//alert("slide klaar met"+this.slideArray.length+"slides");
		this.timerNext = setTimeout("nextSlide()",4000);
	}
}

function nextSlide(){
	if(this.busy){
		clearTimeout(this.wait);
		this.wait = setTimeout("nextSlide()",500);
	}
	else{
		clearTimeout(this.timerNext);
		this.busy = 1;
		setContent('next');
		opacity('aanbod'+this.selectedContainer, 100, 0, 1000);
		opacity('img'+this.selectedContainer, 100, 0, 1000);
		opacity('aanbod'+this.nextContainer, 0, 100, 1000);
		opacity('img'+this.nextContainer, 0, 100, 1000);
		this.selectedContainer = (this.selectedContainer == 2) ? 1 : 2;
		setTimeout("resetTimer()",1000);
		this.timerNext = setTimeout("nextSlide()",5000);
	}
}

function pauseSlider(){
	clearTimeout(this.timerNext);
	clearTimeout(this.wait);
	this.busy=0;
	this.pause = 1;
}

function startSlider(){
	if(this.pause == 1) nextSlide();
}

function resetTimer(){
	this.busy = 0;
}

function prevSlide(){
	if(this.busy){
		clearTimeout(this.wait);
		this.wait = setTimeout("prevSlide()",500);
	}
	else{
		clearTimeout(this.timerNext);
		this.busy = 1;
		setContent('prev');
		opacity('aanbod'+this.selectedContainer, 100, 0, 1000);
		opacity('img'+this.selectedContainer, 100, 0, 1000);
		opacity('aanbod'+this.nextContainer, 0, 100, 1000);
		opacity('img'+this.nextContainer, 0, 100, 1000);
		this.selectedContainer = (this.selectedContainer == 2) ? 1 : 2;
		setTimeout("resetTimer()",1000);
		this.timerNext = setTimeout("nextSlide()",5000);
	}
}

function setContent(direction){
	this.nextContainer 	= (this.selectedContainer == 2) ? 1 : 2;
	var container 			= document.getElementById("aanbod"+this.nextContainer);
	var image 					= document.getElementById("img"+this.nextContainer).style;
	var imageClick			= document.getElementById("img1");
	var containerClick	= document.getElementById("aanbod1");
	var next 						= this.selectedSlide+1;
	var prev 						= this.selectedSlide-1;
	var maximum					= this.slideArray.length-1;
	if(direction == 'next'){	next = (next < this.slideArray.length) ? next : 0;}
	if(direction == 'prev'){	next = (prev >= 0) ? prev : maximum;}

	var koopPrijs = "";
	var huurPrijs = "";

	if (parseInt(this.slideArray[next]['koopprijs'])>=10) {
		koopPrijs = (this.slideArray[next]['koopprijs'] != "" && this.slideArray[next]['koopsoort'] != "") ? "Koopprijs: &euro; "+this.slideArray[next]['koopprijs']+" "+this.slideArray[next]['koopsoort']+"<br/>" : "";
	} else {
		if (parseInt(this.slideArray[next]['koopprijs'])>0) koopPrijs = 'Koopprijs: op aanvraag';
	}
	if (parseInt(this.slideArray[next]['huurprijs'])>=10) {
		huurPrijs = (this.slideArray[next]['huurprijs'] != "" && this.slideArray[next]['huursoort'] != "") ? "Huurprijs: &euro; "+this.slideArray[next]['huurprijs']+" "+this.slideArray[next]['huursoort']+"<br/>" : "";
	} else {
		if (parseInt(this.slideArray[next]['huurprijs'])>0) huurPrijs = 'Huurprijs: op aanvraag';
	}
	
	//get new content
	var HTML = "<strong>"+this.slideArray[next]['plaats']+", "+this.slideArray[next]['adres']+"</strong><br/>";
	
	if (this.slideArray[next]['titel']) {
		HTML += this.slideArray[next]['titel']+"<br />";	
	}
	
	
	HTML += "Oppervlakte: "+this.slideArray[next]['oppervlakte']+" m&sup2; "+"<br/>"+koopPrijs+huurPrijs;
	
	var newImage = this.slideArray[next]['image'];
	var href = this.slideArray[next]['href'];
	var	statusid = this.slideArray[next]['statusid'];	
	
	//set new content
	HTML = HTML.replace(/#_#/g,"&");
	container.innerHTML = HTML;
	image.background = newImage;
	
	//set onclick op de voorste divs
	containerClick.onclick = function(){ openPage(href)};
	imageClick.onclick = function(){ openPage(href)};
	
	var statusid = this.slideArray[next]['statusid'];
	hideDiv('verhuurdgroot');
	hideDiv('verkochtgroot');
	if (statusid==1 || statusid==2) {
		if (statusid==1) showDiv('verhuurdgroot');
		if (statusid==2) showDiv('verkochtgroot');
	}
	
	//update vars
	this.selectedSlide = next;
}

function openPage(href){
	window.location = href;
}

function showDiv(divid) {
	document.getElementById(divid).style.display = 'block';
}

function hideDiv(divid) {
	document.getElementById(divid).style.display = 'none';
}

window.onload = initSlide;

