Symbian.org/preview/script/lib/widget.js
author ivanl
Thu, 11 Jun 2009 12:40:18 +0100
changeset 4 cb6368112727
parent 0 54498df70f5d
child 10 07ac2f6a36a9
permissions -rw-r--r--
1.0rc8 - Fixed HTML cleaning function which inherited a bug from example code. The bug prevents rendering of feed entries that contain greater than and less than signs.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     1
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     2
 * Widget object constructor
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     3
 * @param {void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     4
 *     widget()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     5
 * @return {void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     6
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     7
function Widget()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     8
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     9
	//	widget identifier, dummy value
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    10
	this.identifier = 14021981;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    11
	this.isrotationsupported = true;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    12
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    13
	//	widget event triggers
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    14
	this.onshow = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    15
	this.onhide = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    16
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    17
	/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    18
	 * Custom extra functionalities to support
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    19
	 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    20
	this.path = document.location.pathname;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    21
	this.sysAPI = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    22
	this.onload = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    23
	this.opacity = 50;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    24
	this.interval = 20;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    25
	this.isFront = false;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    26
	this.preferenceArray = new Array();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    27
	this.preferenceKey  = 0;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    28
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    29
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    30
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    31
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    32
 * Launches the browser with the specified url 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    33
 * @param {String} url
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    34
 *     openURL()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    35
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    36
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    37
Widget.prototype.openURL = function(url)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    38
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    39
   if (url) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    40
	   window.open(url ,"New Widget Window",'height=200 width=250');
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    41
   }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    42
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    43
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    44
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    45
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    46
 * Returns previously stored preference associated with the specified key
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    47
 * @param {String} Key preference value to be fetch
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    48
 *     preferenceForKey()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    49
 * @return {String} Value
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    50
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    51
Widget.prototype.preferenceForKey = function(key){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    52
	var name = "Nokia_WRT#" + this.path + "#" + key;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    53
	var result = readCookie(document, name);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    54
	return result;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    55
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    56
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    57
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    58
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    59
 * Stores the key associated with the specified preference
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    60
 * @param {String} Preference value to be stored 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    61
 * @param {String} Key Preference value associated to
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    62
 *     setPreferenceForKey()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    63
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    64
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    65
Widget.prototype.setPreferenceForKey = function(preference, key)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    66
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    67
	var value;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    68
	//Specifying null for the preference parameter removes the specified key from the preferences
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    69
	if(key == null){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    70
		if(this.preferenceKey>0){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    71
			this.preferenceKey--;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    72
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    73
		//delete from cookies
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    74
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    75
	value = "Nokia_WRT#"+this.path+"#"+key;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    76
	this.preferenceArray[this.preferenceKey] = value;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    77
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    78
	createCookie(document,value,preference,240000);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    79
	this.preferenceKey++;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    80
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    81
	//save cookie for cookies
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    82
	updateMainCookie(document);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    83
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    84
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    85
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    86
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    87
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    88
 * Toggle between Tabbed navigation mode or Cursor mode
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    89
 * @param {Boolean} Value
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    90
 *     setNavigationEnabled()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    91
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    92
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    93
Widget.prototype.setNavigationEnabled = function(bool)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    94
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    95
	//This function can not be used on preview browser
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    96
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    97
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    98
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    99
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   100
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   101
 * Open S0-Application identified by UID along with the specified params
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   102
 * @param {Integer} Uid hexadecimal value to a specified application
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   103
 * @param {String} Value
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   104
 *     openApplication()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   105
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   106
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   107
Widget.prototype.openApplication = function(Uid, param)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   108
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   109
	alert("openApplication function won't be simulated in this application");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   110
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   111
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   112
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   113
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   114
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   115
 * Prepares the Widget.to do transition to specified transitionState
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   116
 * @param {String} Value Transition state
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   117
 *     prepareForTransition()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   118
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   119
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   120
Widget.prototype.prepareForTransition = function(transitionState)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   121
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   122
    this.isFront = ("" + transitionState).toLowerCase() != "toback";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   123
    window.document.getElementsByTagName("body")[0].style.opacity = "0.3";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   124
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   125
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   126
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   127
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   128
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   129
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   130
 * Does the animation to make the transition between the specified transitionState
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   131
 * @param {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   132
 *     performTransition()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   133
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   134
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   135
Widget.prototype.performTransition = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   136
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   137
    var _self = this;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   138
    this.opacity = 0;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   139
    this.interval = window.setInterval(function() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   140
      _self.opacity += 0.2;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   141
      if (_self.opacity > 1) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   142
        _self.opacity = 1;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   143
      }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   144
      window.document.getElementsByTagName("body")[0].style.opacity = _self.opacity + "";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   145
      if (_self.opacity >= 1) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   146
       window.clearInterval(_self.interval);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   147
       window.document.getElementsByTagName("body")[0].style.opacity = "1";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   148
      }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   149
      //do nothing
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   150
    }, 50);  
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   151
      //do nothing
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   152
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   153
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   154
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   155
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   156
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   157
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   158
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   159
 * Set the preferred screen orientation to landscape. 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   160
 * The display will flip if the phone display orientation 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   161
 * is portrait and the phone supports landscape mode.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   162
 * @param {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   163
 *     setDisplayLandscape()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   164
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   165
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   166
Widget.prototype.setDisplayLandscape = function(){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   167
	try 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   168
	{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   169
		if (this.isrotationsupported && childToParent_Reference.Emulator.orientation_mode != 'landscape') 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   170
		{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   171
			childToParent_Reference.Emulator.changeOrientation(childToParent_Reference.$('DisplayOrientation'));
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   172
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   173
	} 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   174
	catch (e) {}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   175
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   176
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   177
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   178
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   179
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   180
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   181
 * Set the preferred screen orientation to portrait.  
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   182
 * The display will flip if the phone display orientation 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   183
 * is landscape and the phone supports portrait mode.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   184
 * @param {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   185
 *     setDisplayPortrait()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   186
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   187
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   188
Widget.prototype.setDisplayPortrait = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   189
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   190
	try 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   191
	{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   192
		if (this.isrotationsupported && childToParent_Reference.Emulator.orientation_mode != 'portrait') 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   193
		{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   194
			childToParent_Reference.Emulator.changeOrientation(childToParent_Reference.$('DisplayOrientation'));
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   195
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   196
	} 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   197
	catch (e) {}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   198
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   199
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   200
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   201
 * Allows the definition of a function to be called 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   202
 * when a Widget.is displayed 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   203
 * @param {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   204
 *     onshow()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   205
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   206
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   207
Widget.prototype.onshow = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   208
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   209
	// to be implemented
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   210
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   211
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   212
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   213
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   214
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   215
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   216
 * Allows the definition of a function to be called 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   217
 * when a Widget.sent into the background (hidden) 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   218
 * @param {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   219
 *     onhide()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   220
 * @return {Void}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   221
 */ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   222
Widget.prototype.onhide  = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   223
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   224
	// to be implemented
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   225
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   226
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   227
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   228
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   229
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   230
 * This function returns the System API if sysinfo is included in document embed
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   231
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   232
Widget.prototype.enableSystemApi = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   233
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   234
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   235
	//	Identify, and Attach System-Info-Object properties
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   236
	try 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   237
	{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   238
		var parentIframeRef = window.parent.frames[0];
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   239
		if(parentIframeRef) 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   240
		{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   241
			if (parentIframeRef.document.embeds.length > 0) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   242
				for (var i = 0; i < parentIframeRef.document.embeds.length; i++) 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   243
				{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   244
					//match the system Info API embed tag
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   245
					if (parentIframeRef.document.embeds[i].type == 'application/x-systeminfo-widget') 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   246
					{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   247
						new systemAPI(parentIframeRef.document.embeds[i]);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   248
						widget.sysAPI = parentIframeRef.document.embeds[i];
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   249
					}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   250
				}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   251
			}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   252
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   253
	} 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   254
	catch (e) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   255
		alert('Error in attachSysInfo: ' + e);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   256
	}	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   257
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   258
	//	Attach menu object to window
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   259
	window.menu = new Menu();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   260
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   261
	// Attach window reference to the Parent Window	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   262
	window.parent.Emulator.parentToChild_Reference = window;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   263
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   264
	//	add event listener to window.focus
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   265
	window.onfocus = function(){ menu.cancel();	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   266
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   267
	//	add event listener to window.focus
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   268
	window.onunload = function()
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   269
	{ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   270
		try
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   271
		{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   272
			//	Trigger Callback of Widget.onHide function
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   273
			if(typeof(widget.onhide) == 'function')
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   274
			{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   275
				widget.onhide();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   276
			}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   277
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   278
		catch(e){ errorLog('widget.onhide: '+e.description, 0); }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   279
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   280
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   281
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   282
	/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   283
	 * Used as a bridge between, Child widget & Parent window
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   284
	 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   285
	window.childToParent_Reference = window.parent;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   286
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   287
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   288
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   289
/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   290
 * support functions for widget object
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   291
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   292
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   293
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   294
 * This function stores cookie for all the cookies
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   295
 * to help finding cookies of the same document while clearing preferences
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   296
 * @param doucment -- Document object
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   297
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   298
function updateMainCookie(doucment){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   299
	var temp="";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   300
	name = "Nokia_WRT#"+widget.path;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   301
	for (var k = 0; k<widget.preferenceArray.length; k++){
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   302
		temp = temp+"|"+widget.preferenceArray[k];
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   303
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   304
	createCookie(document,name,temp,24000);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   305
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   306
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   307
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   308
 * This function creates cookie for the setPreferenceForKey function in order to save key-pref persistently
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   309
 * 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   310
 * @param document -- Document object
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   311
 * @param name -- Name of the cookie
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   312
 * @param value -- value for the name cookie
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   313
 * @param days -- expire
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   314
 * 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   315
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   316
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   317
function createCookie(document,name,value,days) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   318
    if (days) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   319
		var date = new Date();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   320
		date.setTime(date.getTime()+(days*24*60*60*1000));
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   321
		var expires = "; expires="+date.toGMTString();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   322
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   323
	else var expires = "";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   324
	document.cookie = name+"="+value+expires+"; path=/"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   325
} 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   326
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   327
/**
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   328
 * This function retrieves back the values from the cookies
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   329
 * @param document
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   330
 * @param name
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   331
 * @return
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   332
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   333
function readCookie(document , name) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   334
	var nameEQ = name + "=";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   335
	var ca = document.cookie.split(';');
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   336
	for(var i=0;i < ca.length;i++) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   337
		var c = ca[i];
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   338
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   339
		if (c.indexOf(nameEQ) == 0) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   340
			return c.substring(nameEQ.length,c.length);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   341
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   342
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   343
	return undefined;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   344
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   345
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   346
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   347
/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   348
 * /////////////////////////////////////////////////////////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   349
 * //////////////////////////////	  Ends here		  //////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   350
 * /////////////////////////////////////////////////////////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   351
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   352
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   353
function errorLog(str, flag)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   354
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   355
//	alert(str);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   356
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   357
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   358
/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   359
 * by John Resig
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   360
 * @reference: http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   361
 */
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   362
function addEvent( obj, type, fn ){ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   363
   if (obj.addEventListener){ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   364
      obj.addEventListener( type, fn, false );
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   365
   }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   366
   else if (obj.attachEvent){ 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   367
      obj["e"+type+fn] = fn; 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   368
      obj[type+fn] = function(){ obj["e"+type+fn]( window.event ); } 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   369
      obj.attachEvent( "on"+type, obj[type+fn] ); 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   370
   } 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   371
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   372
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   373
/*
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   374
 * 		Create a new Widget Object when DOM ready
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   375
 * 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   376
*/
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   377
try 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   378
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   379
	//	attach widget object to window
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   380
	var widget = new Widget();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   381
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   382
	//	attach the System-Info api specific functionality
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   383
	addEvent(window, 'load', widget.enableSystemApi);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   384
} 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   385
catch (e) 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   386
{
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   387
	alert('Exception: Widget object creation');
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   388
}