var objContent = "";
var objLoading = "";
var reqObj = "";
var curUrl = location.pathname;

/*
msg="";
for(n in location) {
	msg+=n+"=["+location[n]+"]\n";
}
alert(msg);
*/

function getPage(url) {
	//alert("getPage("+url+")");
	if (objContent=="") objContent = MM_findObj('contentbody','');
	if (objLoading=="") objLoading = MM_findObj('loading','');
	if (typeof(url)!="undefined" && url!="" && url!="undefined") {
		if (curUrl != url) {
			curUrl = url;
			//new Effect.Fade(objContent,{from:1.0,to:0.2});
			new Effect.Parallel(
				[ new Effect.BlindUp(objContent,{scaleTo:0}) ],
				{ afterFinish: function () {sendRequest(url,getPageResult,false)}  }
			);
			objLoading.style.display = "block";
		}
	}
}

function getPageResult() {
	var html = reqObj.responseText;
	var t = 0;
	t = html.indexOf('id="contentbody"');
	if (t>-1) html = html.substr(t+17);
	t = html.indexOf('id="footer"');
	if (t>-1) html = html.substr(0,t-5);
//alert(html);
	MM_setTextOfLayer("contentbody",0,html);
/*
	var re = /</g;
	d = html.replace(re,"&lt;");
	re = />/g;
	d = "{"+d.replace(re,"&gt;")+"}";
	MM_setTextOfLayer("debug",0,d);
*/
	//new Effect.Fade(objContent,{from:0.2,to:1.0});
	//new Effect.BlindDown(objContent,{scaleTo:100});
	new Effect.Parallel(
		[ new Effect.BlindDown(objContent,{scaleTo:100}) ],
		{ afterFinish: function () {objLoading.style.display = "none";}  }
	);

}

function launchPage(url) {
	//alert("launchPage("+url+")");
	location.href = url;
	//url = "/campaign/stories.htm?country=ukrain";
}

function sendRequest(url,callback,postData) {
	//alert('sendRequest('+url+',,'+postData+')');
	if (typeof(reqObj)=="object") reqObj.abort();
	reqObj = createXMLHTTPObject();
	if (!reqObj) return;
	var method = (postData) ? "POST" : "GET";
	reqObj.open(method,url,true);
	reqObj.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData) reqObj.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	reqObj.onreadystatechange = function () {
		if (reqObj.readyState != 4) return;
		if (reqObj.status != 200 && reqObj.status != 304) {
			alert('HTTP error: '+reqObj.status+':'+url);
			return;
		}
		callback();
	}
	if (reqObj.readyState == 4) return;
	//req.send(postData);
	reqObj.send(null);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
