// Enter your registration code here:
var wimpyReg = "M2h1cUElN0NwcSU1QiU3RSU0MEhDZGxIMiUyRiU4MGdBa05qUlZMZlElNjAlNUJr";
// The following should refer to a filename only, not a full URL.
// We've provided this option so that you can change the file name if needed.
var wimpySwfBasename = "getid3/wimpy.swf";
// Enter your default configuration options here:
// When entering options that are references to files
// (e.g. wimpyApp, wimpySwf, plugPlaylist, onTrackCompleteURL),
// be sure to use a full URL to the file.
var defaultWimpyConfigs = new Object();
defaultWimpyConfigs.wimpyConfigs = "";
defaultWimpyConfigs.wimpyReg = wimpyReg;
defaultWimpyConfigs.wimpySwf = wimpySwfBasename;
defaultWimpyConfigs.wimpyApp = "wimpy.php";
defaultWimpyConfigs.bkgdColor = "FFFFFF";
defaultWimpyConfigs.wimpyWidth = "354";
defaultWimpyConfigs.wimpyHeight = "57";
defaultWimpyConfigs.wimpySkin = "getid3/skin_homepage.xml";
defaultWimpyConfigs.startupLogo = "getid3/wimpy_stlogo.jpg";
defaultWimpyConfigs.defaultImage = "";
defaultWimpyConfigs.defaultVisualExt = "";
defaultWimpyConfigs.startPlayingOnload = "yes";
defaultWimpyConfigs.shuffleOnLoad = "";
defaultWimpyConfigs.randomOnLoad = "";
defaultWimpyConfigs.displayDownloadButton = "";
defaultWimpyConfigs.startOnTrack = "";
defaultWimpyConfigs.autoAdvance = "";
defaultWimpyConfigs.popUpHelp = "";
defaultWimpyConfigs.scrollInfoDisplay = "";
defaultWimpyConfigs.infoDisplayTime = "yes";
defaultWimpyConfigs.bufferAudio = "5";
defaultWimpyConfigs.theVolume = "50";
defaultWimpyConfigs.limitPlaytime = "";
defaultWimpyConfigs.trackPlays = "";
defaultWimpyConfigs.voteScript = "";
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
//////////// ////////////
//////////// Handler Functions ////////////
//////////// ////////////
//////////// (experts only!) ////////////
//////////// ////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
// When enableWimpyEvents is set to TRUE, then the following functions will be enabled:
// wimpy_amReady
// handleTrackStarted
// handleTrackDone
// These "handler" functions are currently set up for use with Example 6 and 7 (wimpy_js_example6.html).
var enableWimpyEvents = true;
var wimpyIsReady = false;
// This function is pinged when Wimpy is ready and able to accept JavaScript calls / interaction.
// NOTE: See also wimpy_amReady_ask
function handleWimpyInit(retval){
return false;
}
// This function gets pinged every time a track starts to play.
function handleTrackStarted(returnedObject){
// displayPlaylistObject(returnedObject);
writeTrackDetails(returnedObject);
}
// This function gets pinged each time a track finnishes playing.
function handleTrackDone(returnedObject){
// clearTrackDetails();
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
//
// These functions are primarily used to
// display returned data in the readme examples.
//
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
function renderHTML (theString) {
if(theString != "" && typeof(theString) == "string"){
//var retval = theString.replace(/&/g,"&").replace(//g,">");
var retval = theString.split("&").join("&").split("<").join("<").split(">").join(">");
return retval;
} else {
return theString;
}
}
function displayPlaylistObject(returnedObject){
var retText = "";
for(var prop in returnedObject){
var value = returnedObject[prop];
if(typeof(value) == "object"){
for(var itemProp in value){
retText += "" + itemProp + " : " + renderHTML(value[itemProp]) + "
";
}
} else {
retText += "" + prop + " : " + renderHTML(value) + "
";
}
}
// alert(retText);
}
function writeTrackDetails(theDataArray){
var trackDetails = "";
if (theDataArray) {
trackDetails = 'Now playing - "' + PHP.htmlspecialchars(theDataArray['title']) + '" by ' + PHP.htmlspecialchars(theDataArray['artist']) + '.
';
trackDetails += 'Add this song to my Song Tank.
';
trackDetails += 'Send ' + PHP.htmlspecialchars(theDataArray['artist']) + ' a message.
';
}
trackDetailsObj = fetch_object('trackDetails');
trackDetailsObj.innerHTML = trackDetails;
var memberImage = "";
if (theDataArray) {
memberImage += ' + '&type=homepagetrack)
';
}
memberImageObj = fetch_object('memberImage');
memberImageObj.innerHTML = memberImage;
}
function clearTrackDetails() {
trackDetailsObj = fetch_object('trackDetails');
trackDetailsObj.innerHTML = '';
memberImageObj = fetch_object('memberImage');
memberImageObj.innerHTML = '';
}
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
//////////// ////////////
//////////// Do not edit below here ////////////
//////////// ////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
///////////////////////////////
//
// UTILITIES
//
///////////////////////////////
function randomNumber(minNum, maxNum) {
return (minNum + Math.floor(Math.random() * (maxNum - minNum + 1)));
}
function path_parts(thePath) {
if(thePath.lastIndexOf("/") == thePath.length-1){
thePath = thePath.substr(0, thePath.length-1);
}
var filepathA = thePath.split("/");
var filename = filepathA.pop();
var filepathB = filename.split(".");
var extension = "";
if (filepathB.length > 1) {
extension = filepathB.pop();
}
var basename = filepathB.join(".");
if(extension == ""){
filepathA.push(filename);
}
var mybasepath = filepathA.join("/");
if(mybasepath.length > 0){
mybasepath = mybasepath + "/";
}
var Oret = new Object();
Oret.filename = filename;
Oret.extension = extension;
Oret.basename = basename;
Oret.basepath = mybasepath;
Oret.filepath = thePath;
return Oret;
}
function getExtension(theFilename){
return unescape(theFilename).split("/").pop().split(".").pop().toLowerCase();
}
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function stripWhiteSpace(string_in) {
var retval = string_in.split("\n").join("").split("\r\n").join("").split("\t").join("").split("%0A").join("").split("%09").join("");
return retval;
}
function getQueryString(){
var qsParm = new Array();
var q = window.location.search || document.location.hash;
var query = q.substring(1);
var parms = query.split('&');
for (var i=0; i 0) {
var key = parms[i].substring(0,pos);
var val = parms[i].substring(pos+1);
qsParm[key] = val;
}
}
return qsParm;
}
function isNull(theThing){
if(theThing == "" || theThing == null || !theThing || theThing == undefined || theThing == "Undefined" || theThing == "undefined"){
return true;
} else {
return false;
}
}
///////////////////////////////
///////////////////////////////
///////////////////////////////
///////////////////////////////
///////////////////////////////
//
// RENDER PLAYER
//
///////////////////////////////
function makeWimpyPlayer(configsIN){
// var theConfigObject = configsIN || "";
var theTarget = "wimpyTarget";
var theConfigObject = defaultWimpyConfigs;
/*
if(typeof(theConfigObject) == "string" || theConfigObject == ""){
var theConfigObject = defaultWimpyConfigs;
if(!isNull(configsIN)){
var temp = path_parts(configsIN);
if(temp.extension == "xml"){
theConfigObject.wimpyApp = configsIN;
} else {
theConfigObject.playlist = configsIN;
}
}
}
*/
theConfigObject.wimpyApp = configsIN + '%26.xml';
for(var prop in defaultWimpyConfigs){
theConfigObject[prop] = theConfigObject[prop] || defaultWimpyConfigs[prop];
}
if(theConfigObject.bkgdColor.substring(0,1) != "#"){
theConfigObject.bkgdColor = "#" + theConfigObject.bkgdColor;
}
//
}
///////////////////////////////
///////////////////////////////
///////////////////////////////
///////////////////////////////
///////////////////////////////
//
// CONTROLS
//
///////////////////////////////
var wimpyUserAgent = navigator.appName.indexOf("Microsoft");
function wimpy_play(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_play();
} else {
return document["wimpy"].js_wimpy_play();
}
}
function wimpy_stop(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_stop();
} else {
return document["wimpy"].js_wimpy_stop();
}
}
function wimpy_pause(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_pause();
} else {
return document["wimpy"].js_wimpy_pause();
}
}
function wimpy_next(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_next();
} else {
return document["wimpy"].js_wimpy_next();
}
}
function wimpy_prev(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_prev();
} else {
return document["wimpy"].js_wimpy_prev();
}
}
function wimpy_gotoTrack(trackNumber){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_gotoTrack(trackNumber);
} else {
return document["wimpy"].js_wimpy_gotoTrack(trackNumber);
}
}
function wimpy_clearPlaylist(){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_clearPlaylist();
} else {
return document["wimpy"].js_wimpy_clearPlaylist();
}
}
function wimpy_loadAndPlay(theFile, theArtist, theTitle, theHyperlink, theGraphic){
wimpy_addTrack(false, theFile, theArtist, theTitle, theHyperlink, theGraphic);
}
function wimpy_addTrack(playOnLoad, theFilename, theArtist, theTitle, theLink, theImage){
var Alist = new Array()
var Otemp = new Object();
Otemp.filename = theFilename;
Otemp.artist = theArtist;
Otemp.title = theTitle;
Otemp.link = theLink;
Otemp.visual = theImage;
Alist[0] = Otemp
wimpy_addMultipleTracks(playOnLoad, Alist);
}
function wimpy_addMultipleTracks(playOnLoad, thePlaylistObject){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_addMultipleTracks(playOnLoad, thePlaylistObject);
} else {
return document["wimpy"].js_wimpy_addMultipleTracks(playOnLoad, thePlaylistObject);
}
}
function wimpy_getTrackInfo(trackNumber){
var sendTrackNumber = trackNumber || false;
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_getTrackInfo(sendTrackNumber);
} else {
return document["wimpy"].js_wimpy_getTrackInfo(sendTrackNumber);
}
}
function wimpy_updateInfoDisplay(theArtist, theTitle){
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_updateInfoDisplay(theArtist, theTitle);
} else {
return document["wimpy"].js_wimpy_updateInfoDisplay(theArtist, theTitle);
}
}
function wimpy_changeVisual(theImageURL, theLinkURLin){
var theLinkURL = theLinkURLin || "";
if (wimpyUserAgent != -1) {
return window["wimpy"].js_wimpy_changeVisual(theImageURL, theLinkURL);
} else {
return document["wimpy"].js_wimpy_changeVisual(theImageURL, theLinkURL);
}
}
function wimpy_getPlaylist(){
var retval;
if (wimpyUserAgent != -1) {
retval = window["wimpy"].js_wimpy_getPlaylist();
} else {
retval = document["wimpy"].js_wimpy_getPlaylist();
}
return retval;
}
function wimpy_loadExternalPlaylist(theURL){
var retval;
if (wimpyUserAgent != -1) {
retval = window["wimpy"].js_wimpy_loadExternalPlaylist(theURL);
} else {
retval = document["wimpy"].js_wimpy_loadExternalPlaylist(theURL);
}
return retval;
}
function wimpy_amReady_ask(){
if (wimpyUserAgent != -1) {
wimpyISready = window["wimpy"].js_wimpy_amReady_ask();
return wimpyISready;
} else {
wimpyISready =document["wimpy"].js_wimpy_amReady_ask();
return wimpyISready;
}
}
// The following are called by Wimpy. DO NOTE invoke these methods,
// Wimpy will call them as needed to inform you of an event.
function wimpy_amReady(retval){
wimpyIsReady = retval;
if(enableWimpyEvents){
handleWimpyInit(retval);
}
}
function wimpy_trackStarted(returnedObject){
if(enableWimpyEvents){
handleTrackStarted(returnedObject);
}
}
function wimpy_trackDone(returnedObject){
if(enableWimpyEvents){
handleTrackDone(returnedObject);
}
}
/**
* SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="