var please_wait = null;

var _openURLCallback;

function open_url(url, target, callback) {
 	_openURLCallback = callback;
	if ( ! document.getElementById) {
  		return false;
 	}

 	if (please_wait != null) {
  		document.getElementById(target).innerHTML = please_wait;
 	}

 	if (window.ActiveXObject) {
  		link = new ActiveXObject("Microsoft.XMLHTTP");
 	} else if (window.XMLHttpRequest) {
  		link = new XMLHttpRequest();
 	}

 	if (link == undefined) {
  		return false;
 	}
 	link.onreadystatechange = function() { response(url, target); }
 	link.open("GET", url, true);
 	link.send(null);
}

function response(url, target) {
 	if (link.readyState == 4) {
	 	document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Ooops!! A broken link! Please contact the webmaster of this website ASAP and give him the fallowing errorcode: " + link.status;
		_openURLCallback();
	}
}

function set_loading_message(msg) {
 	please_wait = msg;
}

function uniqueNum(){
	var d = new Date()
	return d.getMilliseconds()*(Math.random()*100);
}


function call_url(url, callback) {
	if (window.ActiveXObject) {
  		link = new ActiveXObject("Microsoft.XMLHTTP");
 	} else if (window.XMLHttpRequest) {
  		link = new XMLHttpRequest();
 	}

 	if (link == undefined) {
  		return false;
 	}
 	link.onreadystatechange = function() { 
		if (link.readyState == 4 && link.status == 200){
			callback(link.responseText);
		} 
	}
 	link.open("GET", url, true);
 	link.send(null);
}