﻿var xml_shown;
var current_artist_id = "";
var first_artist_id = "";
var first_artist_name = "";
var current_music_id = "";
var current_album_id = "";
var array_artists = new Array();

// CallWebServiceMethods.js

// This function calls the Web service method without 
// passing the callback function. 
/*
function GetNoReturn()
{

    Samples.AspNet.WebService.GetServerTime();
    alert("This method does not return a value.");
}
*/

// This function calls the Web service method and 
// passes the event callback function.  
function GetTime()
{
/*
    Samples.AspNet.WebService.GetServerTime(
    SucceededCallback);
*/
}


// This function calls the Web service method 
// passing simple type parameters and the 
// callback function  
function Add(a,  b)
{
/*
    Samples.AspNet.WebService.Add(a, b, 
    SucceededCallback);
*/
}

// This function calls the Web service method 
// that returns an XmlDocument type.  

// This function calls a Web service method that uses
// GET to make the Web request.
function MakeGetRequest() 
{
/*
    Samples.AspNet.WebService.EchoStringAndDate(
        new Date("1/1/2007"), " Happy",
        SucceededCallback, 
        FailedCallback, "HappyNewYear");
*/
}


function Run(channel_id) {
    $.ajax({ method: "get", url: "/webservices/proxy.ashx", data: "file=now_playing.asmx&method=GetCurrentRadioInfo&radio_id=" + channel_id, beforeSend: function() { }, complete: function() { },
                    success: ShowChannelId,
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        Run(channel_id);
                    }
                });
    //resultado = WebServices.now_playing.GetCurrentRadioInfo(channel_id, ShowChannelId, FailedCallback, "XmlDocument");
    //alert(resultado);
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object, the user context, and the 
// calling method name as parameters.
function ShowChannelId(result, userContext, methodName)
{
    array_artists = new Array();

    current_album_id = "";
    current_music_id = "";
    current_artist_id = "";
    music_name = "";
    artist_name = "";
    album_name = ""
    capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";

//FALTA ALBUM NAME!!!!

	if (document.all) {
	    //check if pub or song
	    if (result.getElementsByTagName("DB_IS_MUSIC").item(0).text == "1") {
	      if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
    	    if (result.getElementsByTagName("DB_ALBUM_ID").length>0) {
	            current_album_id = result.getElementsByTagName("DB_ALBUM_ID").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_ALBUM_IMAGE").length>0) {
    	        capa_album = "http://radiocomercial.clix.pt/upload/album/" + result.getElementsByTagName("DB_ALBUM_IMAGE").item(0).text;
    	    }
    	    if (result.getElementsByTagName("DB_ALBUM_NAME").length>0) {
	            album_name = result.getElementsByTagName("DB_ALBUM_NAME").item(0).text;
	        }
    	    if (result.getElementsByTagName("DB_SONG_ID").length>0) {
	            current_music_id = result.getElementsByTagName("DB_SONG_ID").item(0).text;
	        }
    	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
	            music_name = result.getElementsByTagName("DB_SONG_NAME").item(0).text;
	        }
    	    if (result.getElementsByTagName("DB_LEAD_ARTIST_ID").length>0) {
	            current_artist_id = result.getElementsByTagName("DB_LEAD_ARTIST_ID").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_LEAD_ARTIST_NAME").length>0) {
	            artist_name = result.getElementsByTagName("DB_LEAD_ARTIST_NAME").item(0).text;
	        }
	      } else {
    	    if (result.getElementsByTagName("DB_DALET_TITLE_NAME").length>0) {
	            music_name = result.getElementsByTagName("DB_DALET_TITLE_NAME").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_DALET_ARTIST_NAME").length>0) {
	            artist_name = result.getElementsByTagName("DB_DALET_ARTIST_NAME").item(0).text;
	        }
	      }
	    } else {
	      //Not music
	      artist_name = "Já a seguir..."
	      music_name = ""
	      album_name = "a Melhor Música"
	    }
	} else {
	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
	      if (result.getElementsByTagName("DB_IS_MUSIC")[0].textContent == "1") {
    	    if (result.getElementsByTagName("DB_ALBUM_ID").length>0) {
	            current_album_id = result.getElementsByTagName("DB_ALBUM_ID")[0].textContent;
	        }
	        if (result.getElementsByTagName("DB_ALBUM_IMAGE").length>0) {
    	        capa_album = "http://radiocomercial.clix.pt/upload/album/" + result.getElementsByTagName("DB_ALBUM_IMAGE")[0].textContent;
    	    }
    	    if (result.getElementsByTagName("DB_ALBUM_NAME").length>0) {
	            album_name = result.getElementsByTagName("DB_ALBUM_NAME")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_SONG_ID").length>0) {
	            current_music_id = result.getElementsByTagName("DB_SONG_ID")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
	            music_name = result.getElementsByTagName("DB_SONG_NAME")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_LEAD_ARTIST_ID").length>0) {
	            current_artist_id = result.getElementsByTagName("DB_LEAD_ARTIST_ID")[0].textContent;
	        }
	        if (result.getElementsByTagName("DB_LEAD_ARTIST_NAME").length>0) {
	            artist_name = result.getElementsByTagName("DB_LEAD_ARTIST_NAME")[0].textContent;
	        }
	      } else {
	          //Not Music
	          artist_name = "Já a seguir..."
	          music_name = ""
	          album_name = "a Melhor Música"
	      }
	    } else {
	      if (result.getElementsByTagName("DB_IS_MUSIC")[0].textContent == "1") {
	        capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";
	        if (result.getElementsByTagName("DB_DALET_TITLE_NAME").length > 0) {
	            music_name = result.getElementsByTagName("DB_DALET_TITLE_NAME")[0].textContent;
	        }
	        if (result.getElementsByTagName("DB_DALET_ARTIST_NAME").length > 0) {
	            artist_name = result.getElementsByTagName("DB_DALET_ARTIST_NAME")[0].textContent;
	        }
	      } else {
	          //Not Music
	          artist_name = "Já a seguir..."
	          music_name = ""
	          album_name = "a Melhor Música"
	      }
	    }
	}

	for(var x=0; x<result.childNodes.length; x++){
      //this gives each entry element
      EntryElem = result.childNodes[x];
      if (EntryElem.nodeName.toUpperCase() == "RADIOINFO") {
        //This is the rootelem
        for(var y=0; y<EntryElem.childNodes.length; y++){
          SunEntryElem = EntryElem.childNodes[y];
          if (SunEntryElem.nodeName.toUpperCase() == "TABLE1") {
            //This is another artist
            position = array_artists.length;
            if (SunEntryElem.getElementsByTagName("ID").length>0) {
              if (document.all) {
                array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID").item(0).text, SunEntryElem.getElementsByTagName("NAME").item(0).text);
              } else {
                array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID")[0].textContent, SunEntryElem.getElementsByTagName("NAME")[0].textContent);
              }
            }
          }
        }
      }
	}
    if (xml_shown!=capa_album + artist_name + music_name + album_name) {
        first_artist_name = artist_name;
        first_artist_id = current_artist_id;
        changeNowPlayingInfo(artist_name, music_name, album_name, capa_album)
        xml_shown = capa_album + artist_name + music_name + album_name;
    }
}

// This is the callback function invoked if the Web service
// failed.
// It accepts the error object as a parameter.
function FailedCallback(error)
{

    // Display the error. 
    var RsltElem = 
        document.getElementById("errorLocation");
    RsltElem.innerHTML = 
    "Service Error: " + error.get_message();

}

function ShowInterviewInfo(result, userContext, methodName) {
    array_artists = new Array();

    current_album_id = "";
    current_music_id = "";
    current_artist_id = "";
    music_name = "";
    artist_name = "";
    album_name = "";
    capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";

    if (document.all) {
        if (result.getElementsByTagName("DB_IMAGE_FILENAME").length>0) {
            capa_album = "http://radiocomercial.clix.pt/upload" + result.getElementsByTagName("DB_IMAGE_FILENAME").item(0).text;
        }
        if (result.getElementsByTagName("DB_INTERVIEWER_NAME").length>0) {
            artist_name = result.getElementsByTagName("DB_INTERVIEWER_NAME").item(0).text;
        }
        if (result.getElementsByTagName("DB_WHEN_DATE").length>0) {
            album_name = result.getElementsByTagName("DB_WHEN_DATE").item(0).text;
        }
        if (result.getElementsByTagName("DB_SHORT_TEXT").length>0) {
            music_name = result.getElementsByTagName("DB_SHORT_TEXT").item(0).text;
        }
    } else {
        if (result.getElementsByTagName("DB_IMAGE_FILENAME").length>0) {
            capa_album = "http://radiocomercial.clix.pt/upload" + result.getElementsByTagName("DB_IMAGE_FILENAME")[0].textContent;
        }
        if (result.getElementsByTagName("DB_INTERVIEWER_NAME").length>0) {
            artist_name = result.getElementsByTagName("DB_INTERVIEWER_NAME")[0].textContent;
        }
        if (result.getElementsByTagName("DB_WHEN_DATE").length>0) {
            album_name = result.getElementsByTagName("DB_WHEN_DATE")[0].textContent;
        }
        if (result.getElementsByTagName("DB_SHORT_TEXT").length>0) {
            music_name = result.getElementsByTagName("DB_SHORT_TEXT")[0].textContent;
        }
    }

/*
	for(var x=0; x<result.childNodes.length; x++){
      //this gives each entry element
      EntryElem = result.childNodes[x];
      if (EntryElem.nodeName.toUpperCase() == "INTERVIEWINFO") {
        //This is the rootelem
        for(var y=0; y<EntryElem.childNodes.length; y++){
          SunEntryElem = EntryElem.childNodes[y];
          if (SunEntryElem.nodeName.toUpperCase() == "TABLE1") {
            //This is another artist
            position = array_artists.length;
            if (document.all) {
              array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID").item(0).text, SunEntryElem.getElementsByTagName("NAME").item(0).text);
            } else {
              array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID")[0].textContent, SunEntryElem.getElementsByTagName("NAME")[0].textContent);
            }
          }
        }
      }
	}
*/
    if (xml_shown!=capa_album + artist_name + music_name + album_name) {
      first_artist_name = artist_name;
      first_artist_id = current_artist_id;
  	  changeNowPlayingInfo(artist_name, music_name, album_name, capa_album)

      xml_shown = capa_album + artist_name + music_name + album_name;
    }
}

function ShowSongId(result, userContext, methodName)
{
    array_artists = new Array();

    current_album_id = "";
    current_music_id = "";
    current_artist_id = "";
    music_name = "";
    artist_name = "";
    album_name = "";
    capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";

	if (document.all) {
	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
    	    if (result.getElementsByTagName("DB_ALBUM_ID").length>0) {
	            current_album_id = result.getElementsByTagName("DB_ALBUM_ID").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_ALBUM_IMAGE").length>0) {
    	        capa_album = "http://radiocomercial.clix.pt/upload/album/" + result.getElementsByTagName("DB_ALBUM_IMAGE").item(0).text;
    	    }
    	    if (result.getElementsByTagName("DB_SONG_ID").length>0) {
	            current_music_id = result.getElementsByTagName("DB_SONG_ID").item(0).text;
	        }
    	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
	            music_name = result.getElementsByTagName("DB_SONG_NAME").item(0).text;
	        }
    	    if (result.getElementsByTagName("DB_LEAD_ARTIST_ID").length>0) {
	            current_artist_id = result.getElementsByTagName("DB_LEAD_ARTIST_ID").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_LEAD_ARTIST_NAME").length>0) {
	            artist_name = result.getElementsByTagName("DB_LEAD_ARTIST_NAME").item(0).text;
	        }
	        if (result.getElementsByTagName("DB_ALBUM_NAME").length>0) {
	            album_name = result.getElementsByTagName("DB_ALBUM_NAME").item(0).text;
	        }
	    }
	} else {
	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
    	    if (result.getElementsByTagName("DB_ALBUM_ID").length>0) {
	            current_album_id = result.getElementsByTagName("DB_ALBUM_ID")[0].textContent;
	        }
	        if (result.getElementsByTagName("DB_ALBUM_IMAGE").length>0) {
    	        capa_album = "http://radiocomercial.clix.pt/upload/album/" + result.getElementsByTagName("DB_ALBUM_IMAGE")[0].textContent;
    	    }
	        if (result.getElementsByTagName("DB_ALBUM_NAME").length>0) {
	            album_name = result.getElementsByTagName("DB_ALBUM_NAME")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_SONG_ID").length>0) {
	            current_music_id = result.getElementsByTagName("DB_SONG_ID")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_SONG_NAME").length>0) {
	            music_name = result.getElementsByTagName("DB_SONG_NAME")[0].textContent;
	        }
    	    if (result.getElementsByTagName("DB_LEAD_ARTIST_ID").length>0) {
	            current_artist_id = result.getElementsByTagName("DB_LEAD_ARTIST_ID")[0].textContent;
	        }
	        if (result.getElementsByTagName("DB_LEAD_ARTIST_NAME").length>0) {
	            artist_name = result.getElementsByTagName("DB_LEAD_ARTIST_NAME")[0].textContent;
	        }
	    }
	}

	for(var x=0; x<result.childNodes.length; x++){
      //this gives each entry element
      EntryElem = result.childNodes[x];
      if (EntryElem.nodeName.toUpperCase() == "SONGINFO") {
        //This is the rootelem
        for(var y=0; y<EntryElem.childNodes.length; y++){
          SunEntryElem = EntryElem.childNodes[y];
          if (SunEntryElem.nodeName.toUpperCase() == "TABLE1") {
            //This is another artist
            position = array_artists.length;
            if (document.all) {
              array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID").item(0).text, SunEntryElem.getElementsByTagName("NAME").item(0).text);
            } else {
              array_artists[position] = new Array(SunEntryElem.getElementsByTagName("ID")[0].textContent, SunEntryElem.getElementsByTagName("NAME")[0].textContent);
            }
          }
        }
      }
	}

    if (xml_shown!=capa_album + artist_name + music_name + album_name) {
      first_artist_name = artist_name;
      first_artist_id = current_artist_id;
  	  changeNowPlayingInfo(artist_name, music_name, album_name, capa_album)

      xml_shown = capa_album + artist_name + music_name + album_name;
    }
}

function ShowSoundInfo(result, userContext, methodName)
{
    array_artists = new Array();

    current_album_id = "";
    current_music_id = "";
    current_artist_id = "";
    music_name = "";
    artist_name = "";
    album_name = "";
    capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";

	if (document.all) {
	    if (result.getElementsByTagName("DB_STATIC_ARTIST_NAME").length>0) {
	        artist_name = result.getElementsByTagName("DB_STATIC_ARTIST_NAME").item(0).text;
	    }
	    if (result.getElementsByTagName("DB_WHEN_DATE").length>0) {
	        album_name = result.getElementsByTagName("DB_WHEN_DATE").item(0).text;
	    }
	    if (result.getElementsByTagName("DB_LOCATION").length>0) {
	        music_name = result.getElementsByTagName("DB_LOCATION").item(0).text;
	    }
	    if (result.getElementsByTagName("DB_IMAGE_FILENAME").length>0) {
	        capa_album = "http://radiocomercial.clix.pt/upload" + result.getElementsByTagName("DB_IMAGE_FILENAME").item(0).text;
	    }
	} else {
	    if (result.getElementsByTagName("DB_STATIC_ARTIST_NAME").length>0) {
	        artist_name = result.getElementsByTagName("DB_STATIC_ARTIST_NAME")[0].textContent;
	    }
	    if (result.getElementsByTagName("DB_WHEN_DATE").length>0) {
	        album_name = result.getElementsByTagName("DB_WHEN_DATE")[0].textContent;
	    }
	    if (result.getElementsByTagName("DB_LOCATION").length>0) {
	        music_name = result.getElementsByTagName("DB_LOCATION")[0].textContent;
	    }
	    if (result.getElementsByTagName("DB_IMAGE_FILENAME").length>0) {
	        capa_album = "http://radiocomercial.clix.pt/upload" + result.getElementsByTagName("DB_IMAGE_FILENAME")[0].textContent;
	    }
	}

	for(var x=0; x<result.childNodes.length; x++){
      //this gives each entry element
      EntryElem = result.childNodes[x];
      if (EntryElem.nodeName.toUpperCase() == "SOUNDINFO") {
        //This is the rootelem
        for(var y=0; y<EntryElem.childNodes.length; y++){
          SunEntryElem = EntryElem.childNodes[y];
          if (SunEntryElem.nodeName.toUpperCase() == "TABLE1") {
            //This is another artist
            position = array_artists.length;
            if (document.all) {
              if (artist_name=="") {
                artist_name = SunEntryElem.getElementsByTagName("DB_ARTIST_NAME").item(0).text;
                current_artist_id = SunEntryElem.getElementsByTagName("DB_ARTIST_ID").item(0).text;
              } else {
                array_artists[position] = new Array(SunEntryElem.getElementsByTagName("DB_ARTIST_ID").item(0).text, SunEntryElem.getElementsByTagName("DB_ARTIST_NAME").item(0).text);
              }
            } else {
              if (artist_name=="") {
                artist_name = SunEntryElem.getElementsByTagName("DB_ARTIST_NAME")[0].textContent;
                current_artist_id = SunEntryElem.getElementsByTagName("DB_ARTIST_ID")[0].textContent;
              } else {
                array_artists[position] = new Array(SunEntryElem.getElementsByTagName("DB_ARTIST_ID")[0].textContent, SunEntryElem.getElementsByTagName("DB_ARTIST_NAME")[0].textContent);
              }
            }
          }
        }
      }
	}

    if (xml_shown!=capa_album + artist_name + music_name + album_name) {
      first_artist_name = artist_name;
      first_artist_id = current_artist_id;
  	  changeNowPlayingInfo(artist_name, music_name, album_name, capa_album)

      xml_shown = capa_album + artist_name + music_name + album_name;
    }
}

function ShowWMAInfo (album_cover, linha1, linha2, linha3, linha4) {
    array_artists = new Array();

    current_album_id = "";
    current_music_id = "";
    current_artist_id = "";
    music_name = "";
    artist_name = "";
    album_name = "";
    capa_album = "http://radiocomercial.clix.pt/images/capa_indisponivel.jpg";
    
    music_name = unescape(linha3);
    artist_name = unescape(linha1);
    album_name = unescape(linha2);
    if (album_cover!="") {
        capa_album = "http://radiocomercial.clix.pt" + unescape(album_cover);
    }

    if (xml_shown!=capa_album + artist_name + music_name + album_name) {
      first_artist_name = artist_name;
      first_artist_id = current_artist_id;
  	  changeNowPlayingInfo(artist_name, music_name, album_name, capa_album)

      xml_shown = capa_album + artist_name + music_name + album_name;
    }
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

