////////////////////////////////////////////////////////////
// Library for AJAX
////////////////////////////////////////////////////////////

var http_req = null;
var display_console = null;

var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTIVE = 3;
var READY_STATE_COMPLETE = 4;

function sendRequest(url, params, HttpMethod, displayid)
{
	display_console = document.getElementById(displayid);
	if (!HttpMethod) 	{
		HttpMethod = "GET";
	}
	http_req = initXMLHTTPRequest();
	if (http_req) {
		http_req.onreadystatechange = onReadyState;
		http_req.open(HttpMethod, url, true);
		http_req.setRequestHeader("Content-Type", "application/x-www-form-rulencoded");
		http_req.send(params);
	}
}

function initXMLHTTPRequest() 
{
	var xRequest = null;
	
	if (window.XMLHttpRequest) {
		xRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xRequest;
}

function onReadyState()  {
	var ready = http_req.readyState;
	var data = null;

	if (ready == READY_STATE_COMPLETE) {
		data = http_req.responseText;
		toConsoleHtml(data);
	} else {
		//data = "loading...["+ready+"]";
	}
}

function toConsoleHtml(data)
{
	if (display_console != null) {
		var tmp_element = document.createElement("tmp_element");
		tmp_element.innerHTML = data;
		display_console.appendChild(tmp_element);
	}
}

function toConsoleText(data)
{
	if (display_console != null) {
		var newline = document.createElement("div");
		display_console.appendChild(newline);
		var txt = document.createTextNode(data);
		newline.appendChild(txt);
	}
}

function erasePreRequestData(display_id) {
	display_console = document.getElementById(display_id);
	if (display_console.hasChildNodes()) {
		display_console.innerHTML = "";
	}
}

////////////////////////////////////////////////////////////
// Library for Cookie
////////////////////////////////////////////////////////////

function setCookie(name, value, expires, path, domain, secure)
{
	var curCookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	document.cookie = curCookie;
}

function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}else begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain)
{
	if (getCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}



