var currentPosition = 0; 
var currentVolume = 80; 
var currentItem = -1; 
var previousItem = -1;

if( ! $.cookie( 'playerVol')){
 currentVolume = $.cookie( 'playerVol');
}
 

var player = null;
function playerReady(thePlayer) {
    player = window.document[thePlayer.id];
    addListeners();
}
function secs2hms(secs) {
    var iHours = Math.floor(secs/3600);
    var iMinutes = Math.floor((secs/60) - (iHours*60));
    var iSeconds = Math.floor(secs % 60);
	
    if (iSeconds == 60) {
        iMinutes++;
        iSeconds = 0;
    }
    if (iMinutes == 60) {
        iHours++;
        iMinutes = 0;
    }
	
    return( iMinutes+':'+iSeconds);
}
function getCurrentTime(){
    return secs2hms(currentPosition);
}
function getDuration(duration){
    return duration;
}

function addListeners() {
    if (player) {
        player.addModelListener("TIME", "positionListener");
        player.addModelListener("TIME", "timeMonitor");
        player.addModelListener("TIME", "progressMonitor");
        player.addControllerListener("ITEM", "itemListener");
        player.addControllerListener("VOLUME", "volumeListener");
        player.addModelListener("LOADED", "loadedListener");
        player.addModelListener("TIME", "loadedListener");
        player.addModelListener("STATE", "stateListener");
	
    } else {
        setTimeout("addListeners()",100);
    }
}

function getLength() { 
    currentLength = player.getPlaylist().length;
    return(currentLength);
}

function loadFile(theFile) { 
    //currentItem = -1;
    //previousItem = -1;
    player.sendEvent('LOAD', theFile);
}

function addItem(obj,idx) {
    //thisMovie("playerID").addItem(obj,idx);
    player.addItem(obj,idx);
}

function removeItem(idx) {
    //thisMovie("playerID").removeItem(idx);
    player.removeItem(idx);
}




function volumeListener(obj) { 
    currentVolume = obj.percentage;
	
	
/* var tmp = document.getElementById("vol-display");
	if (tmp) { tmp.innerHTML = currentVolume; }	
	$("#vol-display").fadeIn();
	setTimeout(function () {$("#vol-display").fadeOut() }, 1500); */
	
}



function itemListener(obj) {	
    if (obj.index != currentItem) {
        previousItem = currentItem;
        currentItem = obj.index;

    /*var tmp = document.getElementById("itm");
		if (tmp) { 
			tmp.innerHTML = "current item: " + currentItem +
				"<br>previous item: " + previousItem;
		}	*/	
    }
    getPlaylistData(currentItem);
}


function getPlaylistData(theIndex) {
    var plst = null;
    plst = player.getPlaylist();
    
    if (plst) {			
        $('.track_item').removeClass('item_playing');
        tmp = '#item_'+theIndex;
        $(tmp).addClass('item_playing');	
        trackdesc	= plst[theIndex].description.split("|");
        tracktitle 	= plst[theIndex].title;
        trackview	= LANG_VIEWS+': '+trackdesc[1];
        trackid = trackdesc[8];
        trackartist	= plst[theIndex].author;
        trackartistid =trackdesc[4];
        trackartisturl   = trackdesc[6];
        trackalbumid     = trackdesc[3];
        trackalbumtitle  = trackdesc[0];

        trackimage	= '<a href="'+SITE_URL+'/music/album/'+trackalbumid+'" title="'+trackalbumtitle+'" target="_blank"><img src="'+plst[theIndex].image+'" alt="'+tracktitle+'" onerror="javascript:this.src=\''+NO_IMAGE+'\' "/></a>';
        tracklink 	= '<a href="'+plst[theIndex].link+'" title="'+tracktitle+'" />'+tracktitle+'</a>';
        trackartistlink = '<a href="'+trackartisturl+'">'+trackartist+'</a>';
        
        trackalbum 	= '<a href="'+SITE_URL+'/music/album/'+trackalbumid+'">'+trackalbumtitle+'</a>';
        trackgenreid = trackdesc[5];
        $.post(SITE_URL+"/ajax/update_song_played",{
            sid:trackid
        },function(){});
        //document.title = trackartist+' - '+tracktitle;
        var tmp1 = document.getElementById('quickplayer-tracktitle');
        var tmp2 = document.getElementById('quickplayer-trackartist');
        var tmp3 = document.getElementById('quickplayer-trackalbum');
        var tmp4 = document.getElementById('quickplayer-trackimage');
        var tmp5 = document.getElementById('quickplayer-trackview');
        var tmp6 = document.getElementById('quickplayer-tracklink');
        //var tmp7 = document.getElementById('sd-genre');
        var tmp8 = document.getElementById('sd_artist');
        var tmp9 = document.getElementById('sd_album');
        var tmp10 = document.getElementById('sd_view');
        var tmp11 = document.getElementById('brc-tracklink');
        var tmp12 = document.getElementById('quickplayer-favtrack');
        var tmp13 = document.getElementById('quickplayer-twitter');
        var tmp14 = document.getElementById('quickplayer-denytrack');
        var tmp15 = document.getElementById('quickplayer-playmode');
        var tmp16 = document.getElementById('sd_lyric');
        var tmp17 = document.getElementById('quickplayer-dltrack');
        var tmp18 = document.getElementById('quickplayer-lyric');
        var tmp19 = document.getElementById('quickplayer-playlist');
		var tmp20 = document.getElementById('quickplayer-fb');
		var tmp21 = document.getElementById('quickplayer-embed');
		
        if(tmp1){
            tmp1.innerHTML = tracktitle;
        }
        if(tmp2){
            tmp2.innerHTML = trackartist;
        }
        if(tmp3){
            tmp3.innerHTML = trackalbum;
        }
        if(tmp4){
            w = $('#quickplayer-container').width();
            if(w<350)
            {
                $('#quickplayer-trackimage').css('display','none');
                $('#quickplayer-container #controls').css('left','0');
                $('#quickplayer-progress').css('width','99%');
                //$('.quickplayer-inf').css('width','100%');
            }else{
                tmp4.innerHTML = trackimage;
            }
        }
        if(tmp5){
            tmp5.innerHTML = trackview;
        }
        if(tmp6){
            tmp6.innerHTML = tracklink;
        }
			
        if(tmp8){
            tmp8.innerHTML = trackartistlink;
        }
        if(tmp9){
            tmp9.innerHTML = trackalbum;
        }
        if(tmp10){
            tmp10.innerHTML = trackview;
        }
        if(tmp11){
            tmp11.innerHTML = tracklink;
        }
        if(tmp12){
            tmp12.innerHTML = '<a class="ss_sprite ss_heart" title="'+LANG_LOVE_TRACK+' " onclick="add_fav_track(\''+trackid+'\');" style="text-decoration:none;">'+LANG_LOVE_TRACK+'</a>';
        }
        if(tmp13){
            tmp13.innerHTML = '<a href="http://twitter.com/home/?status= #music #nowplaying '+tracktitle+' by '+trackartist+' '+plst[theIndex].link+' "  title="Tweet this!" target="_blank" class="ss_sprite ss_twitter">Tweet</a>';  
        }	
        if(tmp14){
            tmp14.innerHTML =  '<a title="'+LANG_BAD_TRACK+'" onclick="deny_track(\''+trackid+'\')" class="ss_sprite ss_delete">Dở quá</a>';
        }
        if(tmp15){
            switch(PLAYMODE){
                case 0:
                    tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode(\''+trackid+'\',1);" title="Chỉ nghe bài này" />';
                    break;
                case 1:
                    tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode(\''+trackid+'\',0);" checked title="Chỉ nghe bài này"/>';
                    break;
                case 2:
                    //tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode('+trackid+',2);" />';
                    break;
                case 3:
                    tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode(\''+trackid+'\',3);" title="Chỉ nghe bài này"/>';
                    break;
                case 4:
                    tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode(\''+trackid+'\',4);" title="Chỉ nghe bài này"/>';
                    break;
                default:
                    tmp15.innerHTML = '<input type="checkbox" id="play_mode" onclick="play_mode(\''+trackid+'\',1);" title="Chỉ nghe bài này"/>';
            }
        }
        if(tmp16){
            tmp16.innerHTML = '<a href="'+trackdesc[7]+'" title="Lyric" target="_blank">Lyric</a>';
        }
        if(tmp17){            
	   tmp17.innerHTML =  '<a title="'+LANG_DOWNLOAD_TRACK+'" onclick="download(\''+trackid+'\')" class="ss_sprite ss_download">Download</a>';
			
        }
        if(tmp18){
            tmp18.innerHTML = '<a href="'+trackdesc[7]+'" title="'+LANG_VIEW_LYRIC+'" class="ss_sprite ss_lyric" style="text-decoration:none;" target="_blank">Lyric</a>';
        }
        if(tmp19){
            tmp19.innerHTML = '<a title="Thêm vào playlist" class="ss_sprite ss_playlist" onclick="song_get_playlists(\''+trackid+'\');"  id="aql_\''+trackid+'\'">Add playlist</a>';
        }	
		if(tmp21){            
            tmp21.innerHTML = '<a class="ss_sprite ss_embed" href="javascript:;" onclick="get_embed_code(\'track\',\''+trackid+'\');" title="Embed Code">Mã nhúng</a>';
        }
        if(tmp20){
        	tmp20.innerHTML = '<iframe src="http://www.facebook.com/plugins/like.php?href='+plst[theIndex].link+'&amp;layout=button_count&amp;show_faces=false&amp;width=450&amp;action=like&amp;font&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:65px; height:21px;" allowTransparency="true"></iframe>'        	
        }
    }
}


function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
    currentState = obj.newstate;
    previousState = obj.oldstate;
	
    var tmp = document.getElementById("quickplayer-currentstate");
    if (tmp) {
        tmp.innerHTML =  currentState;
    }
	
    var tmp2 = document.getElementById("quickplayer-currentstate");
    if(currentState=='BUFFERING'||currentState=='PAUSED'){
        tmp.innerHTML = '<img src="'+LOADING_IMG+'" style="width:15px;height:15px;border:0;"/>';
    }
    if(currentState=='PLAYING'){
        tmp.innerHTML = '<img src="'+EQUA_IMG+'" style="width:15px;height:15px;border:0;"/>';
    }
	
/* 	if ((currentState == "COMPLETED")&&(previousState == "PLAYING")) {
		alert("Finish");
	} */
}


function play() {
    sendEvent('playitem',theItem);
}

function sendEvent(typ,prm) {    
    thisMovie("musicPlayerID").sendEvent(typ,prm);
}

function thisMovie(movieName) {
    if(navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}
function timeMonitor(obj)
{
    currentDuration = obj.duration;
    currentTime     = obj.position;
    var tmp	    = document.getElementById("totaltime");
    if (tmp) {
        tmp.innerHTML = secs2hms(currentDuration)
    }
    getDuration(currentDuration);
}

function positionListener(obj) { 
    currentPosition = obj.position;
    var tmp = document.getElementById("posit");
    tmp.innerHTML = getCurrentTime(currentPosition);
}

function progressMonitor(obj){
    curDuration = obj.duration;
    curTime     = obj.position;
    played_percent 	= (curTime/curDuration)*100;
    played_percent	= played_percent+'%';	
    $('.ui-slider-range').css('width',played_percent);
    $('.ui-slider-handle').css('left',played_percent).css('visibility','hidden');
}

function loadedListener(obj) { 
    /*currentLoaded = obj.loaded;
    currentRemain = obj.total - currentLoaded;	*/
    loaded_percent		  = (obj.loaded/obj.total)*100;
    loaded_percent		 = loaded_percent+'%';
    dur =  obj.duration;    
    $('#loaded-progress').css('width',loaded_percent).css('height','5px').css('background-color','#D2DBD2').css('cursor','pointer');
    if(obj.loaded==obj.total){
        $('#loaded-progress').slider({
            range: "min",
            value: 0,
            min: 1,
            max: 100,
            slide: function(event, ui) {        
                tmp = (ui.value/100)*dur;            
                player_seek(tmp);    
            }
        });
    }
}

function createPlayer(sSrc,sPlayerSrc, iWidth, iHeight, sAutoStart) {	    
	//alert(sSrc);
    var s = new SWFObject(sPlayerSrc,"musicPlayerID",iWidth,iHeight,"9");
    s.addParam("allowfullscreen","true");
    //s.addParam("wmode","opaque");
	
    s.addVariable("file",sSrc);
    s.addVariable("width",iWidth);
    s.addVariable("height",iHeight);
    s.addVariable("displayheight","240");
    s.addVariable("overstretch","fit");
    //s.addVariable("logo",PLAYER_LOGO);
    s.addVariable('frontcolor','000');
    s.addVariable('lightcolor','000');
    s.addVariable("showicons","false");
    s.addVariable("autostart",sAutoStart);
    s.addVariable("repeat","always");
    s.addVariable("thumbsinplaylist","false");
    s.addVariable("enablejs","true");
    //s.addVariable("stretching","exactfit");
    s.addVariable("shuffle ","true");
    s.addVariable("javascriptid","musicPlayerID");
    s.write("placeholder");
}

/******************************/
function player_play() {	
    player.sendEvent('PLAY');
} // End of player_play	

function player_play_item(val) {	
    player.sendEvent('ITEM',val);
} // End of player_play_item	

function player_stop() {
    player.sendEvent('STOP');
} // End of player_stop

function player_mute() {
    player.sendEvent('MUTE');
} // End of player_mute
function player_seek(val){
    player.sendEvent('SEEK',val);
};
function player_seek_next(val) {
    player.sendEvent('SEEK', currentPosition+val);
} // End of player_seek_up

function player_seek_prev(val) {
    player.sendEvent('SEEK', currentPosition-val);
} // End of player_seek_down

function player_next_item(){
    player.sendEvent('ITEM',currentItem+1);
}
function player_prev_item(){
    player.sendEvent('ITEM',currentItem-1);
}
function player_vol_up(val) {
    player.sendEvent('VOLUME', currentVolume+val);
	store_vol_setting(currentVolume);
} // End of player_vol_up

function player_vol_down(val) {
    player.sendEvent('VOLUME', currentVolume-val);
	store_vol_setting(currentVolume);
	
} // End of player_vol_down

function player_set_volumn(val) {
    player.sendEvent('VOLUME', val);
	store_vol_setting(val);
} // End of player_set_volumn
/******************************/