/**
 *	RatingListener - V1.00.120506 - May 12 2006
 *	---------------------------------------------
 *  Author - Martin Reurings
 *  Depends on: EventHandler.js, LinkListener.js
 */

	LinkListener.setHandler("rate", function(link) {
		link.focus();

		var xmlhttp = null;
		if (window.XMLHttpRequest) {
			xmlhttp = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
		}
	
		if (xmlhttp) {
			xmlhttp.open("GET", link.href+"&amp;rnd="+Math.random(), true);
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4) {
					var rating = getRequestParameter(link.href.split("?")[1], "beoordeling");
					if (!rating || rating == "") return false;
					var perc = rating/5*100;
					//alert("Uw beoordeling ("+ perc+"%, "+ rating +" van 5) is verzonden.");
					var stars = document.getElementById("rated").getElementsByTagName("span")[0];
					stars.style.width = perc+"%";
					stars.innerHTML = rating+" van 5";
					ClassName.remove(document.getElementById("rated"), "closed");
					ClassName.add(document.getElementById("rate"), "closed");
				}
			};
			xmlhttp.send(null);
		}
	
		var rating = document.getElementById("rateThis");
		rating.className = "";
		return false;
	});

	LinkListener.setHandler("slidetool", function(link) {
		var rating = document.getElementById("rateThis");
		rating.className = "open";
		rating.focus();
		return false;
	});

	LinkListener.setHandler("cancelRate", function(link) {
		var rating = document.getElementById("rateThis");
		rating.className = "";
		return false;
	});

	function ratingBar(e) {
		var e = e||event;
		var target = e.target||e.srcElement;
		if (!target.nodeName || target.nodeType == 3) target = target.parentNode;
		if (target.nodeName == "A") {
			var ul = target.parentNode.parentNode;
			var lis = ul.getElementsByTagName("li");
			var re = / ?\bhighlight\b/g;
			for (var i = 0; i < lis.length; i++) {
				lis[i].className = lis[i].className.replace(re, "");
			}
			for (var i = 0; i < lis.length && lis[i]!=target.parentNode; i++) {
				lis[i].className += " highlight";
			}
		}
		if (target.className == "cancel") {
			for (var i = 0; i < lis.length; i++) {
				lis[i].className = lis[i].className.replace(re, "");
			}			
		}
		return cancelEvent(e);
	}
	
	var ratingInit = addEventHandler(window, "load", function(e) {
		var rating = document.getElementById("rateThis");
		if (!rating || rating == null) return false;
		addEventHandler(rating, "mouseover", function(e) {
			return ratingBar(e);
		});
		var as = rating.getElementsByTagName("a");
		for (var i = 0; i < as.length; addEventHandler(as[i++], "focus", function(e) {
			return ratingBar(e);
		}));
		removeEventHandler(window, "load", ratingInit);
		ratingInit = null;
		return true;
	});


	function getRequestParameter(q, param) {	
		if(q) {
			var pairs = q.substring(0).split("&");
			for (var i=0; i < pairs.length; i++) {
				if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
					return pairs[i].substring((pairs[i].indexOf("=")+1));
				}
			}
		}
		return "";
	}