var YoutubeMusicPlayer = { start: function(){ YoutubeMusicPlayer.current_item = 0; YoutubeMusicPlayer.ytplayer; YoutubeMusicPlayer.playlist; YoutubeMusicPlayer.loadPlayer(); }, loadPlayer: function(){ var params = { allowScriptAccess: "always", bgcolor: "#cccccc" }; var atts = { id: "myytplayer" }; swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=ytplayer", "ytapiplayer", "275", "186", "8", null, null, params, atts); }, loadPlaylist: function(){ $("#playlist").empty(); jQuery.each(YoutubeMusicPlayer.playlist, function(k, v) { YoutubeMusicPlayer.playlist[k]['playing'] = 0; YoutubeMusicPlayer.playlist[k]['time'] = v.time; YoutubeMusicPlayer.playlist[k]['title'] = v.title; YoutubeMusicPlayer.playlist[k]['rating'] = v.rating; YoutubeMusicPlayer.playlist[k]['youtube_id'] = v.youtube_id; YoutubeMusicPlayer.playlist[k]['thumbnail'] = v.thumbnail; var spri = v.title; spri = spri.replace(/\"/g,""); spri = spri.replace(/\'/g,""); v.title = spri; $("#playlist").append('
  • '+v.title+'
  • '); }); if(!$('#pane').parent('div').hasClass('jScrollPaneContainer')) $('#pane').jScrollPane({showArrows:true, scrollbarWidth:14, dragMaxHeight:175}); }, loadControls: function(){ $("*").unbind("click"); $("*").unbind("hover"); $("*").unbind("submit"); $("*").unbind("slider"); $('#slider').slider({ range: "min", value: 50, min: 0, max: 100 }); var min =(($("#playlist li").height()+parseFloat($("#playlist li").css("margin-top"))+parseFloat($("#playlist li").css("margin-bottom"))+parseFloat($("#playlist li").css("padding-top"))+parseFloat($("#playlist li").css("padding-bottom"))) * $("#playlist li").size()); if( min > $("#playlist").height()) { $("#slider-vertical").slider({ orientation: "vertical", range: "min", min: -min+10, max: 0, value: 0, slide: function(event, ui) { $("#playlist").css('margin-top', ui.value); } }); } else { $("#playlist").css('width', '100%'); $("#slider-vertical").css('display', 'none'); } //set click events $("#play").click(function() { YoutubeMusicPlayer.play(); return false; }); $("#watch").click(function() { if($('#myytplayer').css('width') == '0px') { $('#myytplayer').css('width', '275px'); $('#myytplayer').css('height', '186px'); $("#iecheck").hide(); $("#discovery").show(); } else { $('#myytplayer').css('width', '0px'); $('#myytplayer').css('height', '0px'); $("#iecheck").show(); $("#discovery").hide(); } return false; }); $("#discovery").click(function() { if($('#myytplayer').css('width') == '0px') { $('.upperfoot').animate({ height: '140px' }, 500, function() { // Animation complete. }); $("#watch").show(); $(".discovery").hide(); $('#myytplayer').css('width', '275px'); $('#myytplayer').css('height', '186px'); } else { $('#myytplayer').css('width', '0px'); $('#myytplayer').css('height', '0px'); $("#watch").hide(); $(".discovery").show(); $('.upperfoot').animate({ height: '+=85%' }, 2000, function() { // Animation complete. }); } return false; }); $(".discovery").click(function() { $('.upperfoot').animate({ height: '140px' }, 500, function() { // Animation complete. }); $("#watch").show(); $(".discovery").hide(); $('#myytplayer').css('width', '275px'); $('#myytplayer').css('height', '186px'); return false; }); $("#pause").click(function() { YoutubeMusicPlayer.ytplayer.pauseVideo(); }); $("#stop").click(function() { YoutubeMusicPlayer.ytplayer.stopVideo(); }); $("#seek-next").click(function() { YoutubeMusicPlayer.ytplayer.seekTo(YoutubeMusicPlayer.ytplayer.getCurrentTime()+10, true);return false; }); $("#seek-prev").click(function() { YoutubeMusicPlayer.ytplayer.seekTo(YoutubeMusicPlayer.ytplayer.getCurrentTime()-10, true);return false; }); $("#seek-end").click(function() { YoutubeMusicPlayer.goToNextItem(); }); $("#seek-first").click(function() { YoutubeMusicPlayer.goToPrevItem(); }); $("#mute").click(function() { $('#mute').addClass('ui-state-hover'); if($('#mute').hasClass('ui-icon-volume-on')) { YoutubeMusicPlayer.ytplayer.mute(); $('#mute').removeClass('ui-icon-volume-on'); $('#mute').addClass('ui-icon-volume-off'); } else { YoutubeMusicPlayer.ytplayer.unMute(); $('#mute').removeClass('ui-icon-volume-off'); $('#mute').addClass('ui-icon-volume-on'); } return false; }); $('#slider').bind('slide', function(event, ui) { var newVolume = $('#slider').slider('option', 'value'); YoutubeMusicPlayer.ytplayer.setVolume(newVolume); }); $('#icons li').hover( function(){ $(YoutubeMusicPlayer).addClass("ui-state-hover"); }, function(){ $(YoutubeMusicPlayer).removeClass("ui-state-hover"); } ); $("#playlist li").click(function() { YoutubeMusicPlayer.current_item = parseInt(this.id.split('_')[1]); YoutubeMusicPlayer.loadNewTrack(YoutubeMusicPlayer.current_item); }); }, search: function(){ $.ajax({ type: 'POST', url: "http://emofox.com/sources/nebula_local.php", data: {query : $('#keyword').val()}, dataType: 'json', success: function(playlist){ YoutubeMusicPlayer.playlist = playlist; YoutubeMusicPlayer.loadPlaylist(); YoutubeMusicPlayer.loadPlayer(); YoutubeMusicPlayer.setPlayer(); $('.loader').hide(); $('#content_1').show(); } }); }, play: function(){ if(YoutubeMusicPlayer.ytplayer.getPlayerState() == 1) { YoutubeMusicPlayer.ytplayer.pauseVideo(); } else if(YoutubeMusicPlayer.ytplayer.getPlayerState() >= 1 && YoutubeMusicPlayer.ytplayer.getPlayerState() <= 3) { YoutubeMusicPlayer.ytplayer.playVideo(); } else { YoutubeMusicPlayer.loadNewTrack(YoutubeMusicPlayer.current_item); } $('#slider').slider('option', 'value', YoutubeMusicPlayer.ytplayer.getVolume()); //$('#play').addClass('ui-state-hover'); }, setPlayer: function(){ var me = YoutubeMusicPlayer; YoutubeMusicPlayer.ytplayer = $('#myytplayer')[0]; YoutubeMusicPlayer.updateytplayerInfo(); YoutubeMusicPlayer.loadControls(); setInterval(YoutubeMusicPlayer.updateytplayerInfo, 250); YoutubeMusicPlayer.ytplayer.addEventListener("onStateChange", "YoutubeMusicPlayer.onytplayerStateChange"); YoutubeMusicPlayer.ytplayer.addEventListener("onError", "YoutubeMusicPlayer.onPlayerError"); }, updateytplayerInfo: function(){ //console.log(YoutubeMusicPlayer.current_item); if( YoutubeMusicPlayer.ytplayer.getPlayerState() != -1 && YoutubeMusicPlayer.youtubeIDextract(YoutubeMusicPlayer.ytplayer.getVideoUrl()) == YoutubeMusicPlayer.playlist[YoutubeMusicPlayer.current_item].youtube_id) { $('#currently_playing').html(YoutubeMusicPlayer.playlist[YoutubeMusicPlayer.current_item].title.substring(0,35)); } $('#elapsed_time').html(YoutubeMusicPlayer.sec2hms(YoutubeMusicPlayer.getCurrentTime())); if(YoutubeMusicPlayer.getDuration() == YoutubeMusicPlayer.getCurrentTime() && YoutubeMusicPlayer.getCurrentTime() > 1) { YoutubeMusicPlayer.ytplayer.stopVideo(); YoutubeMusicPlayer.goToNextItem(); } }, youtubeIDextract: function(url){ var youtube_id; youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1"); return youtube_id; }, onPlayerError: function(error){ //console.log(error); }, onytplayerStateChange: function(newState){ //YoutubeMusicPlayer.ytplayer.setVolume(0); //noise cancelling var status = ''; $('.control').removeClass('ui-state-hover'); //console.log(newState); switch(newState) { case -1: status = ''; break; case 0: status = 'ended'; break; case 1: status = ''; $('#play').addClass('ui-state-hover'); break; case 2: status = 'paused'; $('#play').removeClass('ui-state-hover'); break; case 3: status = 'buffering...'; break; case 5: status = 'stopped'; $('#stop').addClass('ui-state-hover'); break; default: status = ''; break; } $('#player_state').html(status); }, loadNewTrack: function(id){ YoutubeMusicPlayer.current_item = id; YoutubeMusicPlayer.ytplayer.loadVideoById(YoutubeMusicPlayer.playlist[YoutubeMusicPlayer.current_item].youtube_id, 0); $('#playlist li').removeClass('ui-state-hover'); $('#track_'+id).addClass('ui-state-hover'); document.getElementById("embed").innerHTML = ""; $('#fbar').animate({ height: '130px' }, 5000, function() { // Animation complete. }); }, goToNextItem: function(){ var next_item = YoutubeMusicPlayer.current_item + 1; next_item = (next_item >= YoutubeMusicPlayer.playlist.length)?0:next_item; YoutubeMusicPlayer.loadNewTrack(next_item); $('#embed').slideUp(); }, goToPrevItem: function(){ var prev_item = YoutubeMusicPlayer.current_item - 1; prev_item = (prev_item < 0)?(YoutubeMusicPlayer.playlist.length-1):prev_item; YoutubeMusicPlayer.loadNewTrack(prev_item); $('#embed').slideUp(); }, getCurrentTime: function(){ return YoutubeMusicPlayer.ytplayer.getCurrentTime(); }, getDuration: function(){ return YoutubeMusicPlayer.ytplayer.getDuration(); }, sec2hms: function(seconds){ if(seconds < 0) { return '--:--'; } var mins = Math.floor(seconds / 60); var secs = seconds % 60; return mins + ':' + YoutubeMusicPlayer.AddZero(Math.round(secs)); }, AddZero: function(num){ return ((num >= 0)&&(num < 10))?"0"+num:num+""; } }; $(document).ready(function () { YoutubeMusicPlayer.start(); }); function onYouTubePlayerReady(playerId) { // alert('ready'); YoutubeMusicPlayer.search(); YoutubeMusicPlayer.setPlayer(); YoutubeMusicPlayer.play(); } function share(id){ var share = { method: 'stream.share', u: 'http://youtube.com/watch?v='+id }; FB.ui(share, function(response) { console.log(response); }); } function embedcode(){ $('#embed').slideDown(); } function add(id,name) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("icon"+id).innerHTML=xmlhttp.responseText; } } if(name) { if(id) { xmlhttp.open("GET","http://emofox.com/add.php?name="+name+"&url="+id,true); } } xmlhttp.send(); } function vidcheck(id,name) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("icon"+id).innerHTML=xmlhttp.responseText; } } if(name) { if(id) { xmlhttp.open("GET","http://emofox.com/videocheck.php?name="+name+"&url="+id,true); } } xmlhttp.send(); } function del(id,name) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("icon"+id).innerHTML=xmlhttp.responseText; } } if(name) { if(id) { xmlhttp.open("GET","http://emofox.com/del.php?name="+name+"&url="+id,true); } } xmlhttp.send(); } $.uicornerfix = function(r){ DD_roundies.addRule('.ui-corner-all', r); DD_roundies.addRule('.ui-corner-top', r+' '+r+' 0 0'); DD_roundies.addRule('.ui-corner-bottom', '0 0 '+r+' '+r); DD_roundies.addRule('.ui-corner-right', '0 '+r+' '+r+' 0'); DD_roundies.addRule('.ui-corner-left', r+' 0 0 '+r); DD_roundies.addRule('.ui-corner-tl', r+' 0 0 0'); DD_roundies.addRule('.ui-corner-tr', '0 '+r+' 0 0'); DD_roundies.addRule('.ui-corner-br', '0 0 '+r+' 0'); DD_roundies.addRule('.ui-corner-bl', '0 0 0 '+r); };