
function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}}
this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}
var serverSideFile='/poll/cast-vote.php';var voteLeftImage='https://secure.jobdig.com/images/poll_images/graph_left_1.gif';var voteRightImage='https://secure.jobdig.com/images/poll_images/graph_right_1.gif';var voteCenterImage='https://secure.jobdig.com/images/poll_images/graph_middle_1.gif';var graphMaxWidth=130;var graphMinWidth=15;var pollScrollSpeed=5;var txt_totalVotes='Total number of votes: ';var ajaxObjects=new Array();var pollVotes=new Array();var pollVoteCounted=new Array();var totalVotes=new Array();var preloadedImages=new Array();preloadedImages[0]=new Image();preloadedImages[0].src=voteLeftImage;preloadedImages[1]=new Image();preloadedImages[1].src=voteRightImage;preloadedImages[2]=new Image();preloadedImages[2].src=voteCenterImage;function showVoteResults(pollId,ajaxIndex)
{document.getElementById('pollShowResults').style.display='none';document.getElementById('pollShowResults').style.visibility='hidden';document.getElementById('poller_waitMessage'+pollId).style.display='none';var xml=ajaxObjects[ajaxIndex].response;xml=xml.replace(/\n/gi,'');var reg=new RegExp("^.*?<pollerTitle>(.*?)<.*$","gi");var pollerTitle=xml.replace(reg,'$1');var resultDiv=document.getElementById('poller_results'+pollId);var titleP=document.createElement('P');titleP.className='result_pollerTitle';titleP.innerHTML=pollerTitle;resultDiv.appendChild(titleP);var options=xml.split(/<option>/gi);pollVotes[pollId]=new Array();totalVotes[pollId]=0;for(var no=1;no<options.length;no++){var elements=options[no].split(/</gi);var currentOptionId=false;for(var no2=0;no2<elements.length;no2++){if(elements[no2].substring(0,1)!='/'){var key=elements[no2].replace(/^(.*?)>.*$/gi,'$1');var value=elements[no2].replace(/^.*?>(.*)$/gi,'$1');if(key.indexOf('optionText')>=0){var pOption=document.createElement('DIV');pOption.className='result_pollerOption';pOption.innerHTML=value;resultDiv.appendChild(pOption);}
if(key.indexOf('optionId')>=0){currentOptionId=value/1;}
if(key.indexOf('votes')>=0){var voteDiv=document.createElement('DIV');voteDiv.className='result_pollGraph';pOption.appendChild(voteDiv);var numberDiv=document.createElement('DIV');numberDiv.style.backgroundImage='url(\''+voteCenterImage+'\')';numberDiv.style.backgroundPosition="center right";numberDiv.id='result_voteImg'+currentOptionId;voteDiv.appendChild(numberDiv);var leftImage=document.createElement('IMG');leftImage.src=voteLeftImage;numberDiv.appendChild(leftImage);var numberDiv2=document.createElement('SPAN');numberDiv2.innerHTML='0%';numberDiv2.style.color='black';numberDiv2.style.background='transparent';numberDiv2.id='result_voteTxt'+currentOptionId;voteDiv.appendChild(numberDiv2);pollVotes[pollId][currentOptionId]=value;totalVotes[pollId]=totalVotes[pollId]/1+value/1;}}}}
setPercentageVotes(pollId);slideVotes(pollId,0);}
function setPercentageVotes(pollId){for(var prop in pollVotes[pollId]){pollVotes[pollId][prop]=Math.round((pollVotes[pollId][prop]/totalVotes[pollId])*100);}
var currentSum=0;for(var prop in pollVotes[pollId]){currentSum=currentSum+pollVotes[pollId][prop]/1;}}
function slideVotes(pollId,currentPercent)
{currentPercent=currentPercent/1+1;for(var prop in pollVotes[pollId]){if(pollVotes[pollId][prop]>=currentPercent){obj2=document.getElementById('result_voteImg'+prop);obj2.style.width=Math.max(graphMinWidth,Math.round(currentPercent/100*graphMaxWidth))+'px';obj=document.getElementById('result_voteTxt'+prop);obj.innerHTML=currentPercent+'%';}}
if(currentPercent<100){setTimeout('slideVotes("'+pollId+'","'+currentPercent+'")',pollScrollSpeed);}}
function prepareForPollResults(pollId)
{document.getElementById('poller_waitMessage'+pollId).style.display='block';document.getElementById('poller_question'+pollId).style.display='none';}
function castMyVote(pollId,formObj)
{var elements=formObj.elements['vote['+pollId+']'];var optionId=false;for(var no=0;no<elements.length;no++){if(elements[no].checked)optionId=elements[no].value;}
if(optionId){var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=serverSideFile+'?pollId='+pollId+'&optionId='+optionId;prepareForPollResults(pollId);ajaxObjects[ajaxIndex].onCompletion=function(){showVoteResults(pollId,ajaxIndex);};ajaxObjects[ajaxIndex].runAJAX();}}
function displayResultsWithoutVoting(pollId)
{var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=serverSideFile+'?pollId='+pollId;prepareForPollResults(pollId);ajaxObjects[ajaxIndex].onCompletion=function(){showVoteResults(pollId,ajaxIndex);};ajaxObjects[ajaxIndex].runAJAX();}