// Description for result tables

id='infobox';

function explanation(text) {
	var expl = new Array(23);
	expl[0] = '';

	// Koko maa
	expl[1] = '<div class="description"><hr class="hide" /><h3>Hela landet - Stödet för kandidater enligt jämförelsetal</h3><p>Tabellen visar de invalda kandidaterna, rangordnade enligt jämförelsetal. Hela landet är en enda valkrets. De 13 kandidater som toppar listan och vars namn är färglagda, kommer att bli invalda. Antalet röster och jämförelsetal växer i takt med att rösträkningen framskrider, och namnen på de invalda kan ändra. Klicka på kandidatens namn för att få fram stödet för kandidaten i områden motsvarande riksdagsvalets valkretsar.</p><hr class="hide" /></div>';
	expl[2] = '<div class="description"><hr class="hide" /><h3>Hela landet - Kandidater enligt röstetal</h3><p>Kandidater i rangordning enligt röstetalen. Ordningen kan ändra om rösträkningen är oavslutad.</p><hr class="hide" /></div>';
	expl[3] = '<div class="description"><hr class="hide" /><h3>Hela landet - Stödet för partierna</h3><p>Ur tabellen framgår stödet för partierna. Om rösträkningen ännu pågår kan resultatet ändra.</p><p>Tabellen visar</p><ul><li>stödet för partiet (procentandel av de godkända rösterna)</li><li>antalet mandat</li><li>totalantalet röster (ökar i takt med att rösträkningen framskrider)</li></ul><p>Förändringarna jämförs med EU-valet 2004 och riksdagsvalet 2007.</p><hr class="hide" /></div>';
	expl[4] = '<div class="description"><hr class="hide" /><h3>Hela landet - Rösträkningsläget i valkretsarna</h3><p>Hela landet är en enda valktrets men resultaten visas även enligt riksdagsvalets valkretsfördelning. Ur tabellen framgår hur många procent av rösterna som räknats i varje enskild valkrets, om rösträkningen är färdig eller oavslutad, valdeltagandet i procent i detta val, samt i EU-valet 2004  och riksdagsvalet 2007.</p><hr class="hide" /></div>';

	// Vaalipiiri
	expl[5] = '<div class="description"><hr class="hide" /><h3>Valkretsen - Kandidater enligt röstetal</h3><p>Kandidater i rangordning enligt röstetalen i områden motsvarande riksdagsvalets valkretsfördelning. Situationen kan förändras om rösträkningen är oavslutad. Välj valkrets från tabellen eller kartan.</p><hr class="hide" /></div>';
	expl[6] = '<div class="description"><hr class="hide" /><h3>Valkretsen - Stödet för partierna</h3><p>Ur tabellen framgår stödet för partierna i områden motsvarande riksdagsvalets valkretsfördelning.. Om rösträkningen ännu pågår, kan resultatet förändras.</p><p>Tabellen visar</p><ul><li>stödet för partierna (procentandel av godkända röster)</li><li>totalantalet röster (ökar i takt med att rösträkningen framskrider)</li></ul><p>Förändringarna jämförs med EU-valet 2004 och riksdagsvalet 2007.</p><hr class="hide" /></div>';
	expl[7] = '<div class="description"><hr class="hide" /><h3>Valkretsen - Rösträkningsläget i kommunerna</h3><p>Ur tabellen framgår hur många procent av rösterna som räknats i varje enskild kommun, valdeltagandet i kommunen i detta val, i EU-valet 2004 och riksdagsvalet 2007.</p><hr class="hide" /></div>';

	// Puolueet
	expl[8] = '<div class="description"><hr class="hide" /><h3>Partierna</h3><p>Förteckning över partier som har ställt upp kandidater.</p><hr class="hide" /></div>';

	document.getElementById(id).innerHTML = expl[text];
}


function explanationOff() {
	document.getElementById(id).innerHTML = '';
}

// Ehdokas pop-up */

function openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

/* Fix activex component initialization for IE */

function activeXfix() {
	var ua = navigator.userAgent;
	if (ua.indexOf('MSIE') > -1 && ua.indexOf('Opera') == -1)
	{
		var objects = document.getElementsByTagName('object');
		for (var i=0; i < objects.length; i++)
		{
			var html = objects[i].outerHTML;
			if(html.indexOf(".swf\"") == -1)
				objects[i].outerHTML = html;
		}
	}
}

/* create new windows from css-class="new-window" */

// Create the new window

function openInNewWindow() {

	var w = 300;
	var h = 580;
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;

	// Change "_blank" to something like "newWindow" to load all links in the same new window
	var newWindow = window.open(this.getAttribute('href'), this.getAttribute('id') ,'width='+w+', height='+h+', top='+wint+', left='+winl+', scrollbars=auto, var resizable=yes');

	newWindow.focus();

	return false;
}

 

// Add the openInNewWindow function to the onclick event of links with a class name of "new-window"

function getNewWindowLinks() {
      // Check that the browser is DOM compliant
      if (document.getElementById && document.createElement && document.appendChild) {
            // Change this to the text you want to use to alert the user that a new window will be opened
            var strNewWindowAlert = "";
            // Find all links
            var links = document.getElementsByTagName('a');
            var objWarningText;
            var strWarningText;
            var link;

            for (var i = 0; i < links.length; i++) {
                  link = links[i];
                  // Find all links with a class name of "new-window"
                  if (/\bnew\-window\b/.exec(link.className)) {
                        // Create an em element containing the new window warning text and insert it after the link text
                        objWarningText = document.createElement("em");
                        strWarningText = document.createTextNode(strNewWindowAlert);
                        objWarningText.appendChild(strWarningText);
                        link.appendChild(objWarningText);
                        link.onclick = openInNewWindow;
                  }
            }
            objWarningText = null;
      }
}

/* clien side include for candidate popup */

function clientSideInclude(id, url) {
	var req = false;
	// For Safari, Firefox, and other non-MS browsers
	if (window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch (e) {
		req = false;
		}
	// For Internet Explorer on Windows
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				req = false;
			}
		}
	}
	var element = document.getElementById(id);
	if (req) {
		ifModifiedSince = new Date(0);
		req.open('GET', url, false);
		req.setRequestHeader("If-Modified-Since", ifModifiedSince);
		req.send(null);
		if (req.status == 200) {
			element.innerHTML = req.responseText;
		}
	}
}

/* pullquote function by Roger Johansson, http://www.456bereastreet.com/ */

var pullquote = {
      init : function() {
      // Check that the browser supports the methods used
            if (!document.getElementById || !document.createElement || !document.appendChild) return false;
            var oElement, oPullquote, oPullquoteP, oQuoteContent, i, j;
      // Find all span elements with a class name of pullquote
            var arrElements = document.getElementsByTagName('span');
            var oRegExp = new RegExp("(^|\\s)pullquote(\\s|$)");
            for (i=0; i<arrElements.length; i++) {
      // Save the current element
                  oElement = arrElements[i];
                  if (oRegExp.test(oElement.className)) {
      // Create the blockquote and p elements
                        oPullquote = document.createElement('blockquote');
                        oPullquote.className = oElement.className
                        oPullquoteP = document.createElement('p');
      // Insert the pullquote text
                        for(j=0;j<oElement.childNodes.length;j++) {
                              oPullquoteP.appendChild(oElement.childNodes[j].cloneNode(true));
                        }
                        oPullquote.appendChild(oPullquoteP);
      // Insert the blockquote element before the span elements parent element
                        oElement.parentNode.parentNode.insertBefore(oPullquote,oElement.parentNode);
                  }
            }
      },

      // addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
      addEvent : function(obj, type, fn) {
            if (obj.addEventListener)
                  obj.addEventListener( type, fn, false );
            else if (obj.attachEvent)
            {
                  obj["e"+type+fn] = fn;
                  obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
                  obj.attachEvent( "on"+type, obj[type+fn] );
            }
      }
};
