diff --git a/htdocs/index.html b/htdocs/index.html
index 1435fe7..dfef302 100644
--- a/htdocs/index.html
+++ b/htdocs/index.html
@@ -34,7 +34,7 @@
diff --git a/htdocs/js/mpd.js b/htdocs/js/mpd.js
index e900ebb..db65cc7 100644
--- a/htdocs/js/mpd.js
+++ b/htdocs/js/mpd.js
@@ -115,107 +115,7 @@ var app = $.sammy(function() {
dirble_catid = this.params['splat'][0];
dirble_page = this.params['splat'][1];
- $.getJSON( "http://api.dirble.com/v2/category/"+dirble_catid+"/stations?page="+dirble_page+"&per_page=20&token=2e223c9909593b94fc6577361a", function( data ) {
-
- $('#dirble_loading').addClass('hide');
- if (data.length == 20) $('#next').removeClass('hide');
-
- var max = data.length - data.length%2;
-
- for(i = 0; i < max; i+=2) {
-
- $('#dirble_left > tbody').append(
- ""+data[i].name+" |
"
- );
- $('#dirble_right > tbody').append(
- ""+data[i+1].name+" |
"
- );
- }
-
- if (max != data.length) {
- $('#dirble_left > tbody').append(
- ""+data[max].name+" |
"
- );
- }
-
- $('#dirble_left > tbody > tr > td').on({
- click: function() {
- var _this = $(this);
-
- $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
-
- socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
- $('.top-right').notify({
- message:{
- text: _this.text() + " added"
- }
- }).show();
- });
- },
- mouseenter: function() {
- var _this = $(this);
-
- $(this).last().append(
- "" +
- "").find('a').click(function(e) {
- e.stopPropagation();
-
- $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
-
- socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
- $('.top-right').notify({
- message:{
- text: _this.text() + " added"
- }
- }).show();
- });
- }).fadeTo('fast',1);
- },
-
- mouseleave: function(){
- $(this).last().find("a").stop().remove();
- }
- });
-
- $('#dirble_right> tbody > tr > td').on({
- click: function() {
- var _this = $(this);
-
- $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
-
- socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
- $('.top-right').notify({
- message:{
- text: _this.text() + " added"
- }
- }).show();
- });
- },
- mouseenter: function() {
- var _this = $(this);
-
- $(this).last().append(
- "" +
- "").find('a').click(function(e) {
- e.stopPropagation();
-
- $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
-
- socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
- $('.top-right').notify({
- message:{
- text: _this.text() + " added"
- }
- }).show();
- });
- }).fadeTo('fast',1);
- },
-
- mouseleave: function(){
- $(this).last().find("a").stop().remove();
- }
- });
- });
+ dirble_load_stations();
});
@@ -232,54 +132,7 @@ var app = $.sammy(function() {
$('#panel-heading').text("Dirble");
$('#dirble').addClass('active');
- $('#prev').addClass('hide');
- $('#next').addClass('hide');
-
- dirble_page = 1;
-
- $.getJSON( "http://api.dirble.com/v2/categories?token=2e223c9909593b94fc6577361a", function( data ) {
-
- $('#dirble_loading').addClass('hide');
-
- data = data.sort(function(a, b) {
- return (a.title > b.title) ? 1 : 0;
- });
-
- var max = data.length - data.length%2;
-
- for(i = 0; i < max; i+=2) {
-
- $('#dirble_left > tbody').append(
- ""+data[i].title+" |
"
- );
-
- $('#dirble_right > tbody').append(
- ""+data[i+1].title+" |
"
- );
- }
-
- if (max != data.length) {
- $('#dirble_left > tbody').append(
- ""+data[max].title+" |
"
- );
- }
-
- $('#dirble_left > tbody > tr > td').on({
- click: function() {
- dirble_selected_cat = $(this).text();
- dirble_catid = $(this).attr("catid");
- app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
- }
- });
-
- $('#dirble_right > tbody > tr > td').on({
- click: function() {
- dirble_selected_cat = $(this).text();
- dirble_catid = $(this).attr("catid");
- app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
- }
- });
- });
+ dirble_load_categories();
});
this.get("/", function(context) {
@@ -834,3 +687,159 @@ function songNotify(title, artist, album) {
notification.close();
}, 3000, notification);
}
+
+
+function dirble_load_categories() {
+
+ dirble_page = 1;
+
+ $.getJSON( "http://api.dirble.com/v2/categories?token=2e223c9909593b94fc6577361a", function( data ) {
+
+ $('#dirble_loading').addClass('hide');
+
+ data = data.sort(function(a, b) {
+ return (a.title > b.title) ? 1 : 0;
+ });
+
+ var max = data.length - data.length%2;
+
+ for(i = 0; i < max; i+=2) {
+
+ $('#dirble_left > tbody').append(
+ ""+data[i].title+" |
"
+ );
+
+ $('#dirble_right > tbody').append(
+ ""+data[i+1].title+" |
"
+ );
+ }
+
+ if (max != data.length) {
+ $('#dirble_left > tbody').append(
+ ""+data[max].title+" |
"
+ );
+ }
+
+ $('#dirble_left > tbody > tr > td').on({
+ click: function() {
+ dirble_selected_cat = $(this).text();
+ dirble_catid = $(this).attr("catid");
+ app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
+ }
+ });
+
+ $('#dirble_right > tbody > tr > td').on({
+ click: function() {
+ dirble_selected_cat = $(this).text();
+ dirble_catid = $(this).attr("catid");
+ app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
+ }
+ });
+ });
+}
+
+
+function dirble_load_stations() {
+
+ $.getJSON( "http://api.dirble.com/v2/category/"+dirble_catid+"/stations?page="+dirble_page+"&per_page=20&token=2e223c9909593b94fc6577361a", function( data ) {
+
+ $('#dirble_loading').addClass('hide');
+ if (data.length == 20) $('#next').removeClass('hide');
+
+ var max = data.length - data.length%2;
+
+ for(i = 0; i < max; i+=2) {
+
+ $('#dirble_left > tbody').append(
+ ""+data[i].name+" |
"
+ );
+ $('#dirble_right > tbody').append(
+ ""+data[i+1].name+" |
"
+ );
+ }
+
+ if (max != data.length) {
+ $('#dirble_left > tbody').append(
+ ""+data[max].name+" |
"
+ );
+ }
+
+ $('#dirble_left > tbody > tr > td').on({
+ click: function() {
+ var _this = $(this);
+
+ $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+
+ socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
+ $('.top-right').notify({
+ message:{
+ text: _this.text() + " added"
+ }
+ }).show();
+ });
+ },
+ mouseenter: function() {
+ var _this = $(this);
+
+ $(this).last().append(
+ "" +
+ "").find('a').click(function(e) {
+ e.stopPropagation();
+
+ $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+
+ socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
+ $('.top-right').notify({
+ message:{
+ text: _this.text() + " added"
+ }
+ }).show();
+ });
+ }).fadeTo('fast',1);
+ },
+
+ mouseleave: function(){
+ $(this).last().find("a").stop().remove();
+ }
+ });
+
+ $('#dirble_right> tbody > tr > td').on({
+ click: function() {
+ var _this = $(this);
+
+ $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+
+ socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
+ $('.top-right').notify({
+ message:{
+ text: _this.text() + " added"
+ }
+ }).show();
+ });
+ },
+ mouseenter: function() {
+ var _this = $(this);
+
+ $(this).last().append(
+ "" +
+ "").find('a').click(function(e) {
+ e.stopPropagation();
+
+ $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+
+ socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
+ $('.top-right').notify({
+ message:{
+ text: _this.text() + " added"
+ }
+ }).show();
+ });
+ }).fadeTo('fast',1);
+ },
+
+ mouseleave: function(){
+ $(this).last().find("a").stop().remove();
+ }
+ });
+ });
+}
\ No newline at end of file