if (window.XMLHttpRequest) var object = new XMLHttpRequest();
else if (window.ActiveXObject) var object = new ActiveXObject("Microsoft.XMLHTTP");

var ajaxData = new Array();

function getData(ajaxData) { 
	if (object) {
		var itemData = ajaxData.shift();
		itemData = itemData.split("|");
		var itemDiv = itemData[0];
		var itemUrl = itemData[1];
		document.getElementById('wait').style.display = '';
		var target = document.getElementById(itemDiv);
		object.open("GET", itemUrl);
		object.onreadystatechange = function() {
			if (object.readyState == 4) {
				target.innerHTML = object.responseText;
				if (ajaxData.length > 0) getData(ajaxData);
				else document.getElementById('wait').style.display = 'none'; } }
	object.send(null); } }

function postData(itemUrl, itemDiv, postParametrs, ajaxData) { 
	if (object) {
		document.getElementById('wait').style.display = '';
		var target = document.getElementById(itemDiv);
		object.open('POST', itemUrl, true);
		object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		object.setRequestHeader("Content-length", postParametrs.length);
		object.setRequestHeader("Connection", "close");
		object.onreadystatechange = function() {
			if (object.readyState == 4) {
				target.innerHTML = object.responseText;
				if (ajaxData.length > 0) getData(ajaxData);
				else document.getElementById('wait').style.display = 'none'; } }
		object.send(postParametrs); } }

function ajaxFavorite(set) {
	ajaxData[0] = 'header_info|main.php?action=favorite&set=' + set + '&ajax=true';
	getData(ajaxData); }

function ajaxVote(set, vote) {
	ajaxData[0] = 'header_info|main.php?action=vote&set=' + set + '&vote=' + vote + '&ajax=true';
	ajaxData[1] = 'vote_show|main.php?action=vote_show&set=' + set + '&ajax=true';
	getData(ajaxData); }

function ajaxCommentShow(set, page) {
	ajaxData[0] = 'comment_show|main.php?action=comment_show&set=' + set + '&page=' + page + '&ajax=true';
	getData(ajaxData); }

function ajaxCommentRate(set, comment, page, rate) {
	ajaxData[0] = 'header_info|main.php?action=comment_rate&set=' + set + '&comment=' + comment + '&rate=' + rate + '&ajax=true';
	ajaxData[1] = 'comment_show|main.php?action=comment_show&set=' + set + '&page=' + page + '&ajax=true';
	getData(ajaxData); }

function ajaxCommentSubmit(set) {
	var postParametrs = 'action=comment&set=' + set + '&comment_message=' + encodeURI(document.getElementById("editor_area").value);
	ajaxData[0] = 'comment_show|main.php?action=comment_show&set=' + set + '&ajax=true';
	postData('main.php?ajax=true', 'header_info', postParametrs, ajaxData);
	document.getElementById("editor_area").value = ''; }

function ajaxLoad(set, page) {
	ajaxData[0] = 'comment_show|main.php?action=comment_show&set=' + set + '&page=' + page + '&ajax=true';
	getData(ajaxData); }
