--- /dev/null
+/*
+ * Emulator, which manages the device interacations
+ */
+if (typeof _BRIDGE_REF == "undefined" || !_BRIDGE_REF) {
+
+ var _BRIDGE_REF = {
+ parent: window.parent || false,
+ nokia: window.parent.NOKIA || false,
+ sysInfoObject : null
+ };
+
+ _BRIDGE_REF.namespace = function(name){
+ var parts = name.split('.');
+ var current = _BRIDGE_REF;
+ for (var key in parts) {
+ if (!current[parts[key]]) {
+ current[parts[key]] = {};
+ }
+ current = current[parts[key]];
+ }
+ };
+
+ /*
+ * _BRIDGE_REF.helper functions
+ */
+ _BRIDGE_REF.namespace('helper.loadScript');
+ _BRIDGE_REF.helper = {
+ path: document.location.pathname,
+ loadScript: function(path){
+ var head = document.getElementsByTagName("head")[0] || document.documentElement;
+ var script = document.createElement("script");
+
+ script.type = "text/javascript";
+ script.src = path;
+ head.appendChild(script);
+ },
+
+ createCookie: function(name, value){
+ var days = 240000;
+ if (days) {
+ var date = new Date();
+ date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
+ var expires = "; expires=" + date.toGMTString();
+ }
+ else
+ var expires = "";
+ var value = "Nokia_WRT#" + _BRIDGE_REF.helper.path + "#" + name + "=" + value;
+ document.cookie = value + expires + "; Emulator.path=/"
+ },
+
+ readCookie: function(name){
+ name = "Nokia_WRT#" + _BRIDGE_REF.helper.path + "#" + name;
+ var nameEQ = name + "=";
+ var ca = document.cookie.split(';');
+ for (var i = 0; i < ca.length; i++) {
+ var c = ca[i];
+ while (c.charAt(0) == ' ')
+ c = c.substring(1, c.length);
+ if (c.indexOf(nameEQ) == 0) {
+ return c.substring(nameEQ.length, c.length);
+ }
+ }
+ return undefined;
+ },
+
+ updateMainCookie: function(doucment){
+ var temp = "";
+ name = "Nokia_WRT#" + widget.path;
+ for (var k = 0; k < widget.preferenceArray.length; k++) {
+ temp = temp + "|" + widget.preferenceArray[k];
+ }
+ this.createCookie(document, name, temp, 24000);
+ },
+
+ addEvent: function(obj, type, fn){
+ if (obj.addEventListener) {
+ obj.addEventListener(type, fn, false);
+ }
+ else
+ if (obj.attachEvent) {
+ obj["e" + type + fn] = fn;
+ obj[type + fn] = function(){
+ obj["e" + type + fn](window.event);
+ }
+ obj.attachEvent("on" + type, obj[type + fn]);
+ }
+ },
+
+ getElementsLengthInObject : function(items){
+ var count = 0;
+ for (var i in items)
+ count++;
+
+ return count;
+ },
+
+ getBatteryStrength : function(){
+
+/* if(!_BRIDGE_REF.sysInfoObject)
+ _BRIDGE_REF.sysInfoObject = device.getServiceObject("Service.SysInfo", "ISysInfo");
+
+ var result = _BRIDGE_REF.sysInfoObject.ISysInfo.GetInfo({
+ Entity : 'Battery',
+ Key : 'ChargingStatus'
+ });
+
+ if(!result.ErrorCode)
+ {
+ return result.Status;
+ }else
+ {
+ alert('Error in getting Battery Strength: '+result.ErrorCode);
+ return 0;
+ }
+ if(typeof device.implementation.data["Service.SysInfo"].default.battery.batterystrength.Status != 'undefined')
+ return device.implementation.data["Service.SysInfo"].default.battery.batterystrength.Status;
+ else
+ return 0;
+*/
+ },
+
+ console : function(){
+ if (!typeof window.console) {
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/console.js");
+ }
+ }
+
+ };
+
+
+ /*
+ Load Scripts
+ */
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/widget.js");
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/systeminfo.js");
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/menu.js");
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/menuItem.js");
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/console.js");
+
+ // Inject SAPI scripts
+ if (_BRIDGE_REF.nokia) {
+ var wrtVersion = _BRIDGE_REF.nokia.helper.readCookie('_WRT_VERSION');
+ if ((typeof wrtVersion == 'undefined') || (wrtVersion == 'WRT 1.1')) {
+ _BRIDGE_REF.nokia.version = 'WRT 1.1';
+ _BRIDGE_REF.nokia.helper.createCookie('_WRT_VERSION', 'WRT 1.1');
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/device.js");
+ }
+ else {
+ _BRIDGE_REF.nokia.version = 'WRT 1.0';
+ }
+ }
+ else {
+ _BRIDGE_REF.helper.loadScript("preview/script/lib/device.js");
+ }
+
+ /*
+ window native functions over-riding
+ */
+ if ( (typeof window.frameElement != 'undefined') && (typeof _BRIDGE_REF.nokia != 'undefined') && window !== window.parent) {
+ // alert
+ window.alert = function(msg){
+ return window.parent.alert(msg);
+ };
+
+ // confirm
+ window.confirm = function(msg){
+ return window.parent.confirm(msg);
+ };
+
+ // prompt
+ window.prompt = function(msg, str){
+ return window.parent.prompt(msg, str)
+ };
+ }
+
+ // make TRUE loader.js script loaded
+ window.parent.NOKIA.scriptsLoaded.loader = true;
+
+}
\ No newline at end of file