function create_http_request() {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	return http_request;
}

function enable_filter() {
	filter = document.createElement("div");
	filter.id = 'lightbox-filter';
	filter.style.position='fixed';
	filter.style.top='0px';
	filter.style.bottom='0px';
	filter.style.left='0px';
	filter.style.right='0px';
	filter.style.zIndex='1000';
	filter.style.textAlign='center';
	filter.style.backgroundImage = 'url(images/trans_bg.png)';
	document.body.appendChild(filter);
	pause = true;
	return filter;
}

function disable_filter() {
	document.body.removeChild(document.getElementById('lightbox-filter'));
	pause = false;
	so_init();
}

function popup(form_url) {
	
	try {
		
		http_request = create_http_request();
		if (http_request) {
			filter = enable_filter();
			
			http_request.onreadystatechange = function () {
				
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {
						result = http_request.responseText;
						filter.innerHTML = '<center><div id="lightbox" class="lightbox">' + result + '</div></center>';
						parse_script(result);
					} else {
						alert('Error opening page: ' + http_request.status);
						close_popup();
					}
				} 
			}
			
			http_request.open('GET', form_url, true);
			
			http_request.send();
			
			
			
		} else {
			alert('could not make http_request');
			disable_filter();
		}
	} catch (err) {
		alert(err);
	}
}

function close_popup() {
	
	disable_filter();	
}

