var original_y = 0;
//aangezien IE zelf niet zo slim is om de plaatjes behorende bij de css-klassen te laden, moeten we het maar even geforceerd doen hè...
if(navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
	var1 = new Image(1, 1);
	var1.src = '/images/popup/corner_body_right.gif';
	var2 = new Image(1, 1);
	var2.src = '/images/popup/corner_body_left.gif';
	var3 = new Image(1, 1);
	var3.src = '/images/popup/corner_head_right.gif';
	var4 = new Image(1, 1);
	var4.src = '/images/popup/corner_head_left.gif';
	var5 = new Image(1, 1);
	var5.src = '/images/popup/close.gif';
}

function openPopup(popup_id, popup_title, popup_content, popup_type, popup_x_pos, popup_y_pos, popup_width, popup_height) {
	// als er al een popup bestaat met deze id, verwijder deze dan.
	closePopup(popup_id);
	original_y = getYScrollPosition();
	window.onscroll = scrollPopup;
	
	var close_button = '/images/popup/close.gif';
	var body_pad_top = 10;
	var body_pad_right = 40;
	var body_pad_bottom = 20;
	var body_pad_left = 40;
	var distance_viewport = 20; // de minimale afstand van het popup-venster tot de viewport.

	//determine widths
	var viewport_width = getViewportWidth();
	var viewport_height = getViewportHeight();
	
	//default-waarden voor positie en afmetingen zetten.
	if(isNaN(popup_x_pos) || popup_x_pos == 0) {
		popup_x_pos = distance_viewport;
	}
	if(isNaN(popup_y_pos) || popup_y_pos == 0) {
		popup_y_pos = distance_viewport + getYScrollPosition();
	}
	if(isNaN(popup_width) || popup_width == 0) {
		popup_width = viewport_width - popup_x_pos - distance_viewport;
	}
	if(isNaN(popup_height) || popup_height == 0) {
		popup_height = viewport_height - (2 * distance_viewport);
	}
	
	//checken of de x-pos niet te dicht tegen de rand van de viewport aan ligt
	if(popup_x_pos < distance_viewport) {
		popup_x_pos = distance_viewport;
	}
	
	//checken of de y-pos niet te dicht tegen de rand van de viewport aan ligt
	if(popup_y_pos < distance_viewport) {
		popup_y_pos = distance_viewport;
	}
	
	//checken of het niet te breed is
	x_pos_fault = (viewport_width - popup_width - popup_x_pos - distance_viewport) * -1;
	if(x_pos_fault > 0) {
		//Gezien de breedte en de x-positie is de popup te breed.
		//Checken of de popup een stukje naar links geschoven kan worden.
		x_pos_correctie = popup_x_pos - (2 * distance_viewport);// - distance_viewport;
		if(x_pos_fault < x_pos_correctie) {
			popup_x_pos = popup_x_pos - x_pos_fault;
		}
		else {
			popup_width = viewport_width - (2 * distance_viewport);
			popup_x_pos = distance_viewport;
		}
	}
	
	//alert('x=' + popup_x_pos + '; y=' + popup_y_pos + '; width=' + popup_width + '; height=' + popup_height + '; x_pos_fault=' + x_pos_fault);// + '; x_pos_correctie=' + x_pos_correctie);
	
	//create popupContainerDiv
	popupContainerDiv = document.createElement('div');
	popupContainerDiv.setAttribute('id', 'popupContainerDiv'+popup_id);
	popupContainerDiv.setAttribute('style', 'z-index: 1000;');
	document.getElementsByTagName('body')[0].appendChild(popupContainerDiv);

	popupContainerDiv = document.getElementById('popupContainerDiv'+popup_id);
	popupContainerDiv.style.top = popup_y_pos + 'px';
	popupContainerDiv.style.left = popup_x_pos + 'px';
	popupContainerDiv.style.width = popup_width + 'px';
	popupContainerDiv.style.height = popup_height + 'px';
	popupContainerDiv.style.position = 'absolute';

	popupContent = '<iframe style="position: absolute; left: 0; top: 0; z-index: -1; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" src="javascript:false" scrolling="no" frameborder="0" ></iframe>';
	popupContent += '<div class="popup" style="z-index: 500">';
	popupContent += '	<div class="popup_header">';
	popupContent += '		<div><span style="float: left; font-weight: bold;">'+popup_title+'</span><span style="float: right;"><a href="javascript:window.closePopup(\''+popup_id+'\');" style="text-decoration: none;">&nbsp;<img src="'+close_button+'" style="border: 0pt none;"></a></span></div>';
	//popupContent += '		<div class="bullshit">'+popup_title+'<a href="javascript:window.closePopup(\''+popup_id+'\');" style="text-decoration: none;"><img src="'+close_button+'" style="border: 0pt none ;"></a></div>';
	popupContent += '	</div>';
	popupContent += '	<div class="popup_body">';
	popupContent += '		<div class="popup_content"></div>';
	popupContent += '	</div>';
	popupContent += '</div>';
	
	popupContainerDiv.innerHTML = popupContent;
	
	//fix the IE select hover 'bug'
	popupContainerDiv.getElementsByTagName('iframe').item(0).style.width = popup_width + 'px';
	popupContainerDiv.getElementsByTagName('iframe').item(0).style.height = popup_height + 'px';
	
	var children = popupContainerDiv.getElementsByTagName('div');
	var popupDiv = false;
	var popupHeaderDiv = false;
	var popupBodyDiv = false;
	var popupContentDiv = false;
	for(var i = 0; i < children.length; i++) {
		if(children[i].className == 'popup') {
			popupDiv = children[i];
		}
		if(children[i].className == 'popup_header') {
			popupHeaderDiv = children[i];
		}
		if(children[i].className == 'popup_body') {
			popupBodyDiv = children[i];
		}
		if(children[i].className == 'popup_content') {
			popupContentDiv = children[i];
		}
	}
	
	popupContentDiv.style.height = (popup_height - popupHeaderDiv.offsetHeight - body_pad_top - body_pad_bottom) + 'px';
	popupContentDiv.style.width = (popup_width - body_pad_left - body_pad_right) + 'px';
	//alert('content width: ' + popupContentDiv.style.width + '; content height: ' + popupContentDiv.style.height);
	
	//content in de popup plaatsen.
	if(popup_type == 'iframe') {
		popupContent = '<iframe src="javascript:false" id="contentIframe'+popup_id+'" name="contentIframe'+popup_id+'" frameborder="no" border="no" width="100%" height="100%" style="width: 100%; height: 100%; border: none; z-index: 500;"></iframe>';
		popupContentDiv.innerHTML = popupContent;
		document.getElementById('contentIframe'+popup_id).src = popup_content;
	}
	else {
		popupContentDiv.innerHTML = popup_content;
	}
}

function closePopup(popup_id) {
	window.onscroll = null;
	if(document.getElementById('popupContainerDiv'+popup_id)) {
		document.getElementById('popupContainerDiv'+popup_id).parentNode.removeChild(document.getElementById('popupContainerDiv'+popup_id));
	}
}

function scrollPopup() {
	window.scrollTo(0, original_y);
}

function getYScrollPosition() {
	if(window.innerHeight) {
		pos = window.pageYOffset;
	}
	else if(document.documentElement && document.documentElement.scrollTop) {
		pos = document.documentElement.scrollTop;
	}
	else if(document.body) {
		pos = document.body.scrollTop;
	}
	else {
		pos = false;
	}
	return pos;
}

function getXScrollPosition() {
	if(window.innerHeight) {
		pos = window.pageXOffset;
	}
	else if(document.documentElement && document.documentElement.scrollLeft) {
		pos = document.documentElement.scrollLeft;
	}
	else if(document.body) {
		pos = document.body.scrollLeft;
	}
	else {
		pos = false;
	}
	return pos;
}

function getViewportWidth() {
	if(typeof window.innerWidth != 'undefined') {
		viewport_width = window.innerWidth;
	}
	else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
		viewport_width = document.documentElement.clientWidth;
	}
	else {
		viewport_width = document.getElementsByTagName('body')[0].clientWidth;
	}
	if(navigator.userAgent.toLowerCase().indexOf('msie') == -1) {
		viewport_width -= 15;
	}
	return viewport_width;
}

function getViewportHeight() {
	if(typeof window.innerHeight != 'undefined') {
		viewport_height = window.innerHeight;
	}
	else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
		viewport_height = document.documentElement.clientHeight;
	}
	else {
		viewport_height = document.getElementsByTagName('body')[0].clientHeight;
	}
	return viewport_height;
}