/**
 * This file is part of the smilText parser implemented in JavaScript,
 *
 * Copyright (C) 2003-2009 Stichting CWI, 
 * Science Park 123, 1098 XG Amsterdam, The Netherlands.
 *
 * smilText parser in JavaScript is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * smilText parser in JavaScript is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with smilText parser in JavaScript; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

/**
 @version 1.0
 @author <a href="mailto:rlaiola@cwi.nl">Rodrigo Laiola Guimaraes</a>
*/

var ytVideoURL=null;currentPlayer="youtube";function embedYTPlayer(){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){var b=document.createElement("script");b.src="http://www.youtube.com/player_api";var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c);if(!embededMode){var a=document.createElement("style");a.type="text/css";cssCode="#gritter-notice-wrapper { top: 125%; }";if(a.styleSheet){a.styleSheet.cssText=cssCode}else{a.appendChild(document.createTextNode(cssCode))}document.getElementsByTagName("head")[0].appendChild(a)}}else{var d={allowScriptAccess:"always"};var e={id:"myytplayer"};swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=player","ytplaceholder","433","333","8",null,null,d,e)}stDoc.play()}var old_deletePlayer=window.deletePlayer;function deletePlayer(b,c,a){}var old_createPlayer=window.createPlayer;function createPlayer(c,a,b,d){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){}else{}stDoc.play()}function onYouTubePlayerAPIReady(){document.getElementById("ytplaceholder").innerHTML="";if(embededMode){MyCreatePlayer()}}function MyCreatePlayer(b){ytAddListeners();var a=gup("videoURL");if(a){b=a.replace("http://www.youtube.com/embed/","")}player=new YT.Player("ytplaceholder",{width:"456px",height:"1px",videoId:b,playerVars:{autoplay:1,controls:0,autohide:0,enablejsapi:1},events:{onReady:onPlayerReady,onStateChange:ytStateListener,onError:errorListener}});if(firstLoading){if(a){goPlay()}if(subURL){showLoadingDialog();stDoc=cwi.smilText.Parser.parseString(subURL,"sub");pause();stDoc.setExternalClock(true);populateSubtitles();hideLoadingDialog()}else{if(subStr){showLoadingDialog();stDoc=cwi.smilText.Parser.parseString(subStr,"sub");pause();stDoc.setExternalClock(true);populateSubtitles();hideLoadingDialog()}}firstLoading=false}setInterval(updateytplayerInfo,100);updateytplayerInfo()}function onPlayerReady(a){}function onYouTubePlayerReady(b){player=document.getElementById("myytplayer");ytAddListeners();if(firstLoading){var a=gup("videoURL");if(a){playVideo(a)}if(subURL){showLoadingDialog();stDoc=cwi.smilText.Parser.parseString(subURL,"sub");pause();stDoc.setExternalClock(true);populateSubtitles();hideLoadingDialog()}else{if(subStr){showLoadingDialog();stDoc=cwi.smilText.Parser.parseString(subStr,"sub");pause();stDoc.setExternalClock(true);populateSubtitles();hideLoadingDialog()}}firstLoading=false}setInterval(updateytplayerInfo,100);updateytplayerInfo()}function ytAddListeners(){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){}else{player.addEventListener("onStateChange","ytStateListener");player.addEventListener("onError","errorListener")}}}function errorListener(a){alert("YoutTube error listener: "+a);goHome()}function ytStateListener(a){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){a=a.data}else{}switch(a){case 0:a="ENDED";break;case 1:a="PLAYING";break;case 2:a="PAUSED";break;case 3:a="BUFFERING";break;case 5:a="CUED";break;default:a="IDLE"}updateHTML("playerstate",a);var b=getPlayerState();if(b===1){if(stDoc){stDoc.play()}document.getElementById("playButton").style.display="none";document.getElementById("pauseButton").style.display="inline"}else{document.getElementById("playButton").style.display="inline";document.getElementById("pauseButton").style.display="none"}}function updateytplayerInfo(){if(currentPlayer=="youtube"){updateNormalPlayerInfo();ytPositionListener();ytLoadedListener()}}function ytPositionListener(){updateTimebar();updateHTML("durationTimeBar",formatTime(getDuration()));updateHTML("timeTimeBar",formatTime(getCurrentTime()));updateHTML("videotime",formatTime(getCurrentTime()))}function ytLoadedListener(c){var a=0;var d=0;if(player){try{a=player.getVideoBytesLoaded();d=player.getVideoBytesTotal()-a}catch(b){}}updateHTML("bytesloaded",a);updateHTML("bytesremain",d);updateHTML("videodur",formatTime(getDuration()))}function ytPrintItemData(){if(player){updateHTML("titlevideo",currentTitle);updateHTML("authorvideo",currentAuthor);updateHTML("linkvideo",currentURL);updateHTML("descvideo",currentDescription)}}function ytInitPlayer(a){ytVideoURL=a;currentURL=a;ytPrintItemData();if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){a=a.replace("http://www.youtube.com/embed/","");if(!player){MyCreatePlayer(a)}else{player.loadVideoById(a)}}else{player.loadVideoByUrl(a)}}var old_play=window.play;window.play=function(){try{if(currentPlayer=="youtube"){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){removeAllWarnings();resetCaptionMode();resetCommentMode();player.playVideo();stDoc.play()}else{if(player.getVideoUrl()){removeAllWarnings();resetCaptionMode();resetCommentMode();player.playVideo();stDoc.play()}else{alert(selectVideo);goHome()}}}else{alert(playerNotLoaded)}}else{old_play()}}catch(a){goHome()}};var old_pause=window.pause;window.pause=function(){try{if(currentPlayer=="youtube"){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){player.pauseVideo();stDoc.pause()}else{if(player.getVideoUrl()){if(player.getPlayerState()==1){player.pauseVideo()}stDoc.pause()}else{}}}else{}}else{old_pause()}}catch(a){}};var old_stop=window.stop;window.stop=function(){try{if(currentPlayer=="youtube"){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){player.pauseVideo();stDoc.stop()}else{if(player.getVideoUrl()){player.stopVideo();stDoc.stop()}else{alert(selectVideo);goHome()}}}else{alert(playerNotLoaded)}}else{old_stop()}}catch(a){goHome()}};var old_getDuration=window.getDuration;window.getDuration=function(){try{if(currentPlayer=="youtube"){if(player){return player.getDuration()}return 0}else{return old_getDuration()}}catch(a){}};var old_getCurrentTime=window.getCurrentTime;window.getCurrentTime=function(){try{if(currentPlayer=="youtube"){try{if(player){return player.getCurrentTime()}return 0}catch(b){}return 0}else{return old_getCurrentTime()}}catch(a){}};var old_getPlayerState=window.getPlayerState;window.getPlayerState=function(){try{if(currentPlayer=="youtube"){if(player){return player.getPlayerState()}return -1}else{return old_getPlayerState()}}catch(a){}};var old_getCurrentVideoURL=window.getCurrentVideoURL;window.getCurrentVideoURL=function(){try{if(currentPlayer=="youtube"){if(player){return ytVideoURL}return null}else{return old_getCurrentVideoURL()}}catch(a){}};var old_mute=window.mute;var oldVolume=null;window.mute=function(){try{if(currentPlayer=="youtube"){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){oldVolume=player.getVolume();player.setVolume(0)}else{player.mute()}document.getElementById("unmuteButton").style.display="none";document.getElementById("muteButton").style.display="inline"}}else{old_mute()}}catch(a){}};var old_unMute=window.unMute;window.unMute=function(){try{if(currentPlayer=="youtube"){if(player){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){player.setVolume(oldVolume)}else{player.unMute()}document.getElementById("unmuteButton").style.display="inline";document.getElementById("muteButton").style.display="none"}}else{old_unMute()}}catch(a){}};var old_seekTo=window.seekTo;window.seekTo=function(b){try{if(currentPlayer=="youtube"){if(player){player.seekTo(b,true);stDoc.seekTo(b*1000)}}else{old_seekTo(b)}}catch(a){}};var old_alertContents=window.alertContents;window.alertContents=function(){if(http_request.readyState==4){if(http_request.status==200){try{var a=http_request.responseText;hideLoadingDialog();if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){a=a.replace("http://www.youtube.com/v/","http://www.youtube.com/embed/")}currentURL=a;currentItem=a;videoURL=a;if(videoURL){if((videoURL.match("^http://www.youtube.com/")!="http://www.youtube.com/")){setCurrentPlayer("jw")}else{setCurrentPlayer("youtube")}}if(currentPlayer=="youtube"){ytInitPlayer(videoURL)}else{initPlayer(videoURL,currentSkin,"true",theType)}}catch(b){alert(requestFailed);goHome()}}else{alert(requestFailed);goHome()}}};var old_embedPlayer=window.embedPlayer;window.embedPlayer=function(){embedYTPlayer();old_embedPlayer();if(currentPlayer=="youtube"){if(BrowserDetect.OS=="iPad"||BrowserDetect.OS=="iPhone/iPod"){document.getElementById("wrapper2").style.display="block";document.getElementById("wrapper").style.display="none";document.getElementById("playBackButtons").style.display="none";document.getElementById("slider").style.display="none";document.getElementById("timebar").style.display="none";try{document.getElementById("uploadB").style.display="none";document.getElementById("downloadB").style.display="none"}catch(a){}}else{document.getElementById("wrapper").style.display="none";document.getElementById("wrapper2").style.display="block"}}else{document.getElementById("wrapper").style.display="block";document.getElementById("wrapper2").style.display="none"}};var old_handleVolume=window.handleVolume;window.handleVolume=function(){if(currentPlayer=="youtube"){if(player&&player.isMuted()){unMute()}else{mute()}}else{old_handleVolume()}};function setCurrentPlayer(a){currentPlayer=a;if(currentPlayer=="youtube"){document.getElementById("wrapper").style.display="none";document.getElementById("wrapper2").style.display="block"}else{document.getElementById("wrapper").style.display="block";document.getElementById("wrapper2").style.display="none"}};
