// JavaScript Document

function getXmlHTTPRequest() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function getParamString(params) {
	var isArray = params.constructor == Array;
	paramString = '';
	if (isArray) {
		for (var i = 0; i < params.length; i++) {
			var p = params[i];
			paramString += '&' + p.name + '=' + p.value;
		}
	} else {
		for (var member in params) {
			if (typeof(params[member]) == 'function') {
				continue;
			}
			paramString += '&' + member + '=' + params[member];
		}
	}
	return paramString;
}

function ajaxRequest(page, params, readyFunc) {
	var ajax = getXmlHTTPRequest();
	var url = subBaseURL + '/utils/' + page + '?x=5';
	if (params != null) {
		url += getParamString(params);
	}
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			readyFunc(ajax.responseText);
		}
	};
	ajax.open('GET', url, true);
	ajax.send(null);
}

function ajaxGETRequest(page, params, readyFunc) {
	ajaxRequest(page, params, readyFunc);
}

function ajaxPOSTRequest(page, params, readyFunc) {
	var ajax = getXmlHTTPRequest();
	var url = subBaseURL + '/utils/' + page;
	var paramString = '?x=10';
	if (params != null) {
		paramString += getParamString(params);
	}
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			readyFunc(ajax.responseText);
		}
	};
	ajax.open('POST', url, true);
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-length", paramString.length);
	ajax.setRequestHeader("Connection", "close");
	ajax.send(paramString);
}

function setCookie(name, value) {
	var params = [{name:'name', value:name}, {name:'value', value:value}];
	ajaxRequest('setcookie.php', params, function(rt) {document.location.reload(true);});
}
