/* 
Title:     Riksdag & Departement general functionality
Author:    jim@pol.se
Updated:   2007-06-12
*/

document.getElementsByClassName = function(clsName){
	var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

var Fontsize = {
	
setCookie: function(name,value,days) {
if (days) { 
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	var expires = ";expires="+date.toGMTString();
} else { 
	expires = "";
}
document.cookie = name+"="+value+expires+";path=/";
}, 

readCookie: function(name) {
var needle = name + "=";
var cookieArray = document.cookie.split(';');
for(var i=0;i <cookieArray.length;i++) {
	var pair = cookieArray[i];
	while (pair.charAt(0)==' ') {
		pair = pair.substring(1, pair.length);
 }
	if (pair.indexOf(needle) == 0) {
		return pair.substring(needle.length, pair.length);
 }
}
return null;
}, 
	
makeFontSize: function() {
	var fontSizeDiv = document.getElementById("fontsize"); 
	var smallFontLink = document.createElement("a");
	var smallFontLinkText = document.createTextNode("liten grad");
	var mediumFontLink = document.createElement("a");
	var mediumFontLinkText = document.createTextNode("normal grad");
	var largeFontLink = document.createElement("a");
	var largeFontLinkText = document.createTextNode("stor grad");
	
	smallFontLink.setAttribute("href","#");
	smallFontLink.setAttribute("id","small")
	smallFontLink.appendChild(smallFontLinkText);
	
	mediumFontLink.setAttribute("href","#");
	mediumFontLink.setAttribute("id","medium")
	mediumFontLink.appendChild(mediumFontLinkText);
	
	largeFontLink.setAttribute("href","#");
	largeFontLink.setAttribute("id","large")
	largeFontLink.appendChild(largeFontLinkText);
	
	smallFontLink.onclick = Fontsize.smallFont;
	mediumFontLink.onclick = Fontsize.mediumFont;
	largeFontLink.onclick = Fontsize.largeFont;
	
	fontSizeDiv.appendChild(smallFontLink);
	fontSizeDiv.appendChild(mediumFontLink);
	fontSizeDiv.appendChild(largeFontLink);
	}, 
	
	smallFont: function() {
	Fontsize.setFont("60"); 
	Fontsize.setCookie("fontsize", "60", 365); 
	return false; 
	}, 
	
	mediumFont: function() {
	Fontsize.setFont("76"); 
	Fontsize.setCookie("fontsize", "76", 365);
	return false; 
	}, 
	
	largeFont: function() {
	Fontsize.setFont("100"); 
	Fontsize.setCookie("fontsize", "100", 365);
	return false; 
	},
	
	setFont: function(value) { 
	return document.getElementsByTagName("body")[0].style.fontSize=value+'%';    
	Fontsize.setCookie("fontsize", value, 365);
	}
}

var Meta = {
	
	makeMeta: function() {
	var space = document.createTextNode("\u00a0");
	var metaDiv = document.getElementById("meta");
	var metaParagraph = document.createElement("p");
	var sendLink = document.createElement("a");
	var sendLinkText = document.createTextNode("Skicka till en vän");
	var printLink = document.createElement("a");
	var printLinkText = document.createTextNode("Skriv ut");
	var shareLink = document.createElement("a");
	var shareLinkText = document.createTextNode("Dela med andra");
	
	sendLink.setAttribute("href","#");
	sendLink.setAttribute("id","sendtofriend");
	sendLink.appendChild(sendLinkText);
	
	printLink.setAttribute("href","#");
	printLink.setAttribute("id","print");
	printLink.appendChild(printLinkText);
	
    shareLink.setAttribute("href","#");
	shareLink.setAttribute("id","share");
	shareLink.appendChild(shareLinkText);
	
	sendLink.onclick = Meta.toggleSend;
	printLink.onclick = Meta.printPage;
	shareLink.onmouseover = Meta.toggleShareOn;
	shareLink.onmouseout = Meta.toggleShareOff;
	shareLink.onclick = Meta.toggleShare;
	
	var shareLinks = document.getElementById("shareLinks"); 
	shareLinks.onmouseover = Meta.toggleShareOn;
    shareLinks.onmouseout = Meta.toggleShareOff;


	
	metaParagraph.appendChild(shareLink);
	metaParagraph.appendChild(space);
	metaParagraph.appendChild(sendLink);
	metaParagraph.appendChild(space);
	metaParagraph.appendChild(printLink);
	metaDiv.appendChild(metaParagraph);
	}, 
	
	
	printPage: function() {
	window.print();
	return false;
	}, 

	toggleSend: function() {
	    var el = document.getElementById("sendarticle"); 
	    el.style.display = (el.style.display != 'block' ? 'block' : 'none'); 
	    if(el.style.display != 'none')
	        el.getElementsByTagName("input")[0].focus();
	    return false; 
	},
	
    toggleShareOn: function() {
	    var el = document.getElementById("shareLinks"); 
	    var shareLink = document.getElementById("share");
	    
	    el.style.display = 'block';
    //	el.style.left = shareLink.offsetLeft + "px";
    //	el.style.top = ((shareLink.offsetTop - el.offsetHeight)+5) + "px";
	    
	    return false; 
	},
	
	toggleShareOff: function() {
	    var el = document.getElementById("shareLinks"); 
	    el.style.display = 'none';
	    return false; 
	},

	toggleShare: function() {
	  //  var el = document.getElementById("shareLinks"); 
	  //  el.style.display = 'none';
	    return false; 
	}

}

var Search = {
	
	makeToggle: function() {
		
	var toggleDiv = document.getElementById("toggle");
	var toggleLink = document.createElement("a");
	var toggleLinkText = document.createTextNode("minimera/maximera");
	
	toggleLink.setAttribute("href","#");
	toggleLink.setAttribute("id","togglesearch")
	toggleLink.setAttribute("class","minus")
	toggleLink.appendChild(toggleLinkText);
	
	toggleLink.onclick = Search.toggleSearch;
	
	toggleDiv.appendChild(toggleLink);
	}, 
	
	makeSelections: function() {
	var space = document.createTextNode("\u00a0");
	var selectionsDiv = document.getElementById("selections");
	var checkAllLink = document.createElement("a");
	var checkAllLinkText = document.createTextNode("alla");
	var uncheckAllLink = document.createElement("a");
	var uncheckAllLinkText = document.createTextNode("inga");
	
	checkAllLink.setAttribute("href","#");
	checkAllLink.setAttribute("id","selectall")
	checkAllLink.appendChild(checkAllLinkText);
	
	uncheckAllLink.setAttribute("href","#");
	uncheckAllLink.setAttribute("id","selectnone")
	uncheckAllLink.appendChild(uncheckAllLinkText);
	
	checkAllLink.onclick = Search.checkAll;
	uncheckAllLink.onclick = Search.uncheckAll;
	
	selectionsDiv.appendChild(checkAllLink);
	selectionsDiv.appendChild(space);
	selectionsDiv.appendChild(uncheckAllLink);
	}, 
	
	
	toggleSearch: function() {
	var el = document.getElementById("searchcontent"); 
	var lnk = document.getElementById("togglesearch"); 
	el.style.display = (el.style.display != 'none' ? 'none' : 'block');
    lnk.className = (lnk.className != 'plus' ? 'plus' : 'minus');
	return false; 
	}, 
	
	checkAll: function() {
	Search.setChecking(true);
	return false; 
	}, 
	
	uncheckAll: function() {
	Search.setChecking(false);
	return false; 
	}, 
	
/*
	setChecking: function(value) {
	var elem = document.getElementById('categoryboxes');
	var boxes = elem.getElementsByTagName("input");
	var cur_value = false;
	for (var i=0, boxes_len=boxes.length; i<boxes_len; i++) {
	    if (value == 'toggle') {
	      cur_value = boxes[i].checked;
	      if (cur_value == true) {
	          boxes[i].checked = '';
	        } else {
	          boxes[i].checked = 'checked';
	        }
	      } else {
	          boxes[i].checked = value;
	      }
	    }
	  }
*/


	
	setChecking: function(value) {
	var elem = document.getElementById('categoryboxes'); //
	var boxes = elem.getElementsByTagName("input"); //
	//var boxes = document.getElementsByClassName("checkbox");
	var cur_value = false;
	for (var i=0, boxes_len=boxes.length; i<boxes_len; i++) {
	    if (value == 'toggle') {
	      cur_value = boxes[i].checked;
	      if (cur_value == true) {
	          boxes[i].checked = '';
	        } else {
	          boxes[i].checked = 'checked';
	        }
	      } else {
	          boxes[i].checked = value;
	      }
	    }
	  }
}

function owin(url, width,height)
{
    window.open(url,"_blank","status=0,toolbar=0, location=0, scrollbars=1, menubar=0, directories=0, resizeable=0, width=" + width + ", height=" + height  + "")
}

window.onload=function() { 
	if (Fontsize.readCookie("fontsize")) {
	Fontsize.setFont(Fontsize.readCookie("fontsize"));
	}
	
	if (document.getElementById("search")) {
	Search.makeSelections(); 
	} 
	
	if (document.getElementById("search") || document.getElementById("searchoffentlig")) {
	Search.makeToggle();
	} 

	if (document.getElementById("meta")) { 
	Meta.makeMeta();
	}   

	if (document.getElementById("fontsize")) { 
	Fontsize.makeFontSize(); 
	}
	
	var showReported = document.getElementsByClassName("showReported")
	
	for(var i = 0; i < showReported.length;i++)
	{
	    showReported[i].onclick=function(){
	    this.parentNode.parentNode.className = this.parentNode.parentNode.className.replace("reported","");
	    return false;
	    }
	}

}
var RODticker = {

    Init: function() {

        RODticker.Wrap = $('#content ol.ticker2');
        RODticker.Slides = $(RODticker.Wrap).find('li');
        RODticker.numSlides = $(RODticker.Slides).length;

        RODticker.animTotal = 5000;
        RODticker.animRollIn = 800;
        RODticker.animRollOut = 800;
        /* Note: time to read = animTotal - ( animRollIn + animRollOut )*/

        $(RODticker.Wrap)
		.find('li:first-child')
		.hide()
		.addClass('active')
		.fadeIn(300);

        RODticker.activeSlide = $(RODticker.Slides).filter('.active');

        RODticker.interval = setInterval('RODticker.Change()', RODticker.animTotal);
    },

    Change: function() {

        RODticker.NextSlide = $(RODticker.activeSlide).next('li').length ? $(RODticker.activeSlide).next('li') : '.t-1';

        $(RODticker.activeSlide)
		.animate({ textIndent: '-500px' }, RODticker.animRollOut, function() {

		    $(RODticker.NextSlide).css({ textIndent: '500px' });
		    $(this).removeClass('active');

		    $(RODticker.NextSlide)
				.animate({ textIndent: '-=500px' }, RODticker.animRollIn, function() {

				    $(this)
					.css({ textIndent: '0px' })
					.addClass('active');

				});

		    RODticker.activeSlide = $(RODticker.NextSlide);
		});


    },

    Stop: function() {
        clearInterval(RODticker.interval);
    }

};

$(document).ready(function() { RODticker.Init() });
