See09/main.js
author ivanl
Thu, 22 Oct 2009 15:52:58 +0100
changeset 19 f3521a11d878
permissions -rw-r--r--
See 09 widget, version 1.0rc3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     2
// Symbian Foundation Example Code
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     3
//
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     7
// the Symbian Foundation. 
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
     9
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    10
var uiManager;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    11
var homeView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    12
var mainView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    13
var scheduleView = null;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    14
var twitterView = null;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    15
var venueView = null;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    16
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    17
var schedule;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    18
var scheduleFile = "see09.csv";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    19
var scheduleUrl;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    20
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    21
var twitter;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    22
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    23
// used as a title bar in all views
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    24
var header = "<img src=home.png>";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    25
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    26
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    27
var day1 = "27-Oct-09";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    28
var day2 = "28-Oct-09";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    29
var showingDay = day1;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    30
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    31
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    32
function ShowTopicView(topic) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    33
	var topicView = new ListView(null, header);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    34
	var day = ( showingDay == day1 ) ? "day1": "day2";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    35
	var titleButton = new NavigationButton(null, day+".png", "<b>" + topic + "</b>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    36
	//titleButton.setEnabled(false);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    37
	topicView.addControl(titleButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    38
	topicView.previousView = scheduleView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    39
	addSessions(topic, topicView);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    40
	topicView.show();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    41
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    42
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    43
function addSessions(topic, topicView) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    44
	var sessions = schedule.GetSessions(topic, showingDay);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    45
	for ( var i = 0; i < sessions.length ; i++ ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    46
		var session = sessions[i];
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    47
		var content = new ContentPanel(null, null, null, true);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    48
		var contentHtml = session.GetContentHTML();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    49
		// initialize feed item control
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    50
		var title = session.title;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    51
		if ( title.length < 2 ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    52
			title = session.chair;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    53
			if (title.length < 2) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    54
				title = session.speakers;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    55
			}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    56
			title += "'s talk";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    57
		}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    58
		content.setCaption(session.startTime + ": " + title);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    59
		content.setContent(contentHtml);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    60
		content.setExpanded(false);		
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    61
		topicView.addControl(content);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    62
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    63
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    64
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    65
function ShowScheduleView(){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    66
	scheduleView = new ListView(null, header);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    67
	var title = ( showingDay == day1 ) ? "day1": "day2";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    68
	var dayButton = new NavigationButton(null, "day-icon.png", "<img src="+title+".png border=0 align=center>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    69
	//dayButton.setEnabled(false);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    70
	scheduleView.addControl(dayButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    71
	scheduleView.previousView = mainView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    72
	// add 'general' sessions
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    73
	addSessions(schedule.topics[0], scheduleView);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    74
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    75
	var trailsButton = new NavigationButton(null, "day-icon.png", "<img src=trailz.png border=0 align=center>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    76
	trailsButton.setEnabled(false);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    77
	scheduleView.addControl(trailsButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    78
	for ( var i = 1; i < schedule.topics.length ; i++ ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    79
		var topic = schedule.topics[i];
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    80
		var scheduleButton = new NavigationButton(topic, "schedule-icon"+(i%4)+".png", topic);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    81
		scheduleButton.addEventListener("ActionPerformed", function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    82
			var topic = event.source.id;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    83
			ShowTopicView(topic);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    84
		});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    85
		scheduleView.addControl(scheduleButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    86
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    87
	scheduleView.show();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    88
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    89
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    90
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    91
// Called when the data is loaded
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    92
function ShowMainView(){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    93
	if (mainView == null) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    94
		UpdateMiniView();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    95
		mainView = new ListView(null, header);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    96
		var currentSessions = schedule.GetCurrentSessions();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    97
		if (currentSessions != null) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    98
		// todo
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
    99
		}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   100
		
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   101
		var scheduleButton = new NavigationButton(null, "schedule-icon.png", "<img src='schedule.png' border=0>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   102
		scheduleButton.setEnabled(false);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   103
		mainView.addControl(scheduleButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   104
		var day1Button = new NavigationButton(null, "blank.png", "<img src=day1.png border=0 align=center>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   105
		day1Button.addEventListener("ActionPerformed", function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   106
			showingDay = day1;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   107
			ShowScheduleView();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   108
		});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   109
		mainView.addControl(day1Button);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   110
		var day2Button = new NavigationButton(null, "blank.png", "<img src=day2.png border=0 align=center>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   111
		day2Button.addEventListener("ActionPerformed", function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   112
			showingDay = day2;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   113
			ShowScheduleView();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   114
		});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   115
		mainView.addControl(day2Button);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   116
		
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   117
		venueView = new ListView(null, header);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   118
		venueView.previousView = mainView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   119
		var venueMap = new ImageLabel(null, null, "venue.png");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   120
		venueMap.contentElement.style.textAlign = "center";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   121
		venueView.addControl(venueMap);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   122
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   123
		var venueButton = new NavigationButton(null, "schedule-icon1.png", "<img src='venuelabel.png' border=0>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   124
		venueButton.addEventListener("ActionPerformed", function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   125
			venueView.show();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   126
		});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   127
		mainView.addControl(venueButton);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   128
		
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   129
		twitterView.previousView = mainView;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   130
		var twitterTitle = new NavigationButton(null, "tweetz-icon.png", "<img src='tweetz.png' border=0>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   131
		twitterTitle.addEventListener("ActionPerformed", function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   132
				if ( twitter == null ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   133
					twitter = new Twitter(twitterView);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   134
				}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   135
				twitter.Update(10);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   136
				twitterView.show();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   137
				});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   138
		mainView.addControl(twitterTitle);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   139
//		twitter = new Twitter(mainView);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   140
//		twitter.Update(10);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   141
		mainView.previousView = null;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   142
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   143
	mainView.show();	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   144
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   145
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   146
// Called from the onload event handler to initialize the widget.
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   147
function init() {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   148
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   149
    if (window.widget) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   150
        widget.setNavigationEnabled(false);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   151
        menu.showSoftkeys();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   152
        var updateMenuItem = new MenuItem("Check for updates", 0);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   153
        updateMenuItem.onSelect = CheckForUpdates;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   154
        menu.append(updateMenuItem);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   155
		setInterval("if ( IsHSViewMode() ) UpdateMiniView();", 30000); // wrt bug fix
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   156
    }
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   157
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   158
	// create UI manager
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   159
	uiManager = new UIManager(document.getElementById("main"));
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   160
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   161
	homeView = new ListView(null, "<img style='margin: 0px 0px; padding: 0px 0px; border: none' src='home.png'>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   162
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   163
	var homeViewImage2 = new ImageLabel(null, null, "logo.png");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   164
	homeViewImage2.contentElement.style.textAlign = "center";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   165
	homeView.addControl(homeViewImage2);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   166
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   167
	setDefaultFontSizeForScreenSize();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   168
	SetViewMode();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   169
	homeView.show();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   170
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   171
	twitterView = new ListView(null, "<img style='margin: 0px 0px; padding: 0px 0px; border: none' src='home.png'>");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   172
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   173
	schedule = new Schedule();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   174
	schedule.Init(scheduleFile, function(event){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   175
		ShowMainView();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   176
	});
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   177
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   178
//	if ( !window.widget ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   179
//		// for firefox / firebug testing
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   180
//		CheckForUpdates();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   181
//	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   182
	
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   183
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   184
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   185
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   186
// ////////////////////////////////////////////////////////////////
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   187
// Support for home screen view
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   188
// ////////////////////////////////////////////////////////////////
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   189
var HS_VIEW_THRESHOLD = 150;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   190
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   191
function SetViewMode(){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   192
	var mainDiv = document.getElementById("main");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   193
	var miniDiv = document.getElementById("mini");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   194
	var hsView = IsHSViewMode(); 
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   195
	if ( !hsView ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   196
		// normal view		
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   197
		mainDiv.style.visibility = 'visible';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   198
		miniDiv.style.visibility = 'hidden';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   199
		miniDiv.style.position = 'static';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   200
		miniDiv.style.top = null;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   201
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   202
	else {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   203
		// home screen view
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   204
		mainDiv.style.visibility = 'hidden';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   205
		miniDiv.style.visibility = 'visible';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   206
		miniDiv.style.position = 'absolute';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   207
		miniDiv.style.top = '0';
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   208
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   209
	setDefaultFontSizeForScreenSize();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   210
	UpdateMiniView();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   211
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   212
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   213
function IsHSViewMode() {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   214
	//var screenHeight = document.body.clientHeight;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   215
	var screenHeight = window.innerHeight;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   216
	//alert(screenHeight);
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   217
	return ( screenHeight < HS_VIEW_THRESHOLD );
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   218
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   219
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   220
function UpdateMiniView() {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   221
	var text = "";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   222
	var current;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   223
	if (schedule) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   224
		current = schedule.GetCurrentSessions();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   225
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   226
	if ( current && current.length > 0 ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   227
		text = "Now: " + current[0].title;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   228
		if ( current.length > 1 ) {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   229
			text += "<br>Now: " + current[1].title;
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   230
		}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   231
	} else if( twitter && twitter.buttons && twitter.buttons.length > 0  ){
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   232
		text = twitter.buttons[0].getText();
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   233
	} else {
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   234
		text = "Symbian Exchange & Exposition 2009<br>Earls Court 2, 27-28 October 2009" 
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   235
	}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   236
	var mini = document.getElementById("mini");
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   237
	mini.innerHTML = "<table border=0><tr><td><img src=minilogo.png></td><td><span style='font-size: 10px'>"+text+"</span></td></tr></table>";
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   238
}
f3521a11d878 See 09 widget, version 1.0rc3
ivanl
parents:
diff changeset
   239