wins = new Array();

function wopen(wurl,trgt,h,w) {
	win = wins[trgt];
	if (!win || win.closed) {
		wins[trgt] = window.open(wurl,trgt,'height='+h+',width='+w+',resizable=yes,scrollbars=yes,menubar=no,status=no');
		win = wins[trgt];
	}
	win.focus();
	return false;
}

function WinRefresh() {
	self.focus();
	window.location='.';
}

function SelfClose(stay) {
	if (!stay && window.opener) {
		setTimeout('if (!window.opener.closed) window.opener.WinRefresh(); self.close();',2000);
	}
	else {
		setTimeout('self.close();',2000);
	}
}

function show(menuID){
	if (activeMenu != menuID) {
		if(eval(layerRef + lb + menuID + rb)) {
			if (activeMenu){hideMenu(activeMenu)}
			activeMenu = menuID;
			eval(layerRef + lb + menuID + rb + styleRef + '.visibility = "visible"');
		}
	}else{
		hideMenu(activeMenu);
		activeMenu = "";
	}
	return false;
}

function hideMenu(layerID) {
	eval(layerRef + lb + layerID + rb + styleRef + '.visibility = "hidden"');
}

function getSingleElementByClass(container, classNameVar) {
	var elements = container.getElementsByTagName("*");
	if(!elements.length) elements=container.all;
	for (var i=0; i < elements.length; i++) {
		if (elements[i].className == classNameVar) return elements[i];
	}
	return false;
}

function getParentItem(element) {
	var current = element;
	while (current.parentNode) {
		if (current.parentNode.className.substr(0,4) == "item") {
			return current.parentNode;
		}
		current=current.parentNode;
	}
	return false;
}

function voteItem(button) {
	var item = getParentItem(button);
	if (item.processing)
		return false;
	item.processing = 1;
	var ratingDiv = getSingleElementByClass(item, "item-rating");
	if (!ratingDiv)
		var ratingDiv = getSingleElementByClass(item, "item-rating negative")
			item.rating = ratingDiv.innerHTML;
	if (button.className == "vote-minus")
		var value = -1;
	else if (button.className == "vote-plus")
		var value = 1;
	else {
		item.processing = 0;
		return false;
	}
	var parameters = "id=" + item.id + "&value=" + value;
	item.request = createXMLHttpRequest();
	item.request.open("POST", "/cgi-bin/ranker.cgi", true);
	item.request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	item.request.setRequestHeader("Content-length", parameters.length);
	item.request.setRequestHeader("Connection", "close");
	item.request.onreadystatechange = function() {
		if (item.request.readyState == 4 && item.request.status == 200) {
			if (item.request.responseText == "") {
				item.processing = 0;
				return;
			}
			item.id = "voted";
			item.rating = item.request.responseText;
			ratingDiv.innerHTML = item.rating;
			if (item.rating < 0)
				ratingDiv.className = "item-rating negative";
			else 
				ratingDiv.className = "item-rating";
		}
		if (item.request.readyState == 4)
			item.processing = 0;
	}
	item.request.send(parameters);
	return false;
}

function createXMLHttpRequest() {
	if (window.XMLHttpRequest) {
		var XMLHttp = new XMLHttpRequest();
	}
	else {
		try {
			var XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (err) {
			try {
				var XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (err2) {
				var XMLHttp = false;
			}
		}
	}
	return XMLHttp;
}

function empty() {
	return;
}
