// written by Vitez for LiveSets 201103193
var radio = {
    currentTrack: '',
    listeners: '',
    step: 0,
    defaultTitle1: 'To tune in to LiveSets Radio click on a player icon.',
    defaultTitle2: 'Currently playing :: ',
//    radioURL: ipb.vars['board_url'].replace('/forum', '/radio/'),
    radioURL: '/radio/',
    active: false,

    init : function() {
        $('radio_playing').innerHTML = radio.defaultTitle1;
    },

    updateData : function() {
        try {
            // $('ajax_loading').setStyle('visibility: hidden');
        } catch(e){}
        new Ajax.Request(radio.radioURL+'radio.json',
        {
            method: 'get',
            evalJSON: 'force',
            parameters: {
                chk: (new Date()).getTime()
            },
            onSuccess: function(t) {
                try {
                    if( Object.isUndefined( t.responseJSON ) || t.responseJSON['success'] == 'false' ) {
                        radio.active = false;
                        $('radio_playing').innerHTML = 'error occured while initializing radio bar';
                    }
                    else {
                        radio.currentTrack = t.responseJSON['title'].replace(/\[w+\]/g, '');
                        radio.listeners = t.responseJSON['listeners']['current'];
                        if (radio.active) {
							(function() {radio.updateData()}).delay(30);
                            // setTimeout('radio.updateData()', 30000);
                        }
                    }
                } catch(e) {
                    radio.active = false;
                    // alert(e);
                }
            },

            onComplete: function(t) {
            // $('ajax_loading').setStyle('visibility: visible').delay(2);
            }
        }
        );

    },

    showPlaying: function() {

    },

    hidePlaying: function() {
        $('radio_playing').fade({
            duration: 1.0,
            from: 1,
            to: 0
        });
    },

    refresh : function() {
        try {
            var delay = 6.0;
            $('radio_listeners').innerHTML = radio.listeners;
            if (radio.step > 0 && radio.listeners != '') {
                radio.hidePlaying();
                if (radio.step == 1) {
                    (function(){
                        $('radio_playing').innerHTML = radio.defaultTitle2.concat(radio.currentTrack);
                        $('radio_playing').appear({
                            speed:0.05
                        });
                    }).delay(1.0);
                    delay = 10.0;
                    radio.step = 2;
                } else {
                    (function(){
                        $('radio_playing').innerHTML = radio.defaultTitle1;
                        $('radio_playing').appear({
                            speed:0.05
                        });
                    }).delay(1.0);
                    radio.step = 1;
                }
            } else {
                radio.step = 1;
                delay = 2.0;
            }
            if (radio.active) {
                (function(){radio.refresh()}).delay(delay);
            }
        } catch(e) {
            // alert(e);
        }
    },

    stop : function() {
        radio.active = false;
    },

    openFlash : function()
    {
        var width  = 220;
        var height = 85;
        var left   = (screen.width  - width)/2;
        var top    = (screen.height - height)/2;
        var params = 'width='+width+', height='+height;
        params += ', top='+top+', left='+left;
        params += ', directories=no';
        params += ', location=no';
        params += ', menubar=no';
        params += ', resizable=no';
        params += ', scrollbars=no';
        params += ', status=no';
        params += ', toolbar=no';
        newwin=window.open(radio.radioURL,'flashradio', params);
        if (window.focus) {
            newwin.focus()
        }
        return false;
    }


};

document.observe("dom:loaded", function() {
    Effect.tagifyText('radio_playing');
    radio.init();
    radio.active = true;
    radio.updateData();
    radio.refresh();
});
