var poll = new Array();
//poll = new Object;
/*poll = {
	id : null,
	container : null,
	pollForm : null,
	legendForm : null,
	legendDiv : null,
	resultsLink : null,
	legendLinkVotes : null,
*/	
	var Poll = function(){
	}
	Poll.prototype.initialize = function(poll_id){
		poll[poll_id].id = poll_id;
		poll[poll_id].container = document.getElementById("pollContainer_"+poll_id);
		if (document.getElementById("pollForm_"+poll_id)){
			poll[poll_id].pollForm = document.getElementById("pollForm_"+poll_id);
			poll[poll_id].pollForm.onsubmit = poll[poll_id].vote;
		}
		if (document.getElementById("resultsLink_"+poll_id)){
			poll[poll_id].resultsLink = document.getElementById("resultsLink_"+poll_id);
			if (poll[poll_id].resultsLink.attachEvent){
				poll[poll_id].resultsLink.attachEvent("onclick", poll[poll_id].showResults);
			} else if (poll[poll_id].resultsLink.addEventListener){
				poll[poll_id].resultsLink.addEventListener("click", poll[poll_id].showResults, true);
			}
			poll[poll_id].resultsLink.href = "javascript:nop()";
		}
		if (document.getElementById("pollLegendLinkVotes_"+poll_id)){
			poll[poll_id].legendLinkVotes = document.getElementById("pollLegendLinkVotes_"+poll_id);
			poll[poll_id].legendLinkVotes.href = "javascript:poll["+poll_id+"].showVotes()";
		}
	}
	Poll.prototype.showVotes = function(e){
		var evt = e || window.event ;
		var evtTarget = evt.target || evt.srcElement;
		if (evtTarget.nodeType == 3) evtTarget = evtTarget.parentNode;
		poll_id = evtTarget.id.match(/\d+$/);

		roditelji = poll[poll_id].container.childNodes;
		var j=0;
		for(k=0;k<roditelji.length;k++){
			if (roditelji[k].tagName=="DIV"){
				j++;
				var deca = roditelji[k].childNodes;
				for (i=0;i<deca.length;i++){
					if (deca[i].tagName == "IMG" && deca[i].src.match(/poll_process/) && !deca[i].src.match(/votes/)){				
						if (deca[i].style.display != "none"){
							deca[i].style.display="none";
						} else {
							deca[i].style.display="block";
						}
					} else if (deca[i].tagName == "IMG" && deca[i].src.match(/poll_process/) && deca[i].src.match(/votes/)){				
						if (deca[i].style.display != "none"){
							deca[i].style.display="none";
						} else {
							deca[i].style.display="block";
						}
					}
				}
			}
		}
		if (document.getElementById('pollLegendLinkVotes_'+poll_id).innerHTML.match(/rezultate/)){
			document.getElementById('pollLegendLinkVotes_'+poll_id).innerHTML="Pogledaj broj glasova";
		} else {
			document.getElementById('pollLegendLinkVotes_'+poll_id).innerHTML="Pogledaj rezultate";
		}
	}
	Poll.prototype.vote = function(e){
		evt = e || window.event ;
		var evtTarget = evt.target || evt.srcElement;
		evtTarget = evtTarget.parentNode;
		poll_id = evtTarget.id.match(/\d+$/);


		var url = "includes/poll_process.php";
		var params=null;
		for (i=0;i<poll[poll_id].pollForm.poll_vote.length;i++){
			if (poll[poll_id].pollForm.poll_vote[i].checked === true){
				params="poll_id="+poll_id+"&vote="+poll[poll_id].pollForm.poll_vote[i].value;
			} 
		}
		if (params == null){
			alert('Morate izabrati odgovor pre glasanja!');
			return false;
		}
		
		var ajax = null;
		if (window.XMLHttpRequest) {
			ajax=new XMLHttpRequest();
		} else {
			ajax=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (ajax==null) {
			return true;
		}
		ajax.onreadystatechange = function() {
			if (ajax.readyState==4 || ajax.readyState=="complete") {
				poll[poll_id].finishVote(ajax.responseText, ajax.status, poll_id);
			}
		}
		ajax.open("POST", url, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
		ajax.setRequestHeader("Cache-Control", "no-cache");
		ajax.setRequestHeader("Pragma", "no-cache");
		if (params!=null) ajax.setRequestHeader("Content-length", params.length);
		ajax.setRequestHeader("Connection", "close");
		ajax.send(params);
		return false;
	}
	Poll.prototype.showResults = function(e){	
		evt = e || window.event ;
		var evtTarget = evt.target || evt.srcElement;
		if (evtTarget.nodeType == 3) evtTarget = evtTarget.parentNode;
		poll_id = evtTarget.id.match(/\d+$/);
		var url = "includes/poll_process.php?poll_id="+poll[poll_id].id+"&vote=empty";
		var params = null
		var ajax = null;
		if (window.XMLHttpRequest) {
			ajax=new XMLHttpRequest();
		} else {
			ajax=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (ajax==null) {
			return true;
		}
		ajax.onreadystatechange = function() {
			if (ajax.readyState==4 || ajax.readyState=="complete") {
				poll[poll_id].finishVote(ajax.responseText, ajax.status, poll_id);
			}
		}
		ajax.open("POST", url, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
		ajax.setRequestHeader("Cache-Control", "no-cache");
		ajax.setRequestHeader("Pragma", "no-cache");
		if (params!=null) ajax.setRequestHeader("Content-length", params.length);
		ajax.setRequestHeader("Connection", "close");
		ajax.send(params);
		return false;
	}
	Poll.prototype.finishVote = function(response, status, poll_id){
		document.getElementById("pollContainer_"+poll_id).innerHTML = response;
		poll[poll_id].legendLinkVotes = document.getElementById("pollLegendLinkVotes_"+poll_id);
		
		if (poll[poll_id].legendLinkVotes.attachEvent){
			poll[poll_id].legendLinkVotes.attachEvent("onclick", poll[poll_id].showVotes);
		} else if (poll[poll_id].legendLinkVotes.addEventListener){
			poll[poll_id].legendLinkVotes.addEventListener("click", poll[poll_id].showVotes, true);
		}
		poll[poll_id].legendLinkVotes.href = "javascript:nop()";
	}
function nop(){
}