var http = new Array;
var completed = new Array;
var compare_div_intl = 0;
var ie_opacity = 100;

function loadXMLDoc(url) {
	if (window.XMLHttpRequest) {
		var i = http.length;

		var request = new XMLHttpRequest();
		request.onreadystatechange = processReqChange;
		request.open("GET", url, true);
		request.send(null);

		http[i] = request;
	} else if (window.ActiveXObject) {
		var i = http.length;
		var request2;

		try {
			request2 = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			try {
				request2 = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) { }
		}

		if (request2) {
			request2.onreadystatechange = processReqChange;
			request2.open("GET", url, true);
			request2.send();

			http[i] = request2;
		}
	}
}

function processReqChange() {
	for (var i=0; i < http.length; i++) {
		if (completed[i] || !http[i]) {
			continue;
		}

		if (http[i].readyState == 4) {
			if (http[i].status == 200) {
				var response  = http[i].responseXML.documentElement;
				var method = response.getElementsByTagName('method')[0].firstChild.data;
				var request = response.getElementsByTagName('request')[0];
				var result = response.getElementsByTagName('result')[0];
				eval(method + '(request, result)');
			}
			
			completed[i] = 1;
		}
	}
}

function add_to_compare(sid, name, cl) {
	var cookies = document.cookie.split(/\s*;\s*/);
	var compare = new String();
	var compare_cl = new String();
	for (var i=0; i < cookies.length; i++) {
		var c = cookies[i].split('=');
		if (c[0] == 'compare') {
			compare = c[1];
		} else if (c[0] == 'compare_cl') {
			compare_cl = c[1];
		}
	}

	if (compare_cl != cl) {
		compare = '';
		compare_cl = '';
		clear_compare();
	}

	var date = new Date();
	date.setHours(date.getHours() + 10);

	document.cookie = 'compare=' + (compare != '' ? compare + '-' : '') + sid + '; Path=/; Expires=' + date.toUTCString();
	document.cookie = 'compare_cl=' + cl + '; Path=/; Expires=' + date.toUTCString();

	var elems = document.getElementById('compare_elements');
	if (elems) {
		var stuff = document.createElement('div');
		stuff.appendChild( document.createTextNode(name) );
		elems.appendChild(stuff);

		var place = document.getElementById('compare_place');
		place.style.display = 'block';
	}

	var div = document.createElement('div');
	div.id = 'compare_div';
	div.className = 'loading';
	div.appendChild( document.createTextNode('Добавлено..') );
	document.body.appendChild(div);

	if (window.navigator.appName.match(/Explorer/i)) {
		div.style.left = document.documentElement.scrollLeft + (document.documentElement.clientWidth - div.clientWidth) / 2 + 'px';
		div.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight - div.clientHeight) / 2 + 'px';
		div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
		ie_opacity = 100;
	} else if (window.navigator.appName.match(/Opera/i)) {
		div.style.left = document.documentElement.scrollLeft + (window.innerWidth - div.clientWidth) / 2 + 'px';
		div.style.top = document.documentElement.scrollTop + (window.innerHeight - div.clientHeight) / 2 + 'px';
		div.style.opacity = 1;
	} else {
		div.style.left = window.scrollX + (window.innerWidth - div.clientWidth) / 2 + 'px';
		div.style.top = window.scrollY + (window.innerHeight - div.clientHeight) / 2 + 'px';
		div.style.opacity = 1;
	}
	compare_div_intl = window.setInterval(compare_div_opacity, 100);
}

function compare_div_opacity() {
	var div = document.getElementById('compare_div');
	if (!div) {
		return;
	}

	if (window.navigator.appName.match(/Explorer/i)) {
		ie_opacity = ie_opacity - 5;
		div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + ie_opacity + ")";
		if (ie_opacity <= 0) {
			window.clearInterval(compare_div_intl);
			document.body.removeChild(div);
		}
	} else {
		div.style.opacity = div.style.opacity - 0.05;
		if (div.style.opacity <= 0) {
			window.clearInterval(compare_div_intl);
			document.body.removeChild(div);
		}
	}
}

function clear_compare() {
	var elems = document.getElementById('compare_elements');
	if (elems) {
		var children = elems.childNodes;
		for (var i = 0; i < children.length;) {
			elems.removeChild(children[i]);
		}

		var place = document.getElementById('compare_place');
		place.style.display = 'none';
	}

	document.cookie = 'compare=; Path=/; Max-Age: 0;';
	document.cookie = 'compare_cl=; Path=/; Max-Age: 0;';
}

function delete_from_compare(sid) {
	var cookies = document.cookie.split(/\s*;\s*/);
	var compare = new Array();
	for (var i=0; i < cookies.length; i++) {
		var c = cookies[i].split('=');
		if (c[0] == 'compare') {
			var sids = c[1].split(/-/);
			for (var j=0; j < sids.length; j++) {
				if (sids[j] != sid)
					compare.push(sids[j]);
			}
		}
	}

	var date = new Date();
	date.setHours(date.getHours() + 10);
	document.cookie = 'compare=' + compare.join('-') + '; Path=/; Expires=' + date.toUTCString();
}

function add_to_notepad(sid) {
	var cookies = document.cookie.split(/\s*;\s*/);
	var notepad = new String();
	var sids = new Array();
	for (var i=0; i < cookies.length; i++) {
		var c = cookies[i].split('=');
		if (c[0] == 'notepad') {
			notepad = c[1];
			sids = notepad.split(/-/);
			for (var j=0; j < sids.length; j++) {
				if (sids[j] == sid)
					return sids.length;
			}
			if (sids.length == 1 && !sids[0]) {
				sids.shift();
			}
		}
	}

	var date = new Date();
	date.setFullYear(date.getFullYear() + 10);
	document.cookie = 'notepad=' + (notepad != '' ? notepad + '-' : '') + sid + '; Path=/; Expires=' + date.toUTCString();

	var div = document.createElement('div');
	div.id = 'notepad_div';
	div.className = 'loading';
	div.appendChild( document.createTextNode('Добавлено..') );
	document.body.appendChild(div);

	if (window.navigator.appName.match(/Explorer/i)) {
		div.style.left = document.documentElement.scrollLeft + (document.documentElement.clientWidth - div.clientWidth) / 2 + 'px';
		div.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight - div.clientHeight) / 2 + 'px';
		div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100)";
		ie_opacity = 100;
	} else if (window.navigator.appName.match(/Opera/i)) {
		div.style.left = document.documentElement.scrollLeft + (window.innerWidth - div.clientWidth) / 2 + 'px';
		div.style.top = document.documentElement.scrollTop + (window.innerHeight - div.clientHeight) / 2 + 'px';
		div.style.opacity = 1;
	} else {
		div.style.left = window.scrollX + (window.innerWidth - div.clientWidth) / 2 + 'px';
		div.style.top = window.scrollY + (window.innerHeight - div.clientHeight) / 2 + 'px';
		div.style.opacity = 1;
	}
	notepad_div_intl = window.setInterval(notepad_div_opacity, 100);

	return sids.length + 1;
}

function notepad_div_opacity() {
	var div = document.getElementById('notepad_div');
	if (!div) {
		return;
	}

	if (window.navigator.appName.match(/Explorer/i)) {
		ie_opacity = ie_opacity - 5;
		div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + ie_opacity + ")";
		if (ie_opacity <= 0) {
			window.clearInterval(notepad_div_intl);
			document.body.removeChild(div);
		}
	} else {
		div.style.opacity = div.style.opacity - 0.05;
		if (div.style.opacity <= 0) {
			window.clearInterval(notepad_div_intl);
			document.body.removeChild(div);
		}
	}
}

function delete_from_notepad(sid) {
	var cookies = document.cookie.split(/\s*;\s*/);
	var notepad = new Array();
	for (var i=0; i < cookies.length; i++) {
		var c = cookies[i].split('=');
		if (c[0] == 'notepad') {
			var sids = c[1].split(/-/);
			for (var j=0; j < sids.length; j++) {
				if (sids[j] != sid)
					notepad.push(sids[j]);
			}
		}
	}

	var date = new Date();
	date.setFullYear(date.getFullYear() + 10);
	document.cookie = 'notepad=' + notepad.join('-') + '; Path=/; Expires=' + date.toUTCString();
}

function clear_notepad() {
	document.cookie = 'notepad=; Path=/; Max-Age: 0;';
}
