// Turns off position: fixed if element doesnt fit window height --------------------------------------------

function rpToolbox_positionFixedOnlyIfFitsHeight_step2(offset, element){
	var windowInnerHeight = 0;
	if (self.innerHeight){
		windowInnerHeight = self.innerHeight;
	}else if (document.documentElement && document.documentElement.clientHeight){
		windowInnerHeight = document.documentElement.clientHeight;
	}else if (document.body){
		windowInnerHeight = document.body.clientHeight;
	}	
    if (rpToolbox_getStyle(element, 'position') === 'fixed' && (element.offsetHeight + offset) > windowInnerHeight) {
        element.style.position = 'absolute';
	}
}

function rpToolbox_positionFixedOnlyIfFitsHeight(theOffset, nodeClassOrId){
	var elements;
	var i;
	offset = theOffset || 0;
	if (nodeClassOrId && document.getElementById(nodeClassOrId)) {
		rpToolbox_positionFixedOnlyIfFitsHeight_step2(offset, document.getElementById(nodeClassOrId));
	}
	else 
		if (nodeClassOrId && rpToolbox_getElementsByClassName(nodeClassOrId)) {
			elements = rpToolbox_getElementsByClassName(nodeClassOrId);
			for (i = 0; i < elements.length; i++) {
				rpToolbox_positionFixedOnlyIfFitsHeight_step2(offset, elements[i]);
			}
		}
		else {
			elements = window.document.getElementsByTagName("*");
			for (i = 0; i < elements.length; i++) {
				rpToolbox_positionFixedOnlyIfFitsHeight_step2(offset, elements[i]);
			}
		}
}

// -- Adds navigation ------------------------------------------------------------

function addNavigation(){
    var header = rpToolbox_createElementWithId('div', 'header');
    var headerContent = rpToolbox_createElementWithId('div', 'headercontent');
    var breadcrumbnavigationPosition = rpToolbox_createElementWithId('div', 'breadcrumbnavigation');
    headerContent.appendChild(breadcrumbnavigationPosition);
    header.appendChild(headerContent);
    document.body.appendChild(header);
    
    var commentlinkcontainer = rpToolbox_createElementWithId('span', 'commentlinkcontainer');
    var commentlinkposition2 = document.createElement("span");
    commentlinkposition2.className = 'rpcomments';
    //commentlinkposition2.innerHTML = 'Tyck till om sidan';
    commentlinkcontainer.appendChild(commentlinkposition2);
    document.body.appendChild(commentlinkcontainer);
    
    var anchorlinksposition = rpToolbox_createElementWithId('span', 'rp_anchorlinksposition');
    document.body.appendChild(anchorlinksposition);
    
    var sideBar = document.getElementById("sidebar1");
    if (!sideBar) {
        sideBar = rpToolbox_createElementWithId('span', 'sidebar1');
        sideBar.className = 'sidebar';
        document.body.appendChild(sideBar);
    }
    var locallinksPosition = document.getElementById("rp_locallinksposition");
    if (!locallinksPosition) {
        locallinksPosition = rpToolbox_createElementWithId('div', 'rp_locallinksposition');
        sideBar.appendChild(locallinksPosition);
    }
}


// -- Add breadcrumbnavigation ------------------------------------------------------

function rpToolbox_buildBreadcrumbNavigation2(sitemap){
    var breadCrumbNavigation = rpToolbox_createElementWithId("ul", "breadcrumbnavigation");
    breadCrumbNavigation.innerHTML = sitemap;
    breadCrumbNavigation.getElementsByTagName("a")[0].className = 'indexpagelink';
    var indexnodes = breadCrumbNavigation.getElementsByTagName("UL");
    for (var m = 1; m < indexnodes.length; m++) {
        indexnodes[m].parentNode.getElementsByTagName("a")[0].className = 'indexpagelink';
    }
    var listItems = breadCrumbNavigation.lastChild.getElementsByTagName("UL")[0].getElementsByTagName("LI");
    var link;
    for (var i = 1; i < pathParts.length; i++) {
        for (var n = 0; n < listItems.length; n++) {
            link = listItems[n].getElementsByTagName("a")[0];
            //if (link.getAttribute('href').removeTrailingSlash().endsWith(pathParts[i])){
            if (link.getAttribute('href').removeTrailingSlash().endsWith('/' + pathParts[i])) {
                breadCrumbNavigation.appendChild(listItems[n].cloneNode(true));
            }
        }
    }
    breadCrumbNavigation.firstChild.id = 'firstcrumb';
    if (breadCrumbNavigation.lastChild.id === 'firstcrumb') {
        breadCrumbNavigation.lastChild.id = 'onlycrumb';
    }
    else {
        breadCrumbNavigation.lastChild.id = 'lastcrumb';
    }
    rpToolbox_addBreadCrumbNavigation(breadCrumbNavigation);
}

// -- Add list with local links -------------------------------------------------------

function rpToolbox_initLocalLinks(content){
    var localLinksContainer = document.createElement("div");
    localLinksContainer.className = 'sidebaritem';
    var list = document.createElement("ul");
    list.innerHTML = content;
    localLinksContainer.appendChild(list);
    rpToolbox_addLocalLinks(localLinksContainer);
    rpToolbox_markCurrentPageLink('sidebar1');
    var currentPageLink = document.getElementById("selected");
    if (currentPageLink) {
        if (currentPageLink.parentNode.getElementsByTagName("ul")[0]) {
            currentPageLink.parentNode.getElementsByTagName("ul")[0].setAttribute('id', 'show');
            currentPageLink.parentNode.parentNode.parentNode.getElementsByTagName("ul")[0].setAttribute('id', 'show');
        }
        else {
            currentPageLink.parentNode.parentNode.setAttribute('id', 'show');
            currentPageLink.parentNode.parentNode.parentNode.parentNode.setAttribute('id', 'show');
        }
    }
	rpToolbox_positionFixedOnlyIfFitsHeight(15, 'sidebar1');
}

// Adds functionality to a link --------------------------------------------------
function rpToolbox_enhanceLink(link, openInNewWindow){
    if (!link.className.contains('externallink')) {
        if (link.href.indexOf('http') !== -1 && link.href.indexOf(window.document.location.host) === -1) {
            link.className += ' externallink';
        }
        if (link.href.endsWith('pdf')) {
            link.className += ' pdf';
            link.title += ' PDF-fil';
            link.className += ' externallink';
        }
        if (link.href.endsWith('rss')) {
            link.className += ' rss';
        }
        if (link.className.contains('externallink')) {
            if (openInNewWindow) {
                link.target = '_blank';
                link.title += ' (Extern länk, öppnas i nytt fönster)';
            }
            if (link.firstChild && link.firstChild.nodeValue) {
                link.className += ' externallinkicon';
            }
        }
    }
}

// Adds functionality to links ----------------------------------------------------
var rpToolbox_linksEnhanced = false;
function rpToolbox_enhanceLinks2(container){
    var links;
    if (!container) {
        links = document.links;
    }
    else {
        links = container.getElementsByTagName("a");
    }
    for (var i = 0; i < links.length; i++) {
        rpToolbox_enhanceLink(links[i], true);
    }
    rpToolbox_linksEnhanced = true;
}

// Appends list with anchor links --------------------------------------------------
function rpToolbox_appendAnchorLinks(anchorLinksList, contentContainer){
    if (!anchorLinksList) {
        anchorLinksList = document.getElementById('anchorlinkslist');
    }
    var itemCount = 0;
    if (anchorLinksList) {
        //	var elements = rpToolbox_removeEmptyNodes(contentContainer).getElementsByTagName("*"); // BUG: Tar bort mellanrum mellan ord!
        var elements = contentContainer.getElementsByTagName("*");
        var nodeValue = '';
        var previousNodeValue = '';
        var listItem = document.createElement("li");
        for (var i = 1; i < elements.length; i++) {
            if ((elements[i].tagName.toLowerCase() === 'th' || elements[i].tagName.toLowerCase().startsWith('h')) && elements[i].id) {
                itemCount++;
                listItem = document.createElement("li");
                if (elements[i].firstChild.firstChild) { // if the text is in the H tag
                    nodeValue = elements[i].firstChild.firstChild.nodeValue;
                }
                else { // if the text is in the H tags child, fx a A
                    nodeValue = elements[i].firstChild.nodeValue;
                }
            }
            else 
                if (elements[i].tagName.toLowerCase() === 'div' && elements[i].id && elements[i].firstChild && elements[i].firstChild.tagName && elements[i].firstChild.tagName.toLowerCase().startsWith('h')) {
                    itemCount++;
                    listItem = document.createElement('li');
                    nodeValue = elements[i].firstChild.firstChild.nodeValue;
                }
            if (nodeValue && previousNodeValue !== nodeValue) {// Weed out double hits.
                listItem.appendChild(rpToolbox_createLink('#' + elements[i].id, nodeValue, '', 'rpToolbox_scrolloffset(20,100)'));
                anchorLinksList.appendChild(listItem);
            }
            previousNodeValue = nodeValue;
        }
    }
    return itemCount;
}

// Add list with anchor links -----------------------------------------------------
function rpToolbox_addAnchorLinks2(contentContainerID, headline){
    var contentContainer;
    if (!contentContainerID) {
        contentContainer = document.getElementById('maincontent');
    }
    else {
        contentContainer = document.getElementById(contentContainerID);
    }
    if (contentContainer) {
        var anchorlinks = document.getElementById('anchorlinks');
        if (anchorlinks) {
            anchorlinks.parentNode.removeChild(anchorlinks);
        }
        var anchorLinksList = rpToolbox_createElementWithId('ul', 'anchorlinkslist');
        var itemCount = rpToolbox_appendAnchorLinks(anchorLinksList, contentContainer);
        if (!document.getElementById("presentationbar") && itemCount > 3) {
            anchorlinks = rpToolbox_createElementWithId('div', 'anchorlinks');
            if (!headline) {
                headline = 'On This Page';
            }
            var headlineNode = document.createElement('h4');
            headlineNode.appendChild(rpToolbox_createLink('#', headline, '', 'rpToolbox_scrolloffset(0)'));
            anchorlinks.appendChild(headlineNode);
            anchorlinks.appendChild(anchorLinksList);
            var positionNode = document.getElementById('rp_anchorlinksposition');
            positionNode.parentNode.replaceChild(anchorlinks, positionNode);
            var mainContent = window.document.getElementById('maincontent');
            var anchorlinksWidth = 15 + (rpToolbox_getStyle(anchorlinks, 'width').replace(/px/, '') - 0);
            mainContent.style.marginRight = anchorlinksWidth + "px";
            
        }
    }
	rpToolbox_positionFixedOnlyIfFitsHeight(-15, 'anchorlinks');
    rpToolbox_fixIEPositionFixed('anchorlinks');
}


// -- Ugly hack to make things full height in all browsers ----------------------------
function rpToolbox_fullHeight(){
    if (document.getElementById('fullheight')) {
        document.getElementById('fullheight').height = (rpToolbox_getWinHeight() - 200);
    }
}

function rpToolbox_initFullHeightHack(){
    if (document.getElementById('fullheight')) {
        rpToolbox_fullHeight();
        window.onresize = rpToolbox_fullHeight;
    }
}

// -- Validates fields -----------------------------------------------------------------
function rpToolbox_validateField(input){
    var valid = true;
    if (input.className.contains('email')) {
        var regexp = /^[^\.][\D|\d]*@[^\.]+\.[\D|\d]+[^\.]$/;
        valid = (input.value.search(regexp) !== -1);
    }
    else {
        valid = (input.value.replace(/\s/g, '').length > 0);
    }
    return valid;
}

// -- Validates a form -----------------------------------------------------------------
function rpToolbox_validateForm(e){
    if (!e) {
        e = window.event;
    }
    var target = e.target || e.srcElement;
    var form = target.form || target;
    var requredInputs = rpToolbox_getElementsByClassName('required', form, 'input');
    var submitButton = rpToolbox_getElementsByClassName('submitbutton', form, 'input')[0];
    submitButton.disabled = false;
    for (var r = 0; r < requredInputs.length; r++) {
        if (!rpToolbox_validateField(requredInputs[r])) {
            submitButton.disabled = true;
        }
    }
}

// -- Enhances forms ------------------------------------------------------------------
function onLoadDummy(){
}

function rpToolbox_enhanceForms(){
    var forms = document.forms;
    var requredInputs;
    var inputs;
    var submitButton;
    var formClassName;
    var submittedOKMessageSource;
    var submittedOKMessage = 'Meddelandet har skickats';
    var submittedFunction = eval(function(){
        alert(submittedOKMessage);
        window.location.href = window.location.href;
    });
    for (var i = 0; i < forms.length; i++) {
        inputs = forms[i].getElementsByTagName('input');
        for (var n = 0; n < inputs.length; n++) {
            if (inputs[n].type === 'submit') {
                inputs[n].className += ' submitbutton';
                submitButton = inputs[n];
            }
        }
        requredInputs = rpToolbox_getElementsByClassName('required', forms[i], 'input');
        if (requredInputs.length > 0) {
            submitButton.disabled = true;
            for (var r = 0; r < requredInputs.length; r++) {
                requredInputs[r].onkeyup = rpToolbox_validateForm;
                requredInputs[r].onchange = rpToolbox_validateForm;
                requredInputs[r].onmouseup = rpToolbox_validateForm;
                requredInputs[r].onmousemove = rpToolbox_validateForm;
                requredInputs[r].onmouseover = rpToolbox_validateForm;
                requredInputs[r].onpaste = rpToolbox_validateForm; // For IE 
                requredInputs[r].oninput = rpToolbox_validateForm; // For Moz        
            }
        }
        if (forms[i].className.contains('hiddentarget')) {
            forms[i].className += ' hiddentargetform' + i;
            formClassName = 'hiddentargetform' + i;
            submittedOKMessageSource = rpToolbox_getElementsByClassName('submittedtext', forms[i], 'input')[0];
            if (submittedOKMessageSource) {
                submittedOKMessage = submittedOKMessageSource.title;
            }
            submittedOKMessage = '<h1>' + document.getElementById('maincontent').getElementsByTagName('h1')[0].innerHTML + '</h1><p class="submittedmessage"><span>' + rpToolbox_getElementsByClassName('submittedtext', forms[i], 'input')[0].title + '</span></p>';
            //submittedFunction = function(){rpToolbox_getElementsByClassName(formClassName)[0].innerHTML = submittedOKMessage;};
            submittedFunction = function(){
                document.getElementById('maincontent').innerHTML = submittedOKMessage;
            };
            var target = document.createElement("div");
            document.body.appendChild(target);
            target.innerHTML = '<iframe name="target_iframe' + i + '" id="target_iframe' + i + '" onload="onLoadDummy();" style="height: 0px; border: 0;"></iframe>';
            forms[i].target = "target_iframe" + i;
            var className = " targetredirectform" + i;
            forms[i].className += className;
            forms[i].onsubmit = function(){
                onLoadDummy = submittedFunction;
            };
        }
    }
}

// -- Displays loading messages -------------------------------------------------------------------------
function rpToolbox_displayLoadingMessages(){
    var loadMessageNodes = rpToolbox_getElementsByClassName('loading');
    for (var l = 0; l < loadMessageNodes.length; l++) {
        loadMessageNodes[l].style.display = ('block');
    }
}

// -- Hides loading messages -------------------------------------------------------------------------
function rpToolbox_hideLoadingMessages(){
    var loadMessageNodes = rpToolbox_getElementsByClassName('loading');
    for (var l = 0; l < loadMessageNodes.length; l++) {
        loadMessageNodes[l].style.display = ('');
    }
}

// -- Makes image links open in new window ---------------------------------------------------------------

function rpToolbox_imageLinksToNewWindow(containerID){
    var container = null;
    if (containerID) {
        container = document.getElementById(containerID);
    }
    var links;
    if (!container) {
        links = document.links;
    }
    else {
        links = container.getElementsByTagName("a");
    }
    for (var i = 0; i < links.length; i++) {
        if (links[i].getElementsByTagName("img").length > 0) {
            links[i].target = '_blank';
            links[i].title += ' (Extern länk, öppnas i nytt fönster)';
        }
    }
}

// -- Loads sitemap --------------------------------------------------------------------
function rpToolbox_loadSitemap(){
    var sitemapLinkPosition = rpToolbox_getLinkByRel('contents');
    if (sitemapLinkPosition) {
        siteMap = rpToolbox_getSitemapFromServer_xmlHttpRequest(sitemapLinkPosition.href);
        siteMap = siteMap.removeEmptyNodes().replace(/[\s\S]*?<ul id="sitemap">([\s\S]*?)<\/ul><\/div>[\s\S]*?/g, '$1');
    }
}


// -- Twitter START ---------------------------------------------------------------------

var storedTweets = null;
var storedTweetsURL = null;
var twitterDone = false;
var hideTwitterTimeStamps = false;

function relative_time(time_value){
    var values = time_value.split(" ");
    time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
    var parsed_date = Date.parse(time_value);
    var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
    var delta = parseInt((relative_to.getTime() - parsed_date) / 1000, 10);
    delta = delta + (relative_to.getTimezoneOffset() * 60);
    if (delta < 60) {
        return 'mindre ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¤n en minut sedan';
    }
    else 
        if (delta < 120) {
            return 'en minut sedan';
        }
        else 
            if (delta < (60 * 60)) {
                return (parseInt(delta / 60, 10)).toString() + ' minuter sedan';
            }
            else 
                if (delta < (120 * 60)) {
                    return 'en timme sedan';
                }
                else 
                    if (delta < (24 * 60 * 60)) {
                        return (parseInt(delta / 3600, 10)).toString() + ' timmar sedan';
                    }
                    else 
                        if (delta < (48 * 60 * 60)) {
                            return '1 dag sedan';
                        }
                        else {
                            return (parseInt(delta / 86400, 10)).toString() + ' dagar sedan';
                        }
}

function parseTweets(tweets){
    var statusHTML = [];
    for (var i = 0; i < tweets.length; i++) {
        var username = tweets[i].user.screen_name;
        var status = tweets[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s<\>]*[^.,;'">\:\s<\>\)\]\!])/g, function(url){
            return ' <a href="' + url + '"> ' + url + ' </a> ';
        }).replace(/\B@([_a-z0-9]+)/ig, function(reply){
            return reply.charAt(0) + ' <a href="http://twitter.com/' + reply.substring(1) + '"> ' + reply.substring(1) + ' </a> ';
        });
        statusHTML.push('<li>');
        if (!hideTwitterTimeStamps) {
            statusHTML.push('<a class="twittertimelink" href="http://twitter.com/' + username + '/statuses/' + tweets[i].id + '">' + relative_time(tweets[i].created_at) + '</a>');
        }
        statusHTML.push(status + '</li>');
    }
    return statusHTML.join('');
}

function twitterCallbackSlojd(incomingTweets){
    storedTweets = incomingTweets || storedTweets;
    var position = document.getElementById('twitter_update_list');
    if (position) {
        position.innerHTML = parseTweets(storedTweets);
        twitterDone = true;
        rpToolbox_enhanceLinks2(position);
        rpToolbox_setOddEvenClasses(position);
    }
    else {
        rpToolbox_addOnLoad(initTwitter);
    }
}

function initTwitter(tweetsURL, hideTimeStamps){
    if (!twitterDone) {
        storedTweetsURL = tweetsURL || storedTweetsURL;
        hideTwitterTimeStamps = hideTimeStamps;
        if (!storedTweets && storedTweetsURL) {
            rpToolbox_addJS(storedTweetsURL);
        }
        else 
            if (storedTweets) {
                twitterCallbackSlojd(storedTweets);
            }
    }
}

// -- Twitter END -------------------------------------------------------------------

// -- Flickr START ------------------------------------------------------------------

var storedFlickrJson = null;
var storedFlickrURL = null;
var flickrCount = null;

function parseFlickrJson(flickrJson){
    var content = [];
    var item = null;
    var count = flickrCount || flickrJson.items.length;
    for (var i = 0; i < count; i++) {
        item = flickrJson.items[i];
        content.push('<a href="' + item.link + '"  title="' + item.title + '"><img src="' + item.media.m + '" alt="' + item.title + '"></a>');
    }
    content = '<div id="flickrbadge"><h4><a title="bilder" class="rss" href="' + storedFlickrURL + '&amp;format=rss_200">&nbsp;</a><a href="' + item.link.removeTrailingSlash().removePathEnd() + '" class="flickrlink"><strong style="color: #3993ff">flick<span style="color: #ff1c92">r</span></strong></a></h4><span class="flickrimages">' + content.join('').replace(/_m.jpg/g, '_s.jpg') + '</span><div style="clear:both;"></div></div>';
    return content;

}

function jsonFlickrFeed(incomingFlickrJson){
    storedFlickrJson = incomingFlickrJson || storedFlickrJson;
    var position = document.getElementById('flickrbadgeposition');
    if (position) {
        position.innerHTML = parseFlickrJson(storedFlickrJson);
    }
    else {
        rpToolbox_addOnLoad(initFlickr);
    }
}

function initFlickr(flickrURL, count){
    flickrCount = count;
    storedFlickrURL = flickrURL || storedFlickrURL;
    if (!storedFlickrJson && storedFlickrURL) {
        rpToolbox_addJS(storedFlickrURL + '&format=json');
    }
    else 
        if (storedFlickrJson) {
            jsonFlickrFeed(storedFlickrJson);
        }
}

// -- Flickr END --------------------------------------------------------------------

// -- Google calendar START ---------------------------------------------------------

function initGoogleCalendar(url, maxResults){
    maxResults = maxResults ? '&max-results=' + maxResults : '';
    var today = new Date();
    var startDate = today.getFullYear() + '-';
    startDate += (today.getMonth() + 1 < 10) ? '0' + (today.getMonth() + 1) : today.getMonth() + 1;
    startDate += '-';
    startDate += (today.getDate() < 10) ? '0' + (today.getDate()) : today.getDate();
    startDate = '&start-min=' + startDate;
    rpToolbox_addJS(url + "?alt=json-in-script&callback=insertGoogleCalendarEvents&singleevents=true&orderby=starttime&sortorder=a" + maxResults + startDate);
}

function insertGoogleCalendarEvents(root){
    var positionNode = document.getElementById("googlecalendarcontent");
    if (positionNode) {
        var feed = root.feed;
        var entries = feed.entry || [];
        var list = [];
        for (var i = 0; i < entries.length; ++i) {
            var entry = entries[i];
            var title = entry.title.$t;
            var start = (entry['gd$when']) ? entry['gd$when'][0].startTime : "";
            var date = start.substr(0, 10);
            var time = start.substr(11, 5);
            //var day = date.substr(8, 2);
            //var month = date.substr(5, 2);
            //var year = date.substr(0, 4);
            list.push('<li><span class="gcal_date"> ', date, ' </span> <span class="gcal_time"> ', time, ' </span> - <span class="gcal_title"> ', title, ' </span></li>');
        }
        positionNode.innerHTML = list.join("");
        rpToolbox_setOddEvenClasses(positionNode);
    }
}

// -- Google calendar END --------------------------------------------------------------------

// -- Bloggerbadge START ---------------------------------------------------------------------

var hideBloggerBadgeTimeStamps = false;
function initBloggerBadge(url, maxResults, hideTimeStamps){
    hideBloggerBadgeTimeStamps = hideTimeStamps;
    maxResults = maxResults ? '&max-results=' + maxResults : '';
    rpToolbox_addJS(url + "?orderby=published&alt=json-in-script&callback=insertBloggerbadgeContent" + maxResults);
}

function insertBloggerbadgeContent(root){
    var positionNode = document.getElementById("bloggerbadgelist");
    if (positionNode) {
        var feed = root.feed;
        var entries = feed.entry || [];
        var list = [];
        var entry;
        var title;
        var posturl;
        var postdate;
        for (var i = 0; i < entries.length; ++i) {
            entry = entries[i];
            title = entry.title.$t;
            postdate = entry.published.$t.substring(0, 10);
            for (var l = 0; l < entry.link.length; l++) {
                if (entry.link[l].rel === 'alternate') {
                    posturl = entry.link[l].href;
                    break;
                }
            }
            list.push('<li>');
            
            if (!hideBloggerBadgeTimeStamps) {
                list.push('<span class="date"> ', postdate, ' </span> ');
            }
            list.push('<a href="' + posturl + '">', title, '</a></li>');
        }
        positionNode.innerHTML = list.join("");
        rpToolbox_markCurrentPageLink('bloggerbadgelist');
        rpToolbox_setOddEvenClasses(positionNode);
    }
}

// -- Bloggerbadge END -------------------------------------------------------------------

// -- Bloggercommentsbadge START ---------------------------------------------------------------------

var hideBloggerCommentsBadgeTimeStamps = false;
function initBloggerCommentsBadge(url, maxResults, hideTimeStamps){
    hideBloggerBadgeTimeStamps = hideTimeStamps;
    maxResults = maxResults ? '&max-results=' + maxResults : '';
    rpToolbox_addJS(url + "?orderby=published&alt=json-in-script&callback=insertBloggerCommentsbadgeContent" + maxResults);
}

function insertBloggerCommentsbadgeContent(root){
    var positionNode = document.getElementById("bloggercommentsbadgelist");
    if (positionNode) {
        var feed = root.feed;
        var entries = feed.entry || [];
        var list = [];
        var entry;
        var title;
        var posturl;
        var postdate;
        for (var i = 0; i < entries.length; ++i) {
            entry = entries[i];
            title = entry.title.$t;
            postdate = entry.published.$t.substring(0, 10);
            for (var l = 0; l < entry.link.length; l++) {
                if (entry.link[l].rel === 'alternate') {
                    posturl = entry.link[l].href;
                    break;
                }
            }
            list.push('<li>');
            
            if (!hideBloggerBadgeTimeStamps) {
                list.push('<span class="date"> ', postdate, ' </span> ');
            }
            list.push('<a href="' + posturl + '">', title, '</a></li>');
        }
        positionNode.innerHTML = list.join("");
        rpToolbox_setOddEvenClasses(positionNode);
    }
}

// -- Bloggerbadge END -------------------------------------------------------------------


// -- Blogger START ----------------------------------------------------------------------

function fixBlogger(){
    window.jstiming = null;	
    rpToolbox_imageLinksToNewWindow('maincontent');
    //var scripts = window.document.getElementsByTagName('script');	
    //scripts[scripts.length -1].innerHTML = 'test';
    //scripts[scripts.length -2].src = '';
    //alert(scripts[scripts.length -1].innerHTML);
}

// -- Blogger END ------------------------------------------------------------------------

// -- Init visitor counter ---------------------------------------------------------------

var sc_project;
var sc_invisible;
var sc_partition;
var sc_click_stat;
var sc_security;
var sc_text;

function initVisitorCounter(){
    sc_project = 5213694;
    sc_invisible = 1;
    sc_partition = 59;
    sc_click_stat = 1;
    sc_security = "cd7486c3";
    sc_text = 3;
    rpToolbox_addJS('http://www.statcounter.com/counter/counter_xhtml.js');
}

// == Init ==========================================================================

function runsAfterPageLoad_slojd(){
    initTwitter(); //inits twitter again, just incase it has timed out before.
    rpToolbox_setOddEvenClasses(document.getElementById("maincontent")); // extra run to take care of cs includes
}

function runsAtPageLoad_slojd(){
    window.setTimeout("runsAfterPageLoad_slojd()", 5000);
    if (document.location.hash.length > 0) {
        rpToolbox_scrolloffset(30, 100);
    }
}

function runsAtPageEnd_slojd(){
    addNavigation();
    rpToolbox_fixIEPositionFixed();
    rpToolbox_displayLoadingMessages();
    rpToolbox_initLocalLinks(siteMap);
    rpToolbox_buildBreadcrumbNavigation2(siteMap);
    rpToolbox_addInserts();
    rpToolbox_initFullHeightHack()
    rpToolbox_enhanceForms();
    rpToolbox_setOddEvenClasses(document.getElementById("maincontent"));
    rpToolbox_enhanceLinks2(document.getElementById("maincontent"));
    rpToolbox_addAnchorLinks2('maincontent', 'På denna sida');
    initVisitorCounter();
    rpToolbox_hoverAnything('breadcrumbnavigation', 'LI');
}

function runsAtPageStart_slojd(){
    rpToolbox_loadSitemap();
    rpToolbox_addOnLoad(runsAtPageLoad_slojd);
}

// == Start ==========================================================================

var siteMap = '';

runsAtPageStart_slojd();