/*
 *	Perfect World 
 *		Main Javascript / AJAX control file
 *		
 *	(C)2008 Perfect World Entertainment, Inc.
 */
function getxml() {
	var xmlhttp=null;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = new XMLHttpRequest();
		}
	}
	return xmlhttp;
}
function getElement(element) {
	if (document.getElementById && document.getElementById(element)) {
		return document.getElementById(element);
	} else if (document.layers && document.layers[element]) {
		return document.layers[element];
	}
}
function fillElement(element,page,vars,hide,show,callback,arg) {
	var xmlhttp = getxml();
	xmlhttp.open("POST", page+"?ajax&"+vars, true);
	xmlhttp.onreadystatechange = function () {
		try {
			if (xmlhttp.readyState == 4) {
				if(element) {
					getElement(element).innerHTML = xmlhttp.responseText;
				}
				var resp = true;
				if(xmlhttp.responseText=="") {
					resp = false;
				}
				if(hide) {
					_hide=getElement(hide);
					if(resp) {
						_hide.style.display="block";
					} else {
						_hide.style.display="none";
					}
				}
				if(show) {
					_show=getElement(show);
					if(resp) {
						_show.style.display="none";
					} else {
						_show.style.display="block";
					}
				}
				if(callback) {
					callback(arg,resp,xmlhttp.responseText,false);
				}
			}
		} catch(e) { 
			try {
				if(callback) {
					callback(arg,false,xmlhttp.responseText,true);
				}
			} catch(e) {
//				alert('callback failed: '+callback);
			}
		}
	}
	xmlhttp.send(null);
}
function fillString(page,vars,callback,arg) {
	var xmlhttp = getxml();
	xmlhttp.open("POST", page+"?ajax&"+vars, true);
	xmlhttp.onreadystatechange = function () {
		try {
			if (xmlhttp.readyState == 4) {
				if(callback) {
					callback(arg,xmlhttp.responseText,false);
				}
			}
		} catch(e) { 
			try {
				if(callback) {
					callback(arg,xmlhttp.responseText,true);
				}
			} catch(e) {
//				alert('callback failed: '+callback);
			}
		}
	}
	xmlhttp.send(null);
}

var loginForm = null;
function p_init_() {
	document.loginForm = document.login;
	if(document.mini_login) document.loginForm=document.mini_login; 
	if(document.loginForm) {
		fillString('/flc','',flc);
	}

	try {
		init();
	} catch(e) {}
}

function flc(n,s) {
	if(s && c && c<s) {
		document.location.reload();
	}
}
