Files
openwrt_NSS_ACW/package/fonera-mp3/src/cgi/json.js
2007-08-27 20:10:35 +00:00

142 lines
3.3 KiB
JavaScript

var alpmp3_playtime = 0;
var alpmp3_state = 0;
var alpmp3_ip = "";
var obj_volume;
var obj_bass;
var obj_playtime;
var obj_sate;
var obj_filename;
var MP3Object;
var is_setup = 0;
function alpmp3_ajax_new_data(){
obj_bass.firstChild.nodeValue = MP3Object.alpmp3.bass;
obj_volume.firstChild.nodeValue = MP3Object.alpmp3.volume;
obj_state.firstChild.nodeValue = MP3Object.alpmp3.type;
obj_filename.firstChild.nodeValue = MP3Object.alpmp3.filename;
alpmp3_state = MP3Object.alpmp3.state;
if(Math.abs(alpmp3_playtime - MP3Object.alpmp3.playtime) > 1){
alpmp3_playtime = MP3Object.alpmp3.playtime;
}
}
function alpmp3_update_data(url){
var data;
var http_request = new XMLHttpRequest();
http_request.open("GET", url, true);
http_request.onreadystatechange = function () {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
MP3Object = eval("(" + http_request.responseText + ")");
alpmp3_ajax_new_data();
} else {
alert("There was a problem with the URL.");
}
http_request = null;
}
}
http_request.send(null);
self.setTimeout("alpmp3_update_data('mp3_json.cgi');", 4000);
}
function alpmp3_remote(cmd){
var doit = "";
switch(cmd){
case 'volup':
if(MP3Object.alpmp3.volume < 30){
MP3Object.alpmp3.volume++;
}
doit = "?vol=" + MP3Object.alpmp3.volume;
break;
case 'voldown':
if(MP3Object.alpmp3.volume > 0){
MP3Object.alpmp3.volume--;
}
doit = "?vol=" + MP3Object.alpmp3.volume;
break;
case 'bassup':
if(MP3Object.alpmp3.bass < 30){
MP3Object.alpmp3.bass++;
}
doit = "?bass=" + MP3Object.alpmp3.bass;
break;
case 'bassdown':
if(MP3Object.alpmp3.volume < 30){
MP3Object.alpmp3.bass--;
}
doit = "?bass=" + MP3Object.alpmp3.bass;
break;
case 'stop':
doit = "?stop=1";
break;
case 'start':
doit = "?start=1";
break;
case 'next':
doit = "?next=1";
break;
case 'back':
doit = "?back=1";
break;
}
if(doit != ""){
var http_request2 = new XMLHttpRequest();
http_request2.open("GET", 'mp3_cmd.cgi'+doit, true);
http_request2.onreadystatechange = function () {
if (http_request2.readyState == 4) {
if (http_request2.status == 200) {
alpmp3_ajax_new_data();
} else {
alert("There was a problem with the URL.");
}
http_request2 = null;
}
}
http_request2.send(null);
}
}
function alpmp3_timeout(){
alpmp3_state = 0;
alert(alpmp3_playtime);
}
function alpmp3_playtime_update(){
self.setTimeout("alpmp3_playtime_update()", 1000);
if(alpmp3_state > 0){
alpmp3_playtime ++;
} else {
alpmp3_playtime = 0;
}
var s = alpmp3_playtime;
var h = 0;
var m = 0;
while(s > 3599){
h++;
s -= 3600;
}
while(s > 59){
m++;
s -= 60;
}
ptime = ((m < 10) ? "0" : "") + m + ":" + ((s < 10) ? "0" : "") + s;
if(h > 0){
ptime = ((h < 10) ? "0" : "") + h + ":" + ptime;
}
obj_playtime.firstChild.nodeValue = ptime;
}
function alpmp3_setup($ip){
if(is_setup == 0){
obj_volume = document.getElementById("alpmp3_volume");
obj_bass = document.getElementById("alpmp3_bass");
obj_state = document.getElementById("alpmp3_state");
obj_filename = document.getElementById("alpmp3_filename");
obj_playtime = document.getElementById("alpmp3_playtime");
is_setup = 1;
}
self.setTimeout("alpmp3_update_data('mp3_json.cgi');", 4000);
self.setTimeout("alpmp3_playtime_update()", 1000);
}