if(typeof nl == "undefined") var nl = new Object();
if(typeof nl.gitp == "undefined") nl.gitp = new Object();
if(typeof nl.gitp.dkvaz == "undefined") nl.gitp.dkvaz = new Object();

nl.gitp.dkvaz.Global = {
	firstPollCell : null,
	onPageLoad : function()
	{
		var pollData = new Array();
		var pollTotal = 0;
		
		pollData = nl.gitp.dkvaz.Global.getPollResultData();
		if( pollData == null ) return;
		
		for( var i=0; i<pollData.length; i++ )
		{
			pollTotal += pollData[ i ][ 1 ];
		}
		
		for( i=0; i<pollData.length; i++ )
		{
			pollData[ i ][ 1 ] = Math.round( ( pollData[ i ][ 1 ] / pollTotal ) * 10000) / 100;
			if( isNaN( pollData[ i ][ 1 ] ) ) pollData[ i ][ 1 ] = 0;
		}
		
		nl.gitp.dkvaz.Global.createPollPresentation( pollData );
	},
	addEvent: function(elem, evtName, func) {
		if(elem.attachEvent)
			elem.attachEvent("on" + evtName, func);
		else if(elem.addEventListener)
			elem.addEventListener(evtName, func, false);
		else
			elem["on" + evtName] = func;
	},
	getPollResultData : function()
	{
		var returnArray = new Array();
		var resultTitles = nl.gitp.dkvaz.Global.getElementsByClassName("PollOptionResultTitle");
		var resultNumbers = nl.gitp.dkvaz.Global.getElementsByClassName("PollOptionResult");
		
		if( resultTitles.length == 0 || ( resultTitles.length != resultNumbers.length)) return null;
		
		nl.gitp.dkvaz.Global.firstPollCell = resultTitles[ 0 ];
		
		for( var i=0; i<resultTitles.length; i++ )
		{
			var tmp = new Array();
			tmp.push( resultTitles[i].innerHTML );
			tmp.push( parseInt( resultNumbers[i].innerHTML ) );
			returnArray.push( tmp );
		}
		
		return returnArray;
	},
	createPollPresentation : function( pollData )
	{
		var pollDiv = document.getElementById("poll");
		var mainDiv = document.createElement("div");
		mainDiv.className = "pollMain";
		
		for( var i=0; i<pollData.length; i++ )
		{
			var resultDiv = document.createElement("div");
			resultDiv.className = "pollResultaat";
			
			// -- percentage
			
			var percentage = document.createElement("div");
			percentage.className = "pollPercentage";
			percentage.innerHTML = pollData[i][1] + " %";
			resultDiv.appendChild(percentage);
			
			// -- value
			
			var val = document.createElement("div");
			val.className = "pollValue";
			val.style.width = pollData[i][1] + "px";	
			
			resultDiv.appendChild(val);
			
			// -- title
			
			var title = document.createElement("div");
			title.className = "pollTitle";
			title.innerHTML = pollData[i][0];
			
			resultDiv.appendChild(title);
			mainDiv.appendChild(resultDiv);
		}
		nl.gitp.dkvaz.Global.firstPollCell.innerHTML = "";	
		nl.gitp.dkvaz.Global.firstPollCell.appendChild( mainDiv );
		nl.gitp.dkvaz.Global.firstPollCell.style.display = "block";
	},
	getElementsByClassName : function(className, tag, elm){
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	}
};

nl.gitp.dkvaz.Global.addEvent( window, "load", nl.gitp.dkvaz.Global.onPageLoad );
