X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=wrt%2Fmisc%2Frss%2Fpreview%2Fscript%2Flib%2Floader.js;fp=wrt%2Fmisc%2Frss%2Fpreview%2Fscript%2Flib%2Floader.js;h=18366a997a89cc0e998cbcdc2a11f91650ab680a;hb=29fa83d8856e6aedacac394735fea72038630bde;hp=0000000000000000000000000000000000000000;hpb=07b7b456f3e68d859a32f48ecdc0dfbdf2bf7c83;p=ptas diff --git a/wrt/misc/rss/preview/script/lib/loader.js b/wrt/misc/rss/preview/script/lib/loader.js new file mode 100644 index 0000000..18366a9 --- /dev/null +++ b/wrt/misc/rss/preview/script/lib/loader.js @@ -0,0 +1,179 @@ +/* + * 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