/**
 * JavaScript Tools for Unost FM
 */

var wmp, sUrl;
var jsReady = false;
var sPlay = false;
var sVolume = 48;
var url = 'mms://live.rfn.ru/unost/stream.asf';
var elmPlayer = 'ufmPlayer';

function isReady(){
	return jsReady;
}

function setVolume(vol){
	sVolume = vol;
	$( "#vol_slider" ).slider( "option", "value", vol);
}

function initStreamPlayer(){
	$("#vol_slider").slider();
	$("#vol_slider").slider("option", {
		value:sVolume,
		max:100,
		animate:true,
		slide: function (event, ui){
			var vol = $( "#vol_slider" ).slider( "option", "value" );
			wmpSetVolume(vol);
		},
		stop: function (event, ui){
			var vol = $( "#vol_slider" ).slider( "option", "value" );
			wmpSetVolume(vol);
			// Volume for flash player
			if ($('#ufmPlayer').length>0)
				volume(sVolume);
		}
	});
	
	$("#qualityBlock").slider();
	$("#qualityBlock").slider("option", {value:50, 
		stop: function(event, ui){
			var pos = $("#qualityBlock").slider("option", "value");
			
			if (pos >= 66){
				pos = 90;
			} else if (pos >=34 && pos <=65){
				pos = 50;
			} else if (pos <=33){
				pos = 6;
			}
			
			$("#qualityBlock").slider( "option", "value", pos);
		}
	});
	
	$('#ccontrol').click(function(){
		if ($('#ccontrol').attr('class')=='p_play')
		{
			wmpStart();
			$('#ccontrol').attr('class','p_pause');
			
			// Сброс плеера.
			jsReady = false;
			$('#ufmPlayer').remove();
			$('.active').removeClass('active').find('.num').unwrap('.active_wrapper');
			$('.column li a').removeClass('pause').addClass('play');
			$('.mp3').click(function(event){
				event.stopPropagation();
			});
		} else {
			wmpFinish();
			$('#ccontrol').attr('class','p_play');
		}
	});
	
	//setInterval(getStreamInfo, 10000); // запрос информации о треке - каждые 10 секунд.
}

function getStreamInfo(){
	$.post('/stream/info', {
		ajax: true
	}, function(data){
		$('.ptitle').text(data.text);
	}, 'json');
}

function attachPlayer(){
	$('.column li').click(function(){
		// Link to track.
		sUrl = $(this).find('a').attr('rel');
		// Else track started.
		if($(this).attr('class')=='active'){
			if ($(this).find('a').attr('class')=='pp play'){
				$(this).find('a').removeClass('play').addClass('pause');
				play();
			} else {
				$(this).find('a').removeClass('pause').addClass('play');
				pause();
			}
		// Start track
		} else {
			jsReady = false;
			$('#ufmPlayer').remove();
			$(this).find('.item_info').append(getObjectPlayer());
			$('.active').removeClass('active').find('.num').unwrap('.active_wrapper');
			$(this).addClass('active').wrapInner('<div class="active_wrapper" />');
			$('.column li a').removeClass('pause').addClass('play');
			$(this).find('a').removeClass('play').addClass('pause');
			
			wmpFinish();
			$('#ccontrol').attr('class','p_play');
			
			$('.mp3').click(function(event){
				event.stopPropagation();
			});
		}
	});
}

function getPlayer(){
    return (navigator.appName.indexOf("Microsoft") != -1) ? window[elmPlayer] : document[elmPlayer];
}

function init(){
	getPlayer().init(sUrl,sVolume);
}

function reset(value){
	getPlayer().reset();
}

function pause(){
	getPlayer().pause();
}

function volume(){
	getPlayer().setVolume(sVolume);
}

function play(){
	getPlayer().play2();
}

function flashEvents(event){
	if (event=='sound_complete'){
		$('.column li a').removeClass('pause').addClass('play');		
	}
}

function pageInit(){
	jsReady = true;
	setTimeout('init()', 1);
}

function getObjectPlayer(){
	return '<p class="mp3"><object class="mp3Player2" data="mp3Player.swf" id="ufmPlayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="174" height="9">'
		+'<param name="allowScriptAccess" value="sameDomain" />'
		+'<param name="movie" value="/swf/mp3Player.swf?prefix=/audio/" />'
		+'<param name="quality" value="high" />'
		+'<param name="wmode" value="transparent" />'
		+'<embed src="/swf/mp3Player.swf?prefix=/audio/" quality="high" width="164" height="9" swLiveConnect=true id="ufmPlayer" name="ufmPlayer" align="middle" wmode="transparent" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />'
		+'</object></p>';
}

/**
 * Инициализация Windows Media Player
 */
function wmpInit()
{
	try {
		!!wmp && wmp.stop();
		wmp = new MediaPlayer(url);
	} catch (e) {
		//alert(1+e);
	}
	
	try {
		if (window.attachEvent) {
			window.attachEvent('onunload', wmpFinish);
		} else {
			document.body.onunload = wmpFinish;
		}
	} catch (e){
		//alert(2+e);
	}
}

function wmpFinish()
{
	try {
		wmp.stop();
	} catch (e) {
		//alert(3+e);
	}
}

function wmpStart()
{
	try {
		wmp.play();
	} catch (e) {
		//alert(4+e);
	}
}

function wmpSetVolume(vol)
{
	sVolume = vol;
	try{
		wmp.setVolume(vol);
	} catch (e) {
		//alert(5+e);
	}
}

