// Opinion Poll Menu
function MenuClass() {
		var parent;
		var pollxmlHttp;
		var voteXmlHttp;
		var newpollxmlHttp;
		var pagination1;
		var pagination2;
		var urlvote;
		var moviewidth;
		var movieheight;
		var loading;
		var vpid;
		
		this.construct();
		
		return(this);
		
}
		
		MenuClass.prototype.construct = function (){
			this.parent = objId('polls_menu');
			this.pagination1 = objId('pagination1');
			this.pagination2 = objId('pagination2');
			this.moviewidth = 70;
			this.movieheight = 70;
			this.vpid = currpie;
			this.loading = new LoadingClass();
			
			this.getList(start,orderfilter,group);
		}
		
		MenuClass.prototype.getList = function (sn,order,gId) { 
			var this_ = this;
			this.pollxmlHttp=GetXmlHttpObject();
			var url = urlm;
			url = url+"&order="+order;
			url = url+"&startIndex="+sn;
			if (gId != ""){ url = url+"&groupId="+gId;}	
			url=url+"&sid="+Math.random();
			this.pollxmlHttp.onreadystatechange=function () { this_.pollmenu_construct();}
			this.pollxmlHttp.open("GET",url,true);
			this.pollxmlHttp.send(null);
		}
		
		MenuClass.prototype.pollmenu_construct = function () { 
			if (this.pollxmlHttp.readyState==4)
			{
				this.parent.removeChild(this.loading.element);
				var xmlDoc=this.pollxmlHttp.responseXML;
				xmlDoc.preserveWhiteSpace = false;
				var questions = xmlDoc.getElementsByTagName("poll");
				var bgpiecolor = "even";
				var main_holder = document.createElement('div');
				for (var x=0;x<questions.length;x++)
				{
					bgpiecolor = (bgpiecolor == "even") ? "odd" :"even";
					var qValue = questions[x].getElementsByTagName("title");
					qValue = checkvalueforempty(qValue);
					var idValue = questions[x].getElementsByTagName("id");
					idValue = checkvalueforempty(idValue);
					var saValue = questions[x].getElementsByTagName("stronglyagree");
					saValue = checkvalueforempty(saValue);
					var aValue = questions[x].getElementsByTagName("agree");
					aValue = checkvalueforempty(aValue);
					var nValue = questions[x].getElementsByTagName("neutral");
					nValue = checkvalueforempty(nValue);
					var dValue = questions[x].getElementsByTagName("disagree");
					dValue = checkvalueforempty(dValue);
					var sdValue = questions[x].getElementsByTagName("stronglydisagree");
					sdValue = checkvalueforempty(sdValue);
					var uValue = questions[x].getElementsByTagName("uservote");
					uValue = checkvalueforempty(uValue);
					var tValue = questions[x].getElementsByTagName("total");
					tValue = checkvalueforempty(tValue);
					var uCurrent = (currpie == idValue)? "current":"";
					var version = deconcept.SWFObjectUtil.getPlayerVersion();
					if (version['major'] >= 8) { 
						main_holder.appendChild(this.makePies(bgpiecolor,qValue,idValue,eval(tValue),eval(saValue),eval(aValue),eval(nValue),eval(dValue),eval(sdValue),uValue,uCurrent));
						
					} else {
						main_holder.innerHTML = main_holder.innerHTML + '<hr /><p>Poll Question: '+qValue+'</p>'
						+'<p>The results out of a total voting count of '+tValue+' are: '+saValue+' strongly agree, '+aValue+' agree, '+nValue+' neutral, '+dValue+' disagree, and '+sdValue+' disagree strongly.</p>'
						+'<p>You voted: '+uValue +'</p>';
					}
				}
				replaceChildren(this.parent,main_holder);
				var root_ = get_firstchild(xmlDoc);
				var startnum = root_.getAttribute('startNumber');
				start = startnum-1;
				var endnum = root_.getAttribute('endNumber');
				var totnum = root_.getAttribute('totalNumber');
				var nextindex = root_.getAttribute('nextIndex');
				var previndex = root_.getAttribute('previousIndex');
				replaceChildren(this.pagination1,makepages(previndex,nextindex,startnum,endnum,totnum));
				replaceChildren(this.pagination2,makepages(previndex,nextindex,startnum,endnum,totnum));
				
			} else {
				this.parent.appendChild(this.loading.element);
			
			}
		}
		
		MenuClass.prototype.makePies = function (pieBgColor,question,qid,ttlvotes,sagree,agree,neutral,disagree,sdisagree,uservote, current) {
			var menu_item_holder = document.createElement('div');
			menu_item_holder.className = pieBgColor;
			menu_item_holder.id = current;
			var questionpara = document.createElement('p');
			questionpara.className = "poll_question";
			questionpara.innerHTML = "&quot;" + question + "&quot;";
			var pieinnerhtml = '<object codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.moviewidth+'" height="'+this.movieheight+'"><param name="movie" value="'+ piemedia +'" /><param name="loop" value="false" /><param name="quality" value="high" /><param name="scale" value="noborder" /><param name="wmode" value="transparent" /><param name="FlashVars" value="votes='+ ttlvotes + ',' + sagree + ',' + agree + ',' + neutral + ',' + disagree + ',' + sdisagree+'" /><embed src="'+ piemedia +'" loop="false" bgcolor="#999999" width="'+ this.moviewidth +'" height="'+ this.movieheight +'" name="pollpie" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="votes='+ ttlvotes + ',' + sagree + ',' + agree + ',' + neutral + ',' + disagree + ',' + sdisagree+'" quality="high" scale="noborder" wmode="transparent" /></object>';
			var minipie = document.createElement('div');
			minipie.className = "mini_pie";
			minipie.innerHTML = pieinnerhtml;
			var br2 = document.createElement('br');
			var br3 = document.createElement('br');
			var pollmenucontrols = document.createElement('div');
			pollmenucontrols.className = "polls_menu_controls";
			if (uservote == ""){
				//var Votehref;
				//Votehref.href = "#";
				if (usrscope == '') {
				pollmenucontrols.innerHTML = "<div class=\"vote\"><a href=\"#\" onclick=\"alert('"+youmustlogin+"'); return false;\" class=\"vote_button\">"+Vote+"</a></div>";
				} else {
				pollmenucontrols.innerHTML = "<div class=\"vote\"><a href=\"#\" onclick=\"usersvote = 2;vote("+qid+"); showPop(event); return false;\" class=\"vote_button\">"+Vote+"</a></div>";
				}
				//pollmenucontrols.appendChild(Votehref);
				//pollmenucontrols.appendChild(br3);
			} else if (uservote != "") {
				var spanYouvoted = document.createElement('span');
				spanYouvoted.className="youvoted";
				spanYouvoted.innerHTML = YouVoted;
				var spanuservote = document.createElement('span');
				spanuservote.className="users_vote";
				spanuservote.innerHTML = this.gettextvote(uservote);
				pollmenucontrols.appendChild(spanYouvoted);
				pollmenucontrols.appendChild(spanuservote);
			}
			var see = document.createElement('span');
			see.innerHTML = '<a href="#" onclick="hide_linktothis(); makeCurrentPie('+qid+'); showoutline(this.parentNode); return false;">'+SeeResults+'</a>';
			pollmenucontrols.appendChild(see);
			
			var ClearDiv = document.createElement('div');
			ClearDiv.className = "clearDiv";
			//ClearDiv.style.clear = "both";
			menu_item_holder.appendChild(questionpara);
			menu_item_holder.appendChild(minipie);
			menu_item_holder.appendChild(pollmenucontrols);
			menu_item_holder.appendChild(ClearDiv);
			return menu_item_holder;
		}
		
		MenuClass.prototype.showoutline = function (newcurrent){
			var current_lighted = objId('current');
			if (current_lighted!= null){ current_lighted.id = ''; }
			newcurrent.parentNode.parentNode.id = 'current';
		}
		
		MenuClass.prototype.vote = function (pollid){
			if (usrscope != "") {
			var form_div = document.createElement('div');
			var vform = document.createElement('form');
			vform.id = 'vote_form';
			vform.appendChild(this.mkradio(2,astxt,'checked'));
			vform.appendChild(this.mkradio(1,atxt,''));
			vform.appendChild(this.mkradio(0,ntxt,''));
			vform.appendChild(this.mkradio(-1,dtxt,''));
			vform.appendChild(this.mkradio(-2,dstxt,''));
			var formcontrols = document.createElement('div');
			formcontrols.id = 'form_controls';
			formcontrols.innerHTML = '<a href="#" class="button" onclick="hidePop(); SendVote('+pollid+',usersvote); return false">'+submit_+'</a><a href="#" class="button" onclick="hidePop(); return false;">'+cancel_+'</a>';
			form_div.appendChild(vform);
			form_div.appendChild(formcontrols);
			replaceChildren(voteP,form_div);
			} else {
				
				voteP.style.height = '50px';
				voteP.innerHTML = youmustlogin + '<br/><br /><a href="#" class="button" onclick="hidePop(); return false;">'+cancel_+'</a>';
			}
		}
		
		MenuClass.prototype.SendVote = function (pid,thevote){
			var this_ = this;
			this.vpid = pid; 
			this.voteXmlHttp = GetXmlHttpObject();
			var urlvote;
			urlvote = urlv;
			
			urlvote = urlvote + '?pollId='+pid+'&score='+ thevote;
			urlvote=urlvote+"&sid="+Math.random();
			this.voteXmlHttp.onreadystatechange=function () { this_.handleSendVote(); }
			this.voteXmlHttp.open("POST",urlvote,true);
			this.voteXmlHttp.send(null);
		}
		
		MenuClass.prototype.handleSendVote = function (){
			if (this.voteXmlHttp.readyState==4)
			{
				var voteXml = this.voteXmlHttp.responseXML;
				var success = voteXml.getElementsByTagName('success');
				success = checkvalueforempty(success);
				if (success == 'false'){
					alert('Error: Database input problem. Please try again later.');	
				} else {
					if (this.vpid == currpie){makeCurrentPie(currpie);}
					this.getList(start,orderfilter,group);
			
				}
			}
		}
		
		MenuClass.prototype.gettextvote = function (numUserVote){
			switch(numUserVote) {
				case "-2":
				return dstxt;
				break;
				case "-1":
				return dtxt;
				break;
				case "0":
				return ntxt;
				break;
				case "1":
				return atxt;
				break;
				case "2":
				return astxt;
				break;
				default:
				return astxt;
				break;
			}
		}
		
		MenuClass.prototype.mkradio = function (rvalue,lvalue,cvalue){
		var p1 = document.createElement('p');
		cvalue = (cvalue != '') ? 'checked="checked"' : '';
		p1.innerHTML = '<input type="radio" value='+rvalue+' name="rvalue" id="'+rvalue+'" '+cvalue+' onchange="usersvote=eval(this.value)" /> <label for="'+rvalue+'">'+lvalue+'</label>';
		return p1;
			
		}
		
		MenuClass.prototype.sendnewPoll = function (thepollstatement) {
			if(thepollstatement != ''){
			var this_ = this;
			document.forms['newpoll_form'].elements['q'].value = '';
			this.newpollxmlHttp = GetXmlHttpObject();
			var poststr = "";
			poststr += "language=" + langu;
			poststr += "&title=" + thepollstatement;
			poststr += "&className=ca.histori.fyi.entity.Poll";
			poststr += "&action=add";
			
			var url = urlsendpoll;
			this.newpollxmlHttp.onreadystatechange=function () { this_.handleSendPoll();}
			this.newpollxmlHttp.open("POST",url,true);
			this.newpollxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.newpollxmlHttp.setRequestHeader("Content-length", poststr.length);
			this.newpollxmlHttp.setRequestHeader("Connection", "close");
			this.newpollxmlHttp.send(poststr);
			} else {
				alert(pleasewriteintextbox);	
			}
		}
		
		MenuClass.prototype.handleSendPoll = function (){
			if (this.newpollxmlHttp.readyState == 4){
					this.getList(start,'chrono',group);
					objId('sortby_recent').checked = "checked";
					objId('sortby_votes').checked = "";
			}
				
		}
	




