



			aPollDoubleItem = new Array();



// =========================================================================

// Display==================================================================

// =========================================================================

	    	function pollVariantList( variant )

	    	{



				var ID = variant.getElementsByTagName('id')[0].firstChild.data;

				

// make question -------------------

	    		var aQuestion = variant.getElementsByTagName('question');



	    		var container = document.getElementById('dpol_caption_' + ID );



				var newDiv = document.createElement("div");

				newDiv.id = "dpol_caption_text_" + ID;

				newDiv.className = "pollTextBox";

				newDiv.onmouseover = function() { scrollStart(this,'horizontal'); };

				newDiv.onmouseout = function() { scrollStop(); };



				var newText = document.createTextNode(aQuestion[0].firstChild.data);



				newDiv.appendChild( newText );

				container.appendChild( newDiv );

// -----------------------------------------









// make variant lists ----------------------

	    		var aVariantList = variant.getElementsByTagName('variant');



	    		container = document.getElementById('dpol_content_' + ID );



				var newInput = document.createElement("input");

				newInput.type = "hidden";

				newInput.id = "current_vote_" + ID;

				newInput.value = '';



				container.appendChild( newInput );



	    		for ( var i = 0; i < aVariantList.length; i++ )

	    		{



				    sText = aVariantList[i].getElementsByTagName('text')[0].firstChild.data;

				    newText = document.createTextNode(sText);



				    newDiv = document.createElement("div");

				    newDiv.id = 'var_' + ID + '_' + i;

				    newDiv.className = "pollTextBox";

				    newDiv.onmouseover = function(){ scrollStart(this,'horizontal'); };

				    newDiv.onmouseout = function(){ scrollStop(); };

				    newDiv.appendChild( newText );



				    var newDiv2 = document.createElement("div");

					newDiv2.className = "pollTextBoxWrapper";

				    newDiv2.appendChild( newDiv );





				    var newDiv3 = document.createElement("div");

				    newDiv3.className = "pollTextContainer";



				    newInput = createNamedElement( "input", "vote_" + ID );

				    newInput.type = "radio";

				    newInput.value = i;

				    newInput.className = "pollRadioButton";

				    newInput.onclick = function(){ setVote( 'current_vote_' + ID, this.value ); };



/*

				    var newDiv2 = document.createElement("div");

				    newDiv2.style.styleFloat = "left"; // IE

				    newDiv2.style.cssFloat = "left"; // Mazilla

					newDiv2.appendChild( newInput );

*/



				    newDiv3.appendChild( newInput );

				    newDiv3.appendChild( newDiv2 );



				    container.appendChild( newDiv3 );



				}

// ---------------------------------
// make author -------------------

	    			var nume = variant.getElementsByTagName('name');



	    		var container = document.getElementById('nume_poll_' + ID );



				var newDiv4 = document.createElement("div");

				newDiv4.id = "nume_poll_" + ID;

				newDiv4.className = "";

				newDiv4.onmouseover = function() { scrollStart(this,'horizontal'); };

				newDiv4.onmouseout = function() { scrollStop(); };


						
				var 
			
				newText = document.createTextNode("by "+nume[0].firstChild.data);



				newDiv4.appendChild( newText );

				container.appendChild( newDiv4 );


// -----------------------------------------
				scrollDisplay(container, ID);



				return true;



	    	}





	    	function pollResultList( variant, cVote )

	    	{



				var ID = variant.getElementsByTagName('id')[0].firstChild.data;



// hide actions block --------------

				document.getElementById('dpol_actions_' + ID ).style.display = 'none';

				

// -------------------------------------				

// make question -------------------

				if ( null === document.getElementById('dpol_caption_text_' + ID) )

				{

		    		var aQuestion = variant.getElementsByTagName('question');



		    		var container = document.getElementById('dpol_caption_' + ID );



					var newDiv = document.createElement("div");

					newDiv.id = "dpol_caption_text_" + ID;

					newDiv.className = "pollTextBox";

					newDiv.onmouseover = function() { scrollStart(this,'horizontal'); };

					newDiv.onmouseout = function() { scrollStop(); };



					var newText = document.createTextNode(aQuestion[0].firstChild.data);



					newDiv.appendChild( newText );

					container.appendChild( newDiv );

				}

// -------------------------------------

// make result list



	    		var aVariantList = variant.getElementsByTagName('variant');



				// get total votes num

				var iTotalVotes = 0;

				var aVoteList = new Array();

				for ( var i = 0; i < aVariantList.length; i++ )

    			{

    			 	// if vote set

    				if ( '' != cVote && i == cVote )

    				{

						aVariantList[i].getElementsByTagName('votes')[0].firstChild.data++;

					}



					aVoteList[i] = aVariantList[i].getElementsByTagName('votes')[0].firstChild.data;

					iTotalVotes += (+aVoteList[i]);

				}



				// generate percent values

				var aPercentList = new Array();

				for ( var i = 0; i < aVoteList.length; i++ )

    			{

    				if ( 0 == iTotalVotes )

    					aPercentList[i] = 0;

    				else

						aPercentList[i] = Math.round((aVoteList[i]/iTotalVotes*100)*10)/10;

    			}





				container = document.getElementById('dpol_content_' + ID );

				container.innerHTML = '';



// =======================================================

// sort result list by votes num desc

/*

				var aSVoteList = new Array();

				var j = 0;

				for(i in aVoteList)

				{

					aSVoteList[j] = new Array(i,parseInt(aVoteList[i]));

					j++;

				}

				aSVoteList.sort(function(a,b){return b[1] - a[1]});

				var i=0;

				for ( var j=0; j < aSVoteList.length; j++ )

	    		{

					i = aSVoteList[j][0];

*/

// =======================================================

				for ( var i = 0; i < aVariantList.length; i++ )

	    		{



					sText = aVariantList[i].getElementsByTagName('text')[0].firstChild.data;

//					sVotes = aVariantList[i].getElementsByTagName('votes')[0].firstChild.data;

//					sPercent = aVariantList[i].getElementsByTagName('percent')[0].firstChild.data;



					var newText = document.createTextNode(sText + ' ( ' + aVoteList[i] + ' votes ): ');



					var newDiv = document.createElement("div");

					newDiv.className = "pollTextBox";



					newDiv.id = 'r_' + ID + "_" + i;

					newDiv.onmouseover = function(){ scrollStart(this,'horizontal'); };

					newDiv.onmouseout = function(){ scrollStop(); };

					newDiv.appendChild(newText);



					var newDiv2 = document.createElement("div");

					newDiv2.className = "pollTextBoxWrapperRes";

					newDiv2.appendChild(newDiv);



					var newDiv3 = document.createElement("div");

					newDiv3.className = "pollTextContainerRes";

					newDiv3.appendChild(newDiv2);



					var newDiv4 = document.createElement("div");

					newDiv4.id='p_' + ID + '_' + i;

					newDiv4.className = "pollProgressBar";



					newText = document.createTextNode('0');

//					newText = document.createTextNode(aPercentList[i] + '%');

					newDiv4.appendChild( newText );

					

					container.appendChild( newDiv3 );

					container.appendChild( newDiv4 );



					drawBar(newDiv4.id,aPercentList[i]);



	    		}



				scrollDisplay(container, ID);



	    		return true;

	    	}

// =========================================================================

// Utils====================================================================

// =========================================================================



		// create element with name ( this is problem with IE )

			function createNamedElement( type, name )

			{

				var element;

				try

				{

					element = document.createElement('<'+type+' name="'+name+'">');

				}catch(e){}

				if (!element || !element.name) // Cool, this is not IE !!

				{

					element = document.createElement(type)

					element.name = name;

				}

				return element;

			}





		    function scrollDisplay(container, ID)

		    {

				// jump to top position

				container.style.top = '0px';



				if ( ( container.offsetTop + container.offsetHeight ) <= container.parentNode.offsetHeight )

				{

				    document.getElementById( 'dpol_arr_up_' + ID ).style.display='none';

				    document.getElementById( 'dpol_arr_down_' + ID ).style.display='none';

				}

				else

				{

				    document.getElementById( 'dpol_arr_up_' + ID ).style.display='block';

				    document.getElementById( 'dpol_arr_down_' + ID ).style.display='block';

				}



				return true;

	    	}





    		function scrollStart( item, direction )

    		{



				currentItem = item;



				if ( 'horizontal' == direction )

				{



					if ( currentItem.offsetWidth <= currentItem.parentNode.offsetWidth)

						return false;



					if ( 1 != aPollDoubleItem[currentItem.id] )

					{

						currentItem.innerHTML = currentItem.innerHTML + "  " +  currentItem.innerHTML;

						aPollDoubleItem[currentItem.id] = 1;

				    }



					currentMiddle = currentItem.offsetWidth / 2;

		    		scrollStop();

		    		iter = window.setInterval( 'moveLeft()', 10 );

				}





				if ( 'up' == direction )

				{

				    scrollStop();

				    iter = window.setInterval( 'moveUp()', 10 );

				}





				if ( 'down' == direction )

				{

				    scrollStop();

				    iter = window.setInterval( 'moveDown()', 10 );

				}



				return true;



    		}





    		function scrollStop()

    		{

				if ( undefined != window.iter )

				{

	    			window.clearInterval(iter);

				}

    		}





    		function moveLeft()

    		{

				if (currentItem.offsetLeft + currentMiddle > 0)

				{

	    			currentItem.style.left = (currentItem.offsetLeft-1) + 'px';

				}

				else

				{

	    			currentItem.style.left = '0px';

				}

		    }





		    function moveUp()

    		{

				if ( (currentItem.offsetTop + currentItem.offsetHeight) > currentItem.parentNode.offsetHeight )

				{

	    			currentItem.style.top = (currentItem.offsetTop-2) + 'px';

				}

		    }





    		function moveDown()

    		{

				if ( currentItem.offsetTop < 0 )

				{

	    			currentItem.style.top = (currentItem.offsetTop+2) + 'px';

				}

			}





		    function setVote( item, val )

			{

    			document.getElementById( item ).value = val;

			}





// This function devoted to all spamers that make me feel not so along in this world

			function drawBar( item, size )

	        {

				var bar = document.getElementById(item);

			    var widthLim = Math.floor( size * (bar.parentNode.offsetWidth / 100) );



				if ( widthLim > bar.offsetWidth )

			    {



					bar.style.width = bar.offsetWidth + 2 + 'px';

// for correct final percent value,  offsetWidth mast be equal to widthLim

					if ( widthLim < bar.offsetWidth )

						bar.style.width = widthLim + 'px';



					var percentStep = Math.round(((size*bar.offsetWidth)/widthLim)*100)/100;

					bar.innerHTML = percentStep;



					setTimeout("drawBar('"+item+"',"+size+")", 50 );

				}

				else

				{

					//bar.innerHTML += '%';

					bar.innerHTML = size + '%';					

				}

		    }

