var FlashRadio;
var radioUpdateTimer;
var firstPlay = true;
var firstStart = true;

if($.cookie('radioVolume')==null)
{
    $.cookie('radioVolume', 25, cookie_global);
}

if($.cookie('firstPlay')==null)
{
	$.cookie('firstPlay', false, cookie_global);
    $.cookie('radioAutoStart', true, cookie_global);
}

var winLoc = window.location.toString();
if (winLoc.match(/flash9/i)) {
  soundManager.flashVersion = 9;
  if (winLoc.match(/highperformance/i)) {
	soundManager.useHighPerformance = true;
	soundManager.useFastPolling = true;
  }
} else if (winLoc.match(/flash8/i)) {
  soundManager.flashVersion = 8;
}

soundManager.url = '/js/';

soundManager.onready(function(oStatus) {
  if (!oStatus.success) {
    return false;	
  }
});

soundManager.useHTML5Audio = true;

soundManager.debugMode = false;

soundManager.onload = function()
{
	//soundManager.play('mySound0','http://176.65.163.50:8100/msk.mp3');

    FlashRadio = soundManager.createSound({
        id           : 'radio',
        url          : 'http://176.65.163.50:8100/'+city+'.mp3',
        //url			: 'http://79.174.54.194:8000/listen',
        volume       : $.cookie('radioVolume'),
        whileplaying : function()
        {
            if(firstPlay)
            {
            	radioPing();
                $('#radioPlayStop').removeClass('load').addClass('stop');
                radioUpdate(true);
                if(firstStart){
                    radioVolumeUdate(0);
                    firstStart = false;
                }
                firstPlay = false;
            }

			// Время
            var position = this.position;      
            var positionHours = Math.floor( position / (1000*60*60) );
            var positionMinutes = Math.floor( (position % (1000*60*60)) / (1000*60) );
            var positionSeconds = Math.floor( ((position % (1000*60*60)) % (1000*60)) / 1000 );	
			radioTimeUpdate(positionHours,positionMinutes,positionSeconds);
        }
    });
    if($.cookie('radioAutoStart'))
    {
        $('#radioPlayStop').click();
    }
}
soundManager.onerror = function()
{
    soundManager.flashLoadTimeout = 0; // When restarting, wait indefinitely for flash
    soundManager.onerror = {}; // Prevent an infinite loop, in case it's not flashblock
    soundManager.reboot(); // and, go!    
    $('#radio').html('<h4>Ошибка инициализации плеера.</h4><p>Возможно у Вас не установлен Flash проигрыватель.</p> <p>Вы можете загрузить и установить его по ссылке <a target="_blank" href="http://get.adobe.com/flashplayer/">http://get.adobe.com/flashplayer/</a>.</p>');
}

jQuery(function(){

    // Автозапуск
    if($.cookie('radioAutoStart')!=null)
    {
        $.cookie('radioAutoStart', true, cookie_global);
        $('#radioAutoStart').attr("checked", "checked");
    }else{
        $('#radioAutoStart').attr("checked", "");
    }

    // PLAY / STOP
    $('#radioPlayStop').toggle(function() {
    	FlashRadio.play();
        $('#radioPlayStop').addClass('load');
        if(firstStart)
        {
            soundManager.getSoundById('radio').setVolume(0);
        }
        $('#radioName2').html('Подключение...');
        return false;
    },function() {
    	FlashRadio.unload();
    	radioTimeUpdate('reset');
        firstPlay = true;
        $(this).removeClass('stop');
        clearTimeout(radioUpdateTimer);
        clearTimeout(radioPingTimer);      
        return false;
    });

    // VOLUME 
    $("#radioSetVolume").slider({
    						range   : "min",
                            value   : $.cookie('radioVolume'),
                            min     : 0,
                            max     : 100,
                            step    : 1,
                            animate : true,
                            slide   : function(event, ui) {
                                soundManager.getSoundById('radio').setVolume(ui.value);
                                $.cookie('radioVolume', ui.value, cookie_global);
                            }
                        });

    // Включение и выключение громкости
    $('#volumeDown').click(function(){
        soundManager.getSoundById('radio').setVolume(0);
        $("#radioSetVolume").slider('value', 0);
        $.cookie('radioVolume', 0, cookie_global);
        return false;
    });
    $('#volumeUp').click(function(){
        soundManager.getSoundById('radio').setVolume(100);
        $("#radioSetVolume").slider('value', 100);
        $.cookie('radioVolume', 100, cookie_global);
        return false;
    });

    // Автостарт
    $('#radioAutoStart').click(function(){
        if($(this).attr('checked')){
            $.cookie('radioAutoStart', true, cookie_global);
            //soundManager.getSoundById('radio').play();
        }else{
            $.cookie('radioAutoStart', null, cookie_global);
        }
    });
    
    // Смена города
    /*
    $("#radioCity option[value='"+city+"']").attr('selected', 'selected');
    $('#radioCity').change(function () {
    	$.cookie('radioCity', $(this).val(), cookie_global);
    	window.location='http://'+$(this).val()+'.flashlife.ru/radio?frame';
    });
    */


    // Настройки
    $('#radioSettingsBut').click(function(){
        //$('#radioSettings').slideDown();
        $('#radio').addClass('settings');
        return false;
    });
    $('#radioSettingsClose').click(function(){
        //$('#radioSettings').slideUp();
        $('#radio').removeClass('settings');
        return false;
    });


	
    if(!$.cookie('radioAutoStart'))
    {
        radioUpdate(false);
    }
	


});

function radioUpdate(loop)
{
    $.getJSON('/ajax/radio/info', function(data) {  
			$('#radioName').html(data.name);
			$('#radioName2').html(data.name2);

                        if(typeof YaShareInstance!='undefined')
                        {
                            YaShareInstance.updateShareLink(
                                window.location.href,
                                'Я слушаю '+data.name+' в эфире @Flash_Radio #'+city+' #nowplaying'
                            );

                        }


			if($('#radioCover').attr('src')!=data.image){
				$('#radioCover').fadeOut(1000, function() {
                                        $(this).attr('src', data.image)
                                               .fadeIn(1000);
                                 });
			}

			if(loop)
			{
			    radioUpdateTimer = setTimeout('radioUpdate(true)', 10000);
			}	
   });        
}

var radioPingTimer;
function radioPing()
{
	//$('#debug').html( soundManager.getSoundById('radio').readyState );

	if(soundManager.getSoundById('radio').readyState == 2 || soundManager.getSoundById('radio').readyState == 3)
	{
		firstPlay = true;
		clearTimeout(radioUpdateTimer);;
		$('#radioName2').html('Переподключение...');
		soundManager.getSoundById('radio').unload();
		soundManager.getSoundById('radio').play();
	}
	
	radioPingTimer = setTimeout('radioPing()', 2000);
}

function radioTimeUpdate(h,m,s)
{
	if(h=='reset')
	{
		var spans = '<span></span><span class="seporator"></span><span></span><span></span>';
	}
	else
	{
		// Часы
		var hSpan = '';
		var i = 0;
		while(n = h.toFixed().substr(i,1))
		{
		   hSpan += '<span class="n'+n+'"></span>';
		   i += 1;
		}
		// Минуты
		var mSpan = '';
		var i = 0;
		while(n = m.toFixed().substr(i,1))
		{
		   mSpan += '<span class="n'+n+'"></span>';
		   i += 1;
		}
		// Секунды
		var sSpan = '';
		var i = 0;
		while(n = s.toFixed().substr(i,1))
		{
		   sSpan += '<span class="n'+n+'"></span>';
		   i += 1;
		}
		if(s<=9){
			sSpan = '<span class="n0"></span>'+sSpan;
		}
		
		if(h!=0){
			if(m<=9){
				mSpan = '<span class="n0"></span>'+mSpan;
			}
			var spans = hSpan+'<span class="seporator"></span>'+mSpan+'<span class="seporator"></span>'+sSpan;
		}else{
			var spans = mSpan+'<span class="seporator"></span>'+sSpan;
		}	
	}
	
	$('#radioTime').html(spans);
}

function radioVolumeUdate(i)
{
    if( i <= $.cookie('radioVolume') )
    {
        soundManager.getSoundById('radio').setVolume(i);
        $("#radioSetVolume").slider('value', i);
        setTimeout('radioVolumeUdate('+(i+1)+')', 50);
    }
}
