var photoreportNavigator = {
	enabled : true,
	autoloadId : null,
	total : null,
	current : null,
	urls : null,
	mainImage : null,
	description : null,
	xhr : null,
	sourceUrl : '/fotoreportage/popover?id=',
	goto : function(index) {
		if (index > photoreportNavigator.urls.length) {
			return;
		}
		photoreportNavigator.current.innerHTML = index;
		photoreportNavigator.mainImage.src = photoreportNavigator.urls[index - 1];
		document.getElementById('pr_mainimage').style.display = 'none';
		document.getElementById('pr_mainimage').style.display = 'block';
		//document.getElementById('pr_imageborder').style.backgroundImage = 'url(' + photoreportNavigator.urls[index - 1] + ')';
		photoreportNavigator.description.innerHTML = photoreportNavigator.descriptions[index - 1];
		sitestat('http://nl.sitestat.com/autointeractive/autokopen/s?fotoreportage.afbeelding.' + photoreportNavigator.id + '.' + index);
		return false;
	},
	next : function() {
		var current = Number(photoreportNavigator.current.innerHTML) + 1;
		if (current > photoreportNavigator.total.innerHTML) {
			current = 1;
		}
		photoreportNavigator.current.innerHTML = current;
		photoreportNavigator.goto(current);
		return false;
	},
	previous : function() {
		var current = Number(photoreportNavigator.current.innerHTML) - 1;
		if (current < 1) {
			current = photoreportNavigator.total.innerHTML;
		}
		photoreportNavigator.current.innerHTML = current;
		photoreportNavigator.goto(current);
		return false;
	},
	init : function() {
		photoreportNavigator.total = document.getElementById('pr_total');
		photoreportNavigator.current = document.getElementById('pr_current');
		photoreportNavigator.mainImage = document.getElementById('pr_mainimage');
		photoreportNavigator.urls = document.getElementById('pr_srcdata').innerHTML.split(',');
		photoreportNavigator.description = document.getElementById('pr_description');
		photoreportNavigator.descriptions = document.getElementById('pr_descdata').innerHTML.split('|');
		document.getElementById('pr_previous').onclick = photoreportNavigator.previous;
		document.getElementById('pr_next').onclick = photoreportNavigator.next;
	},
	getXhr : function() {
		if (window.XMLHttpRequest) {
			photoreportNavigator.xhr = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			photoreportNavigator.xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		return photoreportNavigator.xhr;
	},
	load : function(id) {
		photoreportNavigator.id = id;
		if (!photoreportNavigator.enabled) {
			return true;
		}
		var xhr = photoreportNavigator.getXhr();
		if (!xhr) {
			return true;
		}
		
		var url = photoreportNavigator.sourceUrl + id;
		xhr.onreadystatechange = photoreportNavigator.xhrStateChange;
		xhr.open("GET", url, true);
		xhr.send(null);
		
		return false;
	},
	autoLoad : function(id) {
		if (photoreportNavigator.autoloadId) {
			id = photoreportNavigator.autoloadId;
		}
		return photoreportNavigator.load(id);
	},
	setAutoLoadId : function(id) {
		photoreportNavigator.autoloadId = id;
	},
	xhrStateChange : function() {
		if (photoreportNavigator.xhr.readyState==4) {
			if (photoreportNavigator.xhr.status==200) {
				var fader = document.createElement('div');
				fader.id = 'pr_fade';
				listen.click(fader, photoreportNavigator.close);
				if (window.ActiveXObject) {
					fader.className = 'pr_ie_fade';
				}
				
				var pr_body = document.createElement('div');
				pr_body.id = 'pr_body';
				pr_body.innerHTML = photoreportNavigator.xhr.responseText;
				listen.click(pr_body, photoreportNavigator.close);
				
				var body = document.getElementsByTagName('body')[0];
				fader.style.height = body.offsetHeight+ 'px';
				body.appendChild(fader);
				body.appendChild(pr_body);
				
				photoreportNavigator.init();
				
				document.getElementById('ad_placer').style.visilbity='hidden';
				photoreportNavigator.hideSelects();
				window.scrollTo(0, 0);
  			}
		}
	},
	close : function(e) {
	    var evt = e || window.event;
	    var tgt = evt.target || evt.srcElement;
	    if ((tgt.id == 'pr_body') || (tgt.id == 'pr_close') || (tgt.id == 'pr_fade')) {
			var body = document.getElementsByTagName('body')[0];
			var fader = document.getElementById('pr_fade');
			var pr_body = document.getElementById('pr_body');
			body.removeChild(fader);
			body.removeChild(pr_body);
			
			document.getElementById('ad_placer').style.visilbity='visible';
			
			// to prevent misplacing of banners (this should be handled by an event or something)
			//bannerplacer.reveilBanners();
			photoreportNavigator.showSelects();
		}
		return false;
	},
	hideSelects : function() {
		if(!window.ActiveXObject) {
			return;
		}
		var selects = document.getElementsByTagName('select');
		for (var i=0; i < selects.length; i++) {
			selects[i].style.visibility = 'hidden';
		}
	},
	showSelects : function() {
		if(!window.ActiveXObject) {
			return;
		}
		var selects = document.getElementsByTagName('select');
		for (var i=0; i < selects.length; i++) {
			selects[i].style.visibility = 'visible';
		}
	}
}

