mpviewplugins/mpdetailsviewplugin/resources/index.html
changeset 32 c163ef0b758d
parent 29 8192e5b5c935
--- a/mpviewplugins/mpdetailsviewplugin/resources/index.html	Thu May 27 12:49:57 2010 +0300
+++ b/mpviewplugins/mpdetailsviewplugin/resources/index.html	Fri Jun 11 13:36:36 2010 +0300
@@ -8,23 +8,41 @@
 		<link type="text/css" rel="stylesheet" href="musiccontext.css" />		<!-- CSS for music context area -->
 		
 		<!-- Player scripts -->
-        <script type="text/javascript" src="http://hf.ci.wipsl.com/PleiXXPTsup/noheva-be/js/publishplayer.js"></script>        
+        <script type="text/javascript" src="http://hf.ci.wipsl.com/PleiXXPTsup/noheva-be/js/publishplayer.js"></script>
 		
 		<!-- Local stuff to be implemented by user application to provide the contextual information -->
 		<script type="text/javascript" src="musiccontext.js"></script>
+		
+		<!-- Error recovery in case page player script loading fails -->
+		 <script type="text/javascript">
+		 var mybody = {
+				onLoad: function () {
+					if (window['music'] &&
+						window['ovi'] &&
+						ovi['player'] &&
+						ovi.player['publish'] ) {
+						music.initPlayer();
+						music.updateContextArea();
+					} else {
+						showErrorMessage();
+					}
+				},
+				onFocus: function () {
+					if (window['music']) {
+						music.updateContextArea();
+					}
+				}
+			}
+			function showErrorMessage() {
+				var errorUi = "<H1>" + window.context.errorMessage() + "</H1>";
+				errorUi += "<input type='button' value='Close' onClick='context.owner().closeShareDialog();'>";
+				document.getElementById("ovi.player.share.ui").innerHTML = errorUi;
+			}
+		</script>		
+
     </head>
 	<!-- onfocus refreshes only the song when publishplayer is set active / deactive -->
-    <body onload="music.initPlayer(); music.updateContextArea();" 
-          onfocus="music.updateContextArea();">
-	<div id="ovi.player.share.ui">
-		<h1>Loading...</h1>
-		<input type="button" value="Close" onClick="context.owner().closeShareDialog();">
-		<input type="button" value="updateContextArea" onClick="music.updateContextArea();">
-		<input type="button" value="Clear JS Cache" onClick="window.context.owner().clearCache();">
-	</div>
-		<!-- Now we should have publishplayer loaded, check and report error if failed -->
-		<script type="text/javascript">			
-            music.playerLoaded();
-		</script>
+    <body onload="mybody.onLoad();" onfocus="mybody.onFocus();">
+		<div id="ovi.player.share.ui"></div>
     </body>
 </html>