if (window.attachEvent) {window.attachEvent("onload", post_votes_init);} 
else if (window.addEventListener) {window.addEventListener("load", post_votes_init, false);} 
else if (document.addEventListener) {document.addEventListener("load", post_votes_init, false);}		

function post_votes_init() {
	PVscript_src=location.pathname+(location.search ? location.search+"&" : "?")+"js="; var dlksi;
	for (var i=0; i<document.links.length; i++) {	dlksi=document.links[i]; if (dlksi.className) {if (dlksi.className.substr(0,4)=="pvup" || dlksi.className.substr(0,6)=="pvdown") {dlksi.onclick=post_votes;}}}
}	
function post_votes(e) {
	if (e) {if (e.target) {obj=e.target;} else {obj=e;}} else if (window.event) {e=window.event; if (e.target) {obj=e.target;} else {obj=e.srcElement;}} 	
	obj.blur(); 		
	var vote=0; if (obj.className.substr(0,4)=="pvup") {vote=1;} else if (obj.className.substr(0,6)=="pvdown") {vote=-1;}
	do {obj=obj.parentNode;} while (!obj.id || obj.id.substr(0,11)!="post_votes_");  
	post_votes_score_update(obj.id,"wait"); 
	if (typeof PVscript != "undefined") {document.body.removeChild(PVscript);}
	PVscript = document.createElement("script");
	PVscript.src = PVscript_src+Math.floor(Math.random()*99999999)+"&post-votes="+(vote>0 ? "+" : "-")+obj.id.substr(11);
	PVscript.type = "text/javascript";
	PVscript.charset = "utf-8";
	document.body.appendChild(PVscript); 
	return false;
}
function post_votes_score_update(obj_id,data,title) { 
	var obj=document.getElementById(obj_id); 
	for (var i=0;i<obj.childNodes.length;i++) {if (obj.childNodes[i].tagName && obj.childNodes[i].tagName.toUpperCase()=="SPAN") {obj=obj.childNodes[i];break;}}
	if (data=="wait") {obj.className=data;} else {if (data!="cancel") {obj.innerHTML=""; obj.appendChild(document.createTextNode(data)); obj.title=title;}; obj.className="";} 
}
function post_votes_vote_update(obj_id,vote) { 
	var obj=document.getElementById(obj_id);	
	for (var i=0;i<obj.childNodes.length;i++) { 
    		if (obj.childNodes[i] && obj.childNodes[i].className) {
    			var pv=obj.childNodes[i],pvc=pv.className;
    			if (pvc.substr(0,4)=="pvup") { 
    				if (vote>0) {pv.className="pvup_voted";} else {pv.className="pvup";}
   			}
    			if (pvc.substr(0,6)=="pvdown") {     					
    				if (vote<0) {pv.className="pvdown_voted";} else {pv.className="pvdown";}
    			}
    		}
	}			
}
function post_votes_poster_points(obj_id,points) { 
	var objs=document.getElementsByClassName ? document.getElementsByClassName(obj_id) : document.getElementsByTagName("span"); 
	if (objs) {for (var i=0;i<objs.length;i++) {if (objs[i].className && objs[i].className==obj_id) {objs[i].innerHTML=points;}}}
}
function post_votes_message(obj_id,message) {		
	if (typeof pvmdiv == "undefined") {
		pvmdiv=document.createElement("div"); 
		pvmdiv.ms=(typeof pvmdiv.style.opacity== "undefined") ? true : false;
		pvmdiv.onclick=post_votes_message_off;			
		pvmdiv.className="post_votes_message";
		pvmdiv.style.position="absolute"; 
		pvmdiv.style.visibility="hidden"; 			
		document.body.appendChild(pvmdiv);
	} else {		
		pvmdiv.style.visibility="hidden"; 			
		try {clearTimeout(pvmdiv.timer);} catch(dummy) {}
		try {clearTimeout(pvmdiv.fadetimer);} catch(dummy) {}
	}
	pvmdiv.innerHTML=message;
	if (!pvmdiv.obj_id || pvmdiv.obj_id!==obj_id) {			 
		var obj=document.getElementById(obj_id), objx, objy, objw=obj.offsetWidth, objh=Math.floor((obj.offsetHeight-pvmdiv.offsetHeight)/2);
		objx=obj.offsetLeft||0;  objy=obj.offsetTop||0;  while(obj=obj.offsetParent) {objx+=obj.offsetLeft||0; objy+=obj.offsetTop||0;}		
		pvmdiv.style.top=(objy+objh)+"px"; pvmdiv.style.left=(objx+objw)+"px"; 
		pvmdiv.obj_id=obj_id;
	}
	pvmdiv.fade=0; pvmdiv.fadedirection=1; post_votes_message_fade(); pvmdiv.style.visibility="visible"; 
	pvmdiv.timer=setTimeout("post_votes_message_off()",4000+(message.indexOf('</a>') > -1 ? 3000 : 0));
}
function post_votes_message_off() {
	pvmdiv.fadedirection=-1;
	post_votes_message_fade();		
}
function post_votes_message_fade(){ 
	pvmdiv.fade+=(10*pvmdiv.fadedirection);
	if (pvmdiv.fade<0) {pvmdiv.fade=0; pvmdiv.style.visibility="hidden";} else if (pvmdiv.fade>100) {pvmdiv.fade=100;} else {pvmdiv.fadetimer=setTimeout("post_votes_message_fade()",20);}
	if (pvmdiv.ms) {pvmdiv.style.filter="alpha(opacity="+pvmdiv.fade+")";} else {pvmdiv.style.opacity=(pvmdiv.fade/100);}
}