[Captivate Themes and Apps] silent.bob:
so my Java script isn't that great, but as far as I can tell, the nrdp.js file might lead us in the right direction.

In the script it is grabbing a lot of information about the device and passing across.

Pulled from the file

if (typeof nrdp != 'undefined')
{
return;
}

nrdp = new Object();

nrdp.debug = ##NRDP_DEBUG##;

nrdp.exit = function()
{
n_device_api.exit();
};

nrdp.device = new Object();

nrdp.device.getSoftwareVersion = function()
{
return String(n_device_api.getSoftwareVersion());
};

nrdp.device.getCertificationVersion = function()
{
return String(n_device_api.getCertificationVersion());
};

nrdp.device.getESN = function()
{
return String(n_device_api.getESN());
};

nrdp.device.getESNPrefix = function()
{
return String(n_device_api.getESNPrefix());
};

nrdp.device.setUIVersion = function(version)
{
n_device_api.setUIVersion(version);
};

nrdp.device.isScreensaverOn = function()
{
return (n_device_api.isScreensaverOn() == 'true');
};

nrdp.device.hasPointer = function()
{
return (n_device_api.hasPointer() == 'true');
};

nrdp.device.hasKeyboard = function()
{
return (n_device_api.hasKeyboard() == 'true');
};

nrdp.device.hasOnScreenKeyboard = function()
{
return (n_device_api.hasOnScreenKeyboard() == 'true');
};

nrdp.device.getLanguage = function()
{
return String(n_device_api.getLanguage());
};

nrdp.device.launchUrl = function(url)
{
n_device_api.launchUrl(url);
};

nrdp.device.notifyOnLogin = function()
{
n_device_api.notifyOnLogin();
};

nrdp.device.notifyOnLogout = function()
{
n_device_api.notifyOnLogout();
};

nrdp.device.injectKey = function(keyCode)
{
n_device_api.injectKey(keyCode);
};

nrdp.device.isConnected = function()
{
return (n_device_api.isConnected() == 'true');
};

nrdp.webapi = new Object();

nrdp.webapi.getConsumerKey = function()
{
return n_web_api.getConsumerKey();
};

nrdp.webapi.getConsumerSecret = function()
{
return String(n_web_api.getConsumerSecret());
};

nrdp.webapi.hmacSha1 = function(key, plaintext, handler)
{
try
{
if (typeof(handler) !== 'undefined' && handler !== null)
{
var encValue = n_web_api.hmacSha1(key, plaintext);
handler(encValue);
}
}
catch (e)
{
console.log('ERROR: ' + e);
}
};

nrdp.video = new Object();

nrdp.video.setGlobalEventListener = function(listener)
{
var events = String(n_video_api.getEvents());
var eventArray = events.split(" ");
if(typeof(listener) != 'undefined' && listener != null)
{
for(i = 0; i < eventArray.length; i++){
document.addEventListener(eventArray[i], listener, false);
}
} else {
for(i = 0; i < eventArray.length; i++){
document.removeEventListener(eventArray[i], nrdp.video._globalEventListener, false);
}
}
nrdp.video._globalEventListener = listener;
};

nrdp.video.addEventListener = function(type, listener, useCapture)
{
document.addEventListener(type, listener, useCapture);
};

nrdp.video.removeEventListener = function(type, listener, useCapture)
{
document.removeEventListener(type, listener, useCapture);
};

nrdp.video.dispatchEvent = function(evt)
{
document.dispatchEvent(evt);
};

nrdp.video._dispatchEvent = function(evt_type, evt_name)
{
var evt = document.createEvent(evt_type);
evt.initEvent(evt_name, true, true);
nrdp.video.dispatchEvent(evt);
};

nrdp.video._dispatchProgressEvent = function(evt_type, evt_name, loaded, total)
{
var evt = document.createEvent(evt_type);
evt.initEvent(evt_name, false, false);
evt.loaded = loaded;
evt.total = total;
evt.lengthComputable = true;
evt.loadedItems = 0;
evt.totalItems = 0;
nrdp.video.dispatchEvent(evt);
};

nrdp.video.getLastPlayedMovieData = function()
{
return eval('(' + String(n_video_api.getLastPlayedMovieData()) + ')');
};

nrdp.debug = new Object();

nrdp.debug.console = new Object();

nrdp.debug.console.log = function(message)
{
console.log(message);
};

nrdp.debug.console.warn = function(message)
{
console.log('WARN: ' + message);
};

nrdp.debug.console.error = function(message)
{
console.log('ERROR: ' + message);
};