Changeset 929


Ignore:
Timestamp:
04/11/10 18:22:37 (3 years ago)
Author:
zach
Message:
  • Creating MVC elements
  • Cleaning up Flash / Embed
Location:
trunk/html5
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/html5/build/jquery.jwplayer-0.1alpha.js

    r928 r929  
    512512    $.fn.jwplayer = function(options){ 
    513513        return this.each(function(){ 
    514             $(this).css("display", "none"); 
    515             $(this).jwplayerParse(options); 
    516             $(this).wrap("<div />"); 
    517             $(this).before("<img src='" + $(this).data("model").image + "' style='width:" + $(this).data("model").width + "px,height:" + $(this).data("model").height + "px' />"); 
    518             $(this).prev("img").click($.fn.jwplayer.play); 
    519             // loadSkin(options); 
     514                        $(this).css("display","none");  
     515            $(this).jwplayerModel(options); 
     516            $(this).jwplayerView(); 
    520517        }); 
    521518    }; 
     
    523520     
    524521    $.fn.jwplayer.play = function(event){ 
    525                 var source, sourceIndex; 
     522        var source, sourceIndex; 
    526523        var video = $(event.target).next("video"); 
    527524        var model = video.data("model"); 
     
    673670/** 
    674671 * JW Player model component 
    675  *  
     672 * 
    676673 * @author zach 
    677674 * @version 1.0alpha 
     
    680677(function($){ 
    681678 
    682  
    683  
    684 })(jQuery);/** 
     679    $.fn.jwplayerModel = function(options){ 
     680        return this.each(function(){ 
     681            $(this).jwplayerParse(options); 
     682        }); 
     683    }; 
     684     
     685})(jQuery); 
     686/** 
    685687 * Parser for the JW Player. 
    686688 * 
     
    724726    }; 
    725727     
    726     function getAttributeList(attributes, elementType){ 
     728    function getAttributeList(elementType, attributes){ 
    727729        if (attributes === undefined) { 
    728730            attributes = elementAttributes[elementType]; 
     
    735737     
    736738    function parseElement(domElement, attributes){ 
    737         if (parsers[domElement.tagName.toLowerCase()] && (attributes === null)) { 
     739        if (parsers[domElement.tagName.toLowerCase()] && (attributes === undefined)) { 
    738740            return parsers[domElement.tagName.toLowerCase()](domElement); 
    739741        } 
    740742        else { 
    741             attributes = getAttributeList(attributes, 'element'); 
     743            attributes = getAttributeList('element', attributes); 
    742744            var configuration = {}; 
    743745            for (var attribute in attributes) { 
     
    754756     
    755757    function parseMediaElement(domElement, attributes){ 
    756         attributes = getAttributeList(attributes, 'media'); 
     758        attributes = getAttributeList('media', attributes); 
    757759        var sources = []; 
    758760        $("source", domElement).each(function(){ 
     
    770772     
    771773    function parseSourceElement(domElement, attributes){ 
    772         attributes = getAttributeList(attributes, 'source'); 
     774        attributes = getAttributeList('source', attributes); 
    773775        return parseElement(domElement, attributes); 
    774776    } 
    775777     
    776778    function parseVideoElement(domElement, attributes){ 
    777         attributes = getAttributeList(attributes, 'video'); 
     779        attributes = getAttributeList('video', attributes); 
    778780        return parseMediaElement(domElement, attributes); 
    779781    } 
     
    925927        var type = $.fn.jwplayerUtils.typeOf(object); 
    926928         
    927         depth = (depth === undefined) ? 1 : depth+1; 
     929        depth = (depth === undefined) ? 1 : depth + 1; 
    928930        var indent = ""; 
    929931        for (var i = 0; i < depth; i++) { 
     
    992994(function($){ 
    993995 
    994 $.fn.jwplayerView = function() { 
    995 }; 
    996  
    997 /** Embeds a Flash Player at the specified location in the DOM. **/ 
    998 $.fn.jwplayerView.embedFlash = function(domElement, model) { 
    999         if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
    1000                 $(domElement).replaceWith("<embed " +  
    1001                         "width='" + model.width + "' " +  
    1002                         "height='" + model.height + "' " +  
    1003                         "id='" + model.id + "' " +  
    1004                         "name='" + model.name + "' " +  
    1005                         "class='" + model.className + "' " +  
    1006                         "src='src/jquery.jwplayer.swf' " +  
    1007                         "allowfullscreen='true' " +  
    1008                         "allowscriptaccess='always' " +  
    1009                         "flashvars='file=" + model.sources[model.item].file + "&image=" + model.image + "' " +  
    1010                         "/>" 
    1011                 ); 
    1012         } else { 
    1013                         $(domElement).replaceWith("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='" + model.width + "' height='" + model.height + "' id='" + model.id + "' name='" + model.name + "' class='" + model.className + "'>" +  
    1014                         "<param name='movie' value='src/jquery.jwplayer.swf'>" +  
    1015                         "<param name='allowfullscreen' value='true'>" +  
    1016                         "<param name='allowscriptaccess' value='always'>" +  
    1017                         "<param name='wmode' value='transparent'>" +  
    1018                         "<param name='flashvars' value='file=" + model.sources[model.item].file + "&image=" + model.image + "'>" +  
    1019                         "</object>" 
    1020                 ); 
    1021         } 
    1022 }; 
    1023  
    1024  
     996    var embedString = "<embed %elementvars% src='src/jquery.jwplayer.swf' allowfullscreen='true' allowscriptaccess='always' flashvars='%flashvars%' />"; 
     997    var objectString = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' %elementvars%'> <param name='movie' value='src/jquery.jwplayer.swf'> <param name='allowfullscreen' value='true'> <param name='allowscriptaccess' value='always'> <param name='wmode' value='transparent'> <param name='flashvars' value='%flashvars%'> </object>"; 
     998    var elementvars = { 
     999        width: true, 
     1000        height: true, 
     1001        id: true, 
     1002        name: true, 
     1003        className: true 
     1004    } 
     1005     
     1006    $.fn.jwplayerView = function(){ 
     1007        return this.each(function(){ 
     1008            $(this).wrap("<div />"); 
     1009            $(this).before("<img src='" + $(this).data("model").image + "' style='width:" + $(this).data("model").width + "px,height:" + $(this).data("model").height + "px' />"); 
     1010            $(this).prev("img").click($.fn.jwplayer.play); 
     1011        }); 
     1012    }; 
     1013     
     1014    /** Embeds a Flash Player at the specified location in the DOM. **/ 
     1015    $.fn.jwplayerView.embedFlash = function(domElement, model){ 
     1016        var htmlString, elementvarString = "", flashvarString = ""; 
     1017        if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
     1018            htmlString = embedString; 
     1019        } 
     1020        else { 
     1021            htmlString = objectString; 
     1022        } 
     1023        for (var elementvar in elementvars) { 
     1024            if (!((model[elementvar] === undefined) || (model[elementvar] === "") || (model[elementvar] === null))) { 
     1025                elementvarString += elementvar + "='" + model[elementvar] + "'"; 
     1026            } 
     1027        } 
     1028        for (var flashvar in model) { 
     1029            if (!((model[flashvar] === undefined) || (model[flashvar] === "") || (model[flashvar] === null))) { 
     1030                if (flashvar == "sources") { 
     1031                    flashvarString += "file=" + model.sources[model.item].file + "&"; 
     1032                } 
     1033                else { 
     1034                    flashvarString += flashvar + "=" + model[flashvar] + "&"; 
     1035                } 
     1036            } 
     1037        } 
     1038        htmlString = htmlString.replace("%elementvars%", elementvarString); 
     1039        htmlString = htmlString.replace("%flashvars%", flashvarString); 
     1040        $(domElement).replaceWith(htmlString); 
     1041    }; 
     1042     
     1043     
    10251044})(jQuery); 
  • trunk/html5/build/jquery.jwplayer-0.1alpha.min.js

    r928 r929  
    1 (function(i){i.fn.controlbar=function(r){return this.each(function(){var v=i(this)[0].id;var u=i("#"+v).parents()[0].id;var t=document.getElementById(v);var s=i.extend({},i.fn.controlbar.defaults,r);i.extend(s,t.getConfig());i.extend(s,{id:v,div:u,left:i("#"+u).position().left,top:i("#"+u).position().top});i("#"+u).css("position","static");i("#"+u).css("z-index","98");i("#"+u).css("height",s.height);i("#"+u).css("width",s.width);i("#"+v).css("width","100%");i("#"+v).css("height","100%");i.fn.controlbar.bars[v]={player:t,options:s,images:{}};a(i.fn.controlbar.bars[v])})};i.fn.controlbar.bars={};i.fn.controlbar.defaults={buffer:0,div:"container",duration:0,elapsed:0,fontsize:10,fontcolor:"000000",fullscreen:false,id:"player",images:0,position:"bottom",skin:"././skins/five/five.xml",width:400,height:300,left:0,leftmargin:0,top:0,rightmargin:0,scrubber:"none",state:"idle",volume:100};i.fn.controlbar.bufferHandler=function(r){n({id:r.id,buffer:r.percentage})};i.fn.controlbar.muteHandler=function(r){b({id:r.id,mute:r.state})};i.fn.controlbar.stateHandler=function(r){m({id:r.id,state:r.newstate.toLowerCase()})};i.fn.controlbar.timeHandler=function(r){d({id:r.id,elapsed:r.position,duration:r.duration})};i.fn.controlbar.volumeHandler=function(r){l({id:r.id,volume:r.percentage})};function a(r){i.get(r.options.skin,{},function(t){var s=i("component",t);for(var u=0;u<s.length;u++){if(i(s[u]).attr("name")=="controlbar"){var v=i(s[u]).find("setting");s=i(s[u]).find("element");break}}for(var u=0;u<v.length;u++){r.options[i(v[u]).attr("name")]=i(v[u]).attr("value")}r.options.images=s.length;for(var u=0;u<s.length;u++){c(s[u],r)}})}function c(u,t){var r=new Image();var v=i(u).attr("name");var s=t.options.skin.substr(0,t.options.skin.lastIndexOf("/"))+"/controlbar/";i(r).error(function(){t.options.images--});i(r).load(function(){t.images[v]={height:this.height,width:this.width,src:this.src};t.options.images--;if(t.options.images===0){p(t);o(t)}});r.src=s+i(u).attr("src")}function p(r){i("#"+r.options.div).after('<div id="'+r.options.id+'_controlBar"></div>');i("#"+r.options.id+"_controlBar").css("position","absolute");i("#"+r.options.id+"_controlBar").css("height",r.images.background.height);i("#"+r.options.id+"_controlBar").css("background","url("+r.images.background.src+") repeat-x center left");q("capLeft","left",true,r);q("playButton","left",false,r);q("pauseButton","left",true,r);q("divider1","left",true,r);q("elapsedText","left",true,r);q("timeSliderRail","left",false,r);q("timeSliderBuffer","left",false,r);q("timeSliderProgress","left",false,r);q("timeSliderThumb","left",false,r);q("capRight","right",true,r);q("fullscreenButton","right",false,r);q("normalscreenButton","right",true,r);q("divider2","right",true,r);q("volumeSliderRail","right",false,r);q("volumeSliderProgress","right",true,r);q("muteButton","right",false,r);q("unmuteButton","right",true,r);q("divider3","right",true,r);q("durationText","right",true,r)}function q(s,w,v,r){var u=r.options.id+"_"+s;i("#"+r.options.id+"_controlBar").append('<div id="'+u+'"></div>');i("#"+u).css("position","absolute");i("#"+u).css("top",0);if(s.indexOf("Text")>0){i("#"+u).html("00:00");i("#"+u).css("font",r.options.fontsize+"px/"+(r.images.background.height+1)+"px Arial,sans-serif");i("#"+u).css("text-align","center");i("#"+u).css("font-weight","bold");i("#"+u).css("cursor","default");var t=14+3*r.options.fontsize;i("#"+u).css("color","#"+r.options.fontcolor.substr(-6))}else{if(s.indexOf("divider")===0){i("#"+u).css("background","url("+r.images.divider.src+") repeat-x center left");var t=r.images.divider.width}else{i("#"+u).css("background","url("+r.images[s].src+") repeat-x center left");var t=r.images[s].width}}if(w=="left"){i("#"+u).css(w,r.options.leftmargin);if(v){r.options.leftmargin+=t}}else{if(w=="right"){i("#"+u).css(w,r.options.rightmargin);if(v){r.options.rightmargin+=t}}}i("#"+u).css("width",t);i("#"+u).css("height",r.images.background.height)}function o(r){k("playButton","play",r.player,r.options);k("pauseButton","play",r.player,r.options);k("muteButton","mute",r.player,r.options);k("unmuteButton","mute",r.player,r.options);k("fullscreenButton","fullscreen",r.player,r.options);k("normalscreenButton","fullscreen",r.player,r.options);r.player.addModelListener("buffer","jQuery.fn.controlbar.bufferHandler");r.player.addModelListener("state","jQuery.fn.controlbar.stateHandler");r.player.addModelListener("time","jQuery.fn.controlbar.timeHandler");r.player.addControllerListener("mute","jQuery.fn.controlbar.muteHandler");r.player.addControllerListener("volume","jQuery.fn.controlbar.volumeHandler");h(r.options);b(r.options);m(r.options);l(r.options)}function k(t,u,s,r){var v=r.id+"_"+t;i("#"+v).css("cursor","pointer");if(u=="fullscreen"){i("#"+v).mouseup(function(w){w.stopPropagation();r.fullscreen=!r.fullscreen;h(r)})}else{i("#"+v).mouseup(function(w){w.stopPropagation();s.sendEvent(u)})}}function e(){var r="#"+config.id+"_controlBar";var s="#"+config.id+"_timeSliderRail";var t="#"+config.id+"_volumeSliderRail";i(r).css("cursor","hand");i(r).mousedown(function(u){var v=u.pageX-i(r).position().left;if(v>i(s).position().left&&v<i(s).position().left+i(s).width()){config.scrubber="time"}else{if(v>i(t).position().left&&v<i(t).position().left+i(t).width()){config.scrubber="volume"}}});i(r).mouseup(function(u){u.stopPropagation();j(u.pageX)});i(r).mouseleave(function(u){j(u.pageX);u.stopPropagation()});i(r).mousemove(function(u){if(config.scrubber=="time"){var v=u.pageX-i(r).position().left;i("#"+config.id+"_timeSliderThumb").css("left",v)}})}function j(u){if(config.scrubber=="time"){var t=u-i("#"+config.id+"_timeSliderRail").position().left;var x=i("#"+config.id+"_timeSliderRail").width();var y=t/x*config.duration;if(y<0){y=0}else{if(y>config.duration){y=config.duration-3}}player.sendEvent("seek",y)}else{if(config.scrubber=="volume"){var v=i("#"+config.id+"_controlBar").width();var r=i("#"+config.id+"_controlBar").position().left;var s=i("#"+config.id+"_volumeSliderRail").css("right").substr(0,2);var x=config.images.volumeSliderRail.width;var w=Math.round((u-v-r+1*s+x)/x*100);if(w<0){w=0}else{if(w>100){w=100}}player.sendEvent("volume",w)}}config.scrubber="none"}function n(r){if(r.buffer===0){i("#"+r.id+"_timeSliderBuffer").css("display","none")}else{i("#"+r.id+"_timeSliderBuffer").css("display","block");var s=i("#"+r.id+"_timeSliderRail").width();i("#"+r.id+"_timeSliderBuffer").css("width",Math.round(s*r.buffer/100))}}function b(r){if(r.mute){i("#"+r.id+"_muteButton").css("display","none");i("#"+r.id+"_unmuteButton").css("display","block");i("#"+r.id+"_volumeSliderProgress").css("display","none")}else{i("#"+r.id+"_muteButton").css("display","block");i("#"+r.id+"_unmuteButton").css("display","none");i("#"+r.id+"_volumeSliderProgress").css("display","block")}}function m(r){if(r.state=="buffering"||r.state=="playing"){i("#"+r.id+"_pauseButton").css("display","block");i("#"+r.id+"_playButton").css("display","none")}else{i("#"+r.id+"_pauseButton").css("display","none");i("#"+r.id+"_playButton").css("display","block")}if(r.state=="completed"){r.elapsed=0;d(r)}}function d(r){var t=i("#"+r.id+"_timeSliderRail").width();var u=i("#"+r.id+"_timeSliderThumb").width();var s=i("#"+r.id+"_timeSliderRail").position().left;if(r.elapsed===0){i("#"+r.id+"_timeSliderProgress").css("display","none");i("#"+r.id+"_timeSliderThumb").css("display","none")}else{i("#"+r.id+"_timeSliderProgress").css("display","block");i("#"+r.id+"_timeSliderProgress").css("width",Math.round(t*r.elapsed/r.duration));i("#"+r.id+"_timeSliderThumb").css("display","block");i("#"+r.id+"_timeSliderThumb").css("left",s+Math.round((t-u)*r.elapsed/r.duration));i("#"+r.id+"_durationText").html(g(r.duration))}i("#"+r.id+"_elapsedText").html(g(r.elapsed))}function g(r){str="00:00";if(r>0){str=Math.floor(r/60)<10?"0"+Math.floor(r/60)+":":Math.floor(r/60)+":";str+=Math.floor(r%60)<10?"0"+Math.floor(r%60):Math.floor(r%60)}return str}function h(r){if(r.fullscreen){i("#"+r.div).css("position","absolute");i("#"+r.div).css("left",0);i("#"+r.div).css("top",0);i("#"+r.div).css("height","100%");i("#"+r.div).css("width","100%");i("#"+r.id+"_normalscreenButton").css("display","block");i("#"+r.id+"_fullscreenButton").css("display","none");i(window).resize(function(){f(r)})}else{i("#"+r.div).css("position","static");i("#"+r.div).css("left",r.left);i("#"+r.div).css("top",r.top);i("#"+r.div).css("height",r.height);i("#"+r.div).css("width",r.width);i("#"+r.id+"_normalscreenButton").css("display","none");i("#"+r.id+"_fullscreenButton").css("display","block");i(window).resize(null)}f(r);d(r);n(r)}function f(r){var t=r.left;var u=r.top+r.height;var s=r.width;var v=i("#"+r.id+"_controlBar").height();if(r.position=="over"){t+=1*r.margin;u-=1*r.margin+v;s-=2*r.margin}if(r.fullscreen){t=r.margin;u=i(window).height()-r.margin-v;s=i(window).width()-2*r.margin;i("#"+r.id+"_controlBar").css("z-index",99)}else{i("#"+r.id+"_controlBar").css("z-index",97)}i("#"+r.id+"_controlBar").css("left",t);i("#"+r.id+"_controlBar").css("top",u);i("#"+r.id+"_controlBar").css("width",s);i("#"+r.id+"_timeSliderRail").css("width",s-r.leftmargin-r.rightmargin)}function l(t){var r=i("#"+t.id+"_volumeSliderRail").width();var u=Math.round(t.volume/100*r);var s=i("#"+t.id+"_volumeSliderRail").css("right").substr(0,2);i("#"+t.id+"_volumeSliderProgress").css("width",u);i("#"+t.id+"_volumeSliderProgress").css("right",1*s+r-u)}})(jQuery);(function(a){})(jQuery);(function(b){b.fn.jwplayer=function(d){return this.each(function(){b(this).css("display","none");b(this).jwplayerParse(d);b(this).wrap("<div />");b(this).before("<img src='"+b(this).data("model").image+"' style='width:"+b(this).data("model").width+"px,height:"+b(this).data("model").height+"px' />");b(this).prev("img").click(b.fn.jwplayer.play)})};b.fn.jwplayer.play=function(g){var h,d;var f=b(g.target).next("video");var e=f.data("model");for(d in e.sources){h=e.sources[d];if(h.type===undefined){h.type="video/"+b.fn.jwplayerUtils.extension(h.file)+";"}if(b.fn.jwplayerUtils.supportsType(h.type)){e.item=d;b(g.target).css("display","none");f.css("display","inherit");f[0].play();e.state="playing";return true}}if(b.fn.jwplayerUtils.supportsFlash&&e.state!="playing"){for(d in e.sources){h=e.sources[d];b.fn.log(b.fn.jwplayerUtils.flashCanPlay(h.file));if(b.fn.jwplayerUtils.flashCanPlay(h.file)){e.item=d;b.fn.jwplayerView.embedFlash(f,e);b(g.target).css("display","none");return true}}}alert("No file to play!");return false};b.fn.jwplayer.players={};b.fn.jwplayer.defaults={autostart:false,buffer:0,duration:0,file:undefined,height:300,image:undefined,left:0,position:0,skin:"../../skins/five/five.xml",state:"idle",top:0,volume:100,width:400,item:0};b.fn.jwplayer.fullscreen=function(d,e){};b.fn.jwplayer.mute=function(d,e){};b.fn.jwplayer.pause=function(d,e){};b.fn.jwplayer.seek=function(e,d){};b.fn.jwplayer.stop=function(d){};b.fn.jwplayer.volume=function(e,d){};b.fn.jwplayer.addEventListener=function(d,e,f){};b.fn.jwplayer.removeEventListener=function(d,e,f){};function a(d){b.get(d.options.skin,{},function(f){var e=b("component",f);for(var g=0;g<e.length;g++){if(b(e[g]).attr("name")=="display"){var h=b(e[g]).find("setting");e=b(e[g]).find("element");break}}for(var g=0;g<h.length;g++){d.options[b(h[g]).attr("name")]=b(h[g]).attr("value")}d.options.images=e.length;for(var g=0;g<e.length;g++){c(e[g],d)}})}function c(g,f){var d=new Image();var h=b(g).attr("name");var e=f.options.skin.substr(0,f.options.skin.lastIndexOf("/"))+"/controlbar/";b(d).error(function(){f.options.images--});b(d).load(function(){f.images[h]={height:this.height,width:this.width,src:this.src};f.options.images--;if(f.options.images===0){buildElements(f);buildHandlers(f)}});d.src=e+b(g).attr("src")}b(document).ready(function(){b("video.jwplayer").jwplayer()})})(jQuery);(function(a){})(jQuery);(function(f){var g={element:{width:"width",height:"height",id:"id","class":"className",name:"name"},media:{src:"file",preload:"preload",autoplay:"autostart",loop:"repeat",controls:"controls"},source:{src:"file",type:"type",media:"media"},video:{poster:"image"}};var e={};f.fn.jwplayerParse=function(i){return this.each(function(){f(this).data("model",f.extend(true,{},f.fn.jwplayer.defaults,i,d(this)))})};function c(j,i){if(j===undefined){j=g[i]}else{f.extend(j,g[i])}return j}function d(l,i){if(e[l.tagName.toLowerCase()]&&(i===null)){return e[l.tagName.toLowerCase()](l)}else{i=c(i,"element");var m={};for(var j in i){if(j!="length"){var k=f(l).attr(j);if(!(k===""||k===undefined)){m[i[j]]=f(l).attr(j)}}}return m}}function h(k,i){i=c(i,"media");var j=[];f("source",k).each(function(){j[j.length]=a(this)});var l=d(k,i);if(l.file!==undefined){j[0]={file:l.file}}l.sources=j;return l}function a(j,i){i=c(i,"source");return d(j,i)}function b(j,i){i=c(i,"video");return h(j,i)}e.media=h;e.audio=h;e.source=a;e.video=b})(jQuery);(function(a){})(jQuery);(function(b){b.fn.jwplayerUtils=function(){return this.each(function(){})};b.fn.jwplayerUtils.supportsFlash=function(){var c="0,0,0,0";try{try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{f.AllowScriptAccess="always"}catch(h){c="6,0,0"}}catch(h){}c=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(h){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){c=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(h){}}var d=parseInt(c.split(",")[0]);var g=parseInt(c.split(",")[2]);if(d>9||(d==9&&g>97)){return true}else{return false}};var a={"3g2":true,"3gp":true,aac:true,f4b:true,f4p:true,f4v:true,flv:true,gif:true,jpg:true,jpeg:true,m4a:true,m4v:true,mov:true,mp3:true,mp4:true,png:true,rbs:true,sdp:true,swf:true,vp6:true};b.fn.jwplayerUtils.flashCanPlay=function(c){if(a[b.fn.jwplayerUtils.extension(c)]){return true}return false};b.fn.jwplayerUtils.supportsType=function(c){try{return !!document.createElement("video").canPlayType(c)}catch(d){return false}};b.fn.jwplayerUtils.supportsH264=function(){return b.fn.jwplayerUtils.supportsType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')};b.fn.jwplayerUtils.supportsOgg=function(){return b.fn.jwplayerUtils.supportsType('video/ogg; codecs="theora, vorbis"')};b.fn.jwplayerUtils.extension=function(c){return c.substr(c.lastIndexOf(".")+1,c.length)};b.fn.jwplayerUtils.dump=function(e,h){if(e===null){return"null"}else{if(b.fn.jwplayerUtils.typeOf(e)!="object"){if(b.fn.jwplayerUtils.typeOf(e)=="string"){return'"'+e+'"'}return e}}var g=b.fn.jwplayerUtils.typeOf(e);h=(h===undefined)?1:h+1;var d="";for(var f=0;f<h;f++){d+="\t"}var c=(g=="array")?"[":"{";c+="\n"+d;for(var f in e){if(g=="object"){c+='"'+f+'": '}c+=b.fn.jwplayerUtils.dump(e[f],h)+",\n"+d}c=c.substring(0,c.length-2-h)+"\n";c+=d.substring(0,d.length-1);c+=(g=="array")?"]":"}";return c};b.fn.jwplayerUtils.typeOf=function(d){var c=typeof d;if(c==="object"){if(d){if(d instanceof Array){c="array"}}else{c="null"}}return c};b.fn.log=function(e,d){try{if(d){console.log("%s: %o",e,d)}else{console.log(b.fn.jwplayerUtils.dump(e))}}catch(c){}return this}})(jQuery);(function(a){a.fn.jwplayerView=function(){};a.fn.jwplayerView.embedFlash=function(c,b){if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){a(c).replaceWith("<embed width='"+b.width+"' height='"+b.height+"' id='"+b.id+"' name='"+b.name+"' class='"+b.className+"' src='src/jquery.jwplayer.swf' allowfullscreen='true' allowscriptaccess='always' flashvars='file="+b.sources[b.item].file+"&image="+b.image+"' />")}else{a(c).replaceWith("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='"+b.width+"' height='"+b.height+"' id='"+b.id+"' name='"+b.name+"' class='"+b.className+"'><param name='movie' value='src/jquery.jwplayer.swf'><param name='allowfullscreen' value='true'><param name='allowscriptaccess' value='always'><param name='wmode' value='transparent'><param name='flashvars' value='file="+b.sources[b.item].file+"&image="+b.image+"'></object>")}}})(jQuery); 
     1(function(i){i.fn.controlbar=function(r){return this.each(function(){var v=i(this)[0].id;var u=i("#"+v).parents()[0].id;var t=document.getElementById(v);var s=i.extend({},i.fn.controlbar.defaults,r);i.extend(s,t.getConfig());i.extend(s,{id:v,div:u,left:i("#"+u).position().left,top:i("#"+u).position().top});i("#"+u).css("position","static");i("#"+u).css("z-index","98");i("#"+u).css("height",s.height);i("#"+u).css("width",s.width);i("#"+v).css("width","100%");i("#"+v).css("height","100%");i.fn.controlbar.bars[v]={player:t,options:s,images:{}};a(i.fn.controlbar.bars[v])})};i.fn.controlbar.bars={};i.fn.controlbar.defaults={buffer:0,div:"container",duration:0,elapsed:0,fontsize:10,fontcolor:"000000",fullscreen:false,id:"player",images:0,position:"bottom",skin:"././skins/five/five.xml",width:400,height:300,left:0,leftmargin:0,top:0,rightmargin:0,scrubber:"none",state:"idle",volume:100};i.fn.controlbar.bufferHandler=function(r){n({id:r.id,buffer:r.percentage})};i.fn.controlbar.muteHandler=function(r){b({id:r.id,mute:r.state})};i.fn.controlbar.stateHandler=function(r){m({id:r.id,state:r.newstate.toLowerCase()})};i.fn.controlbar.timeHandler=function(r){d({id:r.id,elapsed:r.position,duration:r.duration})};i.fn.controlbar.volumeHandler=function(r){l({id:r.id,volume:r.percentage})};function a(r){i.get(r.options.skin,{},function(t){var s=i("component",t);for(var u=0;u<s.length;u++){if(i(s[u]).attr("name")=="controlbar"){var v=i(s[u]).find("setting");s=i(s[u]).find("element");break}}for(var u=0;u<v.length;u++){r.options[i(v[u]).attr("name")]=i(v[u]).attr("value")}r.options.images=s.length;for(var u=0;u<s.length;u++){c(s[u],r)}})}function c(u,t){var r=new Image();var v=i(u).attr("name");var s=t.options.skin.substr(0,t.options.skin.lastIndexOf("/"))+"/controlbar/";i(r).error(function(){t.options.images--});i(r).load(function(){t.images[v]={height:this.height,width:this.width,src:this.src};t.options.images--;if(t.options.images===0){p(t);o(t)}});r.src=s+i(u).attr("src")}function p(r){i("#"+r.options.div).after('<div id="'+r.options.id+'_controlBar"></div>');i("#"+r.options.id+"_controlBar").css("position","absolute");i("#"+r.options.id+"_controlBar").css("height",r.images.background.height);i("#"+r.options.id+"_controlBar").css("background","url("+r.images.background.src+") repeat-x center left");q("capLeft","left",true,r);q("playButton","left",false,r);q("pauseButton","left",true,r);q("divider1","left",true,r);q("elapsedText","left",true,r);q("timeSliderRail","left",false,r);q("timeSliderBuffer","left",false,r);q("timeSliderProgress","left",false,r);q("timeSliderThumb","left",false,r);q("capRight","right",true,r);q("fullscreenButton","right",false,r);q("normalscreenButton","right",true,r);q("divider2","right",true,r);q("volumeSliderRail","right",false,r);q("volumeSliderProgress","right",true,r);q("muteButton","right",false,r);q("unmuteButton","right",true,r);q("divider3","right",true,r);q("durationText","right",true,r)}function q(s,w,v,r){var u=r.options.id+"_"+s;i("#"+r.options.id+"_controlBar").append('<div id="'+u+'"></div>');i("#"+u).css("position","absolute");i("#"+u).css("top",0);if(s.indexOf("Text")>0){i("#"+u).html("00:00");i("#"+u).css("font",r.options.fontsize+"px/"+(r.images.background.height+1)+"px Arial,sans-serif");i("#"+u).css("text-align","center");i("#"+u).css("font-weight","bold");i("#"+u).css("cursor","default");var t=14+3*r.options.fontsize;i("#"+u).css("color","#"+r.options.fontcolor.substr(-6))}else{if(s.indexOf("divider")===0){i("#"+u).css("background","url("+r.images.divider.src+") repeat-x center left");var t=r.images.divider.width}else{i("#"+u).css("background","url("+r.images[s].src+") repeat-x center left");var t=r.images[s].width}}if(w=="left"){i("#"+u).css(w,r.options.leftmargin);if(v){r.options.leftmargin+=t}}else{if(w=="right"){i("#"+u).css(w,r.options.rightmargin);if(v){r.options.rightmargin+=t}}}i("#"+u).css("width",t);i("#"+u).css("height",r.images.background.height)}function o(r){k("playButton","play",r.player,r.options);k("pauseButton","play",r.player,r.options);k("muteButton","mute",r.player,r.options);k("unmuteButton","mute",r.player,r.options);k("fullscreenButton","fullscreen",r.player,r.options);k("normalscreenButton","fullscreen",r.player,r.options);r.player.addModelListener("buffer","jQuery.fn.controlbar.bufferHandler");r.player.addModelListener("state","jQuery.fn.controlbar.stateHandler");r.player.addModelListener("time","jQuery.fn.controlbar.timeHandler");r.player.addControllerListener("mute","jQuery.fn.controlbar.muteHandler");r.player.addControllerListener("volume","jQuery.fn.controlbar.volumeHandler");h(r.options);b(r.options);m(r.options);l(r.options)}function k(t,u,s,r){var v=r.id+"_"+t;i("#"+v).css("cursor","pointer");if(u=="fullscreen"){i("#"+v).mouseup(function(w){w.stopPropagation();r.fullscreen=!r.fullscreen;h(r)})}else{i("#"+v).mouseup(function(w){w.stopPropagation();s.sendEvent(u)})}}function e(){var r="#"+config.id+"_controlBar";var s="#"+config.id+"_timeSliderRail";var t="#"+config.id+"_volumeSliderRail";i(r).css("cursor","hand");i(r).mousedown(function(u){var v=u.pageX-i(r).position().left;if(v>i(s).position().left&&v<i(s).position().left+i(s).width()){config.scrubber="time"}else{if(v>i(t).position().left&&v<i(t).position().left+i(t).width()){config.scrubber="volume"}}});i(r).mouseup(function(u){u.stopPropagation();j(u.pageX)});i(r).mouseleave(function(u){j(u.pageX);u.stopPropagation()});i(r).mousemove(function(u){if(config.scrubber=="time"){var v=u.pageX-i(r).position().left;i("#"+config.id+"_timeSliderThumb").css("left",v)}})}function j(u){if(config.scrubber=="time"){var t=u-i("#"+config.id+"_timeSliderRail").position().left;var x=i("#"+config.id+"_timeSliderRail").width();var y=t/x*config.duration;if(y<0){y=0}else{if(y>config.duration){y=config.duration-3}}player.sendEvent("seek",y)}else{if(config.scrubber=="volume"){var v=i("#"+config.id+"_controlBar").width();var r=i("#"+config.id+"_controlBar").position().left;var s=i("#"+config.id+"_volumeSliderRail").css("right").substr(0,2);var x=config.images.volumeSliderRail.width;var w=Math.round((u-v-r+1*s+x)/x*100);if(w<0){w=0}else{if(w>100){w=100}}player.sendEvent("volume",w)}}config.scrubber="none"}function n(r){if(r.buffer===0){i("#"+r.id+"_timeSliderBuffer").css("display","none")}else{i("#"+r.id+"_timeSliderBuffer").css("display","block");var s=i("#"+r.id+"_timeSliderRail").width();i("#"+r.id+"_timeSliderBuffer").css("width",Math.round(s*r.buffer/100))}}function b(r){if(r.mute){i("#"+r.id+"_muteButton").css("display","none");i("#"+r.id+"_unmuteButton").css("display","block");i("#"+r.id+"_volumeSliderProgress").css("display","none")}else{i("#"+r.id+"_muteButton").css("display","block");i("#"+r.id+"_unmuteButton").css("display","none");i("#"+r.id+"_volumeSliderProgress").css("display","block")}}function m(r){if(r.state=="buffering"||r.state=="playing"){i("#"+r.id+"_pauseButton").css("display","block");i("#"+r.id+"_playButton").css("display","none")}else{i("#"+r.id+"_pauseButton").css("display","none");i("#"+r.id+"_playButton").css("display","block")}if(r.state=="completed"){r.elapsed=0;d(r)}}function d(r){var t=i("#"+r.id+"_timeSliderRail").width();var u=i("#"+r.id+"_timeSliderThumb").width();var s=i("#"+r.id+"_timeSliderRail").position().left;if(r.elapsed===0){i("#"+r.id+"_timeSliderProgress").css("display","none");i("#"+r.id+"_timeSliderThumb").css("display","none")}else{i("#"+r.id+"_timeSliderProgress").css("display","block");i("#"+r.id+"_timeSliderProgress").css("width",Math.round(t*r.elapsed/r.duration));i("#"+r.id+"_timeSliderThumb").css("display","block");i("#"+r.id+"_timeSliderThumb").css("left",s+Math.round((t-u)*r.elapsed/r.duration));i("#"+r.id+"_durationText").html(g(r.duration))}i("#"+r.id+"_elapsedText").html(g(r.elapsed))}function g(r){str="00:00";if(r>0){str=Math.floor(r/60)<10?"0"+Math.floor(r/60)+":":Math.floor(r/60)+":";str+=Math.floor(r%60)<10?"0"+Math.floor(r%60):Math.floor(r%60)}return str}function h(r){if(r.fullscreen){i("#"+r.div).css("position","absolute");i("#"+r.div).css("left",0);i("#"+r.div).css("top",0);i("#"+r.div).css("height","100%");i("#"+r.div).css("width","100%");i("#"+r.id+"_normalscreenButton").css("display","block");i("#"+r.id+"_fullscreenButton").css("display","none");i(window).resize(function(){f(r)})}else{i("#"+r.div).css("position","static");i("#"+r.div).css("left",r.left);i("#"+r.div).css("top",r.top);i("#"+r.div).css("height",r.height);i("#"+r.div).css("width",r.width);i("#"+r.id+"_normalscreenButton").css("display","none");i("#"+r.id+"_fullscreenButton").css("display","block");i(window).resize(null)}f(r);d(r);n(r)}function f(r){var t=r.left;var u=r.top+r.height;var s=r.width;var v=i("#"+r.id+"_controlBar").height();if(r.position=="over"){t+=1*r.margin;u-=1*r.margin+v;s-=2*r.margin}if(r.fullscreen){t=r.margin;u=i(window).height()-r.margin-v;s=i(window).width()-2*r.margin;i("#"+r.id+"_controlBar").css("z-index",99)}else{i("#"+r.id+"_controlBar").css("z-index",97)}i("#"+r.id+"_controlBar").css("left",t);i("#"+r.id+"_controlBar").css("top",u);i("#"+r.id+"_controlBar").css("width",s);i("#"+r.id+"_timeSliderRail").css("width",s-r.leftmargin-r.rightmargin)}function l(t){var r=i("#"+t.id+"_volumeSliderRail").width();var u=Math.round(t.volume/100*r);var s=i("#"+t.id+"_volumeSliderRail").css("right").substr(0,2);i("#"+t.id+"_volumeSliderProgress").css("width",u);i("#"+t.id+"_volumeSliderProgress").css("right",1*s+r-u)}})(jQuery);(function(a){})(jQuery);(function(b){b.fn.jwplayer=function(d){return this.each(function(){b(this).css("display","none");b(this).jwplayerModel(d);b(this).jwplayerView()})};b.fn.jwplayer.play=function(g){var h,d;var f=b(g.target).next("video");var e=f.data("model");for(d in e.sources){h=e.sources[d];if(h.type===undefined){h.type="video/"+b.fn.jwplayerUtils.extension(h.file)+";"}if(b.fn.jwplayerUtils.supportsType(h.type)){e.item=d;b(g.target).css("display","none");f.css("display","inherit");f[0].play();e.state="playing";return true}}if(b.fn.jwplayerUtils.supportsFlash&&e.state!="playing"){for(d in e.sources){h=e.sources[d];b.fn.log(b.fn.jwplayerUtils.flashCanPlay(h.file));if(b.fn.jwplayerUtils.flashCanPlay(h.file)){e.item=d;b.fn.jwplayerView.embedFlash(f,e);b(g.target).css("display","none");return true}}}alert("No file to play!");return false};b.fn.jwplayer.players={};b.fn.jwplayer.defaults={autostart:false,buffer:0,duration:0,file:undefined,height:300,image:undefined,left:0,position:0,skin:"../../skins/five/five.xml",state:"idle",top:0,volume:100,width:400,item:0};b.fn.jwplayer.fullscreen=function(d,e){};b.fn.jwplayer.mute=function(d,e){};b.fn.jwplayer.pause=function(d,e){};b.fn.jwplayer.seek=function(e,d){};b.fn.jwplayer.stop=function(d){};b.fn.jwplayer.volume=function(e,d){};b.fn.jwplayer.addEventListener=function(d,e,f){};b.fn.jwplayer.removeEventListener=function(d,e,f){};function a(d){b.get(d.options.skin,{},function(f){var e=b("component",f);for(var g=0;g<e.length;g++){if(b(e[g]).attr("name")=="display"){var h=b(e[g]).find("setting");e=b(e[g]).find("element");break}}for(var g=0;g<h.length;g++){d.options[b(h[g]).attr("name")]=b(h[g]).attr("value")}d.options.images=e.length;for(var g=0;g<e.length;g++){c(e[g],d)}})}function c(g,f){var d=new Image();var h=b(g).attr("name");var e=f.options.skin.substr(0,f.options.skin.lastIndexOf("/"))+"/controlbar/";b(d).error(function(){f.options.images--});b(d).load(function(){f.images[h]={height:this.height,width:this.width,src:this.src};f.options.images--;if(f.options.images===0){buildElements(f);buildHandlers(f)}});d.src=e+b(g).attr("src")}b(document).ready(function(){b("video.jwplayer").jwplayer()})})(jQuery);(function(a){a.fn.jwplayerModel=function(b){return this.each(function(){a(this).jwplayerParse(b)})}})(jQuery);(function(f){var g={element:{width:"width",height:"height",id:"id","class":"className",name:"name"},media:{src:"file",preload:"preload",autoplay:"autostart",loop:"repeat",controls:"controls"},source:{src:"file",type:"type",media:"media"},video:{poster:"image"}};var e={};f.fn.jwplayerParse=function(i){return this.each(function(){f(this).data("model",f.extend(true,{},f.fn.jwplayer.defaults,i,d(this)))})};function c(j,i){if(i===undefined){i=g[j]}else{f.extend(i,g[j])}return i}function d(l,i){if(e[l.tagName.toLowerCase()]&&(i===undefined)){return e[l.tagName.toLowerCase()](l)}else{i=c("element",i);var m={};for(var j in i){if(j!="length"){var k=f(l).attr(j);if(!(k===""||k===undefined)){m[i[j]]=f(l).attr(j)}}}return m}}function h(k,i){i=c("media",i);var j=[];f("source",k).each(function(){j[j.length]=a(this)});var l=d(k,i);if(l.file!==undefined){j[0]={file:l.file}}l.sources=j;return l}function a(j,i){i=c("source",i);return d(j,i)}function b(j,i){i=c("video",i);return h(j,i)}e.media=h;e.audio=h;e.source=a;e.video=b})(jQuery);(function(a){})(jQuery);(function(b){b.fn.jwplayerUtils=function(){return this.each(function(){})};b.fn.jwplayerUtils.supportsFlash=function(){var c="0,0,0,0";try{try{var f=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{f.AllowScriptAccess="always"}catch(h){c="6,0,0"}}catch(h){}c=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(h){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){c=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(h){}}var d=parseInt(c.split(",")[0]);var g=parseInt(c.split(",")[2]);if(d>9||(d==9&&g>97)){return true}else{return false}};var a={"3g2":true,"3gp":true,aac:true,f4b:true,f4p:true,f4v:true,flv:true,gif:true,jpg:true,jpeg:true,m4a:true,m4v:true,mov:true,mp3:true,mp4:true,png:true,rbs:true,sdp:true,swf:true,vp6:true};b.fn.jwplayerUtils.flashCanPlay=function(c){if(a[b.fn.jwplayerUtils.extension(c)]){return true}return false};b.fn.jwplayerUtils.supportsType=function(c){try{return !!document.createElement("video").canPlayType(c)}catch(d){return false}};b.fn.jwplayerUtils.supportsH264=function(){return b.fn.jwplayerUtils.supportsType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')};b.fn.jwplayerUtils.supportsOgg=function(){return b.fn.jwplayerUtils.supportsType('video/ogg; codecs="theora, vorbis"')};b.fn.jwplayerUtils.extension=function(c){return c.substr(c.lastIndexOf(".")+1,c.length)};b.fn.jwplayerUtils.dump=function(e,h){if(e===null){return"null"}else{if(b.fn.jwplayerUtils.typeOf(e)!="object"){if(b.fn.jwplayerUtils.typeOf(e)=="string"){return'"'+e+'"'}return e}}var g=b.fn.jwplayerUtils.typeOf(e);h=(h===undefined)?1:h+1;var d="";for(var f=0;f<h;f++){d+="\t"}var c=(g=="array")?"[":"{";c+="\n"+d;for(var f in e){if(g=="object"){c+='"'+f+'": '}c+=b.fn.jwplayerUtils.dump(e[f],h)+",\n"+d}c=c.substring(0,c.length-2-h)+"\n";c+=d.substring(0,d.length-1);c+=(g=="array")?"]":"}";return c};b.fn.jwplayerUtils.typeOf=function(d){var c=typeof d;if(c==="object"){if(d){if(d instanceof Array){c="array"}}else{c="null"}}return c};b.fn.log=function(e,d){try{if(d){console.log("%s: %o",e,d)}else{console.log(b.fn.jwplayerUtils.dump(e))}}catch(c){}return this}})(jQuery);(function(b){var d="<embed %elementvars% src='src/jquery.jwplayer.swf' allowfullscreen='true' allowscriptaccess='always' flashvars='%flashvars%' />";var a="<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' %elementvars%'> <param name='movie' value='src/jquery.jwplayer.swf'> <param name='allowfullscreen' value='true'> <param name='allowscriptaccess' value='always'> <param name='wmode' value='transparent'> <param name='flashvars' value='%flashvars%'> </object>";var c={width:true,height:true,id:true,name:true,className:true};b.fn.jwplayerView=function(){return this.each(function(){b(this).wrap("<div />");b(this).before("<img src='"+b(this).data("model").image+"' style='width:"+b(this).data("model").width+"px,height:"+b(this).data("model").height+"px' />");b(this).prev("img").click(b.fn.jwplayer.play)})};b.fn.jwplayerView.embedFlash=function(k,i){var j,f="",h="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){j=d}else{j=a}for(var e in c){if(!((i[e]===undefined)||(i[e]==="")||(i[e]===null))){f+=e+"='"+i[e]+"'"}}for(var g in i){if(!((i[g]===undefined)||(i[g]==="")||(i[g]===null))){if(g=="sources"){h+="file="+i.sources[i.item].file+"&"}else{h+=g+"="+i[g]+"&"}}}j=j.replace("%elementvars%",f);j=j.replace("%flashvars%",h);b(k).replaceWith(j)}})(jQuery); 
  • trunk/html5/src/jquery.jwplayerCore.js

    r927 r929  
    1212    $.fn.jwplayer = function(options){ 
    1313        return this.each(function(){ 
    14             $(this).css("display", "none"); 
    15             $(this).jwplayerParse(options); 
    16             $(this).wrap("<div />"); 
    17             $(this).before("<img src='" + $(this).data("model").image + "' style='width:" + $(this).data("model").width + "px,height:" + $(this).data("model").height + "px' />"); 
    18             $(this).prev("img").click($.fn.jwplayer.play); 
    19             // loadSkin(options); 
     14                        $(this).css("display","none");  
     15            $(this).jwplayerModel(options); 
     16            $(this).jwplayerView(); 
    2017        }); 
    2118    }; 
     
    2320     
    2421    $.fn.jwplayer.play = function(event){ 
    25                 var source, sourceIndex; 
     22        var source, sourceIndex; 
    2623        var video = $(event.target).next("video"); 
    2724        var model = video.data("model"); 
  • trunk/html5/src/jquery.jwplayerModel.js

    r927 r929  
    11/** 
    22 * JW Player model component 
    3  *  
     3 * 
    44 * @author zach 
    55 * @version 1.0alpha 
     
    88(function($){ 
    99 
    10  
    11  
     10    $.fn.jwplayerModel = function(options){ 
     11        return this.each(function(){ 
     12            $(this).jwplayerParse(options); 
     13        }); 
     14    }; 
     15     
    1216})(jQuery); 
  • trunk/html5/src/jquery.jwplayerParse.js

    r927 r929  
    4141    }; 
    4242     
    43     function getAttributeList(attributes, elementType){ 
     43    function getAttributeList(elementType, attributes){ 
    4444        if (attributes === undefined) { 
    4545            attributes = elementAttributes[elementType]; 
     
    5252     
    5353    function parseElement(domElement, attributes){ 
    54         if (parsers[domElement.tagName.toLowerCase()] && (attributes === null)) { 
     54        if (parsers[domElement.tagName.toLowerCase()] && (attributes === undefined)) { 
    5555            return parsers[domElement.tagName.toLowerCase()](domElement); 
    5656        } 
    5757        else { 
    58             attributes = getAttributeList(attributes, 'element'); 
     58            attributes = getAttributeList('element', attributes); 
    5959            var configuration = {}; 
    6060            for (var attribute in attributes) { 
     
    7171     
    7272    function parseMediaElement(domElement, attributes){ 
    73         attributes = getAttributeList(attributes, 'media'); 
     73        attributes = getAttributeList('media', attributes); 
    7474        var sources = []; 
    7575        $("source", domElement).each(function(){ 
     
    8787     
    8888    function parseSourceElement(domElement, attributes){ 
    89         attributes = getAttributeList(attributes, 'source'); 
     89        attributes = getAttributeList('source', attributes); 
    9090        return parseElement(domElement, attributes); 
    9191    } 
    9292     
    9393    function parseVideoElement(domElement, attributes){ 
    94         attributes = getAttributeList(attributes, 'video'); 
     94        attributes = getAttributeList('video', attributes); 
    9595        return parseMediaElement(domElement, attributes); 
    9696    } 
  • trunk/html5/src/jquery.jwplayerUtils.js

    r927 r929  
    126126        var type = $.fn.jwplayerUtils.typeOf(object); 
    127127         
    128         depth = (depth === undefined) ? 1 : depth+1; 
     128        depth = (depth === undefined) ? 1 : depth + 1; 
    129129        var indent = ""; 
    130130        for (var i = 0; i < depth; i++) { 
  • trunk/html5/src/jquery.jwplayerView.js

    r927 r929  
    88(function($){ 
    99 
    10 $.fn.jwplayerView = function() { 
    11 }; 
    12  
    13 /** Embeds a Flash Player at the specified location in the DOM. **/ 
    14 $.fn.jwplayerView.embedFlash = function(domElement, model) { 
    15         if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
    16                 $(domElement).replaceWith("<embed " +  
    17                         "width='" + model.width + "' " +  
    18                         "height='" + model.height + "' " +  
    19                         "id='" + model.id + "' " +  
    20                         "name='" + model.name + "' " +  
    21                         "class='" + model.className + "' " +  
    22                         "src='src/jquery.jwplayer.swf' " +  
    23                         "allowfullscreen='true' " +  
    24                         "allowscriptaccess='always' " +  
    25                         "flashvars='file=" + model.sources[model.item].file + "&image=" + model.image + "' " +  
    26                         "/>" 
    27                 ); 
    28         } else { 
    29                         $(domElement).replaceWith("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='" + model.width + "' height='" + model.height + "' id='" + model.id + "' name='" + model.name + "' class='" + model.className + "'>" +  
    30                         "<param name='movie' value='src/jquery.jwplayer.swf'>" +  
    31                         "<param name='allowfullscreen' value='true'>" +  
    32                         "<param name='allowscriptaccess' value='always'>" +  
    33                         "<param name='wmode' value='transparent'>" +  
    34                         "<param name='flashvars' value='file=" + model.sources[model.item].file + "&image=" + model.image + "'>" +  
    35                         "</object>" 
    36                 ); 
    37         } 
    38 }; 
    39  
    40  
     10    var embedString = "<embed %elementvars% src='src/jquery.jwplayer.swf' allowfullscreen='true' allowscriptaccess='always' flashvars='%flashvars%' />"; 
     11    var objectString = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' %elementvars%'> <param name='movie' value='src/jquery.jwplayer.swf'> <param name='allowfullscreen' value='true'> <param name='allowscriptaccess' value='always'> <param name='wmode' value='transparent'> <param name='flashvars' value='%flashvars%'> </object>"; 
     12    var elementvars = { 
     13        width: true, 
     14        height: true, 
     15        id: true, 
     16        name: true, 
     17        className: true 
     18    } 
     19     
     20    $.fn.jwplayerView = function(){ 
     21        return this.each(function(){ 
     22            $(this).wrap("<div />"); 
     23            $(this).before("<img src='" + $(this).data("model").image + "' style='width:" + $(this).data("model").width + "px,height:" + $(this).data("model").height + "px' />"); 
     24            $(this).prev("img").click($.fn.jwplayer.play); 
     25        }); 
     26    }; 
     27     
     28    /** Embeds a Flash Player at the specified location in the DOM. **/ 
     29    $.fn.jwplayerView.embedFlash = function(domElement, model){ 
     30        var htmlString, elementvarString = "", flashvarString = ""; 
     31        if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
     32            htmlString = embedString; 
     33        } 
     34        else { 
     35            htmlString = objectString; 
     36        } 
     37        for (var elementvar in elementvars) { 
     38            if (!((model[elementvar] === undefined) || (model[elementvar] === "") || (model[elementvar] === null))) { 
     39                elementvarString += elementvar + "='" + model[elementvar] + "'"; 
     40            } 
     41        } 
     42        for (var flashvar in model) { 
     43            if (!((model[flashvar] === undefined) || (model[flashvar] === "") || (model[flashvar] === null))) { 
     44                if (flashvar == "sources") { 
     45                    flashvarString += "file=" + model.sources[model.item].file + "&"; 
     46                } 
     47                else { 
     48                    flashvarString += flashvar + "=" + model[flashvar] + "&"; 
     49                } 
     50            } 
     51        } 
     52        htmlString = htmlString.replace("%elementvars%", elementvarString); 
     53        htmlString = htmlString.replace("%flashvars%", flashvarString); 
     54        $(domElement).replaceWith(htmlString); 
     55    }; 
     56     
     57     
    4158})(jQuery); 
Note: See TracChangeset for help on using the changeset viewer.