var http_request = false;
var responseFnc;
function getXMLHttpRequestObject() {
	var http_request = false;
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return http_request;
}

function post(url, parameters, responseHandler) {
	http_request = getXMLHttpRequestObject();
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	responseFnc = responseHandler;

	http_request.onreadystatechange = stateChanged;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function get(url, responseHandler) {
	if (http_request != false) {
		setTimeout("get('" + url + "', '" + responseHandler + "');", 100);
		return false;
	}

	http_request = getXMLHttpRequestObject();
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	responseFnc = replaceAll(responseHandler, "´", "'");

	http_request.onreadystatechange = stateChanged;
	http_request.open("GET", url, true);
	http_request.send(null);
}

function popup(title, filename) {
	createPopupLayer(title, filename);
//	get(filename, "_fileResponseHandler(´popupbody´)");
	return false;
}

function replaceAll(string, subject, replace) {
	var index = string.indexOf(subject);
	while (index > -1) {
		string = string.substring(0, index) 
			+ replace + string.substring(index + subject.length, string.length);
		index = string.indexOf(subject);
	}
	return string;
}

function stateChanged() {
	if (http_request.readyState == 4) {
		eval(responseFnc);
		http_request = false;
	} 
} 

function _fileResponseHandler(containerId) {
	var response = http_request.responseText;
	var target = document.getElementById(containerId);
	if (target) {
		target.innerHTML = response;
		evalScriptTags(target);
	}
}

function createPopupLayer(title, filename) {
	var body = document.getElementsByTagName('body')[0];
	
	var documentHeight = $(document).height();

	var bg = document.createElement('div');
	bg.setAttribute('id', 'disabledBg');
	bg.style.height = documentHeight + 'px';

	var popupContainer = document.createElement('div');
	popupContainer.setAttribute('id', 'popupcontainer');

	var popupContent = document.createElement('div');
	popupContent.setAttribute('id', 'popupcontent');

	var popupTitle = document.createElement('div');
	popupTitle.setAttribute('id', 'popuptitle');
	popupTitle.innerHTML = title;

	var spacer = document.createElement('div');
	spacer.setAttribute('class', 'spacer');

	var popupClose = document.createElement('a');
	popupClose.setAttribute('id', 'popupcloseglyph');
	popupClose.onclick = function() { destroyPopupLayer() };

	var popupBody = document.createElement('div');
	popupBody.setAttribute('id', 'popupbody');
	popupBody.innerHTML = '<div id="flashcontent">You need to upgrade your Flash Player</div>';

	popupContent.appendChild(popupClose);
	popupContent.appendChild(popupTitle);
//	popupContent.appendChild(spacer);
	popupContent.appendChild(popupBody);
	popupContainer.appendChild(popupContent);
	
	var top = (documentHeight / 2) - (550 / 2);
	popupContainer.style.top = top + 'px';

	body.appendChild(bg);
	body.appendChild(popupContainer);
	
	var so = new SWFObject("/flv/VPlayer4.swf", "flash", "570", "486", "8", "#000000");
	so.addVariable("xml", "/flv/settings.php?filename="+filename);
	so.write("flashcontent");
}

function destroyPopupLayer() {
	var body = document.getElementsByTagName('body')[0];
	var login = document.getElementById('popupcontainer');
	if (login) {
		body.removeChild(login);
	}

	var bg = document.getElementById('disabledBg');
	if (bg) {
		body.removeChild(bg);
	}
}
function evalScriptTags(elem) {
	try{
		var arr = elem.getElementsByTagName('SCRIPT');
		for(var i = 0; i < arr.length; i++) {
			try{eval(arr[i].innerHTML);}catch(Ex){}
		}
	}catch(Ex){}
}
