/* Simple JavaScript Inheritance
 * By John Resig http://ejohn.org/
 * MIT Licensed.
 */
// Inspired by base2 and Prototype
(function(){var initializing=false,fnTest=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this;initializing=false;for(var name in prop)prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret}}(name,prop[name]): prop[name];function Class(){if(!initializing&&this.init)this.init.apply(this,arguments)}Class.prototype=prototype;Class.constructor=Class;Class.extend=arguments.callee;return Class}})();


var Lilla = Class.extend({

    init: function()
    {
        this.checkTab();
        if($('#pd_rating_holder_4787745').length)
        {
            this.shareBox = new ShareBox(this.getLocation());
        }
    },
    

    checkTab: function()
        {
            var $container = $("div.SgTabs-panel div.show-tab-container li.selected");
    
            if($container.length > 0)
            {
                var parent = $($container).closest("div.SgTabs-panel");
                var index = parent.prevAll("div.SgTabs-panel").length;
                var tabs = parent.siblings("ul.SgTabs-nav");
                var li = tabs.children("li.SgTabs-default:eq(" + index + ")");
    
                li.addClass("SgTabs-active").siblings().removeClass("SgTabs-active");
                parent.siblings("div.SgTabs-panel").addClass("SgTabs-hide").hide();
                parent.hide().removeClass("SgTabs-hide").fadeIn("slow");
            }
        },

    getLocation: function()
    {
        this.lt = window.location.href;
        this.$mdnode = null;
        this.md = null;

        this.pattern1 = "/1\\.(\\d{2,12})/?"; // För att ta fram artikel-id ur en 1.-typurl
        this.pattern2 = "\\?.*a=(\\d{2,12})/?"; // För att ta fram artikel-id ur en a=-typurl
        this.loc = this.lt.match(this.pattern1);

        if(this.loc === null){
            this.loc = this.lt.match(this.pattern2);
        }

        if(this.loc === null){
            this.$mdnode = $('.sgFlashVideo');

            if(this.$mdnode.length > 0){
                this.md = this.$mdnode.find('.SgFlashVideoMeta').metadata();
                this.lt = this.md.flashId;
            }
        }else{
            this.lt = this.loc[1];
        }

        return "http://svt.se/1." + this.lt;
    }
});

var ShareBox = Class.extend({

    init: function(url)
    {
        this.url = url;
        this.build();
    },
    
    _getToolbarHtml: function(embedLink)
    {
        var html = '';
        html += '<ul>';
        html += '<li class="likeBox"></li>';
        html += '<li class="expandable"><a id="share" class="shareButton" href="javascript:void(0);">Dela <span class="arrow"></span></a>';

        if(embedLink)
        {
            html += '<li class="expandable"><a id="embed" class="shareButton" href="javascript:void(0);">B&auml;dda in <span class="arrow"></span></a></li>';
        }

        html += '</ul';

        return html;

    },

    build: function()
    {
        var _self = this;

        $('.sgFlashVideo').livequery(function()
        {
            $(this).parent().append('<div class="likeBox"></div>')
            $("#pd_rating_holder_4787745").appendTo('.likeBox');
            var metaData = $(this).find('.SgFlashVideoMeta').metadata();

            if(metaData)
            {
                _self.parse(this, metaData.flashId, metaData.variables.title);
            }
        });
    },
    
    parse: function(wrapper, id, title)
    {
        PDRTJS_settings_4787745 = {
            "id" : "4787745",
            "unique_id" : id,
            "title" : title,
            "permalink" : this.url
        };

        $.getScript('//i.polldaddy.com/ratings/rating.js');
    }
});



$(document).ready(function(){
    
    var lilla = new Lilla();
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    var regexp1 = /^(\S+\/)/;
    var regexp2 = /(\/+\S*)/;
    var scrollerUrl = '/svt/jsp/Crosslink.jsp?d=164230&included=true';
    var scrollUrl = '/svt/jsp/Crosslink.jsp?a=%ID%&included=true';
   var scrollObj = '<object width="375" height="180">' +
            '<param name="movie" value="/embededflash/%ID%/barn.swf"></param>' +
            '<param name="wmode" value="transparent"></param>' +
            '<param name="allowfullscreen" value="true"></param>' +
            '<param name="allowScriptAccess" value="sameDomain"></param>' +
            '<embed src="/embededflash/%ID%/barn.swf" ' +
            'type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" ' +
            'allowScriptAccess="sameDomain" width="320" height="180" flashvars="autostart=true"></embed>' +
    '</object>';
    var mockObject = '<div class="playercontainer"><div style="width: 320px; height: 180px;" class="video-player-mock barn">' +
            '<img width="320" alt="" src="%MOCK_IMAGE%" class="player-bg-image">' +
            '<span class="startbutton" style="top: 25px; visibility: hidden;"><img alt="" src="/svt_se/images/play/BarnPlayerOverlayStartButtonIcon.png"></span>' +
            '<span class="mockbar"><em style="width: 257px;" class="start"></em><em class="end"></em></span>' +
            '</div></div>';
    
    $.get(scrollerUrl, function(data)
    {
        var moveInterval = setInterval(move, 10000);
        
        $(".gHeadlineTeaser", data).each(function(i)
        {
            $(".items").append('<div id="item' + i + '" class="el" />');
            
            var s = $("img", this).attr("src");
            var h = $(".headlineH1", this).text();
            var p = $(".SgEntryLabel", this).text();
            var id = $(".xplay a", this).attr('href');
            $(".SgEntryLabel", this).remove()
            var articleText = $('p', this).text();
            var background = s.substr(0, s.lastIndexOf("-"));
            
            var playlist = {
                url: $(".xdocument a", this).attr("href"),
                txt: $(".xdocument a", this).text()
            };
            
            if(s != undefined)
            {
                $('#item' + i).append('<img width="150" src="' + s + '" />');
            }
            if(h != undefined)
            {
                $('#item' + i).append('<h2>' + h + '</h2>');
            }
            if(p != undefined)
            {
                $('#item' + i).append('<p>' + p + '</p>');
            }
            
            if(id != undefined)
            {
                id = id.replace(regexp1, '');
                id = id.replace(regexp2, '');
            }
            
            else
            {
                id = null;
            }
            
            var xlinks = new Array();
            
            $("ul.xtramtrl li.xlink", this).each(function(i)
            {
                xlinks.push({text: $('a', this).text(), href: $('a', this).attr("href")});
            });
            
            $('#item' + i).click( function()
            {
                insertContent(h, articleText, background, id, playlist, xlinks);
                clearInterval(moveInterval);
                moveInterval = setInterval(move, 10000);
            });
            
            if(i == 0)
            {
                insertContent(h, articleText, background, id, playlist, xlinks);
                $('#item0').addClass("active");
            }
        });
        
        $("div.scrollable").scrollable({size: 4});
        
        $("div.scrollable").hover(
            function()
            {
                clearInterval(moveInterval);
            },
            function()
            {
                moveInterval = setInterval(move, 10000);
            }
        );
    });
    
    function move()
    {
        var api = $("div.scrollable").data("scrollable");
        
        if(api == undefined)
        {
            return;
        }
        
        if($('div.scrollable').next('a').hasClass('disabled'))
        {
            api.begin(2000);
        }
        else
        {
            api.move(1);
        }
    }
    
    function insertContent(header, text, background, videoId, playlist, xlinks)
    {
        $("#scrollcontent").fadeTo('fast', 0.1, function()
        {
            $("#scrollcontent").html('');
            $("#scrollcontent").append('<div id="content" />');
            $("#scrollcontent").css({"background": '#ffffff url(' + background + '-large.jpg) no-repeat'});
            $("#content", "#scrollcontent").append('<h1 class="scrollheader"><span>' + header + '</span></h1>');
            $("#content", "#scrollcontent").append('<p class="scrolltext">' + text + '</p>');

            if(xlinks.length > 0)
            {
                $("#content", "#scrollcontent").append('<ul class="xtramtrl" />');
                
                for(var i = 0; i < xlinks.length; i++)
                {
                    $(".xtramtrl", "#scrollcontent").append('<li class="xlink"><a href="' + xlinks[i].href + '">' + xlinks[i].text + '</a></li>');
                }
            }
            
            if(playlist.url != undefined)
            {
                $("#content", "#scrollcontent").append('<p class="playlist"><a href="' + playlist.url + '">'
                                                       + playlist.txt + '</a></p>');
            }
            
            if(videoId)
            {
                var videoInfoUrl = '/video/info/' + videoId + '.json';
                $.ajax({
                    url : videoInfoUrl,
                    dataType : 'json',
                    success : function(data) {
                        $("#scrollcontent").append('<div id="flashvideo" />');
                        var mock = replaceContent('%MOCK_IMAGE%', data.flashVariables.background, mockObject);
                        var $videoNode = $("#flashvideo");
                        $videoNode.append(mock);
                        var $playerLink = $videoNode.find('.playercontainer');
                        SgVideo.initVideoPlayerMock($playerLink);
                        $playerLink.find('.video-player-mock').click(function() {
                            var requiredVersion = new deconcept.PlayerVersion('9.0.28'.split("."));
                            if (deconcept.SWFObjectUtil.getPlayerVersion().versionIsValid(requiredVersion)) {
                                $playerLink.html(replaceContent('%ID%', videoId, scrollObj));
                            }
                            else {
                                var fallbackVideo = SgVideo.getFallbackVideo(data.fallbackVideos);
                                if (fallbackVideo !== null) {
                                    SgVideo.loadFallbackvideo($playerLink, fallbackVideo, $playerLink.width(), $playerLink.height(), data.flashVariables.background);
                                }
                            }
                        });
                        
                        
                    }
                });
            }
            
            $("#scrollcontent").fadeTo('fast', 1);
        });
    }
    
    function replaceContent(lookFor, replaceWith, str)
    {
        var retStr = str;
        
        while(retStr.indexOf(lookFor) > -1)
        {
            retStr = retStr.replace(lookFor, replaceWith);
        }
   
        return retStr;
    }
    
    
});
        
/*
* jquery.tools 1.1.2 - The missing UI library for the Web
* 
* [tools.scrollable-1.1.2, tools.scrollable.circular-0.5.1, tools.scrollable.autoscroll-1.0.1, tools.scrollable.navigator-1.0.2, tools.scrollable.mousewheel-1.0.1]
* 
* Copyright (c) 2009 Tero Piirainen
* http://flowplayer.org/tools/
*
* Dual licensed under MIT and GPL 2+ licenses
* http://www.opensource.org/licenses
* 
* -----
* 
* jquery.event.wheel.js - rev 1 
* Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
* Liscensed under the MIT License (MIT-LICENSE.txt)
* http://www.opensource.org/licenses/mit-license.php
* Created: 2008-07-01 | Updated: 2008-07-14
* 
* -----
* 
* File generated: Wed Apr 07 10:31:25 GMT 2010
*/
(function(b){b.tools=b.tools||{};b.tools.scrollable={version:"1.1.2",conf:{size:5,vertical:false,speed:400,keyboard:true,keyboardSteps:null,disabledClass:"disabled",hoverClass:null,clickable:true,activeClass:"active",easing:"swing",loop:false,items:".items",item:null,prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",api:false}};var c;function a(o,m){var r=this,p=b(this),d=!m.vertical,e=o.children(),k=0,i;if(!c){c=r}b.each(m,function(s,t){if(b.isFunction(t)){p.bind(s,t)}});if(e.length>1){e=b(m.items,o)}function l(t){var s=b(t);return m.globalNav?s:o.parent().find(t)}o.data("finder",l);var f=l(m.prev),h=l(m.next),g=l(m.prevPage),n=l(m.nextPage);b.extend(r,{getIndex:function(){return k},getClickIndex:function(){var s=r.getItems();return s.index(s.filter("."+m.activeClass))},getConf:function(){return m},getSize:function(){return r.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/m.size)},getPageIndex:function(){return Math.ceil(k/m.size)},getNaviButtons:function(){return f.add(h).add(g).add(n)},getRoot:function(){return o},getItemWrap:function(){return e},getItems:function(){return e.children(m.item)},getVisibleItems:function(){return r.getItems().slice(k,k+m.size)},seekTo:function(s,w,t){if(s<0){s=0}if(k===s){return r}if(b.isFunction(w)){t=w}if(s>r.getSize()-m.size){return m.loop?r.begin():this.end()}var u=r.getItems().eq(s);if(!u.length){return r}var v=b.Event("onBeforeSeek");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}if(w===undefined||b.isFunction(w)){w=m.speed}function x(){if(t){t.call(r,s)}p.trigger("onSeek",[s])}if(d){e.animate({left:-u.position().left},w,m.easing,x)}else{e.animate({top:-u.position().top},w,m.easing,x)}c=r;k=s;v=b.Event("onStart");p.trigger(v,[s]);if(v.isDefaultPrevented()){return r}f.add(g).toggleClass(m.disabledClass,s===0);h.add(n).toggleClass(m.disabledClass,s>=r.getSize()-m.size);return r},move:function(u,t,s){i=u>0;return this.seekTo(k+u,t,s)},next:function(t,s){return this.move(1,t,s)},prev:function(t,s){return this.move(-1,t,s)},movePage:function(w,v,u){i=w>0;var s=m.size*w;var t=k%m.size;if(t>0){s+=(w>0?-t:m.size-t)}return this.move(s,v,u)},prevPage:function(t,s){return this.movePage(-1,t,s)},nextPage:function(t,s){return this.movePage(1,t,s)},setPage:function(t,u,s){return this.seekTo(t*m.size,u,s)},begin:function(t,s){i=false;return this.seekTo(0,t,s)},end:function(t,s){i=true;var u=this.getSize()-m.size;return u>0?this.seekTo(u,t,s):r},reload:function(){p.trigger("onReload");return r},focus:function(){c=r;return r},click:function(u){var v=r.getItems().eq(u),s=m.activeClass,t=m.size;if(u<0||u>=r.getSize()){return r}if(t==1){if(m.loop){return r.next()}if(u===0||u==r.getSize()-1){i=(i===undefined)?true:!i}return i===false?r.prev():r.next()}if(t==2){if(u==k){u--}r.getItems().removeClass(s);v.addClass(s);return r.seekTo(u,time,fn)}if(!v.hasClass(s)){r.getItems().removeClass(s);v.addClass(s);var x=Math.floor(t/2);var w=u-x;if(w>r.getSize()-t){w=r.getSize()-t}if(w!==u){return r.seekTo(w)}}return r},bind:function(s,t){p.bind(s,t);return r},unbind:function(s){p.unbind(s);return r}});b.each("onBeforeSeek,onStart,onSeek,onReload".split(","),function(s,t){r[t]=function(u){return r.bind(t,u)}});f.addClass(m.disabledClass).click(function(){r.prev()});h.click(function(){r.next()});n.click(function(){r.nextPage()});if(r.getSize()<m.size){h.add(n).addClass(m.disabledClass)}g.addClass(m.disabledClass).click(function(){r.prevPage()});var j=m.hoverClass,q="keydown."+Math.random().toString().substring(10);r.onReload(function(){if(j){r.getItems().hover(function(){b(this).addClass(j)},function(){b(this).removeClass(j)})}if(m.clickable){r.getItems().each(function(s){b(this).unbind("click.scrollable").bind("click.scrollable",function(t){if(b(t.target).is("a")){return}return r.click(s)})})}if(m.keyboard){b(document).unbind(q).bind(q,function(t){if(t.altKey||t.ctrlKey){return}if(m.keyboard!="static"&&c!=r){return}var u=m.keyboardSteps;if(d&&(t.keyCode==37||t.keyCode==39)){r.move(t.keyCode==37?-u:u);return t.preventDefault()}if(!d&&(t.keyCode==38||t.keyCode==40)){r.move(t.keyCode==38?-u:u);return t.preventDefault()}return true})}else{b(document).unbind(q)}});r.reload()}b.fn.scrollable=function(d){var e=this.eq(typeof d=="number"?d:0).data("scrollable");if(e){return e}var f=b.extend({},b.tools.scrollable.conf);d=b.extend(f,d);d.keyboardSteps=d.keyboardSteps||d.size;this.each(function(){e=new a(b(this),d);b(this).data("scrollable",e)});return d.api?e:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.circular={version:"0.5.1",conf:{api:false,clonedClass:"cloned"}};b.fn.circular=function(e){var d=b.extend({},a.plugins.circular.conf),c;b.extend(d,e);this.each(function(){var i=b(this).scrollable(),n=i.getItems(),k=i.getConf(),f=i.getItemWrap(),j=0;if(i){c=i}if(n.length<k.size){return false}n.slice(0,k.size).each(function(o){b(this).clone().appendTo(f).click(function(){i.click(n.length+o)}).addClass(d.clonedClass)});var l=b.makeArray(n.slice(-k.size)).reverse();b(l).each(function(o){b(this).clone().prependTo(f).click(function(){i.click(-o-1)}).addClass(d.clonedClass)});var m=f.children(k.item);var h=k.hoverClass;if(h){m.hover(function(){b(this).addClass(h)},function(){b(this).removeClass(h)})}function g(o){var p=m.eq(o);if(k.vertical){f.css({top:-p.position().top})}else{f.css({left:-p.position().left})}}g(k.size);b.extend(i,{move:function(s,r,p,q){var u=j+s+k.size;var t=u>i.getSize()-k.size;if(u<=0||t){var o=j+k.size+(t?-n.length:n.length);g(o);u=o+s}if(q){m.removeClass(k.activeClass).eq(u+Math.floor(k.size/2)).addClass(k.activeClass)}if(u===j+k.size){return self}return i.seekTo(u,r,p)},begin:function(p,o){return this.seekTo(k.size,p,o)},end:function(p,o){return this.seekTo(n.length,p,o)},click:function(p,r,q){if(!k.clickable){return self}if(k.size==1){return this.next()}var s=p-j,o=k.activeClass;s-=Math.floor(k.size/2);return this.move(s,r,q,true)},getIndex:function(){return j},setPage:function(p,q,o){return this.seekTo(p*k.size+k.size,q,o)},getPageAmount:function(){return Math.ceil(n.length/k.size)},getPageIndex:function(){if(j<0){return this.getPageAmount()-1}if(j>=n.length){return 0}var o=(j+k.size)/k.size-1;return o},getVisibleItems:function(){var o=j+k.size;return m.slice(o,o+k.size)}});i.onStart(function(p,o){j=o-k.size;return false});i.getNaviButtons().removeClass(k.disabledClass)});return d.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.autoscroll={version:"1.0.1",conf:{autoplay:true,interval:3000,autopause:true,steps:1,api:false}};b.fn.autoscroll=function(d){if(typeof d=="number"){d={interval:d}}var e=b.extend({},a.plugins.autoscroll.conf),c;b.extend(e,d);this.each(function(){var g=b(this).scrollable();if(g){c=g}var i,f,h=true;g.play=function(){if(i){return}h=false;i=setInterval(function(){g.move(e.steps)},e.interval);g.move(e.steps)};g.pause=function(){i=clearInterval(i)};g.stop=function(){g.pause();h=true};if(e.autopause){g.getRoot().add(g.getNaviButtons()).hover(function(){g.pause();clearInterval(f)},function(){if(!h){f=setTimeout(g.play,e.interval)}})}if(e.autoplay){setTimeout(g.play,e.interval)}});return e.api?c:this}})(jQuery);
(function(b){var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.navigator={version:"1.0.2",conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,api:false,idPrefix:null}};b.fn.navigator=function(d){var e=b.extend({},a.plugins.navigator.conf),c;if(typeof d=="string"){d={navi:d}}d=b.extend(e,d);this.each(function(){var i=b(this).scrollable(),f=i.getRoot(),l=f.data("finder").call(null,d.navi),g=null,k=i.getNaviButtons();if(i){c=i}i.getNaviButtons=function(){return k.add(l)};function j(){if(!l.children().length||l.data("navi")==i){l.empty();l.data("navi",i);for(var m=0;m<i.getPageAmount();m++){l.append(b("<"+(d.naviItem||"a")+"/>"))}g=l.children().each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()});if(d.indexed){o.text(n)}if(d.idPrefix){o.attr("id",d.idPrefix+n)}})}else{g=d.naviItem?l.find(d.naviItem):l.children();g.each(function(n){var o=b(this);o.click(function(p){i.setPage(n);return p.preventDefault()})})}g.eq(0).addClass(d.activeClass)}i.onStart(function(o,n){var m=d.activeClass;g.removeClass(m).eq(i.getPageIndex()).addClass(m)});i.onReload(function(){j()});j();var h=g.filter("[href="+location.hash+"]");if(h.length){i.move(g.index(h))}});return d.api?c:this}})(jQuery);
(function(b){b.fn.wheel=function(e){return this[e?"bind":"trigger"]("wheel",e)};b.event.special.wheel={setup:function(){b.event.add(this,d,c,{})},teardown:function(){b.event.remove(this,d,c)}};var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"");function c(e){switch(e.type){case"mousemove":return b.extend(e.data,{clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY});case"DOMMouseScroll":b.extend(e,e.data);e.delta=-e.detail/3;break;case"mousewheel":e.delta=e.wheelDelta/120;break}e.type="wheel";return b.event.handle.call(this,e,e.delta)}var a=b.tools.scrollable;a.plugins=a.plugins||{};a.plugins.mousewheel={version:"1.0.1",conf:{api:false,speed:50}};b.fn.mousewheel=function(f){var g=b.extend({},a.plugins.mousewheel.conf),e;if(typeof f=="number"){f={speed:f}}f=b.extend(g,f);this.each(function(){var h=b(this).scrollable();if(h){e=h}h.getRoot().wheel(function(i,j){h.move(j<0?1:-1,f.speed||50);return false})});return f.api?e:this}})(jQuery);


