* Skin refactoring
authorMichael Dale <dale@users.mediawiki.org>
Mon, 26 Oct 2009 10:44:13 +0000 (10:44 +0000)
committerMichael Dale <dale@users.mediawiki.org>
Mon, 26 Oct 2009 10:44:13 +0000 (10:44 +0000)
** Player Themable has kskin and mvpcf skin side by side
** skins can include js configuration
** moving common assets into a shared folder
** (still a bit more to do)

* fix for firefox native video missing onseeked callback
* some refactoring of globals into $mw namespace
* fixed clientAcceptsGzip call in 'stand alone' mode for script-loader
* some language msg updates

48 files changed:
js2/apiProxyPage.js
js2/mwEmbed/example_usage/Player_Simple_Themable.html [deleted file]
js2/mwEmbed/example_usage/Player_Themable.html [new file with mode: 0644]
js2/mwEmbed/jsScriptLoader.php
js2/mwEmbed/libAddMedia/remoteSearchDriver.js
js2/mwEmbed/libEmbedVideo/embedVideo.js
js2/mwEmbed/libEmbedVideo/nativeEmbed.js
js2/mwEmbed/libMwApi/mw.proxy.js
js2/mwEmbed/libSequencer/mvPlayList.js
js2/mwEmbed/libSequencer/mvSequencer.js
js2/mwEmbed/mv_embed.js
js2/mwEmbed/php/languages/mwEmbed.i18n.php
js2/mwEmbed/skins/common/remote_cp/archive_org_logo_17.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/archive_org_logo_80.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/archive_org_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/combined_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/flickr_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/metavid_logo_17.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/metavid_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/this_wiki_logo_17.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/this_wiki_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_17.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_80.png [new file with mode: 0644]
js2/mwEmbed/skins/common/remote_cp/wiki_commons_tab.png [new file with mode: 0644]
js2/mwEmbed/skins/common/transition_images/fade_crossfade.png [new file with mode: 0644]
js2/mwEmbed/skins/common/transition_images/fade_fadeFromColor.png [new file with mode: 0644]
js2/mwEmbed/skins/common/transition_images/transition_wipe.png [new file with mode: 0644]
js2/mwEmbed/skins/ctrlBuilder.js
js2/mwEmbed/skins/kskin/kskin.js
js2/mwEmbed/skins/kskin/playerSkin.css
js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_17.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_80.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/combined_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/flickr_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_logo_17.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_logo_17.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_17.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_80.png [deleted file]
js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_tab.png [deleted file]
js2/mwEmbed/skins/mvpcf/mvpcf.js
js2/mwEmbed/skins/mvpcf/playerSkin.css
js2/mwEmbed/skins/mvpcf/styles.css
js2/mwEmbed/skins/mvpcf/transition_images/fade_crossfade.png [deleted file]
js2/mwEmbed/skins/mvpcf/transition_images/fade_fadeFromColor.png [deleted file]
js2/mwEmbed/skins/mvpcf/transition_images/transition_wipe.png [deleted file]

index 8e2a994..327e5c6 100644 (file)
@@ -8,7 +8,7 @@
  * since this is proxy server set a pre-append debug flag to know which debug msgs are coming from where
  */
  
-mwConfig['debug_pre'] = 'Proxy';
+$mw.conf['debug_pre'] = 'Proxy';
  
 if( !mwApiProxyConfig )
        var mwApiProxyConfig = {};
diff --git a/js2/mwEmbed/example_usage/Player_Simple_Themable.html b/js2/mwEmbed/example_usage/Player_Simple_Themable.html
deleted file mode 100644 (file)
index 4ec0fc8..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-       <title>Sample Themed Player</title>
-       <script type="text/javascript" src="../mv_embed.js?debug=true"></script>         
-</head>
-<script type="text/javascript">
-</script>
-<body bgcolor="#FFF">
-<h3> Sample Simple Themable Player:</h3>
-To play with dynamic Themes install <a href="http://jqueryui.com/themeroller/developertool/">Themeroller</a><p><p>
-<div style="width:450px;float:left">
-<video src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Okapia_johnstoni5.ogg" 
-               poster="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Okapia_johnstoni5.ogg/mid-Okapia_johnstoni5.ogg.jpg" durationHint="15"></video>
-               </div>  
-<div style="float:left">
-<b>Source Code used:</b><br>
-<textarea cols="50" rows="7"><video src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Okapia_johnstoni5.ogg" poster="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Okapia_johnstoni5.ogg/mid-Okapia_johnstoni5.ogg.jpg" durationHint="15"></video></textarea>
-</div>
-</body>
-</html>
-
diff --git a/js2/mwEmbed/example_usage/Player_Themable.html b/js2/mwEmbed/example_usage/Player_Themable.html
new file mode 100644 (file)
index 0000000..bd9fd09
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+       <title>Sample Themed Player</title>
+       <script type="text/javascript" src="../mv_embed.js?debug=true"></script>         
+</head>
+<script type="text/javascript">
+</script>
+<body bgcolor="#FFF">
+<h3> Sample Themable Player:</h3>
+To play with dynamic Themes install <a href="http://jqueryui.com/themeroller/developertool/">Themeroller</a><p><p>
+
+<div style="width:450px;float:left">
+<video src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Okapia_johnstoni5.ogg" 
+               poster="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Okapia_johnstoni5.ogg/mid-Okapia_johnstoni5.ogg.jpg" durationHint="15"></video>
+<b>Source Code used:</b><br>
+<textarea cols="50" rows="7"><video style="width:400px;height:288px" poster="http://metavid.org/w/index.php?action=ajax&rs=mv_frame_server&stream_id=71&t=1:23:16&size=400x300" 
+src="http://metavidstorage01.ucsc.edu/media/house_proceeding_07-18-06_00.ogg?t=1:23:16/1:23:44"></video></textarea>
+</div>
+
+
+<div style="width:450px;float:left">
+<video skin_name="kskin" src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Okapia_johnstoni5.ogg" 
+               poster="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Okapia_johnstoni5.ogg/mid-Okapia_johnstoni5.ogg.jpg" durationHint="15"></video>
+<b>(ksin) Embed Code used:</b><br>
+<textarea cols="50" rows="7"><video skin_name="kskin" src="http://upload.wikimedia.org/wikipedia/commons/d/d3/Okapia_johnstoni5.ogg" poster="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Okapia_johnstoni5.ogg/mid-Okapia_johnstoni5.ogg.jpg" durationHint="15"></video></textarea>
+</div>
+
+
+
+</body>
+</html>
+
index c627290..259675b 100644 (file)
@@ -5,15 +5,15 @@
  */
 // Check if we are being invoked in a MediaWiki context or stand alone usage:
 
-//setup the script local script cache directory (has to be hard coded rather than config based  for fast non-mediawiki hits
+//setup the script local script cache directory (has to be hard coded rather than config based for fast non-mediawiki config hits
 $wgScriptCacheDirectory = realpath( dirname( __FILE__ ) ) . '/php/script-cache';
 
 if ( !defined( 'MEDIAWIKI' ) && !defined( 'MW_CACHE_SCRIPT_CHECK' ) ){
-       // Load noMediaWiki helper
+       // Load noMediaWiki helper for quick cache result
        $myScriptLoader = new jsScriptLoader();
        if( $myScriptLoader->outputFromCache() )
                exit();
-       //else load up all the config and do normal doScriptLoader process:
+       //else load up all the config and do normal stand alone ScriptLoader process:
        require_once( realpath( dirname( __FILE__ ) ) . '/php/noMediaWikiConfig.php' );
        $myScriptLoader->doScriptLoader();
 }
@@ -163,7 +163,7 @@ class jsScriptLoader {
                global $wgUseGzip;
                $this->outputJsHeaders();
                if ( $wgUseGzip ) {
-                       if ( wfClientAcceptsGzip() ) {
+                       if ( $this->clientAcceptsGzip() ) {
                                header( 'Content-Encoding: gzip' );
                                echo gzencode( $this->jsout );
                        } else {
@@ -173,6 +173,20 @@ class jsScriptLoader {
                        echo $this->jsout;
                }
        }
+       
+       function clientAcceptsGzip() {          
+               $m = array();
+               if( preg_match(
+                       '/\bgzip(?:;(q)=([0-9]+(?:\.[0-9]+)))?\b/',
+                       $_SERVER['HTTP_ACCEPT_ENCODING'],
+                       $m ) ) {
+                       if( isset( $m[2] ) && ( $m[1] == 'q' ) && ( $m[2] == 0 ) ) 
+                               return false;                           
+                       //no gzip support found
+                       return true;    
+               }       
+               return false;   
+       }
        /*
         * postProcRequestVars uses globals, configuration and mediaWiki to test wiki-titles and files exist etc.
         */
index cc56b0d..673cefc 100644 (file)
@@ -14,7 +14,7 @@ loadGM({
        "rsd_box_layout" : "Box layout",
        "rsd_list_layout" : "List layout",
        "rsd_results_desc" : "Results $1 to $2",
-       "rsd_results_desc_total" : "Results $1 to $2 of $3",  
+       "rsd_results_desc_total" : "Results $1 to $2 of $3",
        "rsd_results_next" : "next",
        "rsd_results_prev" : "previous",
        "rsd_no_results" : "No search results for <b>$1<\/b>",
@@ -47,12 +47,12 @@ loadGM({
        "mwe-cancel_import" : "Cancel import",
        "mwe-importing_asset" : "Importing asset",
        "mwe-preview_insert_resource" : "Preview insert of resource: $1",
-       "mwe-checking-resource": "Checking for resource",
-       "mwe-resource-needs-import": "Resource $1 needs to be imported to $2",
+       "mwe-checking-resource" : "Checking for resource",
+       "mwe-resource-needs-import" : "Resource $1 needs to be imported to $2",
        "mwe-ftype-svg" : "SVG vector file",
        "mwe-ftype-jpg" : "JPEG image file",
        "mwe-ftype-png" : "PNG image file",
-       "mwe-ftype-oga" : "Ogg audio file",
+       "mwe-ftype-oga" : "Ogg audio file",
        "mwe-ftype-ogg" : "Ogg video file",
        "mwe-ftype-unk" : "Unknown file format"
 });
@@ -632,11 +632,11 @@ remoteSearchDriver.prototype = {
                mv_set_loading('#tab-upload');
                //do things async to keep interface snappy
                setTimeout(function(){
-                                               
                        //check if we need to setup the proxy::
                        if( _this.upload_api_target == 'proxy' ){
-                               //setup proxy
-                               $j('#tab-upload').html( 'do proxy setup');
+                               _this.setupProxy( function(){
+                                       _this.getUploadForm();
+                               });                                                                                                             
                        }else{                          
                                _this.getUploadForm();
                        }                                                       
@@ -902,7 +902,7 @@ remoteSearchDriver.prototype = {
                                                o+='<li class="rsd_cp_tab">';
                                                o+='<a id="rsd_tab_' + cp_id + '" href="#tab-' + cp_id + '">';
                                                        if(cp.tab_img === true){
-                                                               o+='<img alt="' + cp.title +'" src="' + mv_skin_img_path + 'remote_cp/' + cp_id + '_tab.png">';
+                                                               o+='<img alt="' + cp.title +'" src="' + mv_embed_path +'/skins/common/remote_cp/' + cp_id + '_tab.png">';
                                                        }else{
                                                                o+= cp.title;
                                                        }
index d7b7c66..2d608d6 100644 (file)
@@ -5,7 +5,7 @@
 loadGM({
        "mwe-loading_plugin" : "loading plugin ...",
        "mwe-select_playback" : "Set playback preference",
-       "mwe-link_back" : "Link back",  
+       "mwe-link_back" : "Link back",
        "mwe-error_swap_vid" : "Error: mv_embed was unable to swap the video tag for the mv_embed interface",
        "mwe-add_to_end_of_sequence" : "Add to end of sequence",
        "mwe-missing_video_stream" : "The video file for this stream is missing",
@@ -18,7 +18,8 @@ loadGM({
        "mwe-next_clip_msg" : "Play next clip",
        "mwe-prev_clip_msg" : "Play previous clip",
        "mwe-current_clip_msg" : "Continue playing this clip",
-       "mwe-seek_to" : "Seek to",
+       "mwe-seek_to" : "Seek to $1",
+       "mwe-paused" : "paused",
        "mwe-download_segment" : "Download selection:",
        "mwe-download_full" : "Download full video file:",
        "mwe-download_right_click" : "To download, right click and select <i>Save target as...<\/i>",
@@ -47,10 +48,10 @@ loadGM({
        "mwe-for_best_experience" : "For a better video playback experience we recommend:<br \/><b><a href=\"http:\/\/www.mozilla.com\/en-US\/firefox\/upgrade.html?from=mwEmbed\">Firefox 3.5<\/a>.<\/b>",
        "mwe-do_not_warn_again" : "Dismiss for now.",
        "mwe-playerselect" : "Players",
-       "mwe-read_before_embed" : "Please read the <a href=\"http:\/\/mediawiki.org\/wiki\/Security_Notes_on_Remote_Embedding\" target=\"_new\">security notes on remote embedding<\/a> before actually embedding!",
+       "mwe-read_before_embed" : "<a href=\"http:\/\/mediawiki.org\/wiki\/Security_Notes_on_Remote_Embedding\" target=\"_new\">Read This<\/a> before embedding.",
        "mwe-embed_site_or_blog" : "Embed on your site or blog",
        "mwe-related_videos" : "Related videos",
-       "mwe-seeking": "seeking"
+       "mwe-seeking" : "seeking"
 });
 
 //set the globals:
@@ -137,26 +138,27 @@ mvEmbed = {
                
                var eAction = function(this_elm){
                        js_log( "Do SWAP: " + $j(this_elm).attr("id") + ' tag: '+ this_elm.tagName.toLowerCase() );
-                                       
+                                                               
                        if( $j(this_elm).attr("id") == '' ){
                                $j(this_elm).attr("id", 'v'+ global_player_list.length);
                        }                       
                        //store a global reference to the id    
-                  global_player_list.push( $j(this_elm).attr("id") );
-                  //if video doSwap
-                  switch( this_elm.tagName.toLowerCase()){
-                          case 'video':
-                                   var videoInterface = new embedVideo(this_elm);       
+                       global_player_list.push( $j(this_elm).attr("id") );                     
+                       
+                       //if video doSwap
+                       switch( this_elm.tagName.toLowerCase()){
+                               case 'video':
+                                       var videoInterface = new embedVideo(this_elm);   
+                                       mvEmbed.swapEmbedVideoElement( this_elm, videoInterface );
+                               break;
+                               case 'audio':
+                                       var videoInterface = new embedVideo(this_elm);   
+                                       videoInterface.type ='audio';
                                        mvEmbed.swapEmbedVideoElement( this_elm, videoInterface );
-                          break;
-                          case 'audio':
-                                  var videoInterface = new embedVideo(this_elm);        
-                                  videoInterface.type ='audio';
-                                  mvEmbed.swapEmbedVideoElement( this_elm, videoInterface );
-                          break;
-                          case 'playlist':
-                                  loadPlaylistLib=true;
-                          break;
+                               break;
+                               case 'playlist':
+                                       loadPlaylistLib=true;
+                               break;
                   }            
                }               
                if( force_id == null && force_id != '' ){
@@ -186,6 +188,7 @@ mvEmbed = {
                                '$j.ui',        //include dialog for pop-ing up thigns
                                '$j.ui.dialog'  
                        ], function(){
+                               //deal with each playlist instance
                                $j('playlist').each(function(){                                                                                                                                                                                                                                                                 
                                        //create new playlist interface:
                                        var plObj = new mvPlayList( this );
@@ -810,23 +813,20 @@ embedVideo.prototype = {
                else
                        return parseInt(this.height);
        },
-       init: function(element){                
-               //this.element_pointer = element;
-               
-               //set the skin name from the config
-               //@@todo support skin as an attribute option
-               this.skin_name = mwConfig['skin_name'];
-               
-               //inherit all the default video_attributes
+       init: function(element){                                                        
+               //inherit all the default video_attributes              
                for(var attr in default_video_attributes){ //for in loop oky on user object
                        if(element.getAttribute(attr)){
-                               this[attr]=element.getAttribute(attr);
-                               //js_log('attr:' + attr + ' val: ' + element.getAttribute(attr) +'(set by elm)');
+                               this[ attr ]=element.getAttribute(attr);
                        }else{
                                this[attr]=default_video_attributes[attr];
-                               //js_log('attr:' + attr + ' val: ' + video_attributes[attr] +" "+ 'elm_val:' + element.getAttribute(attr) + "\n (set by attr)");
                        }
                }
+               
+               //set the skin name from the config (if not set locally) 
+               if( !this.skin_name )
+                       this.skin_name = $mw.conf['skin_name'];
+               
                //make sure startOffset is cast as an int                  
                if( this.startOffset && this.startOffset.split(':').length >= 2)
                        this.startOffset = npt2seconds(this.startOffset);
@@ -839,7 +839,7 @@ embedVideo.prototype = {
                this.duration = parseFloat(this.duration);  
                js_log("duration is: " +  this.duration);
                //if style is set override width and height
-               var dwh = mwConfig['video_size'].split('x');
+               var dwh = $mw.conf['video_size'].split('x');
                this.width = element.style.width ? element.style.width : dwh[0];
                this.height = element.style.height ? element.style.height : dwh[1];
                //set the plugin id
@@ -857,8 +857,12 @@ embedVideo.prototype = {
                //if we are displaying controls setup the ctrlBuilder  
                if( this.controls ){
                        //set-up the local ctrlBuilder instance: 
-                       this.ctrlBuilder = new ctrlBuilder( this );             
-               }                        
+                       this.ctrlBuilder = new ctrlBuilder( this );
+                       //load the css for the current player
+                                       
+               }                       
+               //load skin:
+               loadExternalCss(  mv_embed_path +  'skins/' + this.skin_name + '/playerSkin.css');
        },
        on_dom_swap: function(){
                js_log('f:on_dom_swap');                                
@@ -1001,14 +1005,16 @@ embedVideo.prototype = {
                return true;    
        },
        getTimeReq:function(){
-               var default_time_req = '0:00:00/' + seconds2npt(this.getDuration());
+               var et = (this.ctrlBuilder.long_time_disp)? '/' + seconds2npt( this.getDuration() ) : '';
+               var default_time_req = '0:00:00' + et;
                if(!this.media_element)
                        return default_time_req;
                if(!this.media_element.selected_source)
                        return default_time_req;                
                if(!this.media_element.selected_source.end_ntp)
                        return default_time_req;                
-               return this.media_element.selected_source.start_ntp+'/'+this.media_element.selected_source.end_ntp;
+               var et = (this.ctrlBuilder.long_time_disp) ?'/'+this.media_element.selected_source.end_ntp : '';
+               return this.media_element.selected_source.start_ntp + et;
        },      
        getDuration:function(){                                                 
                //update some local pointers for the selected source:   
@@ -1063,7 +1069,7 @@ embedVideo.prototype = {
         * (should be overwitten by client that supports frame serving)
         */     
        setCurrentTime:function( time, callback){
-               js_log('error: base embed setCurrentTime can not frame serve (overide via plugin)');
+               js_log('error: base embed setCurrentTime can not frame serve (override via plugin)');
        },
        addPresTimeOffset:function(){
           //add in the offset:         
@@ -1406,12 +1412,12 @@ embedVideo.prototype = {
        },
        refreshControlsHTML:function(){
                js_log('refreshControlsHTML::');
-               if($j('#mv_embedded_controls_'+this.id).length == 0)
+               if($j('#' + this.id + ' .control-bar').length == 0)
                {
-                       js_log('#mv_embedded_controls_'+this.id + ' not present, returning');
+                       js_log('control-bar not present, returning');
                        return ;
                }else{
-                       $j('#mv_embedded_controls_'+this.id).html( this.getControlsHTML() );
+                       $j('#' + this.id + ' .control-bar').html( this.getControlsHTML() );
                        this.ctrlBuilder.addControlHooks(this);                                         
                }               
        },   
@@ -1421,7 +1427,11 @@ embedVideo.prototype = {
        },      
        getHTML : function (){          
                //@@todo check if we have sources available     
-               js_log('embedVideo:getHTML : ' + this.id  + ' resource type: ' + this.type);                    
+               js_log('embedVideo:getHTML : ' + this.id  + ' resource type: ' + this.type);
+               
+               //set-up the local ctrlBuilder instance: 
+               this.ctrlBuilder = new ctrlBuilder( this );
+                                               
                var _this = this;                                
                var html_code = '';             
                html_code = '<div id="videoPlayer_' + this.id + '" style="width:' + this.width + 'px;position:relative;"'+ 
@@ -1431,18 +1441,14 @@ embedVideo.prototype = {
                                        '</div>';                                                                       
                //js_log("mvEmbed:controls "+ typeof this.controls);                                                                    
                if( this.controls )
-               {
-                       //set-up the local ctrlBuilder instance: 
-                       this.ctrlBuilder = new ctrlBuilder( this );
-                       
+               {               
                        js_log("f:getHTML:AddControls");
-                       html_code +='<div id="mv_embedded_controls_' + this.id + '" class="ui-widget ui-corner-bottom ui-state-default  controls" >';
+                       html_code +='<div class="ui-state-default ui-widget-header ui-helper-clearfix control-bar" >';
                        html_code += this.getControlsHTML();       
                        html_code +='</div>';                           
                        //block out some space by encapulating the top level div 
                        $j(this).wrap('<div style="width:'+parseInt(this.width)+'px;height:'
-                                       +( parseInt(this.height) + this.ctrlBuilder.height )+'px"></div>');
-                                                               
+                                       +( parseInt(this.height) + this.ctrlBuilder.height )+'px"></div>');                                                             
                }
                html_code += '</div>'; //videoPlayer div close          
                //js_log('should set: '+this.id);
@@ -1634,7 +1640,7 @@ embedVideo.prototype = {
        doOptionsHTML:function()
        {
                var sel_id = (this.pc!=null)?this.pc.pp.id:this.id;
-               var pos = $j('#options_button_'+sel_id).offset();
+               var pos = $j('#'+sel_id + ' .options-btn').offset();
                pos['top']=pos['top']+24;
                pos['left']=pos['left']-124;
                //js_log('pos of options button: t:'+pos['top']+' l:'+ pos['left']);
@@ -1669,8 +1675,7 @@ embedVideo.prototype = {
                }
                o+='<div>' +
                                '<span style="color:#FFF;font-size:14px;">Embed Clip in Blog or Site</span><br>'+
-                               '<span style="color:#FFF;font-size:12px;"><a style="color:red" href="http://metavid.org/wiki/Security_Notes_on_Remote_Embedding">'+
-                                       'Read This</a> before embeding.</span>'+
+                               '<span class="readthis" style="color:#FFF;font-size:12px;">' + gM('mwe-read_before_embed') +
                                '<div class="embed_code"> '+
                                        '<textarea onClick="this.select();" id="embedding_user_html_'+this.id+'" name="embed">' +
                                                embed_code+
@@ -1679,6 +1684,7 @@ embedVideo.prototype = {
                                '</div> '+
                        '</div>';
                this.displayHTML(o);
+               $j('#'+ this.id + ' .readthis a').css('font-color', 'red');
        },
        copyText:function(){
          $j('#embedding_user_html_'+this.id).focus().select();                 
@@ -1788,134 +1794,115 @@ embedVideo.prototype = {
                 });
                 return false; //onclick action return false
        },
-       selectPlaybackMethod:function(){                
+       showPlayerselect:function( $target ){
                //get id (in case where we have a parent container)
                var this_id = (this.pc!=null)?this.pc.pp.id:this.id;
-               
-               var _this=this;                    
-               var out= '<span style="color:#FFF;background-color:black;"><blockquote style="background-color:black;">';
+               var _this=this;
+               var o= '';
+               o+='<h2>' + gM('mwe-chose_player') + '</h2>';
                var _this=this;
                //js_log('selected src'+ _this.media_element.selected_source.url);
-               $j.each( this.media_element.getPlayableSources(), function(source_id, source){                   
-                       var default_player = embedTypes.players.defaultPlayer( source.getMIMEType() );                                                             
-                       
+               $j.each( this.media_element.getPlayableSources(), function(source_id, source){
+                       var default_player = embedTypes.players.defaultPlayer( source.getMIMEType() );
+
                        var is_selected = (source == _this.media_element.selected_source);
                        var image_src =  mv_skin_img_path ;
-                       
-                       //set the Playable source type: 
-                       if( source.mime_type == 'video/x-flv' ){
-                               image_src += 'flash_icon_';
-                       }else if( source.mime_type == 'video/h264'){
-                               //for now all mp4 content is pulled from archive.org (so use archive.org icon) 
-                               image_src += 'archive_org_';
-                       }else{
-                               image_src += 'fish_xiph_org_';
-                       }
-                       image_src += is_selected ? 'color':'bw';
-                       image_src += '.png';                                       
-                       
-                       if (default_player)
-                       {
-                               out += '<img src="'+image_src+'"/>';
-                               if( ! is_selected )
-                                       out+='<a href="#" class="sel_source" id="sc_' + source_id + '_' + default_player.id +'">';
-                               out += source.getTitle()+ (is_selected?'</a>':'') + ' ';
-                               
-                               //output the player select code: 
-                               var supporting_players = embedTypes.players.getMIMETypePlayers( source.getMIMEType() );         
-                               out+='<div id="player_select_list_' + source_id + '" class="player_select_list"><ul>';
-                               for(var i=0; i < supporting_players.length ; i++){                              
+
+                       if (default_player){
+                               o+='<ul>';
+                               //output the player select code:
+                               var supporting_players = embedTypes.players.getMIMETypePlayers( source.getMIMEType() );
+
+                               for(var i=0; i < supporting_players.length ; i++){
                                        if( _this.selected_player.id == supporting_players[i].id && is_selected ){
-                                               out+='<li style="border-style:dashed;margin-left:20px;">'+
-                                                                       '<img border="0" width="16" height="16" src="' + mv_skin_img_path + 'plugin.png">' +
-                                                                       supporting_players[i].getName() +
-                                                       '</li>';
-                                       }else{
-                                               //else gray plugin and the plugin with link to select
-                                               out+='<li style="margin-left:20px;">'+
-                                                               '<a href="#" class="sel_source" id="sc_' + source_id + '_' + supporting_players[i].id +'">'+
-                                                                       '<img border="0" width="16" height="16" src="' + mv_skin_img_path + 'plugin_disabled.png">'+
-                                                                       supporting_players[i].getName() +
-                                                               '</a>'+
+                                               o+='<li>' +
+                                                       '<a href="#" class="active" rel="sel_source" id="sc_' + source_id + '_' + supporting_players[i].id +'">' +
+                                                               supporting_players[i].getName() +
                                                        '</li>';
+                                       }else{                                  
+                                       o+='<li>' +
+                                                '<a href="#" rel="sel_source" id="sc_' + source_id + '_' + supporting_players[i].id +'">' +
+                                               supporting_players[i].getName() + '</a>' +
+                                               '</li>';
                                        }
                                 }
-                                out+='</ul></div>';               
-                       }else
-                               out+= source.getTitle() + ' - no player available';
+                                o+='</ul>';
+                       }else{
+                               o+= source.getTitle() + ' - no player available';
+                       }
                });
-               out+='</blockquote></span>';
-               this.displayHTML(out);
-               
+               $target.html(o);
+
                //set up the click bindings:
-               $j('.sel_source').each(function(){
+               $target.find("[rel='sel_source']").each(function(){
                        $j(this).click(function(){
                                var iparts = $j(this).attr( 'id' ).replace(/sc_/,'').split('_');
                                var source_id = iparts[0];
                                var default_player_id = iparts[1];
-                               js_log('source id: ' +  source_id + ' player id: ' + default_player_id);                                
-                                
-                               $j('#' + this_id  ).get(0).closeDisplayedHTML();                                
+                               js_log('source id: ' +  source_id + ' player id: ' + default_player_id);
+
+                               $j('#' + this_id  ).get(0).closeDisplayedHTML();
                                $j('#' + _this.id ).get(0).media_element.selectSource( source_id );
-                               
+
                                embedTypes.players.userSelectPlayer( default_player_id,
                                         _this.media_element.sources[ source_id ].getMIMEType() );
-                                        
+
                                //be sure to issue a stop
                                $j('#' + this_id  ).get(0).stop();
-                               
+
                                //don't follow the empty # link:
                                return false;
                        });
                });
        },      
-       showVideoDownload:function(){           
+       showDownload:function( $target ){
+               var _this = this;
                //load the roe if available (to populate out download options:
-               //js_log('f:showVideoDownload '+ this.roe + ' ' + this.media_element.addedROEData);
+               function getShowVideoDownload(){
+                       var out='<div style="color:white">' +
+                                       '<b style="color:white;">'+gM('mwe-download_segment')+'</b><br>';
+                       out+='<blockquote style="background:#000">'+
+                                       gM('mwe-download_right_click') + '</blockquote><br>';
+                       var dl_list='';
+                       var dl_txt_list='';             
+                       $j.each(_this.media_element.getSources(), function(index, source){
+                               var dl_line = '<li>' + '<a style="color:white" href="' + source.getURI() +'"> '
+                                       + source.getTitle()+'</a> '+ '</li>'+"\n";                      
+                               if(      source.getURI().indexOf('?t=')!==-1){
+                                       out+=dl_line;
+                               }else if( this.getMIMEType()=="text/cmml" || this.getMIMEType()=="text/x-srt" ){
+                                       dl_txt_list+=dl_line;
+                               }else{
+                                       dl_list+=dl_line;
+                               }
+                       });             
+                       
+                       if(dl_list!='')
+                               out+=gM('mwe-download_full') + '<blockquote style="background:#000">' + dl_list + '</blockquote>';
+                       if(dl_txt_list!='')
+                               out+=gM('mwe-download_text')+'<blockquote style="background:#000">' + dl_txt_list +'</blockquote>';
+                       out+='</div>';
+                       return out;
+               }
+               //js_log('f:showDownload '+ this.roe + ' ' + this.media_element.addedROEData);
                if(this.roe && this.media_element.addedROEData == false){
                        var _this = this;
-                       this.displayHTML(gM('mwe-loading_txt'));
+                       $target.html( gM('loading_txt') );
                        do_request(this.roe, function(data)
                        {
-                          _this.media_element.addROE(data);                                                     
-                          $j('#mv_disp_inner_'+_this.id).html( _this.getShowVideoDownload() );
-                       });                        
+                          _this.media_element.addROE(data);
+                          $target.html( getShowVideoDownload() );
+                       });
                }else{
-                       this.displayHTML( this.getShowVideoDownload() );
-               }          
-       },
-       getShowVideoDownload:function(){ 
-               var out='<div style="color:white">' +
-                               '<b style="color:white;">'+gM('mwe-download_segment')+'</b><br>';
-               out+='<blockquote style="background:#000">'+
-                               gM('mwe-download_right_click') + '</blockquote><br>';
-               var dl_list='';
-               var dl_txt_list='';             
-               $j.each(this.media_element.getSources(), function(index, source){
-                       var dl_line = '<li>' + '<a style="color:white" href="' + source.getURI() +'"> '
-                               + source.getTitle()+'</a> '+ '</li>'+"\n";                      
-                       if(      source.getURI().indexOf('?t=')!==-1){
-                               out+=dl_line;
-                       }else if( this.getMIMEType()=="text/cmml" || this.getMIMEType()=="text/x-srt" ){
-                               dl_txt_list+=dl_line;
-                       }else{
-                               dl_list+=dl_line;
-                       }
-               });             
-               
-               if(dl_list!='')
-                       out+=gM('mwe-download_full') + '<blockquote style="background:#000">' + dl_list + '</blockquote>';
-               if(dl_txt_list!='')
-                       out+=gM('mwe-download_text')+'<blockquote style="background:#000">' + dl_txt_list +'</blockquote>';
-               out+='</div>';
-               return out;
-       },
+                       $target.html( getShowVideoDownload() );
+               }
+       },      
        /*
        *  base embed controls
        *       the play button calls
        */
        play:function(){
-               var this_id = (this.pc!=null)?this.pc.pp.id:this.id;
+               var eid = (this.pc!=null)?this.pc.pp.id:this.id;
                                
                //js_log( "mv_embed play:" + this.id);          
                //js_log('thum disp:'+this.thumbnail_disp);
@@ -1938,9 +1925,9 @@ embedVideo.prototype = {
                        this.seeking=false;
                }                               
                
-                $j("#mv_play_pause_button_" + this_id + ' span').removeClass('ui-icon-play').addClass('ui-icon-pause');                           
-                $j("#mv_play_pause_button_" + this_id).unbind().btnBind().click(function(){                                    
-                       $j('#' + this_id ).get(0).pause();
+                $j('#' + eid + ' .play-btn span').removeClass('ui-icon-play').addClass('ui-icon-pause');                          
+                $j('#' + eid + ' .play-btn').unbind().btnBind().click(function(){                                      
+                       $j('#' + eid ).get(0).pause();
                 }).attr('title', gM('mwe-pause_clip'));
                   
        },
@@ -1957,14 +1944,14 @@ embedVideo.prototype = {
         *  must be overwritten by embed object to support this functionality.
         */
        pause: function(){
-               var this_id = (this.pc!=null)?this.pc.pp.id:this.id;                                                      
+               var eid = (this.pc!=null)?this.pc.pp.id:this.id;                                                          
                //js_log('mv_embed:do pause');          
                //(playing) do pause            
                this.paused = true; 
                //update the ctrl "paused state"                                
-               $j("#mv_play_pause_button_" + this_id + ' span').removeClass('ui-icon-pause').addClass('ui-icon-play');
-               $j("#mv_play_pause_button_" + this_id).unbind().btnBind().click(function(){                                                      
-                               $j('#'+this_id).get(0).play();
+               $j('#' + eid + ' .play-btn span').removeClass('ui-icon-pause').addClass('ui-icon-play');
+                $j('#' + eid + ' .play-btn').unbind().btnBind().click(function(){                                                       
+                               $j('#'+eid).get(0).play();
                }).attr('title', gM('mwe-play_clip'));
        },      
        /*
@@ -2010,16 +1997,16 @@ embedVideo.prototype = {
                }
        },
        toggleMute:function(){
-               var this_id = (this.pc!=null)?this.pc.pp.id:this.id;    
+               var eid = (this.pc!=null)?this.pc.pp.id:this.id;        
                if(this.muted){
                        this.muted=false;
-                       $j('#volume_control_'+this_id + ' span').removeClass('ui-icon-volume-off').addClass('ui-icon-volume-on');
-                       $j('#volume_bar_'+this_id).slider('value', 100); 
+                       $j('#volume_control_'+eid + ' span').removeClass('ui-icon-volume-off').addClass('ui-icon-volume-on');
+                       $j('#volume_bar_'+eid).slider('value', 100); 
                        this.updateVolumen(1);
                }else{
                        this.muted=true;
-                       $j('#volume_control_'+this_id + ' span').removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');
-                       $j('#volume_bar_'+this_id).slider('value', 0);
+                       $j('#volume_control_'+eid + ' span').removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');
+                       $j('#volume_bar_'+eid).slider('value', 0);
                        this.updateVolumen(0); 
                }
                js_log('f:toggleMute::' + this.muted);          
@@ -2059,23 +2046,27 @@ embedVideo.prototype = {
        //do common monitor code like update the playhead and play status 
        //plugin objects are responsible for updating currentTime
        monitor:function(){             
+               //js_log(' us: ' + this.userSlide + ' is seek: ' + this.seeking );
                if( this.currentTime && this.currentTime > 0 && this.duration){
-                       if( !this.userSlide && ! this.seeking ){
+                       if( !this.userSlide && !this.seeking ){
                                if( this.start_offset  ){ 
                                        //if start offset include that calculation 
-                                       this.setSliderValue( ( this.currentTime - this.start_offset ) / this.duration );                        
-                                       this.setStatus( seconds2npt(this.currentTime) + '/'+ seconds2npt(parseFloat(this.start_offset)+parseFloat(this.duration) ));            
+                                       this.setSliderValue( ( this.currentTime - this.start_offset ) / this.duration );
+                                       var et = (this.ctrlBuilder.long_time_disp)? '/'+ seconds2npt(parseFloat(this.start_offset)+parseFloat(this.duration) ) : '';                    
+                                       this.setStatus( seconds2npt(this.currentTime) + et);
                                }else{
                                        this.setSliderValue( this.currentTime / this.duration );
-                                       this.setStatus( seconds2npt(this.currentTime) + '/' + seconds2npt(this.duration ));
+                                       var et = (this.ctrlBuilder.long_time_disp)? '/' + seconds2npt( this.duration ):'';
+                                       this.setStatus( seconds2npt( this.currentTime ) + et);
                                }                               
                        }
                }else{
+                       //media lacks duration just show end time
                        //js_log(' ct:' + this.currentTime + ' dur: ' + this.duration);
                        if( this.isStoped() ){
                                this.setStatus( this.getTimeReq() );
                        }else if( this.isPaused() ){
-                               this.setStatus( "paused" );
+                               this.setStatus( gM('mwe-paused') );                     
                        }else if( this.isPlaying() ){
                                if( this.currentTime && ! this.duration ) 
                                        this.setStatus( seconds2npt( this.currentTime ) + ' /' );
@@ -2085,6 +2076,8 @@ embedVideo.prototype = {
                                this.setStatus( this.getTimeReq() );
                        }                       
                }
+               //could check if time > duration here and stop playback
+               
                //update buffer information 
                this.updateBufferStatus();
                var _this = this;
@@ -2112,7 +2105,7 @@ embedVideo.prototype = {
                //build the buffer targeet based for playlist vs clip 
                var buffer_select = (this.pc) ? 
                        '#cl_status_' + this.id + ' .mv_buffer': 
-                       '#mv_play_head_' + this.id + ' .mv_buffer';
+                       '#' + this.id + ' .play_head .mv_buffer';
                        
                //update the buffer progress bar (if available )
                if( this.bufferedPercent != 0 ){
@@ -2157,17 +2150,17 @@ embedVideo.prototype = {
                return this.media_element.selected_source.URLTimeEncoding;
        },
        setSliderValue: function(perc, hide_progress){  
-               var this_id = (this.pc)?this.pc.pp.id:this.id;
-               if(this.controls && $j( '#mv_play_head_' + this_id).length != 0){                                       
+               var eid = (this.pc)?this.pc.pp.id:this.id;
+               if(this.controls && $j('#' + eid + ' .play_head').length != 0){                                 
                        var val = parseInt( perc*1000 ); 
-                       $j('#mv_play_head_'+this_id).slider('value', val);                              
+                       $j('#' + eid + ' .play_head').slider('value', val);                             
                }
-               //js_log('set#mv_seeker_slider_'+this_id + ' perc in: ' + perc + ' * ' + $j('#mv_seeker_'+this_id).width() + ' = set to: '+ val + ' - '+ Math.round(this.mv_seeker_width*perc) );
+               //js_log('set#mv_seeker_slider_'+eid + ' perc in: ' + perc + ' * ' + $j('#mv_seeker_'+eid).width() + ' = set to: '+ val + ' - '+ Math.round(this.mv_seeker_width*perc) );
                //js_log('op:' + offset_perc + ' *('+perc+' * ' + $j('#slider_'+id).width() + ')');
        },
        highlightPlaySection:function(options){
                js_log('highlightPlaySection');
-               var this_id = (this.pc)?this.pc.pp.id:this.id;
+               var eid = (this.pc)?this.pc.pp.id:this.id;
                var dur = this.getDuration();
                var hide_progress = true;               
                //set the left percet and update the slider: 
@@ -2186,6 +2179,7 @@ embedVideo.prototype = {
                        left_perc = parseInt( (rel_start_sec / dur)*100 ) ;             
                        slider_perc = (left_perc / 100);
                }               
+               
                js_log("slider perc:" + slider_perc);   
                if( ! this.isPlaying() ){
                        this.setSliderValue( slider_perc , hide_progress);              
@@ -2196,28 +2190,28 @@ embedVideo.prototype = {
                        width_perc = 100 - left_perc; 
                }               
                //js_log('should hl: '+rel_start_sec+ '/' + dur + ' re:' + rel_end_sec+' lp:'  + left_perc + ' width: ' + width_perc);  
-               $j('#mv_seeker_' + this_id + ' .mv_highlight').css({
-                       'left':left_perc+'%',
-                       'width':width_perc+'%'                  
-               }).show();                              
+               $j('#mv_seeker_' + eid + ' .mv_highlight').css({
+                       'left' : left_perc+'%',
+                       'width' : width_perc+'%'                        
+               }).show();
                
                this.jump_time =  options['start'];
                this.seek_time_sec = npt2seconds( options['start']);
                //trim output to 
-               this.setStatus( gM('mwe-seek_to')+' '+ seconds2npt( this.seek_time_sec ) );
+               this.setStatus( gM('mwe-seek_to', seconds2npt( this.seek_time_sec ) ) );
                js_log('DO update: ' +  this.jump_time);
                this.updateThumbTime( rel_start_sec );  
        },
        hideHighlight:function(){
-               var this_id = (this.pc)?this.pc.pp.id:this.id;
-               $j('#mv_seeker_' + this_id + ' .mv_highlight').hide();
+               var eid = (this.pc)?this.pc.pp.id:this.id;
+               $j('#mv_seeker_' + eid + ' .mv_highlight').hide();
                this.setStatus( this.getTimeReq() );
                this.setSliderValue( 0 );
        },
        setStatus:function(value){
-               var id = (this.pc)?this.pc.pp.id:this.id;
+               var eid = (this.pc)?this.pc.pp.id:this.id;
                //update status:
-               $j('#mv_time_'+id).html(value);
+               $j('#' + eid + ' .time-disp').html(value);
        }       
 }
 
index 4784ff9..2b66df0 100644 (file)
@@ -5,6 +5,7 @@ var nativeEmbed = {
        grab_try_count:0,
        onlyLoadFlag:false,     
        urlAppend:'',
+       prevCurrentTime:-1,
        supports: {
                'play_head':true, 
                'pause':true,            
@@ -71,10 +72,11 @@ var nativeEmbed = {
                }
        },      
        onseeking:function(){
+               js_log("onseeking");
                this.seeking = true;
                this.setStatus( gM('mwe-seeking') );
        },
-       onseeked: function(){
+       onseeked: function(){           
                this.seeking = false;
        },
        doSeek:function(perc){                                  
@@ -98,7 +100,7 @@ var nativeEmbed = {
        doNativeSeek:function(perc){    
                this.seek_time_sec=0;                    
                this.vid.currentTime = perc * this.vid.duration;                
-               this.parent_monitor();  
+               this.monitor(); 
        },
        doPlayThenSeek:function(perc){
                js_log('native::doPlayThenSeek::');
@@ -148,7 +150,7 @@ var nativeEmbed = {
                        _this.vid.addEventListener('seeked', once, false);
                }
        },
-       monitor : function(){
+       monitor : function(){           
                this.getVID(); //make shure we have .vid obj
                if(!this.vid){
                        js_log('could not find video embed: '+this.id + ' stop monitor');
@@ -159,8 +161,15 @@ var nativeEmbed = {
                if(this.pc){
                        if(this.pc.pp.cur_clip.id != this.pc.id)
                                return true;
-               }                                                               
-                               
+               }       
+               
+               //do a seek check (on seeked does not seem fire consistantly)   
+               if( this.prevCurrentTime != -1 && this.prevCurrentTime != 0
+                       && this.prevCurrentTime < this.currentTime && this.seeking)
+                       this.seeking = false;           
+                                                               
+               this.prevCurrentTime =  this.currentTime;
+               
                //update currentTime                            
                this.currentTime = this.vid.currentTime;                
                this.addPresTimeOffset();
index 190160d..39fbdb7 100644 (file)
 loadGM({
        "mwe-setting-up-proxy" : "Setting up proxy...",
        "mwe-re-try" : "Retry API request",
-       "mwe-re-trying": "Retrying API request...",
+       "mwe-re-trying" : "Retrying API request...",
        "mwe-cancel" : "Cancel",
-       "mwe-proxy-not-ready": "Proxy is not configured",
-       "mwe-please-login" : "You are not <a target=\"_new\" href=\"$1\">logged in</a> on $2 or mwEmbed has not been enabled. Resolve the issue, and then retry the request.",
-       "mwe-remember-loging": "General security reminder: Only login to web sites when your address bar displays that site's address."
+       "mwe-proxy-not-ready" : "Proxy is not configured",
+       "mwe-please-login" : "You are not <a target=\"_new\" href=\"$1\">logged in<\/a> on $2 or mwEmbed has not been enabled. Resolve the issue, and then retry the request.",
+       "mwe-remember-loging" : "General security reminder: Only login to web sites when your address bar displays that site's address."
 });
 
 (function( $ ) {
index f3b0426..6eaff52 100644 (file)
@@ -425,11 +425,11 @@ mvPlayList.prototype = {
                                'height:'+(this.height+this.pl_layout.title_bar_height + this.pl_layout.control_height)+'px;position:relative;">' +                             
                        '</div>');              
                if(this.controls==true){        
-                       //append title & controler:
+                       //append title:
                        $j('#dc_'+_this.id).append(
                                '<div style="font-size:13px;border:solid thin;width:'+this.width+'px;" id="ptitle_'+this.id+'"></div>' +
-                               '<div class="videoPlayer" style="position:absolute;top:'+(_this.height+_this.pl_layout.title_bar_height+4)+'px">' +
-                               '<div id="mv_embedded_controls_'+_this.id+'" class="ui-widget ui-corner-bottom ui-state-default controls" '+
+                               '<div class="' + this.ctrlBuilder.pClass + '" style="position:absolute;top:'+(_this.height+_this.pl_layout.title_bar_height+4)+'px">' +
+                               '<div class="ui-widget-header ui-helper-clearfix control-bar" '+
                                        'style="width:' + _this.width + 'px" >' + 
                                                 _this.getControlsHTML() +
                                        '</div>'+
@@ -445,7 +445,7 @@ mvPlayList.prototype = {
                }else{
                        //just append the video: 
                        $j('#dc_'+_this.id).append(
-                               '<div class="videoPlayer" style="position:absolute;top:'+(_this.height+_this.pl_layout.title_bar_height+4)+'px"></div>'
+                               '<div class="' + this.ctrlBuilder.pClass + '" style="position:absolute;top:'+(_this.height+_this.pl_layout.title_bar_height+4)+'px"></div>'
                        );
                }                       
                this.setupClipDisplay();                                                                                 
@@ -554,7 +554,7 @@ mvPlayList.prototype = {
        setSliderValue:function(value){                         
                //slider is on 1000 scale: 
                var val = parseInt( value *1000 );                      
-               $j('#mv_play_head_' + this.id).slider('value', val);            
+               $j('#' + this.id + ' .play_head').slider('value', val);         
        },
        getPlayHeadPos: function(prec_done){
                var     _this = this;
@@ -911,10 +911,10 @@ mvPlayList.prototype = {
                var _this = this;
                
                if( !_this.mv_seeker_width)
-                       _this.mv_seeker_width = $j('#mv_play_head_'+_this.id).width();                                  
+                       _this.mv_seeker_width = $j('#' + _this.id + ' .play_head').width();                                     
        
                if( !_this.track_len ) 
-                       _this.track_len = $j('#mv_play_head_'+_this.id).width();
+                       _this.track_len = $j('#' + _this.id + ' .play_head').width();
                        
                //total duration:               
                var pl_duration = _this.getDuration();
@@ -947,7 +947,7 @@ mvPlayList.prototype = {
                        
                        //background:#DDD +clip.getColor();
                        
-                       $j('#mv_play_head_'+_this.id).append(barHtml);
+                       $j('#' + _this.id + ' .play_head').append(barHtml);
                                                                                                                                                                                                                
                        //js_log('offset:' + cur_pixle +' width:'+pwidth+' add clip'+ clip.id + ' is '+clip.embed.getDuration() +' = ' + perc +' of ' + _this.track_len);
                        cur_pixle+=pwidth;                                                              
@@ -1695,7 +1695,7 @@ var mvTransLib = {
                this['type'][tObj.type][tObj.subtype].u(tObj,percent);
        },
        getTransitionIcon:function( type, subtype){
-               return mv_embed_path +'/skins/'+mwConfig['skin_name']+'/transition_images/'+ type+'_'+ subtype+ '.png';
+               return mv_embed_path +'/skins/common/transition_images/'+ type+'_'+ subtype+ '.png';
        },
        /*
         * mvTransLib: functional library mapping:
index 8fbca70..19b5b90 100644 (file)
@@ -1433,7 +1433,7 @@ mvSequencer.prototype = {
                $j(this.target_sequence_container).append('<div id="'+ this.timeline_id +'_pl_control"'+
                        ' style="position:absolute;top:' + (this.plObj.height) +'px;'+
                        'right:1px;width:'+this.plObj.width+'px;height:'+this.plObj.org_control_height+'" '+
-                       'class="videoPlayer"><div class="ui-widget ui-corner-bottom ui-state-default controls">'+
+                       'class="' + this.plObj.ctrlBuilder.pClass + '"><div class="ui-widget ui-corner-bottom ui-state-default controls">'+
                                         this.plObj.getControlsHTML() +
                                 '</div>'+
                        '</div>');
index 0894758..d2ec4ed 100644 (file)
@@ -22,19 +22,6 @@ if( MV_EMBED_VERSION ){
 // Used to grab fresh copies of scripts.
 var MV_EMBED_VERSION = '1.0r20';
 
-/*
- * Configuration variables should be set by extending mwConfigOptions
- * here is the default config:
- */
-var mwDefaultConfig = {
-       'skin_name': 'mvpcf',
-       'jui_skin': 'redmond',
-       'video_size':'400x300'
-}
-
-// (We install the default config values for anything not set in mwConfig once we know we have jquery)
-if( !mwConfig )
-       var mwConfig = {};
 
 
 /**
@@ -173,14 +160,6 @@ lcCssPath({
 })
 
 
-
-
-
-
-
-
-
-
 // parseUri 1.2.2
 // (c) Steven Levithan <stevenlevithan.com>
 // MIT License
@@ -219,7 +198,8 @@ var _global = this; // Global obj (depreciate use window)
 
 /*
 * setup the empty global $mw object
-* will ensure all our functions are properly namespaced
+* will ensure all our functions and variables are properly namespaced
+* reducing chance of conflicts
 */
 if(!window['$mw']){
        window['$mw'] = {}
@@ -242,6 +222,26 @@ if( !mv_embed_path ) {
 * there way into the $mw namespace
 */
 (function( $ ) {
+       /*
+        * global config
+        */
+       $.conf = {
+               'skin_name' : 'mvpcf',
+               'jui_skin' : 'redmond',
+               'video_size' : '400x300'                
+       }
+       
+       /*
+       * global flags
+       */
+       $.g = {
+               'skin_list' : new Array(),
+               'mv_init_done' : false,
+               'global_cb_count' : 0,
+               'global_player_list' : new Array(), // The global player list per page
+               'global_req_cb' : new Array() // The global request callback array
+       }
+        
        /*
        * Language classes $mw.lang
        *
@@ -297,12 +297,13 @@ if( !mv_embed_path ) {
 
                //swap in the arg values
                var ms =  $.lang.gMsgSwap( key, args) ;
-
+               
+               
+               
                //a quick check to see if we need to send the msg via the 'parser'
                //(we can add more detailed check once we support more wiki syntax)
-               if(ms.indexOf('{{')==-1){
+               if(ms.indexOf('{{') === -1 && ms.indexOf('[') === -1){
                        return ms;
-                       //return ms;
                }
 
                //make sure we have the lagMagic setup:
@@ -788,17 +789,16 @@ var gM = $mw.lang.gM;
 
 // All default messages in [English] should be overwritten by the CMS language message system.
 $mw.lang.loadGM({
-       "mwe-loading_txt" : "loading ...",
-       "mwe-loading_title" : "Loading...",
+       "mwe-loading_txt" : "Loading ...",
        "mwe-size-gigabytes" : "$1 GB",
        "mwe-size-megabytes" : "$1 MB",
        "mwe-size-kilobytes" : "$1 K",
        "mwe-size-bytes" : "$1 B",
        "mwe-error_load_lib" : "Error: JavaScript $1 was not retrievable or does not define $2",
-       "mwe-loading-add-media-wiz": "Loading add media wizard",
+       "mwe-loading-add-media-wiz" : "Loading add media wizard",
        "mwe-apiproxy-setup" : "Setting up API proxy",
-       "mwe-load-drag-item" : "Loading dragged item", 
-       "mwe-ok" : "OK" 
+       "mwe-load-drag-item" : "Loading dragged item",
+       "mwe-ok" : "OK"
 });
 
 
@@ -818,9 +818,8 @@ function mv_set_loading(target, load_id){
 }
 
 /**
-  * mvJsLoader class handles initialization and js file loads
-  */
-
+* mvJsLoader class handles initialization and js file loads
+*/
 var mvJsLoader = {
        libreq : {},
        libs : {},
@@ -1019,19 +1018,15 @@ var mvJsLoader = {
                        if( _this.jQuerySetupFlag == false){
                                js_log('setup mv_embed jQuery bindings');
                                //setup our global settings using the (jQuery helper)
-                               mwConfig = $j.extend( mwDefaultConfig, mwConfig);
 
                                // Set up the skin path
-                               _global['mv_jquery_skin_path'] = mv_embed_path + 'jquery/jquery.ui/themes/' +mwConfig['jui_skin'] + '/';
-                               _global['mv_skin_img_path'] = mv_embed_path + 'skins/' + mwConfig['skin_name'] + '/images/';
-                               _global['mv_default_thumb_url'] = mv_skin_img_path + 'vid_default_thumb.jpg';
-
-                               //setup skin dependent dependencies
-                               lcCssPath({'embedVideo' : 'skins/' + mwConfig['skin_name'] + '/playerSkin.css'});
+                               _global['mv_jquery_skin_path'] = mv_embed_path + 'jquery/jquery.ui/themes/' + $mw.conf['jui_skin'] + '/';
+                               _global['mv_skin_img_path'] = mv_embed_path + 'skins/' + $mw.conf['skin_name'] + '/images/';
+                               _global['mv_default_thumb_url'] = mv_skin_img_path + 'vid_default_thumb.jpg';                   
 
                                // Make sure the skin/style sheets are always available:
                                loadExternalCss( mv_jquery_skin_path + 'jquery-ui-1.7.1.custom.css' );
-                               loadExternalCss( mv_embed_path + 'skins/' + mwConfig['skin_name'] + '/styles.css' );
+                               loadExternalCss( mv_embed_path + 'skins/' + $mw.conf['skin_name'] + '/styles.css' );
 
                                // Set up AJAX to not send dynamic URLs for loading scripts (we control that with
                                // the scriptLoader)
@@ -1069,9 +1064,14 @@ var mvJsLoader = {
                                        '$j.ui.slider'
                                ]
                        ];
-                       //add skin if set:
-                       if( mwConfig['skin_name'] )
-                               depReq[0].push( mwConfig['skin_name'] + 'Config' );
+                       
+                       //add any requested skins (suports multiple skins per single page)
+                       if( $mw.g['skin_list'] ){
+                               for(var i in $mw.g['skin_list'] ){
+                                       depReq[0].push( $mw.g['skin_list'][i] + 'Config' );
+                               }
+                       }
+                               
 
                        // Add PNG fix if needed:
                        if( $j.browser.msie || $j.browser.version < 7 )
@@ -1139,6 +1139,17 @@ function mwdomReady( force ) {
                document.getElementsByTagName( "playlist" )
        ];
        if( e[0].length != 0 || e[1].length != 0 || e[2].length != 0 ) {
+               //look for any skin classes we have to load: 
+               for(var j in e){
+                       for(var k in e[j]){
+                               if(e[j][k] && typeof( e[j][k]) == 'object'){
+                                       var     sn = e[j][k].getAttribute('skin_name')
+                                       if( sn && sn != ''){
+                                               $mw.g.skin_list.push( sn );
+                                       }
+                               }
+                       }
+               }                               
                // Load libs and process them
                mvJsLoader.embedVideoCheck( function() {
                        // Run any queued global events:
@@ -1244,6 +1255,7 @@ function mv_jqueryBindings() {
                                }
                        });     
                }
+               
                //non selector based add-media-wizard direct invocation with loader
                $.addMediaWiz = function( iObj, callback ){                     
                        js_log(".addMediaWiz call");
@@ -1270,14 +1282,14 @@ function mv_jqueryBindings() {
                $.fn.addMediaWiz = function( iObj, callback ) {                 
                        if( this.selector ){                    
                                // First set the cursor for the button to "loading"
-                               $j( this.selector ).css( 'cursor', 'wait' ).attr( 'title', gM( 'mwe-loading_title' ) );
+                               $j( this.selector ).css( 'cursor', 'wait' ).attr( 'title', gM( 'mwe-loading_txt' ) );
                                //set the target: 
                                iObj['target_invocation'] = this.selector;
                        }
 
                        // Load the mv_embed_base skin:
                        loadExternalCss( mv_jquery_skin_path + 'jquery-ui-1.7.1.custom.css' );
-                       loadExternalCss( mv_embed_path + 'skins/' + mwConfig['skin_name']+'/styles.css' );
+                       loadExternalCss( mv_embed_path + 'skins/' + $mw.conf['skin_name'] + '/styles.css' );
                        // Load all the required libs:
                        mvJsLoader.jQueryCheck( function() {
                                // Load with staged dependencies (for IE that does not execute in order)
@@ -1307,7 +1319,7 @@ function mv_jqueryBindings() {
                        iObj['target_sequence_container'] = this.selector;
                        // Issue a request to get the CSS file (if not already included):
                        loadExternalCss( mv_jquery_skin_path + 'jquery-ui-1.7.1.custom.css' );
-                       loadExternalCss( mv_embed_path + 'skins/' + mwConfig['skin_name'] + '/mv_sequence.css' );
+                       loadExternalCss( mv_embed_path + 'skins/' + $mw.conf['skin_name'] + '/mv_sequence.css' );
                        // Make sure we have the required mv_embed libs (they are not loaded when no video
                        // element is on the page)
                        mvJsLoader.embedVideoCheck( function() {
@@ -1353,7 +1365,7 @@ function mv_jqueryBindings() {
                                iObj = {};
                        // Add the base theme CSS:
                        loadExternalCss( mv_jquery_skin_path + 'jquery-ui-1.7.1.custom.css' );
-                       loadExternalCss( mv_embed_path + 'skins/'+mwConfig['skin_name'] + '/styles.css' );
+                       loadExternalCss( mv_embed_path + 'skins/' + $mw.conf['skin_name'] + '/styles.css' );
 
                        // Check if we already have Firefogg loaded (the call just updates the element's
                        // properties)
@@ -1944,8 +1956,8 @@ if ( typeof DOMParser == "undefined" ) {
 */
 function js_log( string ) {
        ///add any prepend debug strings if nessesary
-       if( mwConfig['debug_pre'] )
-               string = mwConfig['debug_pre']+ string;
+       if( $mw.conf['debug_pre'] )
+               string = $mw.conf['debug_pre']+ string;
                        
        if( window.console ) {                          
                window.console.log( string );
index ad06d7d..d5f7dfa 100644 (file)
@@ -96,8 +96,7 @@ $messages['en'] = array(
        /*
         * js file: /mv_embed.js
         */
-       'mwe-loading_txt' => 'loading ...',
-       'mwe-loading_title' => 'Loading...',
+       'mwe-loading_txt' => 'Loading ...',     
        'mwe-size-gigabytes' => '$1 GB',
        'mwe-size-megabytes' => '$1 MB',
        'mwe-size-kilobytes' => '$1 K',
diff --git a/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_17.png b/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_17.png
new file mode 100644 (file)
index 0000000..148ff15
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_17.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_80.png b/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_80.png
new file mode 100644 (file)
index 0000000..6d7701c
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/archive_org_logo_80.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/archive_org_tab.png b/js2/mwEmbed/skins/common/remote_cp/archive_org_tab.png
new file mode 100644 (file)
index 0000000..6df1b66
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/archive_org_tab.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/combined_tab.png b/js2/mwEmbed/skins/common/remote_cp/combined_tab.png
new file mode 100644 (file)
index 0000000..d49cc70
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/combined_tab.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/flickr_tab.png b/js2/mwEmbed/skins/common/remote_cp/flickr_tab.png
new file mode 100644 (file)
index 0000000..3b21de4
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/flickr_tab.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/metavid_logo_17.png b/js2/mwEmbed/skins/common/remote_cp/metavid_logo_17.png
new file mode 100644 (file)
index 0000000..556d7eb
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/metavid_logo_17.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/metavid_tab.png b/js2/mwEmbed/skins/common/remote_cp/metavid_tab.png
new file mode 100644 (file)
index 0000000..b3b6f8f
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/metavid_tab.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/this_wiki_logo_17.png b/js2/mwEmbed/skins/common/remote_cp/this_wiki_logo_17.png
new file mode 100644 (file)
index 0000000..f10ab33
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/this_wiki_logo_17.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/this_wiki_tab.png b/js2/mwEmbed/skins/common/remote_cp/this_wiki_tab.png
new file mode 100644 (file)
index 0000000..a01d776
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/this_wiki_tab.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_17.png b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_17.png
new file mode 100644 (file)
index 0000000..8fdd575
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_17.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_80.png b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_80.png
new file mode 100644 (file)
index 0000000..e55aca0
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_logo_80.png differ
diff --git a/js2/mwEmbed/skins/common/remote_cp/wiki_commons_tab.png b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_tab.png
new file mode 100644 (file)
index 0000000..200522d
Binary files /dev/null and b/js2/mwEmbed/skins/common/remote_cp/wiki_commons_tab.png differ
diff --git a/js2/mwEmbed/skins/common/transition_images/fade_crossfade.png b/js2/mwEmbed/skins/common/transition_images/fade_crossfade.png
new file mode 100644 (file)
index 0000000..e320e7c
Binary files /dev/null and b/js2/mwEmbed/skins/common/transition_images/fade_crossfade.png differ
diff --git a/js2/mwEmbed/skins/common/transition_images/fade_fadeFromColor.png b/js2/mwEmbed/skins/common/transition_images/fade_fadeFromColor.png
new file mode 100644 (file)
index 0000000..b4851b6
Binary files /dev/null and b/js2/mwEmbed/skins/common/transition_images/fade_fadeFromColor.png differ
diff --git a/js2/mwEmbed/skins/common/transition_images/transition_wipe.png b/js2/mwEmbed/skins/common/transition_images/transition_wipe.png
new file mode 100644 (file)
index 0000000..f4350da
Binary files /dev/null and b/js2/mwEmbed/skins/common/transition_images/transition_wipe.png differ
index e29f47c..5620d18 100644 (file)
@@ -18,19 +18,31 @@ var ctrlBuilder = function( embedObj ) {
  */
 ctrlBuilder.prototype = {
        init:function( embedObj, opt ){
+               var _this = this;
                this.embedObj = embedObj;
 
                //check for skin overrides for ctrlBuilder
-               if( _global[ embedObj.skin_name + 'Config'] )
-                       $j.extend(this, _global[ embedObj.skin_name + 'Config']);
-
+               if( _global[ embedObj.skin_name + 'Config'] ){
+                       //clone as to not overide prototype:    
+                       var _this = $j.extend(true, {}, this, _global[ embedObj.skin_name + 'Config']);
+                       return _this;
+               }
+               return this;            
        },
-       pClass:'videoPlayer',
+       pClass : 'mv-player',
+       long_time_disp: true,
+       body_options : true,
        height:29,
        supports:{
                  'options':true,
                  'borders':true
        },
+       menu_items:[
+               'playerselect',
+               'download',
+               'share',  
+               'credits',
+       ],      
        getControls:function(){
                //set up local pointer to the embedObj
                var embedObj = this.embedObj;
@@ -56,7 +68,7 @@ ctrlBuilder.prototype = {
 
 
                //append options to body (if not already there)
-               if($j('#mv_vid_options_' + this.id).length==0)
+               if( _this.body_options && $j('#mv_vid_options_' + this.id).length == 0 )
                        $j('body').append( this.components['mv_embedded_options'].o( this ) );
 
                var o='';
@@ -89,18 +101,19 @@ ctrlBuilder.prototype = {
 
                //js_log('looking for: #mv_seeker_slider_'+embedObj.id + "\n " +
                //              'start sec: '+embedObj.start_time_sec + ' base offset: '+embedObj.base_seeker_slider_offset);
-
+               var $tp=$j('#' + embedObj.id);
+               
                //add play hook:
-               $j('#mv_play_pause_button_' + embedObj.id ).unbind().btnBind().click(function(){
+               $tp.find('.play-btn').unbind().btnBind().click(function(){
                        $j('#' + embedObj.id).get(0).play();
                })
 
                //do play-btn-large binding:
-               $j('#' + embedObj.id + ' .play-btn-large' ).unbind().btnBind().click(function(){
+               $tp.find('.play-btn-large' ).unbind().btnBind().click(function(){
                        $j('#' + embedObj.id).get(0).play();
                });
 
-               //add recommend firefox if non-native playback:
+               //add recommend firefox if we have non-native playback:
                if( embedObj.doNativeWarningCheck() ){
                        $j('#dc_'+ embedObj.id).hover(
                                function(){
@@ -147,17 +160,17 @@ ctrlBuilder.prototype = {
                });
 
                //options binding:
-               $j('#options_button_' + embedObj.id).unbind().btnBind().click(function(){
+               $tp.find('.options-btn').unbind().btnBind().click(function(){
                        $j('#' +embedObj.id).get(0).doOptionsHTML();
                });
 
                //fullscreen binding:
-               $j('#fullscreen_'+embedObj.id).unbind().btnBind().click(function(){
+               $tp.find('.fullscreen-btn').unbind().btnBind().click(function(){
                        $j('#' +embedObj.id).get(0).fullscreen();
                });
 
-               js_log(" should add slider binding: " + $j('#mv_play_head_'+embedObj.id).length) ;
-               $j('#mv_play_head_'+embedObj.id).slider({
+               js_log(" should add slider binding: " + $j('#'+embedObj.id + ' .play_head').length) ;
+               $tp.find('.play_head').slider({
                        range: "min",
                        value: 0,
                        min: 0,
@@ -174,7 +187,7 @@ ctrlBuilder.prototype = {
                                var perc = ui.value/1000;
                                embedObj.jump_time = seconds2npt( parseFloat( parseFloat(embedObj.getDuration()) * perc ) + embedObj.start_time_sec);
                                //js_log('perc:' + perc + ' * ' + embedObj.getDuration() + ' jt:'+  this.jump_time);
-                               embedObj.setStatus( gM('mwe-seek_to')+' '+embedObj.jump_time );
+                               embedObj.setStatus( gM('mwe-seek_to', embedObj.jump_time ) );
                                //update the thumbnail / frame
                                if(embedObj.isPlaying==false){
                                        embedObj.updateThumbPerc( perc );
@@ -193,36 +206,40 @@ ctrlBuilder.prototype = {
                                        //set seek time (in case we have to do a url seek)
                                        embedObj.seek_time_sec = npt2seconds( embedObj.jump_time, true );
                                        js_log('do jump to: '+embedObj.jump_time + ' perc:' +perc + ' sts:' + embedObj.seek_time_sec);
+                                       embedObj.setStatus( gM('mwe-seeking') );
                                        embedObj.doSeek(perc);
                                }
                        }
                });
                //up the z-index of the default status indicator:
-               $j('#mv_play_head_'+embedObj.id + ' .ui-slider-handle').css('z-index', 4);
-               $j('#mv_play_head_'+embedObj.id + ' .ui-slider-range').addClass('ui-corner-all').css('z-index', 2);
+               $tp.find('.play_head .ui-slider-handle').css('z-index', 4);
+               $tp.find('.play_head .ui-slider-range').addClass('ui-corner-all').css('z-index', 2);
                //extended class list for jQuery ui themeing (we can probably refactor this with custom buffering highliter)
-               $j('#mv_play_head_'+embedObj.id).append( this.getMvBufferHtml() );
-
-               //videoOptions:
-               $j('#mv_vid_options_' + this.id + ' .vo_selection').click(function(){
-                       embedObj.selectPlaybackMethod();
-                       $j('#mv_vid_options_' + embedObj.id).hide();
+               $tp.find('.play_head').append( this.getMvBufferHtml() );
+                       
+               $opt = $j('#mv_vid_options_'+embedObj.id);
+               //videoOptions ... @@todo should be merged with something more like kskin.js:
+               $opt.find('.vo_selection').click(function(){
+                       embedObj.displayHTML();
+                       embedObj.showPlayerselect( $tp.find('.videoOptionsComplete') );
+                       $opt.hide();
                        return false;
                });
-               $j('#mv_vid_options_'+ctrlBuilder.id+' .vo_download').click(function(){
-                       embedObj.showVideoDownload();
-                       $j('#mv_vid_options_'+embedObj.id).hide();
+               $opt.find('.vo_download').click(function(){
+                       embedObj.displayHTML();
+                       embedObj.showDownload( $tp.find('.videoOptionsComplete') );
+                       $opt.hide();
                        return false;
                })
-               $j('#mv_vid_options_'+ctrlBuilder.id+' .vo_showcode').click(function(){
+               $opt.find('.vo_showcode').click(function(){                     
                        embedObj.showEmbedCode();
-                       $j('#mv_vid_options_'+embedObj.id).hide();
+                       $opt.hide();
                        return false;
                });
 
                //volume binding:
                var hoverOverDelay=false;
-               $j('#volume_control_'+embedObj.id).unbind().btnBind().click(function(){
+               $tp.find('.volume_control').unbind().btnBind().click(function(){
                        $j('#' +embedObj.id).get(0).toggleMute();
                }).hover(
                        function(){
@@ -259,9 +276,9 @@ ctrlBuilder.prototype = {
                        change:function(event, ui){
                                var perc = ui.value/100;
                                if (perc==0) {
-                                       $j('#volume_control_'+embedObj.id + ' span').removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');
+                                       $j('#' + embedObj.id + ' .volume_control span').removeClass('ui-icon-volume-on').addClass('ui-icon-volume-off');
                                }else{
-                                       $j('#volume_control_'+embedObj.id + ' span').removeClass('ui-icon-volume-off').addClass('ui-icon-volume-on');
+                                       $j('#' + embedObj.id + ' .volume_control span').removeClass('ui-icon-volume-off').addClass('ui-icon-volume-on');
                                }
                                //only run the onChange event if done by a user slide:
                                if(embedObj.userSlide){
@@ -272,7 +289,10 @@ ctrlBuilder.prototype = {
                                }
                        }
                });
-
+               
+               //check if we have any custom skin hooks to run (only one per skin) 
+               if( this.addSkinControlHooks && typeof( this.addSkinControlHooks) == 'function')
+                       this.addSkinControlHooks();
        },
        getMvBufferHtml:function(){
                return '<div class="ui-slider-range ui-slider-range-min ui-widget-header ' +
@@ -296,7 +316,7 @@ ctrlBuilder.prototype = {
                        'o':function( ctrlObj ){
                                return  '';
                        }
-               },
+               }, 
                'play-btn-large':{
                        'w' : 130,
                        'h' : 96,
@@ -309,8 +329,7 @@ ctrlBuilder.prototype = {
                                                        .css({
                                                                'left'  : ((ctrlObj.embedObj.playerPixelWidth() - this.w)/2),
                                                                'top'   : ((ctrlObj.embedObj.playerPixelHeight() - this.h)/2)
-                                                       })
-                                                       //quick and dirty way to get at jquery html (might be a short cut I am missing?)
+                                                       })                                                      
                                                        .wrap('<div/>').parent().html();
                        }
                },
@@ -342,31 +361,39 @@ ctrlBuilder.prototype = {
                'fullscreen':{
                        'w':20,
                        'o':function( ctrlObj ){
-                               return '<div title="' + gM('mwe-player_fullscreen') + '" id="fullscreen_'+ctrlObj.id+'" class="ui-state-default ui-corner-all ui-icon_link rButton"><span class="ui-icon ui-icon-arrow-4-diag"></span></div>'
+                               return '<div title="' + gM('mwe-player_fullscreen') + '" class="ui-state-default ui-corner-all ui-icon_link rButton fullscreen-btn">'+                          
+                                                       '<span class="ui-icon ui-icon-arrow-4-diag"></span>'+
+                                               '</div>'
                        }
                },
                'options':{
                        'w':26,
                        'o':function( ctrlObj ){
-                               return '<div title="'+ gM('mwe-player_options') + '" id="options_button_'+ctrlObj.id+'" class="ui-state-default ui-corner-all ui-icon_link rButton"><span class="ui-icon ui-icon-wrench"></span></div>';
+                               return '<div title="' + gM('mwe-player_options') + '" class="ui-state-default ui-corner-all ui-icon_link rButton options-btn">' +
+                                                       '<span class="ui-icon ui-icon-wrench"></span>' +                                                        
+                                               '</div>';
                        }
                },
                'pause':{
                        'w':24,
-                       'o':function( ctrlObj ){
-                               return '<div title="' + gM('mwe-play_clip') + '" id="mv_play_pause_button_' + ctrlObj.id + '" class="ui-state-default ui-corner-all ui-icon_link lButton"><span class="ui-icon ui-icon-play"/></div>';
+                       'o':function( ctrlObj ){                                
+                               return '<div title="' + gM('mwe-play_clip') + '" class="ui-state-default ui-corner-all ui-icon_link lButton play-btn">'+
+                                                       '<span class="ui-icon ui-icon-play"/>'+
+                                               '</div>';
                        }
                },
                'closed_captions':{
                        'w':23,
                        'o':function( ctrlObj ){
-                               return '<div title="' + gM('mwe-closed_captions') + '" id="timed_text_'+ctrlObj.id+'" class="ui-state-default ui-corner-all ui-icon_link rButton"><span class="ui-icon ui-icon-comment"></span></div>'
+                               return '<div title="' + gM('mwe-closed_captions') + '" id="timed_text_'+ctrlObj.id+'" class="ui-state-default ui-corner-all ui-icon_link rButton">'+
+                                                       '<span class="ui-icon ui-icon-comment"></span>'+
+                                               '</div>'
                        }
                },
                'volume_control':{
                        'w':23,
                        'o':function( ctrlObj ){
-                                       return '<div title="' + gM('mwe-volume_control') + '" id="volume_control_'+ctrlObj.id+'" class="ui-state-default ui-corner-all ui-icon_link rButton">' +
+                                       return '<div title="' + gM('mwe-volume_control') + '" class="ui-state-default ui-corner-all ui-icon_link rButton volume_control">' +
                                                                '<span class="ui-icon ui-icon-volume-on"></span>' +
                                                                '<div style="position:absolute;display:none;" id="vol_container_'+ctrlObj.id+'" class="vol_container ui-corner-all">' +
                                                                        '<div class="volume_bar" id="volume_bar_' + ctrlObj.id + '"></div>' +
@@ -377,13 +404,13 @@ ctrlBuilder.prototype = {
                'time_display':{
                        'w':90,
                        'o':function( ctrlObj ){
-                               return '<div id="mv_time_'+ctrlObj.id+'" class="ui-widget time">' + ctrlObj.embedObj.getTimeReq() + '</div>';
+                               return '<div class="ui-widget time-disp">' + ctrlObj.embedObj.getTimeReq() + '</div>';
                        }
                },
                'play_head':{
                        'w':0, //special case (takes up remaining space)
                        'o':function( ctrlObj ){
-                               return '<div class="play_head" id="mv_play_head_' + ctrlObj.id + '" style="width: ' + ( ctrlObj.available_width - 30 ) + 'px;"></div>';
+                               return '<div class="play_head" style="width: ' + ( ctrlObj.available_width - 30 ) + 'px;"></div>';
                        }
                }
        }
index bb56998..f9246f4 100644 (file)
@@ -3,5 +3,110 @@
 */
 
 var kskinConfig = {
-       pClass: 'k-player'
+       pClass: 'k-player',
+       //display time progres
+       long_time_disp: false,
+       body_options: false,
+       components:{
+               'play-btn-large' : { 
+                       'h' : 55
+               },
+               'options':{
+                       'w':50,
+                       'o':function(){
+                               return '<div class="ui-state-default ui-corner-bl rButton k-options" title="'+ gM('mwe-player_options') + '" >' +
+                                                       '<span>' + gM('mwe-menu_btn') + '</span>' +
+                                               '</div>'
+                       }
+               },
+               'mv_embedded_options':{
+                       'w':0,
+                       'o':function( ctrlObj ){
+                               var embedObj = ctrlObj.embedObj;                                
+                               var o= '' +
+                               '<div class="k-menu ui-widget-content" ' +
+                                       'style="width:' + embedObj.playerPixelWidth() + 'px; height:' + embedObj.playerPixelHeight() + 'px;">' +
+                                               '<ul class="k-menu-bar">';                                              
+                                                       //output menu item containers: 
+                                                       for(i=0; i < ctrlObj.menu_items.length; i++){           
+                                                               var mk = ctrlObj.menu_items[i];                         
+                                                               o+= '<li class="k-' + mk + '-btn" rel="' + mk + '">' +
+                                                                               '<a href="#" title="' + gM( 'mwe-' + mk ) +'">' + gM( 'mwe-' + mk ) +'</a></li>';
+                                                       }                                                       
+                                               o+='</ul>' +
+                                               //we have to substract the width of the k-menu-bar
+                                               '<div class="k-menu-screens" style="width:' + ( embedObj.playerPixelWidth() -75) +
+                                                       'px; height:' + (embedObj.playerPixelHeight() - ctrlBuilder.height) + 'px;">';
+                                               
+                                               //output menu item containers: 
+                                               for(i=0; i < ctrlObj.menu_items.length; i++){                                                   
+                                                       o+= '<div class="menu-screen menu-' + ctrlObj.menu_items[i] + '"></div>';
+                                               }                                                                                                                                       
+                                               '</div>' +
+                                       '</div>';
+                               return o;
+                       }
+               }
+       },
+       addSkinControlHooks: function(){
+               var embedObj = this.embedObj;
+               var _this = this;
+               var $tp=$j('#' + embedObj.id);
+               
+               //adds options and bindings: (we do this onClick for faster vidoe tag startup times)  
+               var addMvOptions = function(){
+                       if($j('#' + embedObj.id + ' .k-menu').length != 0 )
+                               return false;
+                               
+                       $j('#' + embedObj.id + ' .' + _this.pClass).prepend( _this.components['mv_embedded_options'].o( $tp.get(0).ctrlBuilder ));
+                       
+                       //by default its hidden:
+                       $tp.find('.k-menu').hide();
+                       
+                       //output menu-items: 
+                       for(i=0; i < _this.menu_items.length ; i++){                            
+                       $tp.find('.k-' +  _this.menu_items[i] + '-btn').click(function(){ 
+                               var mk = $j(this).attr('rel');
+                               $target = $j('#' + embedObj.id  + ' .menu-'+mk).hide();                         
+                               //gennerate the menu html not already done:
+                               if( $target.children().length == 0 ){
+                                               //call the function show{Menuitem} with target:                         
+                                               embedObj['show' + mk.charAt(0).toUpperCase() + mk.substring(1)](
+                                                       $j('#' + embedObj.id + ' .menu-'+mk)
+                                               );
+                               }                                                       
+                               //slide out the others 
+                                $j('#' + embedObj.id  + ' .menu-screen').hide();
+                                $target.fadeIn("fast");
+                                       //don't follow the # link                                                               
+                           return false;
+                               });     
+                       }                       
+               }               
+               //options menu display:                 
+               $tp.find('.k-options').click(function(){                           
+                       if($j('#' + embedObj.id + ' .k-menu').length == 0 ){
+                               //stop the player if it does not support overlays: 
+                               if(!embedObj.supports['overlays'])
+                                       $tp.get(0).stop();
+                       //add the options                                       
+                               addMvOptions();
+                       }
+                       //set up the text and menu:                                                                     
+                       var $ktxt = $j(this);
+                       var $kmenu = $tp.find('.k-menu');
+                       if( $kmenu.is(':visible') ){
+                               $kmenu.fadeOut("fast",function(){
+                                       $ktxt.find('span').html ( gM('mwe-menu_btn') );
+                               });
+                               $tp.find('.play-btn-large').fadeIn('fast');
+                       }else{
+                               $kmenu.fadeIn("fast", function(){
+                                       $ktxt.find('span').html ( gM('mwe-close_btn') );
+                               });
+                               $tp.find('.play-btn-large').fadeOut('fast');
+                       }
+               });     
+       
+       }
 }
\ No newline at end of file
index e9daba3..6de9e7d 100644 (file)
 
 .k-player .ui-state-default .ui-icon-pause { background:url(images/ksprite.png) no-repeat 0 -17px;}
 .k-player .ui-state-hover .ui-icon-pause { background-position: -16px -17px;}
+
+.k-player .control-bar {
+       border: 0px;    
+       height:21px; 
+       padding: 2px 0 0 6px; 
+       margin-top:0px; 
+       background: url(images/ksprite.png) repeat-x 0 -81px; 
+       font: normal 11px arial,sans-serif; 
+       color:#555;
+}
+
+.k-player .play_head {
+       background:url("images/ksprite.png") repeat-x scroll 0 -350px transparent;
+       display:inline;
+       float:left;     
+       margin-left:10px;
+       border:1px solid #EEEEEE;
+       height:8px;
+       margin:6px 10px 0 7px;
+       position:relative;
+}
+
+.k-player .play_head .ui-slider-handle {
+       background:url("images/ksprite.png") no-repeat scroll -67px -341px transparent;
+       border:1px solid #888888;
+       display:block;
+       height:8px;
+       margin:-1px 0 0 -5px;
+       position:absolute;
+       top:0;
+       width:8px;
+       cursor:pointer;
+}
+
+.k-player .time-disp {
+border:medium none;
+display:inline;
+color:#555555;
+font:11px arial,sans-serif;
+line-height:20px;
+overflow:hidden;
+width:36px;
+}
+
+.k-player .lButton {
+       cursor:pointer;
+       float:left;
+       list-style:none outside none;
+       margin:2px;
+       padding:0px 0;
+       width: 24px;
+       height:16px;
+       position:relative;
+       background:none repeat scroll 0 0 transparent;
+       border:medium none;
+}
+.k-player .rButton {
+       cursor:pointer;
+       float:right;
+       list-style:none outside none;
+       margin:2px;
+       padding:0px 0;
+       width: 23px;
+       height:16px;
+       position:relative;
+       background:none repeat scroll 0 0 transparent;
+       border:medium none;
+}
+
+.k-player .k-options {
+       border:1px solid #AAAAAA !important;
+       color:#555555;
+       float:right;
+       height:22px;
+       margin-top:-2px;
+       margin-right: 0px;
+       width:50px;
+       float:right;
+       background:none repeat scroll 0 0 transparent;
+       font-family:Lucida Grande,Lucida Sans,Arial,sans-serif;
+       font-size:11px;
+       text-transform:uppercase;       
+}
+.k-player .k-options span{
+       position:relative;
+       top:4px;
+       left:7px;
+}
+
+.k-player .k-menu-screens  {
+       float:left;
+       font-size:11px;
+       padding:13px 10px 15px 15px;
+       width:320px;
+}
+
+.k-player ul.k-menu-bar  {
+       background:url("images/ksprite.png") no-repeat scroll -99px -104px transparent;
+       bottom:5px;
+       height:128px;
+       list-style:none outside none;
+       padding:0 0 5px;
+       position:absolute;
+       right:0;
+}
+.k-player .k-menu  {
+       background:none repeat scroll 0 0 #181818;
+       border:medium none;
+       display:none;
+       height:300px;
+       left:0;
+       opacity:0.9;
+       position:absolute;
+       top:0;
+       width:400px;
+       z-index:999;
+}
+.k-player .k-menu-bar li a {
+       background:url("images/ksprite.png") no-repeat scroll -51px -110px transparent;
+       display:block;
+       height:32px;
+       margin-left:1px;
+       overflow:hidden;
+       text-indent:99999px;
+       width:49px;
+}
+.k-menu-bar li a:hover { background-position: -1px -110px;}
+.k-menu-bar li.k-download-btn a { background-position: -51px -203px;}
+.k-menu-bar li.k-download-btn a:hover { background-position: -1px -203px;}
+
+.k-menu-bar li.k-share-btn a { background-position: -51px -172px;}
+.k-menu-bar li.k-share-btn a:hover { background-position: -1px -172px;}
+
+.k-menu-bar li.k-credits-btn a { background-position: -51px -141px;}
+.k-menu-bar li.k-credits-btn a:hover { background-position: -1px -141px;}
+.k-menu-screens { width:320px; padding: 13px 10px 15px 15px; float:left;} /* w & h inline via jq */
+.k-menu-screens h2 { padding: 0 0 5px 1px; clear:both; font-size:12px; color:#666;}
+.k-menu-screens p { margin: 6px 0;}
+.k-menu-screens a { ;}
+.k-menu-screens a img { border:none;}
+.k-menu-screens ul { padding:0; margin: 6px 0 0; list-style: none outside none;}
+
+.k-edit-screen { width:370px; height:223px; padding-top:77px; text-align:center; background:#181818; color:#fff;}
+.k-edit-screen div { }
+.k-edit-screen a { color:#7BB8FC;}
+.k-edit-screen a img { border:none;}
+
+.k-menu-screens { width:320px; padding: 13px 10px 15px 15px; float:left;} /* w & h inline via jq */
+.k-menu-screens h2 { padding: 0 0 5px 1px; clear:both; font-size:12px; color:#666;}
+.k-menu-screens p { margin: 6px 0;}
+.k-menu-screens a { ;}
+.k-menu-screens a img { border:none;}
+.k-menu-screens ul { padding:0; margin: 6px 0 0; list-style: none outside none;}
+
+.k-menu-screens li { height:14px; margin-bottom:6px;}
+.k-menu-screens li a { padding-left:22px; background:url(images/ksprite.png) no-repeat -85px -274px; text-decoration:none;}
+.k-menu-screens li a.active, .k-menu-screens li a:hover.active  { background-position: -85px -247px;}
+.k-menu-screens li a:hover { background-position: -85px -260px;}
+.k-menu-screens a { color:#BBBBBB; }
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_17.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_17.png
deleted file mode 100644 (file)
index 148ff15..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_17.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_80.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_80.png
deleted file mode 100644 (file)
index 6d7701c..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_logo_80.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_tab.png
deleted file mode 100644 (file)
index 6df1b66..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/archive_org_tab.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/combined_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/combined_tab.png
deleted file mode 100644 (file)
index d49cc70..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/combined_tab.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/flickr_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/flickr_tab.png
deleted file mode 100644 (file)
index 3b21de4..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/flickr_tab.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_logo_17.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_logo_17.png
deleted file mode 100644 (file)
index 556d7eb..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_logo_17.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_tab.png
deleted file mode 100644 (file)
index b3b6f8f..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/metavid_tab.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_logo_17.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_logo_17.png
deleted file mode 100644 (file)
index f10ab33..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_logo_17.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_tab.png
deleted file mode 100644 (file)
index a01d776..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/this_wiki_tab.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_17.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_17.png
deleted file mode 100644 (file)
index 8fdd575..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_17.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_80.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_80.png
deleted file mode 100644 (file)
index e55aca0..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_logo_80.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_tab.png b/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_tab.png
deleted file mode 100644 (file)
index 200522d..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/images/remote_cp/wiki_commons_tab.png and /dev/null differ
index 7414afe..4bac486 100644 (file)
@@ -3,5 +3,5 @@ mvpcf skin config
 */
 
 var mvpcfConfig = {
-       
+       pClass : 'mv-player'
 };
\ No newline at end of file
index d570d74..3a4aa53 100644 (file)
@@ -3,8 +3,128 @@
  */
  
 /* large play button: */
-.play-btn-large { width:130px; height:96px; background: url(images/player_big_play_button.png) !important; position:absolute; cursor:pointer; border:none !important; }/*.ui-state-default */
+.mv-player .play-btn-large { width:130px; height:96px; background: url(images/player_big_play_button.png) !important; position:absolute; cursor:pointer; border:none !important; }/*.ui-state-default */
 
 
+.mv-player
+{
+       color: #474747; 
+}
 
+.mv-player a:link {color: #2060c1; text-decoration: underline;}
+.mv-player a:visited {color: #2060c1; text-decoration: underline;}
+/*a:visited {color: #75a5e4; text-decoration: underline;}*/ /*Not sure if you want this*/
+.mv-player a:hover {color: #75a5e4; text-decoration: underline;}
+.mv-player img, .mv-player img a, .mv-player img a:hover {border: 0;}
 
+.mv-player h1, .mv-player h2, .mv-player h3, .mv-player h4, .mv-player h5, .mv-player h6 {color: #242424; margin: 5px 0; padding: 0;}
+.mv-player h1 {font-size: 24px;}
+.mv-player h2 {font-size: 18px;}
+.mv-player h3 {font-size: 16px;}
+.mv-player h4 {font-size: 14px;}
+.mv-player h5 {font-size: 13px; text-align: center;}
+.mv-player h6 {font-size: 13px; color: #6c6c6c; padding: 10px 20px 0px 20px; text-transform: uppercase;}
+
+
+/*Video player*/
+.mv-player {
+       color: white;
+}
+.mv-player .video {
+       display: block;
+       position: relative;
+       font-size: 1px;
+       height: 305px;
+}
+.mv-player .control-bar {
+       height: 29px;           
+}
+.mv-player .controlInnerSmall {
+/*     width: 430px;*/
+       height: 29px;
+       float: left;
+       display: inline;
+}
+
+.mv-player .lButton {
+       cursor:pointer;
+       float:left;
+       list-style:none outside none;
+       margin:2px;
+       padding:4px 0;
+       width: 24px;
+       height:16px;
+       position:relative;
+}
+.mv-player .rButton {
+       cursor:pointer;
+       float:right;
+       list-style:none outside none;
+       margin:2px;
+       padding:4px 0;
+       width: 23px;
+       height:16px;
+       position:relative;
+}
+
+.controls a{
+       display: block;
+       height: 100%;
+       width: 100%;
+}
+.mv-player .volume_icon {
+       float: right;
+       display: inline;
+       width: 22px;
+       height: 29px;
+       padding: 0 0 0 0;
+       
+}
+.volume_on {   
+       background: url(images/player_volume_tag.png) 0 8px no-repeat;
+}
+.volume_off{
+       background: url(images/player_volume_tag_off.png) 0 8px no-repeat;
+}
+
+.mv-player .volume_knob {
+       background: url(images/player_slider.png) 0 0 no-repeat;
+       width: 14px;
+       height: 14px;
+       position: absolute;
+       z-index: 2;
+       margin: -1px 0 0 3px;
+       cursor: pointer;
+}
+
+
+.mv-player .time-disp {
+       line-height: 32px;
+       height: 29px;
+       overflow: visible;
+       font-size: 10.2px;
+       width: 80px;
+       float: right;
+       display: inline;
+       border:none;
+}
+
+.mv-player .play_head{
+       float: left;
+       display: inline;        
+       height: 10px;
+       margin-left:10px;
+       margin-top:10px;        
+}
+
+.play_head .ui-slider-handle{
+       width:10px;
+       height:15px;
+       margin-left:-5px;
+       margin-top:1px;
+}
+
+.inOutSlider .ui-slider-handle{
+       width:8px;      
+       cusror: move;
+}
\ No newline at end of file
index 01ac136..49a9a35 100644 (file)
@@ -76,151 +76,7 @@ div.floatleft, table.floatleft {
 
 
 
-.videoPlayer
-{
-       color: #474747; 
-}
-
-.videoPlayer a:link {color: #2060c1; text-decoration: underline;}
-.videoPlayer a:visited {color: #2060c1; text-decoration: underline;}
-/*a:visited {color: #75a5e4; text-decoration: underline;}*/ /*Not sure if you want this*/
-.videoPlayer a:hover {color: #75a5e4; text-decoration: underline;}
-.videoPlayer img, .videoPlayer img a, .videoPlayer img a:hover {border: 0;}
-
-.videoPlayer h1, .videoPlayer h2, .videoPlayer h3, .videoPlayer h4, .videoPlayer h5, .videoPlayer h6 {color: #242424; margin: 5px 0; padding: 0;}
-.videoPlayer h1 {font-size: 24px;}
-.videoPlayer h2 {font-size: 18px;}
-.videoPlayer h3 {font-size: 16px;}
-.videoPlayer h4 {font-size: 14px;}
-.videoPlayer h5 {font-size: 13px; text-align: center;}
-.videoPlayer h6 {font-size: 13px; color: #6c6c6c; padding: 10px 20px 0px 20px; text-transform: uppercase;}
-
-
-/*Video player*/
-
-.videoPlayer {
-/*     width: 100%;*/
-       color: white;
-}
-.videoPlayerSmall {
-/*     width: 439px;*/
-       height: 334px;
-}
-.videoPlayer .video {
-       display: block;
-       position: relative;
-       font-size: 1px;
-       height: 305px;
-}
-.videoPlayer .controls {
-       height: 29px;   
-       border-top-width: 0 !important;
-       /*background: #454545;*/
-       display:block;
-       z-index=-1;
-}
-.videoPlayer .controlInnerSmall {
-/*     width: 430px;*/
-       height: 29px;
-       float: left;
-       display: inline;
-}
-/*
-.videoPlayer .controls span.border_left {background: url(images/player_bottom_left.png) 0 0 no-repeat; width: 4px; height: 29px; float: left; display: inline;}
-.videoPlayer .controls span.border_right {background: url(images/player_bottom_right.png) 0 0 no-repeat; width: 4px; height: 29px; float: right; display: inline;}
-*/
-
-
-.videoPlayer .lButton {
-       cursor:pointer;
-       float:left;
-       list-style:none outside none;
-       margin:2px;
-       padding:4px 0;
-       width: 24px;
-       height:16px;
-       position:relative;
-}
-.videoPlayer .rButton {
-       cursor:pointer;
-       float:right;
-       list-style:none outside none;
-       margin:2px;
-       padding:4px 0;
-       width: 23px;
-       height:16px;
-       position:relative;
-}
-
-.controls a{
-       display: block;
-       height: 100%;
-       width: 100%;
-}
-.videoPlayer .volume_icon {
-       float: right;
-       display: inline;
-       width: 22px;
-       height: 29px;
-       padding: 0 0 0 0;
-       
-}
-.volume_on {   
-       background: url(images/player_volume_tag.png) 0 8px no-repeat;
-}
-.volume_off{
-       background: url(images/player_volume_tag_off.png) 0 8px no-repeat;
-}
-
-.videoPlayer .volume_control {
-       width: 42px;
-       height: 12px;
-       margin: 9px 4px 0 0;
-       float: right;
-       display: inline;
-       background: url(images/player_volume_seek.png) 0 0 no-repeat;
-}
-.videoPlayer .volume_knob {
-       background: url(images/player_slider.png) 0 0 no-repeat;
-       width: 14px;
-       height: 14px;
-       position: absolute;
-       z-index: 2;
-       margin: -1px 0 0 3px;
-       cursor: pointer;
-}
-
 
-.videoPlayer .time {
-       line-height: 32px;
-       height: 29px;
-       overflow: visible;
-       font-size: 10.2px;
-       width: 80px;
-       float: right;
-       display: inline;
-       border:none;
-}
-
-.videoPlayer .play_head{
-       float: left;
-       display: inline;        
-       height: 10px;
-       margin-left:10px;
-       margin-top:10px;        
-}
-
-.play_head .ui-slider-handle{
-       width:10px;
-       height:15px;
-       margin-left:-5px;
-       margin-top:1px;
-}
-
-.inOutSlider .ui-slider-handle{
-       width:8px;      
-       cusror: move;
-}
 
 /*
 .videoPlayer .seeker {
diff --git a/js2/mwEmbed/skins/mvpcf/transition_images/fade_crossfade.png b/js2/mwEmbed/skins/mvpcf/transition_images/fade_crossfade.png
deleted file mode 100644 (file)
index e320e7c..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/transition_images/fade_crossfade.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/transition_images/fade_fadeFromColor.png b/js2/mwEmbed/skins/mvpcf/transition_images/fade_fadeFromColor.png
deleted file mode 100644 (file)
index b4851b6..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/transition_images/fade_fadeFromColor.png and /dev/null differ
diff --git a/js2/mwEmbed/skins/mvpcf/transition_images/transition_wipe.png b/js2/mwEmbed/skins/mvpcf/transition_images/transition_wipe.png
deleted file mode 100644 (file)
index f4350da..0000000
Binary files a/js2/mwEmbed/skins/mvpcf/transition_images/transition_wipe.png and /dev/null differ