

    $(document).ready(function(){

    var currentXML;
    var defaultXMLPath;
    var COOKIE_NAME = 'prefPlayer';
    var configItemCount=0;


    //Plugin detection
    IsWmp = $.browser.wmp; //windows media player
    IsReal = $.browser.rp //Realplayer

    Init();


    function GetPreferedPlayer() {


        return $.cookie(COOKIE_NAME);

    }
    function SetPreferedPlayer(player) {

         var options = { path: '/', expires: 60 };
         $.cookie(COOKIE_NAME, player, options);
    }

    function Init() {

        //Javascript is enabled, show the content;
        $('#pageContainer').show();
        $('#javascriptWarning').hide();

        var liList="";
        var j=0;
        var i=0;
        var k=0;

         var xml = parseXML($.ajax({ url: 'config.xml',
                                    async: false
                                    }).responseText)

        //Save it in a global var, we have to use it in dynamic events
        configItemCount = $(xml).find('item').length;


         //Create the flikar
         $(xml).find('item').each(function(){
            i++;

            if(i==1){
                defaultXMLPath= $(this).find('rsspath').text()
             }

            liList += '<li><a href="' + $(this).find('rsspath').text() + '" class="item' + i + '">' + $(this).find('name').text() + '</a></li>';
           }); //close each(

         $('<ul></ul>').html(liList).appendTo('#mainnav');

        //set the default behaviour of the flikar
        $("#menubar").show().addClass("item1Bar");
        $(".item1").addClass("item1Active");

        $("#mainnav  a").click(function(){
            //We need a gloab variable to make this itteration work
            for (j=1; j < configItemCount+1; j++) {
                $(".item" + j).removeClass("item" + j + "Active");
                $(".item" + j).removeClass("item" + j + "Bar");
            }
            $("#contentlistinfo").removeClass();
            $("#bottom").removeClass();
            $("#submenu").show();
            $("#contentlistinfo").show();
            $("#menubar").removeClass();

            });

        //Set the beahvior on every flik
         $(xml).find('item').each(function(){
            k++;

            var node=this;
            $(".item" + k).click(function (e) {
              //Sinc we are dynamically adding the behavour we have to pick the indexnumber from the clicked class
              var className=$(this).attr('class');
              var i = className.substring(4);

              $("#menubar").show().addClass("item" + i + "Bar");
              $(this).addClass("item" + i + "Active");
              $("#contentlistinfo").addClass($(node).find('teasergclass').text());
              //$("#contentlistinfoheader").html($(node).find('name').text());
			  //$("#contentlistinfo").html($(node).find('description').text());
              $("#bottom").addClass($(node).find('teaserarrowclass').text());
              loadRssList($(this).attr("href"));
              e.preventDefault();

             });

           }); //close each(

    }


    function parseXML( xml ) {
        if( window.ActiveXObject && window.GetObject ) {
            var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
            dom.loadXML( xml );
            return dom;
        }
        if( window.DOMParser )
            return new DOMParser().parseFromString( xml, 'text/xml' );
        throw new Error( 'No XML parser available' );
    }


    function writeListItem(node)  {

        var rssLink = $(node).find('link').text();
        var rssImage = $(node).find('enclosure').attr('url');
        var rssTitle = $(node).find('title').text();
        var rssDate = $(node).find('pubDate').text();
        var rssDescription = $(node).find('description').text();
        var rssCategory = $(node).find('category').text();
        var rssOrganisation = $(node).find('organisation').text();
		
		if(rssOrganisation.indexOf("$action.escapeXml($plainText)") == 0){
			rssOrganisation = "";
		}

        if(rssDescription.length >200){
           rssDescription = rssDescription.slice(0,200) + "...";
       }

        $('<div class="item"></div>')
             .html('<img src="' + rssImage + '" />' +
                    '<h2>' + rssTitle + '</h2>' +
                    '<p><span class="date">' + ConvertRssDate(rssDate) +
                    '</span> <span class="organisation">' + rssOrganisation + '</span><br />' + rssDescription +  '</p>' +
                    '<a href="' + rssLink + '" class="play">Se inslaget</a><br style="clear:both;" />')
             .appendTo('#contentlist');

    }


     function ShowPlayer(node)
    {

        var rssLink = $(node).find('link').text();
        var rssImage = $(node).find('enclosure').attr('url');
        var rssTitle = $(node).find('title').text();
        var rssDate = $(node).find('pubDate').text();
        var rssDescription = $(node).find('description').text();
        var rssCategory = $(node).find('category').text();
        var rssSubject = $(node).find('subject').text();
        var rssWmp = $(node).find('windowsmediafasturl').text()
        var rssReal = $(node).find('realurl').text()

        //Choose the appropriate player
        var mediaURL ="";
        var preferedPlayer =GetPreferedPlayer();

        if(IsWmp) {
            if(preferedPlayer== null || preferedPlayer=="wmp") {
                mediaURL=rssWmp;
                //SetPreferedPlayer("real");
                }
             else if(IsReal) {
              //SetPreferedPlayer("wmp");
                mediaURL=rssReal;
                }
            }
         else if(IsReal) {
            if(preferedPlayer== null || preferedPlayer=="real") {
                 mediaURL=rssReal;
                }
            }

        //Display the player wrapper, hide the list
        $('#listwrapper').css("display","none");
        $('#playerwrapper').css("display","block");

        //Clear previous content information from previos clip
        $('#playerinfocontent').find('p').remove();
        $('#playerinfocontent').find('h2').remove();

       //Add new content information for current clip
        $('<h2></h2>').html(rssTitle).appendTo('#playerinfocontent');

        $('<p></p>').html('<span class="date">' + ConvertRssDate(rssDate) + '</span><br />' +
                           '<span class="vinjett">' + rssSubject + '</span><br />' +
                           rssDescription)
                     .appendTo('#playerinfocontent');


        //Add an A-tag for the player script to work (ut replaces the link width the embed tag)
        $('<a href="#" class="media"></a>').appendTo('#player');


        //mediaURL="";
        //load the player
        //Documentation: http://malsup.com/jquery/media/
		
        if(mediaURL !=""){
            $('#noplayer').hide();
            $('#changePlayer').hide();
            $('#missingcontent').hide();
            $('#player').show();

            if($.browser.mozilla){
                $('#ipodIcon').hide();
                $('#changePlayerIcon').show();}
            else{
                $('#ipodIcon').show();
                $('#changePlayerIcon').hide();}

            $('a.media').media({width:440, height:310, autoplay:  true, src:mediaURL});
        }
        else {
            $('#player').hide();
            $('#missingcontent').hide();
            $('#noplayer').show();
            $('#changePlayer').hide();
            $('#ipodIcon').hide();
            $('#changePlayerIcon').hide();
        }

    }

    function ConvertRssDate(date)
    {
          //Convert the rss date
            var currentDate = new Date(date);
            var year=currentDate.getFullYear()  ;
            var month= currentDate.getMonth()+1;
            var day =currentDate.getDate();


           if(month.toString().length==1)
            {
                month='0'+ month;
            }


           if(day.toString().length==1)
            {
                day='0'+ day;
            }

            return(year  + '-' +
                  month + '-' +
                  day);
    }

     function ShowMissingFileInfo() {
            $('#listwrapper').hide();
            $('#playerwrapper').show();
            $('#player').hide();
            $('#ipodIcon').hide();
            $('#missingcontent').show();
            $('#noplayer').hide();

     }


     function loadSingle(url)
        {
            //filter out the path, just take
            var urlArray = url.split('/');
            url=urlArray[urlArray.length-1];

             var xml=currentXML;
             var tempURL ="";
             var foundPlayer=false;
             $("div").remove(".item");
             $('#listwrapper').css("display","block");
             $('#playerwrapper').css("display","none");

              $(xml).find('item').each(function(){
                tempURL = $(this).find('link').text();
                urlArray = tempURL.split('/');
                tempURL=urlArray[urlArray.length-1];

                //if(tempURL.indexOf(url)>-1 && url.length>0)
                if(tempURL==url)
                    {//&& url.length>0
                       // writeListItem(this);
                       ShowPlayer(this);
                       foundPlayer=true;
                    }

                 }); //close each(

                     return(foundPlayer);
        }

      function sortListAlpabetic()
        {

             var xml=currentXML;

             $("div").remove(".item");
             $('#listwrapper').css("display","block");
             $('#playerwrapper').css("display","none");

            //Create an array so we could sort
            var itemCount = $(xml).find('item').length;
            var sortedList = new Array(itemCount);
            var i=0;

            //Fill the array width all the titles we are to sort after
            $(xml).find('item').each(function(){

                   sortedList[i]= $(this).find('title').text();
                       //alert(sortedList[i]);
                    i++;
                 }); //close each(

           sortedList.sort();

           //Iterate trough the array and print the XML-nodes in the alpabetic order.
           for (i=0; i < itemCount; i++)
            {
            //alert('klas ' + sortedList[i]);
              $(xml).find("item").each(function(){
                    if($(this).find('title').text()==sortedList[i])
                    writeListItem(this);
                    });
            }

        }

     function loadFilteredList(filter)
        {
            var xml=currentXML;

            $("div").remove(".item");
            $('#listwrapper').css("display","block");
            $('#playerwrapper').css("display","none");

            $(xml).find('item').each(function(){
                if($(this).find('organisation').text()==filter)
                    {
                        writeListItem(this);
                    }

             }); //close each(

        }

     function writeList() {

         var xml=currentXML;
         $("div").remove(".item");
         $(xml).find('item').each(function(){
             writeListItem(this);

                 }); //close each(


     }

     function loadRssList(xmlPath){

        var xml = parseXML($.ajax({ url: xmlPath,
                                    async: false
                                    }).responseText)

        var $xml = $(xml);
        currentXML=$xml;


        $('#listwrapper').css("display","block");
        $('#playerwrapper').css("display","none");
        //Clear current runing player (if exists)
        $('#player').find('div').remove();

        $('#larosaten>option').remove();

        var options = "<option>Samtliga lärosäten</option>";
        var tempString="";
        var usedBuffer ="";
        //---------------------------------------------------------------------------------------------
		var test ="";
		var testbool = false;
		$(xml).find('title').each(function(){
            if(!(testbool)) {
				test = $(this).text();
				$("#contentlistinfoheader").html(test);
				testbool = true;
            }
           }); //close each(
		test ="";
		testbool = false;
		$(xml).find('description').each(function(){
            if(!(testbool)) {
				test = $(this).text();
				$("#contentlistinfodescription").html(test);
				testbool = true;
            }
           }); //close each(
			//--------------------------------------------------------------------------------------------
        //Populate the selecbox
         $(xml).find('item').each(function(){
            tempString = $(this).find('organisation').text();
			if(tempString != null && usedBuffer.indexOf(tempString) == -1 && tempString.indexOf("$action.escapeXml($plainText)") != 0) {
                 options+= '<option>' + tempString + '</option>';
                 usedBuffer +=tempString;
            }
           }); //close each(

        $('#larosaten').html(options)

        writeList();
    }


    $('#larosaten').change(function(){
        if($(this).val() != "Samtliga lärosäten"){
            loadFilteredList($(this).val());
           }
        else {
            writeList();
        }
    });


    //Bevaka alla klick på sajten.
    $('#contentlist').click( function(e){
            //Get target
            var $clicked_element = $(e.target)
            //Did user click an anchor?
            if ( $clicked_element.is('a') ){
                //Yes user clicked an anchor
                //prevent Default action
                e.preventDefault();

                loadSingle($clicked_element.attr("href"));

            }
       });


    $('#update-target').click( function(e){
                    //Get target
                    var $clicked_element = $(e.target)
                    //Did user click an anchor?
                    if ( $clicked_element.is('a') ){
                        //Yes user clicked an anchor
                        //prevent Default action
                        e.preventDefault();
                        anchorClickFn( $clicked_element );

                    }

                });

    $('#sortbydate').click(function(e){
        writeList();
        $("#sortbydate").addClass("active");
        $("#sortAlphabeticaly").removeClass("active");
        e.preventDefault();
    });

    $('#sortAlphabeticaly').click(function(e){
        sortListAlpabetic();
        $("#sortAlphabeticaly").addClass("active");
        $("#sortbydate").removeClass("active");
        e.preventDefault();
    });

   $('.plugin').click(function(e){

        //Display the player wrapper, hide the list
        $('#listwrapper').css("display","none");
        $('#playerwrapper').css("display","block");

        //Clear previous content information from previos clip
        $('#playerinfocontent').find('p').remove();
        $('#playerinfocontent').find('h2').remove();

        $('#player').hide();
        $('#noplayer').show();
        $('#changePlayer').hide();
        $('#changePlayerIcon').hide();
        $('#missingcontent').hide();
         $('#ipodIcon').hide();


    });

    $('#changePlayerLink').click(function(e){

        //Display the player wrapper, hide the list
        $('#listwrapper').css("display","none");
        $('#playerwrapper').css("display","block");

        //Clear previous content information from previos clip
        $('#playerinfocontent').find('p').remove();
        $('#playerinfocontent').find('h2').remove();

        $('#player').hide();
        $('#noplayer').hide();
        $('#changePlayer').show();
        $('#changePlayerIcon').hide();
        $('#missingcontent').hide();
        $('#ipodIcon').hide();

    });

    $('#useReal').click(function(e){
      SetPreferedPlayer("real");
      loadRssList(defaultXMLPath);
    });

     $('#useWmp').click(function(e){
      SetPreferedPlayer("wmp");
      loadRssList(defaultXMLPath);
    });

    //Load Default
     loadRssList(defaultXMLPath);

     //Check if we should play anything from the default list
     var playUrl = $(document).getUrlParam("play"); ;
     if(playUrl!=null)
        {
        if(playUrl.length>0)
            {
              if(loadSingle(playUrl)!=true) {
                ShowMissingFileInfo();
              }
          };
        }

     //http://localhost:4013/index.html?play=eusjamstalldhetssatsningar.5.6182267011e2570ef768000646.html?play=sss
});
