From 633d7826c9577ff687eae33d208f9f5faa9aa1b6 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 26 Jul 2011 16:58:46 +0200 Subject: [PATCH 1/7] remove debug alert --- files/js/filelist.js | 1 - 1 file changed, 1 deletion(-) diff --git a/files/js/filelist.js b/files/js/filelist.js index 08cf024547..467168df95 100644 --- a/files/js/filelist.js +++ b/files/js/filelist.js @@ -58,7 +58,6 @@ FileList={ } } } - alert(pos); if(fileElements.length){ if(pos==-1){ $(fileElements[0]).before(element); From d6d38ac3fafa2c73e3da09a060ad1ae20949a26c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 26 Jul 2011 21:18:13 +0200 Subject: [PATCH 2/7] only load image viewer when in the file browser --- apps/files_imageviewer/appinfo/app.php | 6 ++++-- apps/files_imageviewer/appinfo/info.xml | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/files_imageviewer/appinfo/app.php b/apps/files_imageviewer/appinfo/app.php index bc0059b8b6..50a7253e01 100644 --- a/apps/files_imageviewer/appinfo/app.php +++ b/apps/files_imageviewer/appinfo/app.php @@ -1,6 +1,8 @@ diff --git a/apps/files_imageviewer/appinfo/info.xml b/apps/files_imageviewer/appinfo/info.xml index f658409be7..f3b5a67960 100644 --- a/apps/files_imageviewer/appinfo/info.xml +++ b/apps/files_imageviewer/appinfo/info.xml @@ -1,7 +1,7 @@ - files_imageview - Imageviewer + files_imageviewer + Image Viewer Simple image viewer for owncloud 1.0 AGPL From 344b7f548b2dd0510612478b7e5402a39a368026 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 26 Jul 2011 22:21:28 +0200 Subject: [PATCH 3/7] only show songs for which the current user has songs indexed --- apps/media/ajax/api.php | 2 ++ apps/media/lib_collection.php | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/media/ajax/api.php b/apps/media/ajax/api.php index bd18bb51b5..0ccfb63f41 100644 --- a/apps/media/ajax/api.php +++ b/apps/media/ajax/api.php @@ -67,10 +67,12 @@ if($arguments['action']){ $artists=OC_MEDIA_COLLECTION::getArtists(); foreach($artists as &$artist){ $artist['albums']=OC_MEDIA_COLLECTION::getAlbums($artist['artist_id']); + $artistHasSongs=false; foreach($artist['albums'] as &$album){ $album['songs']=OC_MEDIA_COLLECTION::getSongs($artist['artist_id'],$album['album_id']); } } + echo json_encode($artists); break; case 'scan': diff --git a/apps/media/lib_collection.php b/apps/media/lib_collection.php index 7429379bcb..6e2011675a 100644 --- a/apps/media/lib_collection.php +++ b/apps/media/lib_collection.php @@ -123,13 +123,14 @@ class OC_MEDIA_COLLECTION{ if(!$exact and $search!='%'){ $search="%$search%"; } - $query=OC_DB::prepare("SELECT * FROM *PREFIX*media_artists WHERE artist_name LIKE ?"); - $artists=$query->execute(array($search))->fetchAll(); - if(is_array($artists)){ - return $artists; - }else{ - return array(); + $query=OC_DB::prepare("SELECT DISTINCT *PREFIX*media_artists.artist_name AS name , *PREFIX*media_artists.artist_id AS id FROM *PREFIX*media_artists + INNER JOIN *PREFIX*media_songs ON *PREFIX*media_artists.artist_id=*PREFIX*media_songs.song_artist WHERE artist_name LIKE ? AND *PREFIX*media_songs.song_user=?"); + $artists=$query->execute(array($search,OC_USER::getUser()))->fetchAll(); + $result=array(); + foreach($artists as $artist){ + $result[$artist['id']]=array('artist_name'=>$artist['name'],'artist_id'=>$artist['id']); } + return $result; } /** @@ -175,11 +176,13 @@ class OC_MEDIA_COLLECTION{ } $query=OC_DB::prepare($cmd); $albums=$query->execute($params)->fetchAll(); - if(is_array($albums)){ - return $albums; - }else{ - return array(); + $result=array(); + foreach($albums as $album){ + if(count(self::getSongs($album['album_artist'],$album['album_id']))){ + $result[$album['album_id']]=$album; + } } + return $result; } /** From 59e55b711b36a41c4e4c621b5a46f9d601e15c38 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 27 Jul 2011 08:55:32 +0200 Subject: [PATCH 4/7] updated localization files again --- l10n/templates/admin.pot | 73 +++++++---------- l10n/templates/core.pot | 158 ++++++++++++++---------------------- l10n/templates/help.pot | 4 +- l10n/templates/log.pot | 2 +- l10n/templates/settings.pot | 2 +- 5 files changed, 94 insertions(+), 145 deletions(-) diff --git a/l10n/templates/admin.pot b/l10n/templates/admin.pot index e2dffbc06a..411ecacce9 100644 --- a/l10n/templates/admin.pot +++ b/l10n/templates/admin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 00:58+0200\n" +"POT-Creation-Date: 2011-07-27 08:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,8 +33,7 @@ msgstr "" msgid "Cannot connect to apps repository" msgstr "" -#: ../templates/apps.php:13 ../templates/users.php:6 ../templates/users.php:20 -#: ../templates/users.php:50 ../templates/users.php:15 +#: ../templates/apps.php:13 ../templates/users.php:6 ../templates/users.php:15 #: ../templates/users.php:51 msgid "Name" msgstr "" @@ -51,52 +50,42 @@ msgstr "" msgid "System Settings" msgstr "" -#: ../templates/users.php:13 -msgid "Add user" +#: ../templates/users.php:2 +msgid "Users" msgstr "" -#: ../templates/users.php:21 ../templates/users.php:16 -msgid "Password" -msgstr "" - -#: ../templates/users.php:30 -msgid "Create user" -msgstr "" - -#: ../templates/users.php:40 ../templates/users.php:68 -#: ../templates/users.php:37 ../templates/users.php:69 -msgid "remove" -msgstr "" - -#: ../templates/users.php:46 ../templates/users.php:7 -#: ../templates/users.php:47 +#: ../templates/users.php:7 ../templates/users.php:47 msgid "Groups" msgstr "" -#: ../templates/users.php:58 ../templates/users.php:59 -msgid "Create group" -msgstr "" - -#: ../templates/users.php:94 ../templates/users.php:95 -msgid "Force new password:" -msgstr "" - -#: ../templates/users.php:96 ../templates/users.php:97 -msgid "Set" -msgstr "" - -#: ../templates/users.php:102 ../templates/users.php:103 -msgid "Do you really want to delete user" -msgstr "" - -#: ../templates/users.php:109 ../templates/users.php:110 -msgid "Do you really want to delete group" -msgstr "" - -#: ../templates/users.php:1 ../templates/users.php:2 -msgid "Users" +#: ../templates/users.php:16 +msgid "Password" msgstr "" #: ../templates/users.php:25 msgid "Create" msgstr "" + +#: ../templates/users.php:37 ../templates/users.php:69 +msgid "remove" +msgstr "" + +#: ../templates/users.php:59 +msgid "Create group" +msgstr "" + +#: ../templates/users.php:95 +msgid "Force new password:" +msgstr "" + +#: ../templates/users.php:97 +msgid "Set" +msgstr "" + +#: ../templates/users.php:103 +msgid "Do you really want to delete user" +msgstr "" + +#: ../templates/users.php:110 +msgid "Do you really want to delete group" +msgstr "" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index fba9be1d0d..8b73bf7ef1 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 00:58+0200\n" +"POT-Creation-Date: 2011-07-27 08:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,104 +21,6 @@ msgstr "" msgid "Error 404, Cloud not found" msgstr "" -#: ../templates/installation.php:6 -msgid "Welcome to ownCloud, your personnal cloud." -msgstr "" - -#: ../templates/installation.php:7 -msgid "To finish the installation, please follow the steps below." -msgstr "" - -#: ../templates/installation.php:26 -msgid "Create an admin account." -msgstr "" - -#: ../templates/installation.php:27 -msgid "Login:" -msgstr "" - -#: ../templates/installation.php:28 -msgid "Password:" -msgstr "" - -#: ../templates/installation.php:31 -msgid "Advanced" -msgstr "" - -#: ../templates/installation.php:34 -msgid "Set where to store the data." -msgstr "" - -#: ../templates/installation.php:35 -msgid "Data directory:" -msgstr "" - -#: ../templates/installation.php:39 -msgid "Configure your database." -msgstr "" - -#: ../templates/installation.php:43 -msgid "I will use a SQLite database. You have nothing to do!" -msgstr "" - -#: ../templates/installation.php:46 -msgid "SQLite" -msgstr "" - -#: ../templates/installation.php:53 -msgid "I will use a MySQL database." -msgstr "" - -#: ../templates/installation.php:59 ../templates/installation.php:62 -msgid "Host:" -msgstr "" - -#: ../templates/installation.php:60 ../templates/installation.php:61 -msgid "Database name:" -msgstr "" - -#: ../templates/installation.php:61 ../templates/installation.php:63 -msgid "Table prefix:" -msgstr "" - -#: ../templates/installation.php:62 -msgid "MySQL user login:" -msgstr "" - -#: ../templates/installation.php:63 -msgid "MySQL user password:" -msgstr "" - -#: ../templates/installation.php:68 ../templates/installation.php:69 -msgid "Finish setup" -msgstr "" - -#: ../templates/layout.guest.php:20 ../templates/layout.guest.php:33 -msgid "" -"ownCloud is a personal cloud which runs " -"on your own server.

" -msgstr "" - -#: ../templates/login.php:6 -msgid "Login failed!" -msgstr "" - -#: ../templates/logout.php:1 -msgid "You are logged out." -msgstr "" - -#: ../templates/part.pagenavi.php:6 -msgid "prev" -msgstr "" - -#: ../templates/part.pagenavi.php:26 -msgid "next" -msgstr "" - -#: ../templates/part.searchbox.php:3 -msgid "Search" -msgstr "" - #: ../templates/installation.php:6 msgid "ownCloud is your personal web storage." msgstr "" @@ -139,6 +41,18 @@ msgstr "" msgid "Password" msgstr "" +#: ../templates/installation.php:31 +msgid "Advanced" +msgstr "" + +#: ../templates/installation.php:34 +msgid "Set where to store the data." +msgstr "" + +#: ../templates/installation.php:35 +msgid "Data directory:" +msgstr "" + #: ../templates/installation.php:39 msgid "Configure the database." msgstr "" @@ -147,6 +61,10 @@ msgstr "" msgid "SQLite will be used for the database. You have nothing to do." msgstr "" +#: ../templates/installation.php:46 +msgid "SQLite" +msgstr "" + #: ../templates/installation.php:53 msgid "MySQL will be used for the database." msgstr "" @@ -159,6 +77,48 @@ msgstr "" msgid "MySQL password:" msgstr "" +#: ../templates/installation.php:61 +msgid "Database name:" +msgstr "" + +#: ../templates/installation.php:62 +msgid "Host:" +msgstr "" + +#: ../templates/installation.php:63 +msgid "Table prefix:" +msgstr "" + +#: ../templates/installation.php:69 +msgid "Finish setup" +msgstr "" + +#: ../templates/layout.guest.php:33 +msgid "" +"ownCloud is a personal cloud which runs " +"on your own server.

" +msgstr "" + +#: ../templates/login.php:6 +msgid "Login failed!" +msgstr "" + #: ../templates/login.php:11 ../templates/login.php:15 msgid "Remember login" msgstr "" + +#: ../templates/logout.php:1 +msgid "You are logged out." +msgstr "" + +#: ../templates/part.pagenavi.php:6 +msgid "prev" +msgstr "" + +#: ../templates/part.pagenavi.php:26 +msgid "next" +msgstr "" + +#: ../templates/part.searchbox.php:3 +msgid "Search" +msgstr "" diff --git a/l10n/templates/help.pot b/l10n/templates/help.pot index f5dadd81f2..362fdf123d 100644 --- a/l10n/templates/help.pot +++ b/l10n/templates/help.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 00:58+0200\n" +"POT-Creation-Date: 2011-07-27 08:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,6 +21,6 @@ msgstr "" msgid "Questions and Answers" msgstr "" -#: ../templates/index.php:21 ../templates/index.php:24 +#: ../templates/index.php:24 msgid "ASK A QUESTION" msgstr "" diff --git a/l10n/templates/log.pot b/l10n/templates/log.pot index d95cf35e32..54b633c2f1 100644 --- a/l10n/templates/log.pot +++ b/l10n/templates/log.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 00:58+0200\n" +"POT-Creation-Date: 2011-07-27 08:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index 9f173adb98..8c077f5688 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 00:58+0200\n" +"POT-Creation-Date: 2011-07-27 08:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 7e11bf280de45e523560c12abc264bcf302b8833 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 27 Jul 2011 12:05:41 +0200 Subject: [PATCH 5/7] updated localization script and removed duplicate strings --- l10n/l10n.pl | 12 ++++-------- l10n/templates/admin.pot | 2 +- l10n/templates/core.pot | 2 +- l10n/templates/help.pot | 2 +- l10n/templates/log.pot | 2 +- l10n/templates/settings.pot | 2 +- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/l10n/l10n.pl b/l10n/l10n.pl index 0ad33d2116..b993727e8f 100644 --- a/l10n/l10n.pl +++ b/l10n/l10n.pl @@ -3,6 +3,7 @@ use strict; use Locale::PO; use Cwd; use Data::Dumper; +use File::Path; sub crawl{ my( $dir ) = @_; @@ -28,7 +29,7 @@ sub crawl{ my $task = shift( @ARGV ); my $place = '..'; -die( "Usuage: l10n.pl task\ntask: read, write\n") unless $task && $place; +die( "Usage: l10n.pl task\ntask: read, write\n" ) unless $task && $place; # Our current position my $whereami = cwd(); @@ -38,6 +39,7 @@ die( "Program must be executed in a l10n-folder called 'l10n'" ) unless $wheream my @dirs = crawl( $place ); # Languages +rmtree( 'templates' ); mkdir( 'templates' ) unless -d 'templates'; my @languages = (); @@ -55,13 +57,7 @@ if( $task eq 'read' ){ my $app = pop( @temp ); chdir( $dir ); my $output = "${whereami}/templates/$app.pot"; - - if( -e $output ){ - `xgettext --files-from=xgettextfiles --join-existing --output="$output" --keyword=t` - } - else{ - `xgettext --files-from=xgettextfiles --output="$output" --keyword=t` - } + `xgettext --files-from=xgettextfiles --output="$output" --keyword=t`; chdir( $whereami ); } } diff --git a/l10n/templates/admin.pot b/l10n/templates/admin.pot index 411ecacce9..d623336518 100644 --- a/l10n/templates/admin.pot +++ b/l10n/templates/admin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-27 08:52+0200\n" +"POT-Creation-Date: 2011-07-27 12:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index 8b73bf7ef1..6bcadf8cfc 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-27 08:52+0200\n" +"POT-Creation-Date: 2011-07-27 12:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/help.pot b/l10n/templates/help.pot index 362fdf123d..e5ffb5a4cf 100644 --- a/l10n/templates/help.pot +++ b/l10n/templates/help.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-27 08:52+0200\n" +"POT-Creation-Date: 2011-07-27 12:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/log.pot b/l10n/templates/log.pot index 54b633c2f1..ea98e5c2b1 100644 --- a/l10n/templates/log.pot +++ b/l10n/templates/log.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-27 08:52+0200\n" +"POT-Creation-Date: 2011-07-27 12:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index 8c077f5688..24e255fa25 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-27 08:52+0200\n" +"POT-Creation-Date: 2011-07-27 12:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 6585e83037541bc2126b111b39ce867f9ec09ad3 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 27 Jul 2011 16:38:23 +0200 Subject: [PATCH 6/7] fix flash fallback for media player and bumb version of jplayer to 2.0.23 --- apps/media/css/player.css | 2 +- apps/media/js/Jplayer.swf | Bin 7679 -> 7679 bytes apps/media/js/jquery.jplayer.min.js | 78 +--------------------------- apps/media/js/player.js | 1 + apps/media/templates/player.php | 3 +- 5 files changed, 4 insertions(+), 80 deletions(-) diff --git a/apps/media/css/player.css b/apps/media/css/player.css index bf404f515f..a21b82d1f4 100644 --- a/apps/media/css/player.css +++ b/apps/media/css/player.css @@ -1,5 +1,5 @@ #jp-interface{position:fixed;z-index:100;width:25em;left:201px;top:-10px;height:80px;border-bottom:none;} -#jp-interface.player{display:hidden;} +#jp-interface div.player{height:0px} #jp-interface ul.jp-controls{list-style-type:none;padding:0;} #jp-interface ul.jp-controls li{display:inline;} #jp-interface ul.jp-controls a{position:absolute;overflow:hidden;text-indent:-9999px;} diff --git a/apps/media/js/Jplayer.swf b/apps/media/js/Jplayer.swf index 9487f49b5a6cacf53f320a41c21f94d1cd35feb1..c213fd578e52c04c9d53e32fb8038b75c4d49802 100644 GIT binary patch literal 7679 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 literal 7679 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 tpEwp3y8olRx)HX3>%G!>fvepFu0cZU';f[1]='';f[2]='';f[3]='';f[4]='';b=document.createElement(d);for(d=0;d0?100*d/this.status.duration:0;if(typeof a.seekable==="object"&&a.seekable.length>0){e=this.status.duration>0?100*a.seekable.end(a.seekable.length-1)/this.status.duration:100;g=100*a.currentTime/a.seekable.end(a.seekable.length-1)}else{e=100;g=f}if(b)f=g=d=0;this.status.seekPercent=e;this.status.currentPercentRelative=g;this.status.currentPercentAbsolute=f;this.status.currentTime=d},_resetStatus:function(){this.status=c.extend({},this.status,c.jPlayer.prototype.status)}, -_trigger:function(a,b,d){a=c.Event(a);a.jPlayer={};a.jPlayer.version=c.extend({},this.version);a.jPlayer.status=c.extend(true,{},this.status);a.jPlayer.html=c.extend(true,{},this.html);a.jPlayer.flash=c.extend(true,{},this.flash);if(b)a.jPlayer.error=c.extend({},b);if(d)a.jPlayer.warning=c.extend({},d);this.element.trigger(a)},jPlayerFlashEvent:function(a,b){if(a===c.jPlayer.event.ready&&!this.internal.ready){this.internal.ready=true;this.version.flash=b.version;this.version.needFlash!==this.version.flash&& -this._error({type:c.jPlayer.error.VERSION,context:this.version.flash,message:c.jPlayer.errorMsg.VERSION+this.version.flash,hint:c.jPlayer.errorHint.VERSION});this._trigger(a)}if(this.flash.gate)switch(a){case c.jPlayer.event.progress:this._getFlashStatus(b);this._updateInterface();this._trigger(a);break;case c.jPlayer.event.timeupdate:this._getFlashStatus(b);this._updateInterface();this._trigger(a);break;case c.jPlayer.event.play:this._seeked();this._updateButtons(true);this._trigger(a);break;case c.jPlayer.event.pause:this._updateButtons(false); -this._trigger(a);break;case c.jPlayer.event.ended:this._updateButtons(false);this._trigger(a);break;case c.jPlayer.event.error:this.status.waitForLoad=true;this.status.waitForPlay=true;this.status.video&&this.internal.flash.jq.css({width:"0px",height:"0px"});this._validString(this.status.media.poster)&&this.internal.poster.jq.show();this.css.jq.videoPlay.length&&this.css.jq.videoPlay.show();this.status.video?this._flash_setVideo(this.status.media):this._flash_setAudio(this.status.media);this._error({type:c.jPlayer.error.URL, -context:b.src,message:c.jPlayer.errorMsg.URL,hint:c.jPlayer.errorHint.URL});break;case c.jPlayer.event.seeking:this._seeking();this._trigger(a);break;case c.jPlayer.event.seeked:this._seeked();this._trigger(a);break;default:this._trigger(a)}return false},_getFlashStatus:function(a){this.status.seekPercent=a.seekPercent;this.status.currentPercentRelative=a.currentPercentRelative;this.status.currentPercentAbsolute=a.currentPercentAbsolute;this.status.currentTime=a.currentTime;this.status.duration=a.duration}, -_updateButtons:function(a){this.status.paused=!a;if(this.css.jq.play.length&&this.css.jq.pause.length)if(a){this.css.jq.play.hide();this.css.jq.pause.show()}else{this.css.jq.play.show();this.css.jq.pause.hide()}},_updateInterface:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.width(this.status.seekPercent+"%");this.css.jq.playBar.length&&this.css.jq.playBar.width(this.status.currentPercentRelative+"%");this.css.jq.currentTime.length&&this.css.jq.currentTime.text(c.jPlayer.convertTime(this.status.currentTime)); -this.css.jq.duration.length&&this.css.jq.duration.text(c.jPlayer.convertTime(this.status.duration))},_seeking:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.addClass("jp-seeking-bg")},_seeked:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.removeClass("jp-seeking-bg")},setMedia:function(a){var b=this;this._seeked();clearTimeout(this.internal.htmlDlyCmdId);var d=this.html.audio.gate,f=this.html.video.gate,e=false;c.each(this.formats,function(g,i){var j=b.format[i].media==="video"; -c.each(b.solutions,function(n,k){if(b[k].support[i]&&b._validString(a[i])){var l=k==="html";if(j)if(l){b.html.audio.gate=false;b.html.video.gate=true;b.flash.gate=false}else{b.html.audio.gate=false;b.html.video.gate=false;b.flash.gate=true}else if(l){b.html.audio.gate=true;b.html.video.gate=false;b.flash.gate=false}else{b.html.audio.gate=false;b.html.video.gate=false;b.flash.gate=true}if(b.flash.active||b.html.active&&b.flash.gate||d===b.html.audio.gate&&f===b.html.video.gate)b.clearMedia();else if(d!== -b.html.audio.gate&&f!==b.html.video.gate){b._html_pause();b.status.video&&b.internal.video.jq.css({width:"0px",height:"0px"});b._resetStatus()}if(j){if(l){b._html_setVideo(a);b.html.active=true;b.flash.active=false}else{b._flash_setVideo(a);b.html.active=false;b.flash.active=true}b.css.jq.videoPlay.length&&b.css.jq.videoPlay.show();b.status.video=true}else{if(l){b._html_setAudio(a);b.html.active=true;b.flash.active=false}else{b._flash_setAudio(a);b.html.active=false;b.flash.active=true}b.css.jq.videoPlay.length&& -b.css.jq.videoPlay.hide();b.status.video=false}e=true;return false}});if(e)return false});if(e){if(this._validString(a.poster))if(this.htmlElement.poster.src!==a.poster)this.htmlElement.poster.src=a.poster;else this.internal.poster.jq.show();else this.internal.poster.jq.hide();this.status.srcSet=true;this.status.media=c.extend({},a);this._updateButtons(false);this._updateInterface()}else{this.status.srcSet&&!this.status.waitForPlay&&this.pause();this.html.audio.gate=false;this.html.video.gate=false; -this.flash.gate=false;this.html.active=false;this.flash.active=false;this._resetStatus();this._updateInterface();this._updateButtons(false);this.internal.poster.jq.hide();this.html.used&&this.require.video&&this.internal.video.jq.css({width:"0px",height:"0px"});this.flash.used&&this.internal.flash.jq.css({width:"0px",height:"0px"});this._error({type:c.jPlayer.error.NO_SUPPORT,context:"{supplied:'"+this.options.supplied+"'}",message:c.jPlayer.errorMsg.NO_SUPPORT,hint:c.jPlayer.errorHint.NO_SUPPORT})}}, -clearMedia:function(){this._resetStatus();this._updateButtons(false);this.internal.poster.jq.hide();clearTimeout(this.internal.htmlDlyCmdId);if(this.html.active)this._html_clearMedia();else this.flash.active&&this._flash_clearMedia()},load:function(){if(this.status.srcSet)if(this.html.active)this._html_load();else this.flash.active&&this._flash_load();else this._urlNotSetError("load")},play:function(a){a=typeof a==="number"?a:NaN;if(this.status.srcSet)if(this.html.active)this._html_play(a);else this.flash.active&& -this._flash_play(a);else this._urlNotSetError("play")},videoPlay:function(){this.play()},pause:function(a){a=typeof a==="number"?a:NaN;if(this.status.srcSet)if(this.html.active)this._html_pause(a);else this.flash.active&&this._flash_pause(a);else this._urlNotSetError("pause")},pauseOthers:function(){var a=this;c.each(this.instances,function(b,d){a.element!==d&&d.data("jPlayer").status.srcSet&&d.jPlayer("pause")})},stop:function(){if(this.status.srcSet)if(this.html.active)this._html_pause(0);else this.flash.active&& -this._flash_pause(0);else this._urlNotSetError("stop")},playHead:function(a){a=this._limitValue(a,0,100);if(this.status.srcSet)if(this.html.active)this._html_playHead(a);else this.flash.active&&this._flash_playHead(a);else this._urlNotSetError("playHead")},mute:function(){this.status.muted=true;this.html.used&&this._html_mute(true);this.flash.used&&this._flash_mute(true);this._updateMute(true);this._updateVolume(0);this._trigger(c.jPlayer.event.volumechange)},unmute:function(){this.status.muted=false; -this.html.used&&this._html_mute(false);this.flash.used&&this._flash_mute(false);this._updateMute(false);this._updateVolume(this.status.volume);this._trigger(c.jPlayer.event.volumechange)},_updateMute:function(a){if(this.css.jq.mute.length&&this.css.jq.unmute.length)if(a){this.css.jq.mute.hide();this.css.jq.unmute.show()}else{this.css.jq.mute.show();this.css.jq.unmute.hide()}},volume:function(a){a=this._limitValue(a,0,1);this.status.volume=a;this.html.used&&this._html_volume(a);this.flash.used&&this._flash_volume(a); -this.status.muted||this._updateVolume(a);this._trigger(c.jPlayer.event.volumechange)},volumeBar:function(a){if(!this.status.muted&&this.css.jq.volumeBar){var b=this.css.jq.volumeBar.offset();a=a.pageX-b.left;b=this.css.jq.volumeBar.width();this.volume(a/b)}},volumeBarValue:function(a){this.volumeBar(a)},_updateVolume:function(a){this.css.jq.volumeBarValue.length&&this.css.jq.volumeBarValue.width(a*100+"%")},_volumeFix:function(a){var b=0.0010*Math.random();return a+(a<0.5?b:-b)},_cssSelectorAncestor:function(a, -b){this.options.cssSelectorAncestor=a;b&&c.each(this.options.cssSelector,function(d,f){self._cssSelector(d,f)})},_cssSelector:function(a,b){var d=this;if(typeof b==="string")if(c.jPlayer.prototype.options.cssSelector[a]){this.css.jq[a]&&this.css.jq[a].length&&this.css.jq[a].unbind(".jPlayer");this.options.cssSelector[a]=b;this.css.cs[a]=this.options.cssSelectorAncestor+" "+b;this.css.jq[a]=b?c(this.css.cs[a]):[];this.css.jq[a].length&&this.css.jq[a].bind("click.jPlayer",function(f){d[a](f);c(this).blur(); -return false});b&&this.css.jq[a].length!==1&&this._warning({type:c.jPlayer.warning.CSS_SELECTOR_COUNT,context:this.css.cs[a],message:c.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.css.jq[a].length+" found for "+a+" method.",hint:c.jPlayer.warningHint.CSS_SELECTOR_COUNT})}else this._warning({type:c.jPlayer.warning.CSS_SELECTOR_METHOD,context:a,message:c.jPlayer.warningMsg.CSS_SELECTOR_METHOD,hint:c.jPlayer.warningHint.CSS_SELECTOR_METHOD});else this._warning({type:c.jPlayer.warning.CSS_SELECTOR_STRING, -context:b,message:c.jPlayer.warningMsg.CSS_SELECTOR_STRING,hint:c.jPlayer.warningHint.CSS_SELECTOR_STRING})},seekBar:function(a){if(this.css.jq.seekBar){var b=this.css.jq.seekBar.offset();a=a.pageX-b.left;b=this.css.jq.seekBar.width();this.playHead(100*a/b)}},playBar:function(a){this.seekBar(a)},currentTime:function(){},duration:function(){},option:function(a,b){var d=a;if(arguments.length===0)return c.extend(true,{},this.options);if(typeof a==="string"){var f=a.split(".");if(b===h){for(var e=c.extend(true, -{},this.options),g=0;g=9||this.htmlElement.media.load()}},_html_load:function(){if(this.status.waitForLoad){this.status.waitForLoad=false;this.htmlElement.media.src=this.status.src; -try{this.htmlElement.media.load()}catch(a){}}clearTimeout(this.internal.htmlDlyCmdId)},_html_play:function(a){var b=this;this._html_load();this.htmlElement.media.play();if(!isNaN(a))try{this.htmlElement.media.currentTime=a}catch(d){this.internal.htmlDlyCmdId=setTimeout(function(){b.play(a)},100);return}this._html_checkWaitForPlay()},_html_pause:function(a){var b=this;a>0?this._html_load():clearTimeout(this.internal.htmlDlyCmdId);this.htmlElement.media.pause();if(!isNaN(a))try{this.htmlElement.media.currentTime= -a}catch(d){this.internal.htmlDlyCmdId=setTimeout(function(){b.pause(a)},100);return}a>0&&this._html_checkWaitForPlay()},_html_playHead:function(a){var b=this;this._html_load();try{if(typeof this.htmlElement.media.seekable==="object"&&this.htmlElement.media.seekable.length>0)this.htmlElement.media.currentTime=a*this.htmlElement.media.seekable.end(this.htmlElement.media.seekable.length-1)/100;else if(this.htmlElement.media.duration>0&&!isNaN(this.htmlElement.media.duration))this.htmlElement.media.currentTime= -a*this.htmlElement.media.duration/100;else throw"e";}catch(d){this.internal.htmlDlyCmdId=setTimeout(function(){b.playHead(a)},100);return}this.status.waitForLoad||this._html_checkWaitForPlay()},_html_checkWaitForPlay:function(){if(this.status.waitForPlay){this.status.waitForPlay=false;this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide();if(this.status.video){this.internal.poster.jq.hide();this.internal.video.jq.css({width:this.status.width,height:this.status.height})}}},_html_volume:function(a){if(this.html.audio.available)this.htmlElement.audio.volume= -a;if(this.html.video.available)this.htmlElement.video.volume=a},_html_mute:function(a){if(this.html.audio.available)this.htmlElement.audio.muted=a;if(this.html.video.available)this.htmlElement.video.muted=a},_flash_setAudio:function(a){var b=this;try{c.each(this.formats,function(f,e){if(b.flash.support[e]&&a[e]){switch(e){case "m4a":b._getMovie().fl_setAudio_m4a(a[e]);break;case "mp3":b._getMovie().fl_setAudio_mp3(a[e])}b.status.src=a[e];b.status.format[e]=true;b.status.formatType=e;return false}}); -if(this.options.preload==="auto"){this._flash_load();this.status.waitForLoad=false}}catch(d){this._flashError(d)}},_flash_setVideo:function(a){var b=this;try{c.each(this.formats,function(f,e){if(b.flash.support[e]&&a[e]){switch(e){case "m4v":b._getMovie().fl_setVideo_m4v(a[e])}b.status.src=a[e];b.status.format[e]=true;b.status.formatType=e;return false}});if(this.options.preload==="auto"){this._flash_load();this.status.waitForLoad=false}}catch(d){this._flashError(d)}},_flash_clearMedia:function(){this.internal.flash.jq.css({width:"0px", -height:"0px"});try{this._getMovie().fl_clearMedia()}catch(a){this._flashError(a)}},_flash_load:function(){try{this._getMovie().fl_load()}catch(a){this._flashError(a)}this.status.waitForLoad=false},_flash_play:function(a){try{this._getMovie().fl_play(a)}catch(b){this._flashError(b)}this.status.waitForLoad=false;this._flash_checkWaitForPlay()},_flash_pause:function(a){try{this._getMovie().fl_pause(a)}catch(b){this._flashError(b)}if(a>0){this.status.waitForLoad=false;this._flash_checkWaitForPlay()}}, -_flash_playHead:function(a){try{this._getMovie().fl_play_head(a)}catch(b){this._flashError(b)}this.status.waitForLoad||this._flash_checkWaitForPlay()},_flash_checkWaitForPlay:function(){if(this.status.waitForPlay){this.status.waitForPlay=false;this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide();if(this.status.video){this.internal.poster.jq.hide();this.internal.flash.jq.css({width:this.status.width,height:this.status.height})}}},_flash_volume:function(a){try{this._getMovie().fl_volume(a)}catch(b){this._flashError(b)}}, -_flash_mute:function(a){try{this._getMovie().fl_mute(a)}catch(b){this._flashError(b)}},_getMovie:function(){return document[this.internal.flash.id]},_checkForFlash:function(a){var b=false,d;if(window.ActiveXObject)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+a);b=true}catch(f){}else if(navigator.plugins&&navigator.mimeTypes.length>0)if(d=navigator.plugins["Shockwave Flash"])if(navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1")>=a)b=true;return c.browser.msie&& -Number(c.browser.version)>=9?false:b},_validString:function(a){return a&&typeof a==="string"},_limitValue:function(a,b,d){return ad?d:a},_urlNotSetError:function(a){this._error({type:c.jPlayer.error.URL_NOT_SET,context:a,message:c.jPlayer.errorMsg.URL_NOT_SET,hint:c.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(a){this._error({type:c.jPlayer.error.FLASH,context:this.internal.flash.swf,message:c.jPlayer.errorMsg.FLASH+a.message,hint:c.jPlayer.errorHint.FLASH})},_error:function(a){this._trigger(c.jPlayer.event.error, -a);if(this.options.errorAlerts)this._alert("Error!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+a.context)},_warning:function(a){this._trigger(c.jPlayer.event.warning,h,a);if(this.options.errorAlerts)this._alert("Warning!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+a.context)},_alert:function(a){alert("jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+a)}};c.jPlayer.error={FLASH:"e_flash",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support", -URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"};c.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.", -VERSION:"jPlayer "+c.jPlayer.prototype.version.script+" needs Jplayer.swf version "+c.jPlayer.prototype.version.needFlash+" but found "};c.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."};c.jPlayer.warning= -{CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"};c.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of methodCssSelectors found did not equal one: ",CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."}; -c.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}})(jQuery); \ No newline at end of file +(function($,undefined){$.fn.jPlayer=function(options){var name="jPlayer",isMethodCall=typeof options==="string",args=Array.prototype.slice.call(arguments,1),returnValue=this;options=!isMethodCall&&args.length?$.extend.apply(null,[true,options].concat(args)):options;if(isMethodCall&&options.charAt(0)==="_")return returnValue;if(isMethodCall){this.each(function(){var instance=$.data(this,name),methodValue=instance&&$.isFunction(instance[options])?instance[options].apply(instance,args):instance;if(methodValue!==instance&&methodValue!==undefined){returnValue=methodValue;return false}})}else this.each(function(){var instance=$.data(this,name);if(instance){instance.option(options||{})}else $.data(this,name,new $.jPlayer(options,this))});return returnValue};$.jPlayer=function(options,element){if(arguments.length){this.element=$(element);this.options=$.extend(true,{},this.options,options);var self=this;this.element.bind("remove.jPlayer",function(){self.destroy()});this._init()}};$.jPlayer.emulateMethods="load play pause";$.jPlayer.emulateStatus="src readyState networkState currentTime duration paused ended playbackRate";$.jPlayer.emulateOptions="muted volume";$.jPlayer.reservedEvent="ready flashreset resize repeat error warning";$.jPlayer.event={ready:"jPlayer_ready",flashreset:"jPlayer_flashreset",resize:"jPlayer_resize",repeat:"jPlayer_repeat",error:"jPlayer_error",warning:"jPlayer_warning",loadstart:"jPlayer_loadstart",progress:"jPlayer_progress",suspend:"jPlayer_suspend",abort:"jPlayer_abort",emptied:"jPlayer_emptied",stalled:"jPlayer_stalled",play:"jPlayer_play",pause:"jPlayer_pause",loadedmetadata:"jPlayer_loadedmetadata",loadeddata:"jPlayer_loadeddata",waiting:"jPlayer_waiting",playing:"jPlayer_playing",canplay:"jPlayer_canplay",canplaythrough:"jPlayer_canplaythrough",seeking:"jPlayer_seeking",seeked:"jPlayer_seeked",timeupdate:"jPlayer_timeupdate",ended:"jPlayer_ended",ratechange:"jPlayer_ratechange",durationchange:"jPlayer_durationchange",volumechange:"jPlayer_volumechange"};$.jPlayer.htmlEvent=["loadstart","abort","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","ratechange"];$.jPlayer.pause=function(){$.each($.jPlayer.prototype.instances,function(i,element){if(element.data("jPlayer").status.srcSet)element.jPlayer("pause")})};$.jPlayer.timeFormat={showHour:false,showMin:true,showSec:true,padHour:false,padMin:true,padSec:true,sepHour:":",sepMin:":",sepSec:""};$.jPlayer.convertTime=function(s){var myTime=new Date(s*1e3),hour=myTime.getUTCHours(),min=myTime.getUTCMinutes(),sec=myTime.getUTCSeconds(),strHour=($.jPlayer.timeFormat.padHour&&hour<10)?"0"+hour:hour,strMin=($.jPlayer.timeFormat.padMin&&min<10)?"0"+min:min,strSec=($.jPlayer.timeFormat.padSec&&sec<10)?"0"+sec:sec;return(($.jPlayer.timeFormat.showHour)?strHour+$.jPlayer.timeFormat.sepHour:"")+(($.jPlayer.timeFormat.showMin)?strMin+$.jPlayer.timeFormat.sepMin:"")+(($.jPlayer.timeFormat.showSec)?strSec+$.jPlayer.timeFormat.sepSec:"")};$.jPlayer.uaBrowser=function(userAgent){var ua=userAgent.toLowerCase(),rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"}};$.jPlayer.uaPlatform=function(userAgent){var ua=userAgent.toLowerCase(),rplatform=/(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/,rtablet=/(ipad|playbook)/,randroid=/(android)/,rmobile=/(mobile)/,platform=rplatform.exec(ua)||[],tablet=rtablet.exec(ua)||!rmobile.exec(ua)&&randroid.exec(ua)||[];return{platform:platform[1]||"",tablet:tablet[1]||""}};$.jPlayer.browser={};$.jPlayer.platform={};var browserMatch=$.jPlayer.uaBrowser(navigator.userAgent);if(browserMatch.browser){$.jPlayer.browser[browserMatch.browser]=true;$.jPlayer.browser.version=browserMatch.version};var platformMatch=$.jPlayer.uaPlatform(navigator.userAgent);if(platformMatch.platform){$.jPlayer.platform[platformMatch.platform]=true;$.jPlayer.platform.mobile=!platformMatch.tablet;$.jPlayer.platform.tablet=!!platformMatch.tablet};$.jPlayer.prototype={count:0,version:{script:"2.0.23",needFlash:"2.0.9",flash:"unknown"},options:{swfPath:"js",solution:"html, flash",supplied:"mp3",preload:'metadata',volume:0.8,muted:false,wmode:"opaque",backgroundColor:"#000000",cssSelectorAncestor:"#jp_container_1",cssSelector:{videoPlay:".jp-video-play",play:".jp-play",pause:".jp-pause",stop:".jp-stop",seekBar:".jp-seek-bar",playBar:".jp-play-bar",mute:".jp-mute",unmute:".jp-unmute",volumeBar:".jp-volume-bar",volumeBarValue:".jp-volume-bar-value",volumeMax:".jp-volume-max",currentTime:".jp-current-time",duration:".jp-duration",fullScreen:".jp-full-screen",restoreScreen:".jp-restore-screen",repeat:".jp-repeat",repeatOff:".jp-repeat-off",gui:".jp-gui"},fullScreen:false,autohide:{restored:false,full:true,fadeIn:200,fadeOut:600,hold:1e3},loop:false,repeat:function(event){if(event.jPlayer.options.loop){$(this).unbind(".jPlayerRepeat").bind($.jPlayer.event.ended+".jPlayer.jPlayerRepeat",function(){$(this).jPlayer("play")})}else $(this).unbind(".jPlayerRepeat")},idPrefix:"jp",noConflict:"jQuery",emulateHtml:false,errorAlerts:false,warningAlerts:false},optionsAudio:{size:{width:"0px",height:"0px",cssClass:""},sizeFull:{width:"0px",height:"0px",cssClass:""}},optionsVideo:{size:{width:"480px",height:"270px",cssClass:"jp-video-270p"},sizeFull:{width:"100%",height:"100%",cssClass:"jp-video-full"}},instances:{},status:{src:"",media:{},paused:true,format:{},formatType:"",waitForPlay:true,waitForLoad:true,srcSet:false,video:false,seekPercent:0,currentPercentRelative:0,currentPercentAbsolute:0,currentTime:0,duration:0,readyState:0,networkState:0,playbackRate:1,ended:0},internal:{ready:false},solution:{html:true,flash:true},format:{mp3:{codec:'audio/mpeg; codecs="mp3"',flashCanPlay:true,media:'audio'},m4a:{codec:'audio/mp4; codecs="mp4a.40.2"',flashCanPlay:true,media:'audio'},oga:{codec:'audio/ogg; codecs="vorbis"',flashCanPlay:false,media:'audio'},wav:{codec:'audio/wav; codecs="1"',flashCanPlay:false,media:'audio'},webma:{codec:'audio/webm; codecs="vorbis"',flashCanPlay:false,media:'audio'},fla:{codec:'audio/x-flv',flashCanPlay:true,media:'audio'},m4v:{codec:'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',flashCanPlay:true,media:'video'},ogv:{codec:'video/ogg; codecs="theora, vorbis"',flashCanPlay:false,media:'video'},webmv:{codec:'video/webm; codecs="vorbis, vp8"',flashCanPlay:false,media:'video'},flv:{codec:'video/x-flv',flashCanPlay:true,media:'video'}},_init:function(){var self=this;this.element.empty();this.status=$.extend({},this.status);this.internal=$.extend({},this.internal);this.internal.domNode=this.element.get(0);this.formats=[];this.solutions=[];this.require={};this.htmlElement={};this.html={};this.html.audio={};this.html.video={};this.flash={};this.css={};this.css.cs={};this.css.jq={};this.ancestorJq=[];this.options.volume=this._limitValue(this.options.volume,0,1);$.each(this.options.supplied.toLowerCase().split(","),function(index1,value1){var format=value1.replace(/^\s+|\s+$/g,"");if(self.format[format]){var dupFound=false;$.each(self.formats,function(index2,value2){if(format===value2){dupFound=true;return false}});if(!dupFound)self.formats.push(format)}});$.each(this.options.solution.toLowerCase().split(","),function(index1,value1){var solution=value1.replace(/^\s+|\s+$/g,"");if(self.solution[solution]){var dupFound=false;$.each(self.solutions,function(index2,value2){if(solution===value2){dupFound=true;return false}});if(!dupFound)self.solutions.push(solution)}});this.internal.instance="jp_"+this.count;this.instances[this.internal.instance]=this.element;if(!this.element.attr("id"))this.element.attr("id",this.options.idPrefix+"_jplayer_"+this.count);this.internal.self=$.extend({},{id:this.element.attr("id"),jq:this.element});this.internal.audio=$.extend({},{id:this.options.idPrefix+"_audio_"+this.count,jq:undefined});this.internal.video=$.extend({},{id:this.options.idPrefix+"_video_"+this.count,jq:undefined});this.internal.flash=$.extend({},{id:this.options.idPrefix+"_flash_"+this.count,jq:undefined,swf:this.options.swfPath+((this.options.swfPath!==""&&this.options.swfPath.slice(-1)!=="/")?"/":"")+"Jplayer.swf"});this.internal.poster=$.extend({},{id:this.options.idPrefix+"_poster_"+this.count,jq:undefined});$.each($.jPlayer.event,function(eventName,eventType){if(self.options[eventName]!==undefined){self.element.bind(eventType+".jPlayer",self.options[eventName]);self.options[eventName]=undefined}});this.require.audio=false;this.require.video=false;$.each(this.formats,function(priority,format){self.require[self.format[format].media]=true});if(this.require.video){this.options=$.extend(true,{},this.optionsVideo,this.options)}else this.options=$.extend(true,{},this.optionsAudio,this.options);this._setSize();this.htmlElement.poster=document.createElement('img');this.htmlElement.poster.id=this.internal.poster.id;this.htmlElement.poster.onload=function(){if(!self.status.video||self.status.waitForPlay)self.internal.poster.jq.show()};this.element.append(this.htmlElement.poster);this.internal.poster.jq=$("#"+this.internal.poster.id);this.internal.poster.jq.css({width:this.status.width,height:this.status.height});this.internal.poster.jq.hide();this.html.audio.available=false;if(this.require.audio){this.htmlElement.audio=document.createElement('audio');this.htmlElement.audio.id=this.internal.audio.id;this.html.audio.available=!!this.htmlElement.audio.canPlayType};this.html.video.available=false;if(this.require.video){this.htmlElement.video=document.createElement('video');this.htmlElement.video.id=this.internal.video.id;this.html.video.available=!!this.htmlElement.video.canPlayType};this.flash.available=this._checkForFlash(10);this.html.canPlay={};this.flash.canPlay={};$.each(this.formats,function(priority,format){self.html.canPlay[format]=self.html[self.format[format].media].available&&""!==self.htmlElement[self.format[format].media].canPlayType(self.format[format].codec);self.flash.canPlay[format]=self.format[format].flashCanPlay&&self.flash.available});this.html.desired=false;this.flash.desired=false;$.each(this.solutions,function(solutionPriority,solution){if(solutionPriority===0){self[solution].desired=true}else{var audioCanPlay=false,videoCanPlay=false;$.each(self.formats,function(formatPriority,format){if(self[self.solutions[0]].canPlay[format])if(self.format[format].media==='video'){videoCanPlay=true}else audioCanPlay=true});self[solution].desired=(self.require.audio&&!audioCanPlay)||(self.require.video&&!videoCanPlay)}});this.html.support={};this.flash.support={};$.each(this.formats,function(priority,format){self.html.support[format]=self.html.canPlay[format]&&self.html.desired;self.flash.support[format]=self.flash.canPlay[format]&&self.flash.desired});this.html.used=false;this.flash.used=false;$.each(this.solutions,function(solutionPriority,solution){$.each(self.formats,function(formatPriority,format){if(self[solution].support[format]){self[solution].used=true;return false}})});this.html.active=false;this.html.audio.gate=false;this.html.video.gate=false;this.flash.active=false;this.flash.gate=false;this._cssSelectorAncestor(this.options.cssSelectorAncestor);if(!(this.html.used||this.flash.used))this._error({type:$.jPlayer.error.NO_SOLUTION,context:"{solution:'"+this.options.solution+"', supplied:'"+this.options.supplied+"'}",message:$.jPlayer.errorMsg.NO_SOLUTION,hint:$.jPlayer.errorHint.NO_SOLUTION});if(this.flash.used){var htmlObj,flashVars='jQuery='+encodeURI(this.options.noConflict)+'&id='+encodeURI(this.internal.self.id)+'&vol='+this.options.volume+'&muted='+this.options.muted;if($.browser.msie&&Number($.browser.version)<=8){var objStr='',paramStr=['','','','',''];htmlObj=document.createElement(objStr);for(var i=0;i0)?100*ct/this.status.duration:0;if((typeof media.seekable==="object")&&(media.seekable.length>0)){sp=(this.status.duration>0)?100*media.seekable.end(media.seekable.length-1)/this.status.duration:100;cpr=100*media.currentTime/media.seekable.end(media.seekable.length-1)}else{sp=100;cpr=cpa};if(override){ct=0;cpr=0;cpa=0};this.status.seekPercent=sp;this.status.currentPercentRelative=cpr;this.status.currentPercentAbsolute=cpa;this.status.currentTime=ct;this.status.readyState=media.readyState;this.status.networkState=media.networkState;this.status.playbackRate=media.playbackRate;this.status.ended=media.ended},_resetStatus:function(){this.status=$.extend({},this.status,$.jPlayer.prototype.status)},_trigger:function(eventType,error,warning){var event=$.Event(eventType);event.jPlayer={};event.jPlayer.version=$.extend({},this.version);event.jPlayer.options=$.extend(true,{},this.options);event.jPlayer.status=$.extend(true,{},this.status);event.jPlayer.html=$.extend(true,{},this.html);event.jPlayer.flash=$.extend(true,{},this.flash);if(error)event.jPlayer.error=$.extend({},error);if(warning)event.jPlayer.warning=$.extend({},warning);this.element.trigger(event)},jPlayerFlashEvent:function(eventType,status){if(eventType===$.jPlayer.event.ready)if(!this.internal.ready){this.internal.ready=true;this.internal.flash.jq.css({width:'0px',height:'0px'});this.version.flash=status.version;if(this.version.needFlash!==this.version.flash)this._error({type:$.jPlayer.error.VERSION,context:this.version.flash,message:$.jPlayer.errorMsg.VERSION+this.version.flash,hint:$.jPlayer.errorHint.VERSION});this._trigger($.jPlayer.event.repeat);this._trigger(eventType)}else if(this.flash.gate){if(this.status.srcSet){var currentTime=this.status.currentTime,paused=this.status.paused;this.setMedia(this.status.media);if(currentTime>0)if(paused){this.pause(currentTime)}else this.play(currentTime)};this._trigger($.jPlayer.event.flashreset)};if(this.flash.gate)switch(eventType){case $.jPlayer.event.progress:this._getFlashStatus(status);this._updateInterface();this._trigger(eventType);break;case $.jPlayer.event.timeupdate:this._getFlashStatus(status);this._updateInterface();this._trigger(eventType);break;case $.jPlayer.event.play:this._seeked();this._updateButtons(true);this._trigger(eventType);break;case $.jPlayer.event.pause:this._updateButtons(false);this._trigger(eventType);break;case $.jPlayer.event.ended:this._updateButtons(false);this._trigger(eventType);break;case $.jPlayer.event.error:this.status.waitForLoad=true;this.status.waitForPlay=true;if(this.status.video)this.internal.flash.jq.css({width:'0px',height:'0px'});if(this._validString(this.status.media.poster))this.internal.poster.jq.show();if(this.css.jq.videoPlay.length)this.css.jq.videoPlay.show();if(this.status.video){this._flash_setVideo(this.status.media)}else this._flash_setAudio(this.status.media);this._error({type:$.jPlayer.error.URL,context:status.src,message:$.jPlayer.errorMsg.URL,hint:$.jPlayer.errorHint.URL});break;case $.jPlayer.event.seeking:this._seeking();this._trigger(eventType);break;case $.jPlayer.event.seeked:this._seeked();this._trigger(eventType);break;case $.jPlayer.event.ready:break;default:this._trigger(eventType)};return false},_getFlashStatus:function(status){this.status.seekPercent=status.seekPercent;this.status.currentPercentRelative=status.currentPercentRelative;this.status.currentPercentAbsolute=status.currentPercentAbsolute;this.status.currentTime=status.currentTime;this.status.duration=status.duration;this.status.readyState=4;this.status.networkState=0;this.status.playbackRate=1;this.status.ended=false},_updateButtons:function(playing){if(playing!==undefined){this.status.paused=!playing;if(this.css.jq.play.length&&this.css.jq.pause.length)if(playing){this.css.jq.play.hide();this.css.jq.pause.show()}else{this.css.jq.play.show();this.css.jq.pause.hide()}};if(this.css.jq.restoreScreen.length&&this.css.jq.fullScreen.length)if(this.options.fullScreen){this.css.jq.fullScreen.hide();this.css.jq.restoreScreen.show()}else{this.css.jq.fullScreen.show();this.css.jq.restoreScreen.hide()};if(this.css.jq.repeat.length&&this.css.jq.repeatOff.length)if(this.options.loop){this.css.jq.repeat.hide();this.css.jq.repeatOff.show()}else{this.css.jq.repeat.show();this.css.jq.repeatOff.hide()}},_updateInterface:function(){if(this.css.jq.seekBar.length)this.css.jq.seekBar.width(this.status.seekPercent+"%");if(this.css.jq.playBar.length)this.css.jq.playBar.width(this.status.currentPercentRelative+"%");if(this.css.jq.currentTime.length)this.css.jq.currentTime.text($.jPlayer.convertTime(this.status.currentTime));if(this.css.jq.duration.length)this.css.jq.duration.text($.jPlayer.convertTime(this.status.duration))},_seeking:function(){if(this.css.jq.seekBar.length)this.css.jq.seekBar.addClass("jp-seeking-bg")},_seeked:function(){if(this.css.jq.seekBar.length)this.css.jq.seekBar.removeClass("jp-seeking-bg")},setMedia:function(media){var self=this;this._seeked();clearTimeout(this.internal.htmlDlyCmdId);var audioGate=this.html.audio.gate,videoGate=this.html.video.gate,supported=false;$.each(this.formats,function(formatPriority,format){var isVideo=self.format[format].media==='video';$.each(self.solutions,function(solutionPriority,solution){if(self[solution].support[format]&&self._validString(media[format])){var isHtml=solution==='html';if(isVideo){if(isHtml){self.html.audio.gate=false;self.html.video.gate=true;self.flash.gate=false}else{self.html.audio.gate=false;self.html.video.gate=false;self.flash.gate=true}}else if(isHtml){self.html.audio.gate=true;self.html.video.gate=false;self.flash.gate=false}else{self.html.audio.gate=false;self.html.video.gate=false;self.flash.gate=true};if(self.flash.active||(self.html.active&&self.flash.gate)||(audioGate===self.html.audio.gate&&videoGate===self.html.video.gate)){self.clearMedia()}else if(audioGate!==self.html.audio.gate&&videoGate!==self.html.video.gate){self._html_pause();if(self.status.video)self.internal.video.jq.css({width:'0px',height:'0px'});self._resetStatus()};if(isVideo){if(isHtml){self._html_setVideo(media);self.html.active=true;self.flash.active=false}else{self._flash_setVideo(media);self.html.active=false;self.flash.active=true};if(self.css.jq.videoPlay.length)self.css.jq.videoPlay.show();self.status.video=true}else{if(isHtml){self._html_setAudio(media);self.html.active=true;self.flash.active=false}else{self._flash_setAudio(media);self.html.active=false;self.flash.active=true};if(self.css.jq.videoPlay.length)self.css.jq.videoPlay.hide();self.status.video=false};supported=true;return false}});if(supported)return false});if(supported){if(this._validString(media.poster)){if(this.htmlElement.poster.src!==media.poster){this.htmlElement.poster.src=media.poster}else this.internal.poster.jq.show()}else this.internal.poster.jq.hide();this.status.srcSet=true;this.status.media=$.extend({},media);this._updateButtons(false);this._updateInterface()}else{if(this.status.srcSet&&!this.status.waitForPlay)this.pause();this.html.audio.gate=false;this.html.video.gate=false;this.flash.gate=false;this.html.active=false;this.flash.active=false;this._resetStatus();this._updateInterface();this._updateButtons(false);this.internal.poster.jq.hide();if(this.html.used&&this.require.video)this.internal.video.jq.css({width:'0px',height:'0px'});if(this.flash.used)this.internal.flash.jq.css({width:'0px',height:'0px'});this._error({type:$.jPlayer.error.NO_SUPPORT,context:"{supplied:'"+this.options.supplied+"'}",message:$.jPlayer.errorMsg.NO_SUPPORT,hint:$.jPlayer.errorHint.NO_SUPPORT})}},clearMedia:function(){this._resetStatus();this._updateButtons(false);this.internal.poster.jq.hide();clearTimeout(this.internal.htmlDlyCmdId);if(this.html.active){this._html_clearMedia()}else if(this.flash.active)this._flash_clearMedia()},load:function(){if(this.status.srcSet){if(this.html.active){this._html_load()}else if(this.flash.active)this._flash_load()}else this._urlNotSetError("load")},play:function(time){time=(typeof time==="number")?time:NaN;if(this.status.srcSet){if(this.html.active){this._html_play(time)}else if(this.flash.active)this._flash_play(time)}else this._urlNotSetError("play")},videoPlay:function(e){this.play()},pause:function(time){time=(typeof time==="number")?time:NaN;if(this.status.srcSet){if(this.html.active){this._html_pause(time)}else if(this.flash.active)this._flash_pause(time)}else this._urlNotSetError("pause")},pauseOthers:function(){var self=this;$.each(this.instances,function(i,element){if(self.element!==element)if(element.data("jPlayer").status.srcSet)element.jPlayer("pause")})},stop:function(){if(this.status.srcSet){if(this.html.active){this._html_pause(0)}else if(this.flash.active)this._flash_pause(0)}else this._urlNotSetError("stop")},playHead:function(p){p=this._limitValue(p,0,100);if(this.status.srcSet){if(this.html.active){this._html_playHead(p)}else if(this.flash.active)this._flash_playHead(p)}else this._urlNotSetError("playHead")},_muted:function(muted){this.options.muted=muted;if(this.html.used)this._html_mute(muted);if(this.flash.used)this._flash_mute(muted);if(this.flash.gate){this._updateMute(muted);this._updateVolume(this.options.volume);this._trigger($.jPlayer.event.volumechange)}},mute:function(mute){mute=mute===undefined?true:!!mute;this._muted(mute)},unmute:function(unmute){unmute=unmute===undefined?true:!!unmute;this._muted(!unmute)},_updateMute:function(mute){if(mute===undefined)mute=this.options.muted;if(this.css.jq.mute.length&&this.css.jq.unmute.length)if(mute){this.css.jq.mute.hide();this.css.jq.unmute.show()}else{this.css.jq.mute.show();this.css.jq.unmute.hide()}},volume:function(v){v=this._limitValue(v,0,1);this.options.volume=v;if(this.html.used)this._html_volume(v);if(this.flash.used)this._flash_volume(v);if(this.flash.gate){this._updateVolume(v);this._trigger($.jPlayer.event.volumechange)}},volumeBar:function(e){if(this.css.jq.volumeBar.length){var offset=this.css.jq.volumeBar.offset(),x=e.pageX-offset.left,w=this.css.jq.volumeBar.width(),v=x/w;this.volume(v)};if(this.options.muted)this._muted(false)},volumeBarValue:function(e){this.volumeBar(e)},_updateVolume:function(v){if(v===undefined)v=this.options.volume;v=this.options.muted?0:v;if(this.css.jq.volumeBarValue.length)this.css.jq.volumeBarValue.width((v*100)+"%")},volumeMax:function(){this.volume(1);if(this.options.muted)this._muted(false)},_cssSelectorAncestor:function(ancestor){var self=this;this.options.cssSelectorAncestor=ancestor;this._removeUiClass();this.ancestorJq=ancestor?$(ancestor):[];if(ancestor&&this.ancestorJq.length!==1)this._warning({type:$.jPlayer.warning.CSS_SELECTOR_COUNT,context:ancestor,message:$.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.ancestorJq.length+" found for cssSelectorAncestor.",hint:$.jPlayer.warningHint.CSS_SELECTOR_COUNT});this._addUiClass();$.each(this.options.cssSelector,function(fn,cssSel){self._cssSelector(fn,cssSel)})},_cssSelector:function(fn,cssSel){var self=this;if(typeof cssSel==='string'){if($.jPlayer.prototype.options.cssSelector[fn]){if(this.css.jq[fn]&&this.css.jq[fn].length)this.css.jq[fn].unbind(".jPlayer");this.options.cssSelector[fn]=cssSel;this.css.cs[fn]=this.options.cssSelectorAncestor+" "+cssSel;if(cssSel){this.css.jq[fn]=$(this.css.cs[fn])}else this.css.jq[fn]=[];if(this.css.jq[fn].length){var handler=function(e){self[fn](e);$(this).blur();return false};this.css.jq[fn].bind("click.jPlayer",handler)};if(cssSel&&this.css.jq[fn].length!==1)this._warning({type:$.jPlayer.warning.CSS_SELECTOR_COUNT,context:this.css.cs[fn],message:$.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.css.jq[fn].length+" found for "+fn+" method.",hint:$.jPlayer.warningHint.CSS_SELECTOR_COUNT})}else this._warning({type:$.jPlayer.warning.CSS_SELECTOR_METHOD,context:fn,message:$.jPlayer.warningMsg.CSS_SELECTOR_METHOD,hint:$.jPlayer.warningHint.CSS_SELECTOR_METHOD})}else this._warning({type:$.jPlayer.warning.CSS_SELECTOR_STRING,context:cssSel,message:$.jPlayer.warningMsg.CSS_SELECTOR_STRING,hint:$.jPlayer.warningHint.CSS_SELECTOR_STRING})},seekBar:function(e){if(this.css.jq.seekBar){var offset=this.css.jq.seekBar.offset(),x=e.pageX-offset.left,w=this.css.jq.seekBar.width(),p=100*x/w;this.playHead(p)}},playBar:function(e){this.seekBar(e)},repeat:function(){this._loop(true)},repeatOff:function(){this._loop(false)},_loop:function(loop){if(this.options.loop!==loop){this.options.loop=loop;this._updateButtons();this._trigger($.jPlayer.event.repeat)}},currentTime:function(e){},duration:function(e){},gui:function(e){},option:function(key,value){var options=key;if(arguments.length===0)return $.extend(true,{},this.options);if(typeof key==="string"){var keys=key.split(".");if(value===undefined){var opt=$.extend(true,{},this.options);for(var i=0;i0){this._html_load()}else clearTimeout(this.internal.htmlDlyCmdId);this.htmlElement.media.pause();if(!isNaN(time))try{this.htmlElement.media.currentTime=time}catch(err){this.internal.htmlDlyCmdId=setTimeout(function(){self.pause(time)},100);return};if(time>0)this._html_checkWaitForPlay()},_html_playHead:function(percent){var self=this;this._html_load();try{if((typeof this.htmlElement.media.seekable==="object")&&(this.htmlElement.media.seekable.length>0)){this.htmlElement.media.currentTime=percent*this.htmlElement.media.seekable.end(this.htmlElement.media.seekable.length-1)/100}else if(this.htmlElement.media.duration>0&&!isNaN(this.htmlElement.media.duration)){this.htmlElement.media.currentTime=percent*this.htmlElement.media.duration/100}else throw"e"}catch(err){this.internal.htmlDlyCmdId=setTimeout(function(){self.playHead(percent)},100);return};if(!this.status.waitForLoad)this._html_checkWaitForPlay()},_html_checkWaitForPlay:function(){if(this.status.waitForPlay){this.status.waitForPlay=false;if(this.css.jq.videoPlay.length)this.css.jq.videoPlay.hide();if(this.status.video){this.internal.poster.jq.hide();this.internal.video.jq.css({width:this.status.width,height:this.status.height})}}},_html_volume:function(v){if(this.html.audio.available)this.htmlElement.audio.volume=v;if(this.html.video.available)this.htmlElement.video.volume=v},_html_mute:function(m){if(this.html.audio.available)this.htmlElement.audio.muted=m;if(this.html.video.available)this.htmlElement.video.muted=m},_flash_setAudio:function(media){var self=this;try{$.each(this.formats,function(priority,format){if(self.flash.support[format]&&media[format]){switch(format){case"m4a":case"fla":self._getMovie().fl_setAudio_m4a(media[format]);break;case"mp3":self._getMovie().fl_setAudio_mp3(media[format]);break};self.status.src=media[format];self.status.format[format]=true;self.status.formatType=format;return false}});if(this.options.preload==='auto'){this._flash_load();this.status.waitForLoad=false}}catch(err){this._flashError(err)}},_flash_setVideo:function(media){var self=this;try{$.each(this.formats,function(priority,format){if(self.flash.support[format]&&media[format]){switch(format){case"m4v":case"flv":self._getMovie().fl_setVideo_m4v(media[format]);break};self.status.src=media[format];self.status.format[format]=true;self.status.formatType=format;return false}});if(this.options.preload==='auto'){this._flash_load();this.status.waitForLoad=false}}catch(err){this._flashError(err)}},_flash_clearMedia:function(){this.internal.flash.jq.css({width:'0px',height:'0px'});try{this._getMovie().fl_clearMedia()}catch(err){this._flashError(err)}},_flash_load:function(){try{this._getMovie().fl_load()}catch(err){this._flashError(err)};this.status.waitForLoad=false},_flash_play:function(time){try{this._getMovie().fl_play(time)}catch(err){this._flashError(err)};this.status.waitForLoad=false;this._flash_checkWaitForPlay()},_flash_pause:function(time){try{this._getMovie().fl_pause(time)}catch(err){this._flashError(err)};if(time>0){this.status.waitForLoad=false;this._flash_checkWaitForPlay()}},_flash_playHead:function(p){try{this._getMovie().fl_play_head(p)}catch(err){this._flashError(err)};if(!this.status.waitForLoad)this._flash_checkWaitForPlay()},_flash_checkWaitForPlay:function(){if(this.status.waitForPlay){this.status.waitForPlay=false;if(this.css.jq.videoPlay.length)this.css.jq.videoPlay.hide();if(this.status.video){this.internal.poster.jq.hide();this.internal.flash.jq.css({width:this.status.width,height:this.status.height})}}},_flash_volume:function(v){try{this._getMovie().fl_volume(v)}catch(err){this._flashError(err)}},_flash_mute:function(m){try{this._getMovie().fl_mute(m)}catch(err){this._flashError(err)}},_getMovie:function(){return document[this.internal.flash.id]},_checkForFlash:function(version){var flashIsInstalled=false,flash;if(window.ActiveXObject){try{flash=new ActiveXObject(("ShockwaveFlash.ShockwaveFlash."+version));flashIsInstalled=true}catch(e){}}else if(navigator.plugins&&navigator.mimeTypes.length>0){flash=navigator.plugins["Shockwave Flash"];if(flash){var flashVersion=navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1");if(flashVersion>=version)flashIsInstalled=true}};return flashIsInstalled},_validString:function(url){return(url&&typeof url==="string")},_limitValue:function(value,min,max){return(valuemax)?max:value)},_urlNotSetError:function(context){this._error({type:$.jPlayer.error.URL_NOT_SET,context:context,message:$.jPlayer.errorMsg.URL_NOT_SET,hint:$.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(error){var errorType;if(!this.internal.ready){errorType="FLASH"}else errorType="FLASH_DISABLED";this._error({type:$.jPlayer.error[errorType],context:this.internal.flash.swf,message:$.jPlayer.errorMsg[errorType]+error.message,hint:$.jPlayer.errorHint[errorType]})},_error:function(error){this._trigger($.jPlayer.event.error,error);if(this.options.errorAlerts)this._alert("Error!"+(error.message?"\n\n"+error.message:"")+(error.hint?"\n\n"+error.hint:"")+"\n\nContext: "+error.context)},_warning:function(warning){this._trigger($.jPlayer.event.warning,undefined,warning);if(this.options.warningAlerts)this._alert("Warning!"+(warning.message?"\n\n"+warning.message:"")+(warning.hint?"\n\n"+warning.hint:"")+"\n\nContext: "+warning.context)},_alert:function(message){alert("jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+message)},_emulateHtmlBridge:function(){var self=this,methods=$.jPlayer.emulateMethods;$.each($.jPlayer.emulateMethods.split(/\s+/g),function(i,name){self.internal.domNode[name]=function(arg){self[name](arg)}});$.each($.jPlayer.event,function(eventName,eventType){var nativeEvent=true;$.each($.jPlayer.reservedEvent.split(/\s+/g),function(i,name){if(name===eventName){nativeEvent=false;return false}});if(nativeEvent)self.element.bind(eventType+".jPlayer.jPlayerHtml",function(){self._emulateHtmlUpdate();var domEvent=document.createEvent("Event");domEvent.initEvent(eventName,false,true);self.internal.domNode.dispatchEvent(domEvent)})})},_emulateHtmlUpdate:function(){var self=this;$.each($.jPlayer.emulateStatus.split(/\s+/g),function(i,name){self.internal.domNode[name]=self.status[name]});$.each($.jPlayer.emulateOptions.split(/\s+/g),function(i,name){self.internal.domNode[name]=self.options[name]})},_destroyHtmlBridge:function(){var self=this;this.element.unbind(".jPlayerHtml");var emulated=$.jPlayer.emulateMethods+" "+$.jPlayer.emulateStatus+" "+$.jPlayer.emulateOptions;$.each(emulated.split(/\s+/g),function(i,name){delete self.internal.domNode[name]})}};$.jPlayer.error={FLASH:"e_flash",FLASH_DISABLED:"e_flash_disabled",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support",URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"};$.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",FLASH_DISABLED:"jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.",VERSION:"jPlayer "+$.jPlayer.prototype.version.script+" needs Jplayer.swf version "+$.jPlayer.prototype.version.needFlash+" but found "};$.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",FLASH_DISABLED:"Check that you have not display:none; the jPlayer entity or any ancestor.",NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."};$.jPlayer.warning={CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"};$.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of css selectors found did not equal one: ",CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."};$.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}})(jQuery) diff --git a/apps/media/js/player.js b/apps/media/js/player.js index f638b86e19..f76628110a 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -62,6 +62,7 @@ var PlayList={ } }, cssSelectorAncestor:'#jp-interface', + swfPath:OC.linkTo('media','js'), }); }, add:function(song){ diff --git a/apps/media/templates/player.php b/apps/media/templates/player.php index abba806510..b307f98473 100644 --- a/apps/media/templates/player.php +++ b/apps/media/templates/player.php @@ -17,7 +17,6 @@ - -
+
\ No newline at end of file From 606dec8da026d3aceb75abb64c936a09a3bd9133 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 27 Jul 2011 16:39:44 +0200 Subject: [PATCH 7/7] some minor changes in the javascript translation function also provide Array.prototype.indexOf for browser that don't support it nativale (IE) --- core/js/js.js | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index 9117f08349..593a637137 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -1,26 +1,27 @@ -var _l10ncache = {}; function t(app,text){ - if( !( app in _l10ncache )){ - $.post( oc_webroot+'/core/ajax/translations.php', {'app': app}, function(jsondata){ - _l10ncache[app] = jsondata.data; + if( !( app in t.cache )){ + + $.post( OC.filePath('core','ajax','translations.php'), {'app': app}, function(jsondata){ + t.cache[app] = jsondata.data; }); // Bad answer ... - if( !( app in _l10ncache )){ - _l10ncache[app] = []; + if( !( app in t.cache )){ + t.cache[app] = []; } } - if( typeof( _l10ncache[app][text] ) !== 'undefined' ){ - return _l10ncache[app][text]; + if( typeof( t.cache[app][text] ) !== 'undefined' ){ + return t.cache[app][text]; } else{ return text; } } +t.cache={}; OC={ webroot:oc_webroot, - coreApps:['files','admin','log','search','settings'], + coreApps:['files','admin','log','search','settings','core'], linkTo:function(app,file){ return OC.filePath(app,'',file); }, @@ -55,3 +56,25 @@ OC={ $('head').append(style); } } + +if (!Array.prototype.indexOf){ + Array.prototype.indexOf = function(elt /*, from*/) + { + var len = this.length; + + var from = Number(arguments[1]) || 0; + from = (from < 0) + ? Math.ceil(from) + : Math.floor(from); + if (from < 0) + from += len; + + for (; from < len; from++) + { + if (from in this && + this[from] === elt) + return from; + } + return -1; + }; +} \ No newline at end of file