﻿function showSearchResults() {
    if (document.getElementById('boxsearch')) {
        document.getElementById('boxsearch').className = "videoboxborder shown";
    }
}

var position = 1;
var r;

function rotate(i, run) {
    if (run) {
        var itemid = "rotateitem" + i;
        var right = document.getElementById('rotate');
        var items = right.getElementsByTagName('li');
        for (var k = 0; k < 5; k++) {
            if (items[k] == document.getElementById(itemid)) {
                items[k].className = "assetitemrotateactive";
                var links = items[k].getElementsByTagName('a');
                document.getElementById('rotateimage').src = items[k].title;  // På grænsen af høkerkode...                
                document.getElementById('rotateoverlay').href = links[0].href;
                setElementContent('rotateheadline', links[0].title);
            } else {
                items[k].className = "assetitemrotate";
            }
        }
        
        position = (i == 5 ? 1 : i + 1);
        r = setTimeout("rotate(" + position + ", true)", 7000);
    } else {
        clearTimeout(r);
    }
}

function fold(box) {
    var boxid = box.getAttribute('id').split("_")[0]; // box_1_arrow ==>     
    for (var i = 0; i < window.boxes.length; i++) {
        if (boxes[i] == boxid) {
            if (document.getElementById(boxes[i]).className.indexOf("shown") > -1) {
                document.getElementById(boxes[i]).className = "videoboxborder boxgradient hidden";
            } else if (document.getElementById(boxes[i]).className.indexOf("hidden") > -1) {
                document.getElementById(boxes[i]).className = "videoboxborder boxgradient shown";
            }
        } else {
            document.getElementById(boxes[i]).className = "videoboxborder boxgradient hidden";
        }
    }
}

function showHide(show, hide, link) {

    for (j = 0; j < show.length; j++) {
        document.getElementById(show[j]).style.display = "block";
    }

    for (i = 0; i < hide.length; i++) {
        document.getElementById(hide[i]).style.display = "none";
    }

    if (document.getElementById('videobar')) {

        var videobar = document.getElementById('videobar');
        var links = videobar.getElementsByTagName('a');

        for (var i = 0; i < links.length; i++) {
            if (links[i].getAttribute('id') == link) {
                document.getElementById(link).className = "selected";
            } else {
                links[i].className = "notselected";
            }
        }
    }
}

function showEmbedCode(content) {
    if (document.getElementById('embedbox') && document.getElementById('embedbar') && document.getElementById('videobar')) {
        document.getElementById('embedbox').value = content.replace(/&amp;/g, "&"); // Fordi MVC encoder strengen!

        document.getElementById('embedbar').className = "bar shown";
        document.getElementById('videobar').className = "bar hidden";

        return false;
    }
}

/* UTILITY */

function setElementContent(id, input) {
    if (document.getElementById(id)) {
        document.getElementById(id).innerHTML = input;
        return true;
    }
    return false;
}

function getId(id) {
    return id.split("_")[1];
}

/* PLAYER */

var playing = false;

function playerReady(thePlayer) {
    player = document.getElementById(thePlayer.id);
    player.addModelListener("STATE", "stateTracker");    
}

function stateTracker(obj) {
    if (obj.newstate == "PAUSED" || obj.newstate == "IDLE" || obj.newstate == "COMPLETED") {
        fadeEmbedbarIn();
    }

    if (obj.newstate == "PLAYING") {
        if (!playing) {
            updateViewCount(window.id);
            playing = true;
        }

        fadeEmbedbarOut();
    }

    if (obj.newstate == "COMPLETED" && window.playlistmode) {
        playNext();
    }
}

function updateViewCount(id) {

    if (id > 0) {
        $.post("/cast/viewcount", { mediumId: id });
    }
}

function createPlayer() {
    if (window.videocontainer && window.id) {

        jwplayer(videocontainer).setup({
            'width': videowidth,
            'height': videoheight,            
            'image': videoposterframe,
            'autostart': autostart,
            'plugins': 'gapro-1,inplay',
            'gapro.accountid': 'UA-7337185-1',
            'gapro.trackstarts': 'true',
            'gapro.trackpercentage': 'true',
            'gapro.tracktime': 'true',
            'gapro.trackcompletes': 'true',
            'gapro.trackdetails': 'true',
            'inplay.playerID': 'P-A3Y-KAA',
            'inplay.trackerIDs': 'TD-0Y6-W6D',
            'inplay.publisherID': 'ASBCAST',
            'inplay.videoID': id,
            'modes': [
                {
                    type: 'flash',
                    src: '/Content/player/player.swf',
                    config: {
                        'provider': 'rtmp',
                        'streamer': 'rtmp://130.225.231.86/edumedia/',
                        'file': videopath
                    }
                },
                {
                    type: 'html5',
                    config: {
                        'file': videopathi,
                        'provider': 'video'
                    } 
                }
            ]
        });    
    }
}

function fadeEmbedbarIn() {
    if ($('div#embedheadline')) {
        $('div#embedheadline').fadeIn(2000, function () {
            // Animation complete
        });
    }
}

function fadeEmbedbarOut() {
    if ($('div#embedheadline')) {
        $('div#embedheadline').fadeOut(2000, function () {
            // Animation complete
        });
    }
}

/* ONLOAD */

window.onload = function () {

    if (typeof (pageTracker) != "undefined") {
        var addthis_config = {
            data_ga_tracker: pageTracker,
            data_use_flash: false
        };
    }

    createPlayer();

    if (document.getElementById('linkdescription')) {
        document.getElementById('linkdescription').onclick = function () {
            showHide(Array('description'), Array('comments', 'files'), 'linkdescription');
            return false;
        }
    }

    if (document.getElementById('linkcomments')) {
        document.getElementById('linkcomments').onclick = function () {
            showHide(Array('comments'), Array('description', 'files'), 'linkcomments');
            return false;
        }
    }

    if (document.getElementById('linkfiles')) {
        document.getElementById('linkfiles').onclick = function () {
            showHide(Array('files'), Array('description', 'comments'), 'linkfiles');
            return false;
        }
    }

    /*
    if (document.getElementById('linklatestcategories')) {
        document.getElementById('linklatestcategories').onclick = function () {
            showHide(Array('latestcategories'), Array('latesttheme'), 'linklatestcategories');
            return false;
        }
    }

    if (document.getElementById('linklatesttheme')) {
        document.getElementById('linklatesttheme').onclick = function () {
            showHide(Array('latesttheme'), Array('latestcategories'), 'linklatesttheme');
            return false;
        }
    }*/

    if (document.getElementById('btnaddthislink') && document.getElementById('embedtext')) {
        document.getElementById('btnaddthislink').onclick = function () {
            return addthis_sendto();
        }
        document.getElementById('btnaddthislink').onmouseover = function () {
            setElementContent('embedtext', 'Add this');
        }
        document.getElementById('btnaddthislink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('btnembedlink') && document.getElementById('embedtext')) {

        document.getElementById('btnembedlink').onmouseover = function () {
            setElementContent('embedtext', 'Embed video');
        }
        document.getElementById('btnembedlink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('btndownloadlink') && document.getElementById('embedtext')) {
        document.getElementById('btndownloadlink').onclick = function () {
        }
        document.getElementById('btndownloadlink').onmouseover = function () {
            setElementContent('embedtext', 'Download video');
        }
        document.getElementById('btndownloadlink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('btnfacebooklink') && document.getElementById('embedtext')) {
        document.getElementById('btnfacebooklink').onclick = function () {
            return addthis_sendto('facebook');
        }
        document.getElementById('btnfacebooklink').onmouseover = function () {
            setElementContent('embedtext', 'Facebook');
        }
        document.getElementById('btnfacebooklink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('btntwitterlink') && document.getElementById('embedtext')) {
        document.getElementById('btntwitterlink').onclick = function () {
            return addthis_sendto('twitter');
        }
        document.getElementById('btntwitterlink').onmouseover = function () {
            setElementContent('embedtext', 'Twitter');
        }
        document.getElementById('btntwitterlink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('btnlinkedinlink') && document.getElementById('embedtext')) {
        document.getElementById('btnlinkedinlink').onclick = function () {
            return addthis_sendto('linkedin');
        }
        document.getElementById('btnlinkedinlink').onmouseover = function () {
            setElementContent('embedtext', 'LinkedIn');
        }
        document.getElementById('btnlinkedinlink').onmouseout = function () {
            setElementContent('embedtext', 'Embed video');
        }
    }

    if (document.getElementById('embedbox')) {
        document.getElementById('embedbox').onclick = function () {
            document.getElementById('embedbox').select();
        }
    }

    if (document.getElementById('embedclose')) {
        document.getElementById('embedclose').onclick = function () {
            document.getElementById('embedbar').className = "bar hidden";
            document.getElementById('videobar').className = "bar shown";
        }
    }

    if (document.getElementById('accreditation')) {
        var acc = document.getElementById('accreditation');
        var imgs = acc.getElementsByTagName('img');

        for (var i = 0; i < imgs.length; i++) {
            imgs[i].onmouseover = function () {
                this.src = this.src.replace("_out", "_over");
            }
            imgs[i].onmouseout = function () {
                this.src = this.src.replace("_over", "_out");
            }
        }
    }

    if (document.getElementById('rotate') && document.getElementById('rotateimage')) {
        rotate(position, true);
    }

    if (document.getElementById('videolist')) {

        var videolist = document.getElementById('videolist');
        var boxes = videolist.getElementsByTagName('div');

        for (var i = 0; i < boxes.length; i++) {
            if ((boxes[i].className.indexOf("boxarrowup") > -1 || boxes[i].className.indexOf("boxarrowdown") > -1) && boxes[i].className.indexOf("local") == -1) {
                boxes[i].onclick = function () {
                    fold(this);
                    this.className = (this.className == "boxarrowdown" ? "boxarrowup" : "boxarrowdown");

                    var videolist_onclick = document.getElementById('videolist');
                    var boxes_onclick = videolist_onclick.getElementsByTagName('div');

                    for (var j = 0; j < boxes_onclick.length; j++) {
                        if (boxes_onclick[j] != this && boxes_onclick[j].className == "boxarrowup") {
                            boxes_onclick[j].className = "boxarrowdown";
                        }
                    }
                }
            } else if (boxes[i].className.indexOf("local") > -1) {
                boxes[i].onclick = function () {
                    var parent = document.getElementById(this.getAttribute('id').split("_")[0]);
                    if (parent.getAttribute('id') == "boxplaylist") {
                        parent.className = (parent.className.indexOf("shown") > -1 ? "videoboxborder hidden" : "videoboxborder shown");
                    } else {
                        parent.className = (parent.className.indexOf("shown") > -1 ? "videoboxborder boxgradient hidden" : "videoboxborder boxgradient shown");
                    }
                    this.className = (this.className.indexOf("boxarrowdown") > -1 ? "boxarrowup local" : "boxarrowdown local");
                }
            }
        }
    }

    $(function () {
        $("div.scrollable").scrollable({
            vertical: true,
            size: 6,
            easing: "swing",
            speed: 1000
        }).mousewheel();
    });

    $('a.deleteconfirm').click(function () {
        return confirm("Are you sure you want to delete the selected item?");
    });
}
