var request = null;

function CreateHttpRequest() {
	try {
		request = new XMLHttpRequest();
	} catch(e) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
}

function SendRequest(method,url,value,exec_function) {
	if(request == null) {
		CreateHttpRequest();
	}

	if(request.readyState != 0) { request.abort(); }

	request.onreadystatechange = exec_function;

	request.open(method,url,true);
	if(method.toLowerCase() == "post") {
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}
	request.send(value);
}

function GetResponseText() {
	if(request.readyState == 4) {
		if(request.status == 200) {
			return request.responseText;
		} else {
			return false;
		}
	}

	return false;
}

function GetResponseXML() {
	if(request.readyState == 4) {
		if(request.status == 200) {
			return request.responseXML;
		} else {
			return false;
		}
	}

	return false;
}

function URLEncode(str) {
	str = str.replace(/&/g ,'%26');
	str = str.replace(/#/g ,'%23');
	str = str.replace(/\+/g,'%28');
	str = str.replace(/ /g ,'%20');
	str = str.replace(/=/g ,'%3D');
	str = str.replace(/;/g ,'%3B');

	return str;
}

function InputLock(bool) {
	var obj = document.getElementsByTagName("input");

	for(var i = 0; i < obj.length; i++) {
		obj[i].disabled = bool ? "disabled" : "" ;
	}

	var obj = document.getElementsByTagName("select");

	for(var i = 0; i < obj.length; i++) {
		obj[i].disabled = bool ? "disabled" : "" ;
	}
}

function SetUniqID() {
	SendRequest("post","/common/js/ajax/uniq-id.php","",function () {
		var ret = GetResponseText();

		if(ret === false) {
			return;
		} else {
			var date = new Date(2030,1,1);
			var url      = URLEncode(window.location.href);
			var referrer = URLEncode(document.referrer);

			document.cookie = "UNIQID=" + ret + "; path=/; expires=" + date.toGMTString();

			SendRequest("post","/common/js/ajax/insert-log.php","uniq=" + ret + "&url=" + url + "&referrer=" + referrer, function () { });
		}
	});
}

function InsertLog() {
	var cookie   = document.cookie.match(/UNIQID=[0-9a-z]+/);
	var uniq_id  = "";
	var url      = URLEncode(window.location.href);
	var referrer = URLEncode(document.referrer);

	if(cookie != null && cookie != "") {
		uniq_id = cookie[0].replace(/UNIQID=/,'');
	} else {
		SetUniqID();
		return;
	}

	SendRequest("post","/common/js/ajax/insert-log.php","uniq=" + uniq_id + "&url=" + url + "&referrer=" + referrer, function () { });
}
