summary = new Array;
title = new Array;
bills = new Array;
bill_nodes = new Array;
var hh;
var inter;
var billid;
var dosleep;

function initQueue() {
	votes=new Array;
	
	if(readCookie("vote_queue") == "blank" || readCookie("vote_queue") == "") {
		createCookie("vote_queue","");
		return;
	}
	
	votes=new Array;
	
	votes=readCookie("vote_queue").split(":");
	
	dosleep=false;
	
	for(i=0;i<votes.length;i++) {
		setVote(votes[i],votes[++i]);	
	}
	
	dosleep=true;
	
}

function updateCookies(bill,vote,action) {

	votes= new Array;
	new_votes=new Array;
	var cookie;
	
	var found=0;
	cookie=readCookie("vote_queue");

	if(cookie == "blank") {
		createCookie("vote_queue","");
		votes=readCookie("vote_queue").split(":");
	}else{
		votes=cookie.split(":");
	}
	
	var j=0;
	
	for(var i=0;i<votes.length;i++) {
		if(votes[i] == bill) {
			if(action == "add") {
				votes[1+i]=vote;
				i=votes.length
			}else{
				votes[i]="";
				votes[1+i]="";
			}
			
			found++;
		}
		
		i++; // skip an extra
	}
	
	// get rid of blanks
	j=0;
	
	for(i=0;i<votes.length;i++) {
		if (votes[i] != "" && votes[1+i] != ""){
			new_votes[j++]=votes[i++];
			new_votes[j++]=votes[i];
		}
	}
	
	if(found == 0 && action == "add") {
		new_votes[new_votes.length]=bill;
		new_votes[new_votes.length]=vote;
	}
	
	createCookie("vote_queue",new_votes.join(":"));
}

function updateVoteCount(cnt) {
	var current=document.getElementById("voteCount");

	if(current == null || current == "") {
		return;
	}else{
		current+=parseInt(cnt)+parseInt(current);
	}
	document.getElementById("voteCount").innerHTML=current;
	
}

function setVote(bill,vote) {

	if(!document.getElementById(bill+"-summary")) {
			return;
	}
	
	if(summary[bill] == null) {
		summary[bill]=document.getElementById(bill+"-summary").innerHTML;
	}
	
	if(title[bill] == null) {
		title[bill]=document.getElementById(bill+"-title").innerHTML;
	}
	
	if(vote=="Yea" || vote=="yea") {

		document.getElementById(bill+".img-yea").src="./images/yea.png";
		document.getElementById(bill+".a-yea").onclick=function(){unsetVote(bill,"yea");simplePopQueue(bill);};
		document.getElementById(bill+".a-nay").onclick='setVote("'+bill+'","nay")';
		document.getElementById(bill+".a-nay").onclick=function(){setVote(bill,"nay");};
		document.getElementById(bill+".img-nay").src="./images/nay_grey.png";
		
		var imgsrc=bill+".img-"+vote;
		
		document.getElementById(bill+".a-"+vote).onmouseout=function(bill,vote){
			document.getElementById(imgsrc).src="./images/yea.png";
		};
		
		var mini_img="./images/yea_mini.png";
	}
	
	if(vote=="Nay" || vote == "nay") {

		document.getElementById(bill+".img-nay").src="./images/nay.png";
		document.getElementById(bill+".a-nay").onclick=function(){unsetVote(bill,"nay");simplePopQueue(bill);};
		document.getElementById(bill+".a-yea").onclick=function(){setVote(bill,"yea");};
		document.getElementById(bill+".img-yea").src="./images/yea_grey.png";
		
		var imgsrc=bill+".img-"+vote;
		
		document.getElementById(bill+".a-"+vote).onmouseout=function(bill,vote){
			document.getElementById(imgsrc).src="./images/nay.png";
		};
		
		var mini_img="./images/nay_mini.png";
	}
	
	// Now that the image swaps are done, grab the HTML
	bills[bill]=document.getElementById(bill).innerHTML;
	
	dosleep=false;
	
	if(dosleep) {
		document.getElementById(bill).style.visibility="hidden";
	
		setTimeout(function(){
						var obj=document.getElementById(bill);
						bill_nodes[bill]=obj.parentNode.removeChild(obj);
						bill_nodes[bill].style.visibility="visible";},1500);
	}else{
		var obj=document.getElementById(bill);
		//bill_nodes[bill]=obj.parentNode.removeChild(obj);
		//bill_nodes[bill].style.visibility="visible";
		bill_nodes[bill]=obj;
		//bill_nodes[bill].style.visibility="hidden";
	}

	var details;
	
	if(bill_nodes[bill] != null) {
		details="'>Details</a></div>";
	}else{
		details="'>";
	}
	
	new_html="<div id="+bill+"queue>"+title[bill]+"<br><img src="+mini_img+"><a href=# onclick='popQueue("+'"'+bill+'");return false;'+"'>Undo</a>"+"<a href=# onclick='showDetails("+'"'+bill+'");return false;'+details;
	
	// no div
	update_html=title[bill]+"<br><img src="+mini_img+" height=20 width=20/><a href=# onclick='popQueue("+'"'+bill+'");return false;'+"'>Undo</a>"+"<a href=# onclick='showDetails("+'"'+bill+'");scrollToBill("'+bill+'");return false;'+details;
	
	//if not already in queue
	if(!document.getElementById(bill+"queue")) {
		document.getElementById("voteQueue").innerHTML=new_html+document.getElementById("voteQueue").innerHTML;
		//document.getElementById("voteQueue").appendChild(new_html);
	}else{
		document.getElementById(bill+"queue").innerHTML=update_html;
	}
	
	setSearchForm(bill,vote);			
}

function unsetSearchForm(bill) {
	var search_form=document.getElementById("searchForm");
	
	if(search_form == null) {
		//alert("Search form not found");
		return;
	}
	
	var search_bill=document.getElementById(bill+"search");
	
	if(search_bill != null) {
		//alert("Search bill not found");	
		var vote=search_bill.getAttribute("name");
		var ochild=search_form.removeChild(search_bill);
		
	}
	
	//search_form.removeChild(document.getElementById(bill+"search"));
	
	updateVoteCount("-1");
	updateCookies(bill,vote,"remove");
	
	return search_form;
}

function setSearchForm(bill,vote) {
	if(document.getElementById(bill+"search") != null) {
		var search_form=unsetSearchForm(bill);
	}else{
		var search_form=document.getElementById("searchForm");
	}
	
	if(vote == "Yea" || vote == "yea"){
		var search_html='<input class="searchInputYea" type="hidden" id="'+bill+'search" name="yea" value="'+bill+'">';
		
		input=document.createElement("input");
		input.id=bill+"search";
		input.setAttribute("class","searchInputYea");
		input.setAttribute("className","searchInputYea");
		input.setAttribute("type","hidden");
		input.setAttribute("name","yea");
		input.setAttribute("value",bill);
	
		search_table=document.getElementById("searchFormTable");
		search_form.appendChild(input);

	}else{
		var search_html='<input class="searchInputNay" type="hidden" id="'+bill+'search" name="nay" value="'+bill+'">';
		input=document.createElement("input");
		input.id=bill+"search";
		input.setAttribute("class","searchInputNay");
		input.setAttribute("className","searchInputNay");
		input.setAttribute("type","hidden");
		input.setAttribute("name","nay");
		input.setAttribute("value",bill);
	
		search_table=document.getElementById("searchFormTable");
		search_form.appendChild(input);
	}
	
	updateVoteCount("1");
	updateCookies(bill,vote,"add");

//	search_form.innerHTML+=search_html;
}

	// In case user clicks Details then unsets the vote instead of just "undoing" it
function simplePopQueue(bill) {
	queue=document.getElementById(bill+"queue");
	
	if(queue != null) {
		queue.parentNode.removeChild(queue);
	
		unsetSearchForm(bill);

	}
}

function unsetVote(bill,vote) {
	//alert("Unsetting");
	
	if(!document.getElementById(bill+".img-"+vote)) {
		return;
	}
	
	document.getElementById(bill+".img-"+vote).src="./images/"+vote+"_grey.png";
	document.getElementById(bill+".a-"+vote).onclick=function(){setVote(bill,vote);};
	//document.getElementById(bill+"-summary").innerHTML=summary[bill];
	
	var imgsrc=bill+".img-"+vote;
	var img="./images/"+vote+"_grey.png";
		
	document.getElementById(bill+".a-"+vote).onmouseout=function(bill,vote){
		document.getElementById(imgsrc).src=img;
	};		
}

function swapImage(bill,vote) {
	original=document.getElementById(bill+".img-"+vote).src;
	document.getElementById(bill+".img-"+vote).src="./images/"+vote+".png";
	var imgsrc=bill+".img-"+vote;
	
	document.getElementById(bill+".a-"+vote).onmouseout=function(bill,vote){
		document.getElementById(imgsrc).src=original;
	};
}


function popQueue(bill) {
	
	showDetails(bill);
	unsetVote(bill,"nay");
	unsetVote(bill,"yea");
	
	queue=document.getElementById(bill+"queue");
	queue.parentNode.removeChild(queue);
	
	unsetSearchForm(bill);
}

function showDetails(bill) {
	
	if(bill_nodes[bill] != null) {
		var bi=document.getElementById("billInfo");
		
		if(!document.getElementById(bill+"-title")) {
			bi.insertBefore(bill_nodes[bill],bi.firstChild);
		}
				
		bill_nodes[bill].style.visibility="visible";
	}
}

function scrollToBill(bill) {

	if(bill_nodes[bill] != null) {
		bill_nodes[bill].scrollIntoView(true);
	}
}

function HideBox()
{
	obj = document.getElementById(billid);

	if(hh < 0)
	{
	obj.style.visibility = 'hidden';
	obj.style.height = '0.1em';
	clearInterval(inter);
	return;
	}
	hh-=2;
	obj.style.height = hh + 'px';
}