var cplaylist;
var iterator = 0;
var SM2ready = false;
var timer = null;
var neon = null;
var delay = 8000;
var enable_video;

$(document).ready(function() {
    if ($.Storage.get('xaver-play') != null) {
        ($.Storage.get('xaver-play') == '1') ? enable_video = true : enable_video = false;
    } else {
        //alert($.browser.name);
        if (($.browser.name == 'msie') && ($.browser.version < 9)) {
            $.Storage.set('xaver-play', '0');
            enable_video = false;
        } else {
            $.Storage.set('xaver-play', '1');
            enable_video = true;
        }
    }

    if (enable_video) naVypnuti(); else naZapnuti();

    $('#vypnout-xavera').click(function(e) {
        e.preventDefault();
        switch (enable_video) {
            case true: vypnoutVideo(); break;
            case false: zapnoutVideo(); break;
        }
    });

    $('a.targetblank').live('click', function() {
        window.open(this.href); // pop a new window
        return false; // return false to keep the actual link click from actuating
    });
    soundManager.url = '/js/swf/';
    soundManager.wmode = 'transparent';
    soundManager.debugMode = false;
    soundManager.debugFlash = false;
    soundManager.consoleOnly = true;
    soundManager.useConsole = false;
    soundManager.flashVersion = 9; // optional: shiny features (default = 8)
    soundManager.useFlashBlock = false; // optionally, enable when you're ready to dive in
    soundManager.useMovieStar = true;
    soundManager.allowFullScreen = false;
    //soundManager.useHTML5Audio = false;
    soundManager.onload = function() {
        SM2ready = true;
        if (enable_video) playNext();
        neon = soundManager.createSound({
            id: 'neon',
            url: '/videos/neon_short.mp3'
        });
        soundManager.setVolume('neon',20);
        setTimeout('neon_problem()', 15000);
    }

    $('#ltr-x').click(function() {
        neon_problem();
    });
});

function createVideo(id, filename) {
    soundManager.destroySound(id);
    if (filename.indexOf('mp3') != -1) {
        soundManager.createSound({
            id: id,
            url: filename,
            onfinish: function() {
                soundManager.destroySound(id);
                timer = setTimeout('playNext()', delay);
            }
        });
    } else
    soundManager.createVideo({
        id: id,
        url: filename,
        onfinish: function() {
            soundManager.destroySound(id);
            timer = setTimeout('playNext()', delay);
        }
    });
}

function playNext() {
    if ((typeof(cplaylist) == 'undefined') || (iterator == (cplaylist.length))) return;

    createVideo('v'+iterator, '/videos/'+cplaylist[iterator]);
    soundManager.play('v'+iterator);
    iterator++;
}

function generate(lst) {
    var output = new Array();
    for (var i = 0; i < lst.length; i++) {
        output[i] = lst[i][getRandomInt(0, lst[i].length-1)];
    }
    //console.log(output);
    return output;
}

function getRandomInt (min, max) {
    var output = Math.floor(Math.random() * (max - min + 1)) + min;
    return output;
}

function setPlaylist(playlist) {
    //console.log(playlist);
    cplaylist = null;
    cplaylist = playlist;
}

function reset() {
    //soundManager.reboot();
    soundManager.stopAll();
    clearTimeout(timer);
    iterator = 0;
}

function neon_problem() {
    if (!enable_video) return;
    neon_hide();
    soundManager.play('neon');
    setTimeout('neon_problem()', getRandomInt(30, 70)*1000);
    setTimeout('neon_show()', 400);
    setTimeout('neon_hide()', 500);
    setTimeout('neon_show()', 1000);
}

function neon_hide() {
    $('#ltr-x').hide();
}

function neon_show() {
    $('#ltr-x').show();
}

function naZapnuti() {
    $('#vypnout-xavera').html('zapnout Xavera');
}

function naVypnuti() {
    $('#vypnout-xavera').html('vypnout Xavera');
}

function vypnoutVideo() {
    enable_video = false;
    $.Storage.set('xaver-play', '0');
    naZapnuti();
    soundManager.stopAll();
    clearTimeout(timer);
}

function zapnoutVideo() {
    enable_video = true;
    neon_problem();
    $.Storage.set('xaver-play', '1');
    naVypnuti();
    playNext();
}

function play(items) {
    reset();
    var new_playlist = generate(items);
    setPlaylist(new_playlist);
    if (enable_video) playNext();
}
