Changeset 936
- Timestamp:
- 04/19/10 12:18:03 (3 years ago)
- Location:
- trunk/html5
- Files:
-
- 1 added
- 6 edited
-
build/jquery.jwplayer-0.1alpha.js (modified) (10 diffs)
-
build/jquery.jwplayer-0.1alpha.min.js (modified) (1 diff)
-
bunny.ogv (added)
-
index.html (modified) (2 diffs)
-
src/jquery.jwplayerController.js (modified) (1 diff)
-
src/jquery.jwplayerCore.js (modified) (1 diff)
-
src/jquery.jwplayerMediaVideo.js (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/html5/build/jquery.jwplayer-0.1alpha.js
r935 r936 418 418 419 419 })(jQuery);/** 420 * Controlbar component of the JW Player.421 *422 * @author jeroen423 * @version 1.0alpha424 * @lastmodifiedauthor zach425 * @lastmodifieddate 2010-04-11426 */427 (function($) {428 429 430 /** Hooking the controlbar up to jQuery. **/431 $.fn.controlbar = function(ops) {432 return this.each(function() {433 var id = $(this)[0].id;434 var div = $('#' + id).parents()[0].id;435 var player = document.getElementById(id);436 var options = $.extend({}, $.fn.controlbar.defaults, ops);437 $.extend(options, player.getConfig());438 // Add positioning options and change the player css, so we can full-browser-screen it.439 $.extend(options, {440 id: id,441 div: div,442 left: $('#' + div).position().left,443 top: $('#' + div).position().top444 });445 $('#' + div).css('position', 'static');446 $('#' + div).css('z-index', '98');447 $('#' + div).css('height', options.height);448 $('#' + div).css('width', options.width);449 $('#' + id).css('width', '100%');450 $('#' + id).css('height', '100%');451 // Save the variables globally and start loading the skin.452 $.fn.controlbar.bars[id] = {453 player: player,454 options: options,455 images: {}456 };457 loadSkin($.fn.controlbar.bars[id]);458 });459 };460 461 462 /** Map with all controlbars. **/463 $.fn.controlbar.bars = {};464 465 466 /** Map with config for the controlbar plugin. **/467 $.fn.controlbar.defaults = {468 buffer: 0,469 div: 'container',470 duration: 0,471 elapsed: 0,472 fontsize: 10,473 fontcolor: '000000',474 fullscreen: false,475 id: 'player',476 images: 0,477 position: 'bottom',478 skin: '././skins/five/five.xml',479 width: 400,480 height: 300,481 left: 0,482 leftmargin: 0,483 top: 0,484 rightmargin: 0,485 scrubber: 'none',486 state: 'idle',487 volume: 100488 };489 490 491 /** Callbacks called by Flash players to update stats. **/492 $.fn.controlbar.bufferHandler = function(obj) {493 bufferHandler({494 id: obj.id,495 buffer: obj.percentage496 });497 };498 $.fn.controlbar.muteHandler = function(obj) {499 muteHandler({500 id: obj.id,501 mute: obj.state502 });503 };504 $.fn.controlbar.stateHandler = function(obj) {505 stateHandler({506 id: obj.id,507 state: obj.newstate.toLowerCase()508 });509 };510 $.fn.controlbar.timeHandler = function(obj) {511 timeHandler({512 id: obj.id,513 elapsed: obj.position,514 duration: obj.duration515 });516 };517 $.fn.controlbar.volumeHandler = function(obj) {518 volumeHandler({519 id: obj.id,520 volume: obj.percentage521 });522 };523 524 525 /** Draw the controlbar elements. **/526 function buildElements(config) {527 // Draw the background.528 $('#' + config.options.div).after('<div id="' + config.options.id + '_controlBar"></div>');529 $('#' + config.options.id + '_controlBar').css('position', 'absolute');530 $('#' + config.options.id + '_controlBar').css('height', config.images.background.height);531 $('#' + config.options.id + '_controlBar').css('background', 'url(' + config.images.background.src + ') repeat-x center left');532 // Draw all elements on top of the bar.533 buildElement('capLeft', 'left', true, config);534 buildElement('playButton', 'left', false, config);535 buildElement('pauseButton', 'left', true, config);536 buildElement('divider1', 'left', true, config);537 buildElement('elapsedText', 'left', true, config);538 buildElement('timeSliderRail', 'left', false, config);539 buildElement('timeSliderBuffer', 'left', false, config);540 buildElement('timeSliderProgress', 'left', false, config);541 buildElement('timeSliderThumb', 'left', false, config);542 buildElement('capRight', 'right', true, config);543 buildElement('fullscreenButton', 'right', false, config);544 buildElement('normalscreenButton', 'right', true, config);545 buildElement('divider2', 'right', true, config);546 buildElement('volumeSliderRail', 'right', false, config);547 buildElement('volumeSliderProgress', 'right', true, config);548 buildElement('muteButton', 'right', false, config);549 buildElement('unmuteButton', 'right', true, config);550 buildElement('divider3', 'right', true, config);551 buildElement('durationText', 'right', true, config);552 }553 554 555 /** Draw a single element into the controlbar. **/556 function buildElement(element, align, offset, config) {557 var nam = config.options.id + '_' + element;558 $('#' + config.options.id + '_controlBar').append('<div id="' + nam + '"></div>');559 $('#' + nam).css('position', 'absolute');560 $('#' + nam).css('top', 0);561 if (element.indexOf('Text') > 0) {562 $('#' + nam).html('00:00');563 $('#' + nam).css('font', config.options.fontsize + 'px/' + (config.images.background.height + 1) + 'px Arial,sans-serif');564 $('#' + nam).css('text-align', 'center');565 $('#' + nam).css('font-weight', 'bold');566 $('#' + nam).css('cursor', 'default');567 var wid = 14 + 3 * config.options.fontsize;568 $('#' + nam).css('color', '#' + config.options.fontcolor.substr(-6));569 } else if (element.indexOf('divider') === 0) {570 $('#' + nam).css('background', 'url(' + config.images.divider.src + ') repeat-x center left');571 var wid = config.images.divider.width;572 } else {573 $('#' + nam).css('background', 'url(' + config.images[element].src + ') repeat-x center left');574 var wid = config.images[element].width;575 }576 if (align == 'left') {577 $('#' + nam).css(align, config.options.leftmargin);578 if (offset) {579 config.options.leftmargin += wid;580 }581 } else if (align == 'right') {582 $('#' + nam).css(align, config.options.rightmargin);583 if (offset) {584 config.options.rightmargin += wid;585 }586 }587 $('#' + nam).css('width', wid);588 $('#' + nam).css('height', config.images.background.height);589 }590 591 592 /** Add interactivity to the controlbar elements. **/593 function buildHandlers(config) {594 // Register events with the buttons.595 buildHandler('playButton', 'play', config.player, config.options);596 buildHandler('pauseButton', 'play', config.player, config.options);597 buildHandler('muteButton', 'mute', config.player, config.options);598 buildHandler('unmuteButton', 'mute', config.player, config.options);599 buildHandler('fullscreenButton', 'fullscreen', config.player, config.options);600 buildHandler('normalscreenButton', 'fullscreen', config.player, config.options);601 /*602 addSliders(options);603 */604 // Register events with the player.605 config.player.addModelListener('buffer', 'jQuery.fn.controlbar.bufferHandler');606 config.player.addModelListener('state', 'jQuery.fn.controlbar.stateHandler');607 config.player.addModelListener('time', 'jQuery.fn.controlbar.timeHandler');608 config.player.addControllerListener('mute', 'jQuery.fn.controlbar.muteHandler');609 config.player.addControllerListener('volume', 'jQuery.fn.controlbar.volumeHandler');610 // Trigger a few events so the bar looks good on startup.611 fullscreenHandler(config.options);612 muteHandler(config.options);613 stateHandler(config.options);614 volumeHandler(config.options);615 }616 617 618 /** Set a single button handler. **/619 function buildHandler(element, handler, player, options) {620 var nam = options.id + '_' + element;621 $('#' + nam).css('cursor', 'pointer');622 if (handler == 'fullscreen') {623 $('#' + nam).mouseup(function(evt) {624 evt.stopPropagation();625 options.fullscreen = !options.fullscreen;626 fullscreenHandler(options);627 });628 } else {629 $('#' + nam).mouseup(function(evt) {630 evt.stopPropagation();631 player.sendEvent(handler);632 });633 }634 }635 636 637 /** Set the volume drag handler. **/638 function addSliders() {639 var bar = '#' + config.id + '_controlBar';640 var trl = '#' + config.id + '_timeSliderRail';641 var vrl = '#' + config.id + '_volumeSliderRail';642 $(bar).css('cursor', 'hand');643 $(bar).mousedown(function(evt) {644 var xps = evt.pageX - $(bar).position().left;645 if (xps > $(trl).position().left && xps < $(trl).position().left + $(trl).width()) {646 config.scrubber = 'time';647 } else if (xps > $(vrl).position().left && xps < $(vrl).position().left + $(vrl).width()) {648 config.scrubber = 'volume';649 }650 });651 $(bar).mouseup(function(evt) {652 evt.stopPropagation();653 sliderUp(evt.pageX);654 });655 $(bar).mouseleave(function(evt) {656 sliderUp(evt.pageX);657 evt.stopPropagation();658 });659 $(bar).mousemove(function(evt) {660 if (config.scrubber == 'time') {661 var xps = evt.pageX - $(bar).position().left;662 $('#' + config.id + '_timeSliderThumb').css('left', xps);663 }664 });665 }666 667 668 /** The slider has been moved up. **/669 function sliderUp(msx) {670 if (config.scrubber == 'time') {671 var xps = msx - $('#' + config.id + '_timeSliderRail').position().left;672 var wid = $('#' + config.id + '_timeSliderRail').width();673 var pos = xps / wid * config.duration;674 if (pos < 0) {675 pos = 0;676 } else if (pos > config.duration) {677 pos = config.duration - 3;678 }679 player.sendEvent('seek', pos);680 } else if (config.scrubber == 'volume') {681 var bar = $('#' + config.id + '_controlBar').width();682 var brx = $('#' + config.id + '_controlBar').position().left;683 var rig = $('#' + config.id + '_volumeSliderRail').css('right').substr(0, 2);684 var wid = config.images.volumeSliderRail.width;685 var pct = Math.round((msx - bar - brx + 1 * rig + wid) / wid * 100);686 if (pct < 0) {687 pct = 0;688 } else if (pct > 100) {689 pct = 100;690 }691 player.sendEvent('volume', pct);692 }693 config.scrubber = 'none';694 }695 696 697 698 699 /** Update the buffer percentage. **/700 function bufferHandler(options) {701 if (options.buffer === 0) {702 $('#' + options.id + '_timeSliderBuffer').css('display', 'none');703 } else {704 $('#' + options.id + '_timeSliderBuffer').css('display', 'block');705 var wid = $('#' + options.id + '_timeSliderRail').width();706 $('#' + options.id + '_timeSliderBuffer').css('width', Math.round(wid * options.buffer / 100));707 }708 }709 710 711 /** Update the mute state. **/712 function muteHandler(options) {713 if (options.mute) {714 $('#' + options.id + '_muteButton').css('display', 'none');715 $('#' + options.id + '_unmuteButton').css('display', 'block');716 $('#' + options.id + '_volumeSliderProgress').css('display', 'none');717 } else {718 $('#' + options.id + '_muteButton').css('display', 'block');719 $('#' + options.id + '_unmuteButton').css('display', 'none');720 $('#' + options.id + '_volumeSliderProgress').css('display', 'block');721 }722 }723 724 725 /** Update the playback state. **/726 function stateHandler(options) {727 if (options.state == 'buffering' || options.state == 'playing') {728 $('#' + options.id + '_pauseButton').css('display', 'block');729 $('#' + options.id + '_playButton').css('display', 'none');730 } else {731 $('#' + options.id + '_pauseButton').css('display', 'none');732 $('#' + options.id + '_playButton').css('display', 'block');733 }734 if (options.state == 'completed') {735 options.elapsed = 0;736 timeHandler(options);737 }738 }739 740 741 /** Update the playback time. **/742 function timeHandler(options) {743 var wid = $('#' + options.id + '_timeSliderRail').width();744 var thb = $('#' + options.id + '_timeSliderThumb').width();745 var lft = $('#' + options.id + '_timeSliderRail').position().left;746 if (options.elapsed === 0) {747 $('#' + options.id + '_timeSliderProgress').css('display', 'none');748 $('#' + options.id + '_timeSliderThumb').css('display', 'none');749 } else {750 $('#' + options.id + '_timeSliderProgress').css('display', 'block');751 $('#' + options.id + '_timeSliderProgress').css('width', Math.round(wid * options.elapsed / options.duration));752 $('#' + options.id + '_timeSliderThumb').css('display', 'block');753 $('#' + options.id + '_timeSliderThumb').css('left', lft +754 Math.round((wid - thb) * options.elapsed / options.duration));755 $('#' + options.id + '_durationText').html(timeFormat(options.duration));756 }757 $('#' + options.id + '_elapsedText').html(timeFormat(options.elapsed));758 }759 760 761 /** Format the elapsed / remaining text. **/762 function timeFormat(sec) {763 str = '00:00';764 if (sec > 0) {765 str = Math.floor(sec / 60) < 10 ? '0' + Math.floor(sec / 60) + ':' : Math.floor(sec / 60) + ':';766 str += Math.floor(sec % 60) < 10 ? '0' + Math.floor(sec % 60) : Math.floor(sec % 60);767 }768 return str;769 }770 771 772 /** Flip the player size to/from full-browser-screen. **/773 function fullscreenHandler(options) {774 if (options.fullscreen) {775 $('#' + options.div).css('position', 'absolute');776 $('#' + options.div).css('left', 0);777 $('#' + options.div).css('top', 0);778 $('#' + options.div).css('height', '100%');779 $('#' + options.div).css('width', '100%');780 $('#' + options.id + '_normalscreenButton').css('display', 'block');781 $('#' + options.id + '_fullscreenButton').css('display', 'none');782 $(window).resize(function() {783 resizeBar(options);784 });785 } else {786 $('#' + options.div).css('position', 'static');787 $('#' + options.div).css('left', options.left);788 $('#' + options.div).css('top', options.top);789 $('#' + options.div).css('height', options.height);790 $('#' + options.div).css('width', options.width);791 $('#' + options.id + '_normalscreenButton').css('display', 'none');792 $('#' + options.id + '_fullscreenButton').css('display', 'block');793 $(window).resize(null);794 }795 resizeBar(options);796 timeHandler(options);797 bufferHandler(options);798 }799 800 801 /** Resize the controlbar. **/802 function resizeBar(options) {803 var lft = options.left;804 var top = options.top + options.height;805 var wid = options.width;806 var hei = $('#' + options.id + '_controlBar').height();807 if (options.position == 'over') {808 lft += 1 * options.margin;809 top -= 1 * options.margin + hei;810 wid -= 2 * options.margin;811 }812 if (options.fullscreen) {813 lft = options.margin;814 top = $(window).height() - options.margin - hei;815 wid = $(window).width() - 2 * options.margin;816 $('#' + options.id + '_controlBar').css('z-index', 99);817 } else {818 $('#' + options.id + '_controlBar').css('z-index', 97);819 }820 $('#' + options.id + '_controlBar').css('left', lft);821 $('#' + options.id + '_controlBar').css('top', top);822 $('#' + options.id + '_controlBar').css('width', wid);823 $('#' + options.id + '_timeSliderRail').css('width', wid - options.leftmargin - options.rightmargin);824 }825 826 827 /** Update the volume level. **/828 function volumeHandler(options) {829 var rwd = $('#' + options.id + '_volumeSliderRail').width();830 var wid = Math.round(options.volume / 100 * rwd);831 var rig = $('#' + options.id + '_volumeSliderRail').css('right').substr(0, 2);832 $('#' + options.id + '_volumeSliderProgress').css('width', wid);833 $('#' + options.id + '_volumeSliderProgress').css('right', 1 * rig + rwd - wid);834 }835 836 837 })(jQuery);838 /**839 420 * JW Player controller component 840 421 * … … 918 499 $.fn.jwplayerController.mute = function(player, state) { 919 500 try { 920 if ( position=== undefined) {501 if (state === undefined) { 921 502 return $(player).data("model").mute; 922 503 } else { … … 1122 703 case "number": 1123 704 $.fn.jwplayerController.volume(player, arg); 705 break; 706 case "string": 707 $.fn.jwplayerController.volume(player, parseInt(arg,10)); 1124 708 break; 1125 709 default: … … 1465 1049 'play': positionHandler, 1466 1050 'playing': stateHandler, 1467 'progress': generalHandler,1051 'progress': progressHandler, 1468 1052 'ratechange': generalHandler, 1469 1053 'seeked': stateHandler, … … 1489 1073 pause: pause(video), 1490 1074 seek: seek(video), 1075 stop: stop(video), 1491 1076 volume: volume(video), 1492 1077 mute: mute(video), … … 1545 1130 position: event.target.currentTime 1546 1131 }); 1547 if (event.target.buffered !== undefined) { 1548 if (event.target.buffered.end(event.target.buffered.length - 1) != event.target.duration) { 1549 sendEvent($(event.target), $.jwplayer().events.JWPLAYER_MEDIA_BUFFER, { 1550 buffer: event.target.currentTime 1551 }); 1552 } 1553 } 1132 } 1133 1134 function progressHandler(event) { 1135 var buffer; 1136 if (!isNaN(event.loaded / event.total)) { 1137 buffer = event.loaded / event.total * 100; 1138 } else if (event.target.buffered !== undefined) { 1139 buffer = event.target.buffered.end(0) / event.target.duration * 100; 1140 } 1141 sendEvent($(event.target), $.jwplayer().events.JWPLAYER_MEDIA_BUFFER, { 1142 'buffer': buffer 1143 }); 1554 1144 } 1555 1145 … … 1584 1174 return function() { 1585 1175 player[0].pause(); 1586 player[0].currentTime = player.startTime; 1176 player[0].currentTime = 0; 1177 clearInterval($(player).data("media").interval); 1178 $(player).data("media").interval = null; 1179 setState(player, 'idle'); 1587 1180 }; 1588 1181 } … … 1592 1185 function volume(player) { 1593 1186 return function(position) { 1594 player.volume = position / 100; 1187 $.fn.jwplayerUtils.log(position / 100); 1188 player[0].volume = position / 100; 1595 1189 sendEvent(player, $.jwplayer().events.JWPLAYER_MEDIA_VOLUME, { 1596 volume: p osition1190 volume: player[0].volume 1597 1191 }); 1598 1192 }; … … 1602 1196 function mute(player) { 1603 1197 return function(state) { 1604 player .mute= state;1198 player[0].muted = state; 1605 1199 sendEvent(player, $.jwplayer().events.JWPLAYER_MEDIA_MUTE, { 1606 mute: player .mute1200 mute: player[0].muted 1607 1201 }); 1608 1202 }; … … 1652 1246 1653 1247 })(jQuery); 1248 1654 1249 /** 1655 1250 * JW Player model component -
trunk/html5/build/jquery.jwplayer-0.1alpha.min.js
r935 r936 1 (function(g){g.fn.jwplayerControlbar=function(p){return this.each(function(){var t=g(this)[0].id;var s=g("#"+t).parents()[0].id;var r=document.getElementById(t);var q=g.extend({},g.fn.jwplayerControlbar.defaults,p);g.extend(q,{id:t,div:s,left:g("#"+s).position().left,top:g("#"+s).position().top});g("#"+s).css("position","static");g("#"+s).css("z-index","98");g("#"+s).css("height",q.height);g("#"+s).css("width",q.width);g("#"+t).css("width","100%");g("#"+t).css("height","100%");g.fn.jwplayerControlbar.bars[t]={player:r,options:q,images:{}};loadSkin(g.fn.jwplayerControlbar.bars[t])})};g.fn.jwplayerControlbar.bars={};g.fn.jwplayerControlbar.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};g.fn.jwplayerControlbar.bufferHandler=function(p){m({id:p.id,buffer:p.percentage})};g.fn.jwplayerControlbar.muteHandler=function(p){a({id:p.id,mute:p.state})};g.fn.jwplayerControlbar.stateHandler=function(p){k({id:p.id,state:p.newstate.toLowerCase()})};g.fn.jwplayerControlbar.timeHandler=function(p){b({id:p.id,elapsed:p.position,duration:p.duration})};g.fn.jwplayerControlbar.volumeHandler=function(p){j({id:p.id,volume:p.percentage})};function n(p){g("#"+p.options.div).after('<div id="'+p.options.id+'_jwplayerControlbar"></div>');g("#"+p.options.id+"_jwplayerControlbar").css("position","absolute");g("#"+p.options.id+"_jwplayerControlbar").css("height",p.images.background.height);g("#"+p.options.id+"_jwplayerControlbar").css("background","url("+p.images.background.src+") repeat-x center left");o("capLeft","left",true,p);o("playButton","left",false,p);o("pauseButton","left",true,p);o("divider1","left",true,p);o("elapsedText","left",true,p);o("timeSliderRail","left",false,p);o("timeSliderBuffer","left",false,p);o("timeSliderProgress","left",false,p);o("timeSliderThumb","left",false,p);o("capRight","right",true,p);o("fullscreenButton","right",false,p);o("normalscreenButton","right",true,p);o("divider2","right",true,p);o("volumeSliderRail","right",false,p);o("volumeSliderProgress","right",true,p);o("muteButton","right",false,p);o("unmuteButton","right",true,p);o("divider3","right",true,p);o("durationText","right",true,p)}function o(q,u,t,p){var s=p.options.id+"_"+q;g("#"+p.options.id+"_jwplayerControlbar").append('<div id="'+s+'"></div>');g("#"+s).css("position","absolute");g("#"+s).css("top",0);if(q.indexOf("Text")>0){g("#"+s).html("00:00");g("#"+s).css("font",p.options.fontsize+"px/"+(p.images.background.height+1)+"px Arial,sans-serif");g("#"+s).css("text-align","center");g("#"+s).css("font-weight","bold");g("#"+s).css("cursor","default");var r=14+3*p.options.fontsize;g("#"+s).css("color","#"+p.options.fontcolor.substr(-6))}else{if(q.indexOf("divider")===0){g("#"+s).css("background","url("+p.images.divider.src+") repeat-x center left");var r=p.images.divider.width}else{g("#"+s).css("background","url("+p.images[q].src+") repeat-x center left");var r=p.images[q].width}}if(u=="left"){g("#"+s).css(u,p.options.leftmargin);if(t){p.options.leftmargin+=r}}else{if(u=="right"){g("#"+s).css(u,p.options.rightmargin);if(t){p.options.rightmargin+=r}}}g("#"+s).css("width",r);g("#"+s).css("height",p.images.background.height)}function l(p){i("playButton","play",p.player,p.options);i("pauseButton","play",p.player,p.options);i("muteButton","mute",p.player,p.options);i("unmuteButton","mute",p.player,p.options);i("fullscreenButton","fullscreen",p.player,p.options);i("normalscreenButton","fullscreen",p.player,p.options);p.player.addModelListener("buffer","jQuery.fn.jwplayerControlbar.bufferHandler");p.player.addModelListener("state","jQuery.fn.jwplayerControlbar.stateHandler");p.player.addModelListener("time","jQuery.fn.jwplayerControlbar.timeHandler");p.player.addControllerListener("mute","jQuery.fn.jwplayerControlbar.muteHandler");p.player.addControllerListener("volume","jQuery.fn.jwplayerControlbar.volumeHandler");f(p.options);a(p.options);k(p.options);j(p.options)}function i(r,s,q,p){var t=p.id+"_"+r;g("#"+t).css("cursor","pointer");if(s=="fullscreen"){g("#"+t).mouseup(function(u){u.stopPropagation();p.fullscreen=!p.fullscreen;f(p)})}else{g("#"+t).mouseup(function(u){u.stopPropagation();q.sendEvent(s)})}}function c(){var p="#"+config.id+"_jwplayerControlbar";var q="#"+config.id+"_timeSliderRail";var r="#"+config.id+"_volumeSliderRail";g(p).css("cursor","hand");g(p).mousedown(function(s){var t=s.pageX-g(p).position().left;if(t>g(q).position().left&&t<g(q).position().left+g(q).width()){config.scrubber="time"}else{if(t>g(r).position().left&&t<g(r).position().left+g(r).width()){config.scrubber="volume"}}});g(p).mouseup(function(s){s.stopPropagation();h(s.pageX)});g(p).mouseleave(function(s){h(s.pageX);s.stopPropagation()});g(p).mousemove(function(s){if(config.scrubber=="time"){var t=s.pageX-g(p).position().left;g("#"+config.id+"_timeSliderThumb").css("left",t)}})}function h(s){if(config.scrubber=="time"){var r=s-g("#"+config.id+"_timeSliderRail").position().left;var v=g("#"+config.id+"_timeSliderRail").width();var w=r/v*config.duration;if(w<0){w=0}else{if(w>config.duration){w=config.duration-3}}player.sendEvent("seek",w)}else{if(config.scrubber=="volume"){var t=g("#"+config.id+"_jwplayerControlbar").width();var p=g("#"+config.id+"_jwplayerControlbar").position().left;var q=g("#"+config.id+"_volumeSliderRail").css("right").substr(0,2);var v=config.images.volumeSliderRail.width;var u=Math.round((s-t-p+1*q+v)/v*100);if(u<0){u=0}else{if(u>100){u=100}}player.sendEvent("volume",u)}}config.scrubber="none"}function m(p){if(p.buffer===0){g("#"+p.id+"_timeSliderBuffer").css("display","none")}else{g("#"+p.id+"_timeSliderBuffer").css("display","block");var q=g("#"+p.id+"_timeSliderRail").width();g("#"+p.id+"_timeSliderBuffer").css("width",Math.round(q*p.buffer/100))}}function a(p){if(p.mute){g("#"+p.id+"_muteButton").css("display","none");g("#"+p.id+"_unmuteButton").css("display","block");g("#"+p.id+"_volumeSliderProgress").css("display","none")}else{g("#"+p.id+"_muteButton").css("display","block");g("#"+p.id+"_unmuteButton").css("display","none");g("#"+p.id+"_volumeSliderProgress").css("display","block")}}function k(p){if(p.state=="buffering"||p.state=="playing"){g("#"+p.id+"_pauseButton").css("display","block");g("#"+p.id+"_playButton").css("display","none")}else{g("#"+p.id+"_pauseButton").css("display","none");g("#"+p.id+"_playButton").css("display","block")}if(p.state=="completed"){p.elapsed=0;b(p)}}function b(p){var r=g("#"+p.id+"_timeSliderRail").width();var s=g("#"+p.id+"_timeSliderThumb").width();var q=g("#"+p.id+"_timeSliderRail").position().left;if(p.elapsed===0){g("#"+p.id+"_timeSliderProgress").css("display","none");g("#"+p.id+"_timeSliderThumb").css("display","none")}else{g("#"+p.id+"_timeSliderProgress").css("display","block");g("#"+p.id+"_timeSliderProgress").css("width",Math.round(r*p.elapsed/p.duration));g("#"+p.id+"_timeSliderThumb").css("display","block");g("#"+p.id+"_timeSliderThumb").css("left",q+Math.round((r-s)*p.elapsed/p.duration));g("#"+p.id+"_durationText").html(e(p.duration))}g("#"+p.id+"_elapsedText").html(e(p.elapsed))}function e(p){str="00:00";if(p>0){str=Math.floor(p/60)<10?"0"+Math.floor(p/60)+":":Math.floor(p/60)+":";str+=Math.floor(p%60)<10?"0"+Math.floor(p%60):Math.floor(p%60)}return str}function f(p){if(p.fullscreen){g("#"+p.div).css("position","absolute");g("#"+p.div).css("left",0);g("#"+p.div).css("top",0);g("#"+p.div).css("height","100%");g("#"+p.div).css("width","100%");g("#"+p.id+"_normalscreenButton").css("display","block");g("#"+p.id+"_fullscreenButton").css("display","none");g(window).resize(function(){d(p)})}else{g("#"+p.div).css("position","static");g("#"+p.div).css("left",p.left);g("#"+p.div).css("top",p.top);g("#"+p.div).css("height",p.height);g("#"+p.div).css("width",p.width);g("#"+p.id+"_normalscreenButton").css("display","none");g("#"+p.id+"_fullscreenButton").css("display","block");g(window).resize(null)}d(p);b(p);m(p)}function d(p){var r=p.left;var s=p.top+p.height;var q=p.width;var t=g("#"+p.id+"_jwplayerControlbar").height();if(p.position=="over"){r+=1*p.margin;s-=1*p.margin+t;q-=2*p.margin}if(p.fullscreen){r=p.margin;s=g(window).height()-p.margin-t;q=g(window).width()-2*p.margin;g("#"+p.id+"_jwplayerControlbar").css("z-index",99)}else{g("#"+p.id+"_jwplayerControlbar").css("z-index",97)}g("#"+p.id+"_jwplayerControlbar").css("left",r);g("#"+p.id+"_jwplayerControlbar").css("top",s);g("#"+p.id+"_jwplayerControlbar").css("width",q);g("#"+p.id+"_timeSliderRail").css("width",q-p.leftmargin-p.rightmargin)}function j(r){var p=g("#"+r.id+"_volumeSliderRail").width();var s=Math.round(r.volume/100*p);var q=g("#"+r.id+"_volumeSliderRail").css("right").substr(0,2);g("#"+r.id+"_volumeSliderProgress").css("width",s);g("#"+r.id+"_volumeSliderProgress").css("right",1*q+p-s)}})(jQuery);(function( g){g.fn.controlbar=function(p){return this.each(function(){var t=g(this)[0].id;var s=g("#"+t).parents()[0].id;var r=document.getElementById(t);var q=g.extend({},g.fn.controlbar.defaults,p);g.extend(q,r.getConfig());g.extend(q,{id:t,div:s,left:g("#"+s).position().left,top:g("#"+s).position().top});g("#"+s).css("position","static");g("#"+s).css("z-index","98");g("#"+s).css("height",q.height);g("#"+s).css("width",q.width);g("#"+t).css("width","100%");g("#"+t).css("height","100%");g.fn.controlbar.bars[t]={player:r,options:q,images:{}};loadSkin(g.fn.controlbar.bars[t])})};g.fn.controlbar.bars={};g.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};g.fn.controlbar.bufferHandler=function(p){m({id:p.id,buffer:p.percentage})};g.fn.controlbar.muteHandler=function(p){a({id:p.id,mute:p.state})};g.fn.controlbar.stateHandler=function(p){k({id:p.id,state:p.newstate.toLowerCase()})};g.fn.controlbar.timeHandler=function(p){b({id:p.id,elapsed:p.position,duration:p.duration})};g.fn.controlbar.volumeHandler=function(p){j({id:p.id,volume:p.percentage})};function n(p){g("#"+p.options.div).after('<div id="'+p.options.id+'_controlBar"></div>');g("#"+p.options.id+"_controlBar").css("position","absolute");g("#"+p.options.id+"_controlBar").css("height",p.images.background.height);g("#"+p.options.id+"_controlBar").css("background","url("+p.images.background.src+") repeat-x center left");o("capLeft","left",true,p);o("playButton","left",false,p);o("pauseButton","left",true,p);o("divider1","left",true,p);o("elapsedText","left",true,p);o("timeSliderRail","left",false,p);o("timeSliderBuffer","left",false,p);o("timeSliderProgress","left",false,p);o("timeSliderThumb","left",false,p);o("capRight","right",true,p);o("fullscreenButton","right",false,p);o("normalscreenButton","right",true,p);o("divider2","right",true,p);o("volumeSliderRail","right",false,p);o("volumeSliderProgress","right",true,p);o("muteButton","right",false,p);o("unmuteButton","right",true,p);o("divider3","right",true,p);o("durationText","right",true,p)}function o(q,u,t,p){var s=p.options.id+"_"+q;g("#"+p.options.id+"_controlBar").append('<div id="'+s+'"></div>');g("#"+s).css("position","absolute");g("#"+s).css("top",0);if(q.indexOf("Text")>0){g("#"+s).html("00:00");g("#"+s).css("font",p.options.fontsize+"px/"+(p.images.background.height+1)+"px Arial,sans-serif");g("#"+s).css("text-align","center");g("#"+s).css("font-weight","bold");g("#"+s).css("cursor","default");var r=14+3*p.options.fontsize;g("#"+s).css("color","#"+p.options.fontcolor.substr(-6))}else{if(q.indexOf("divider")===0){g("#"+s).css("background","url("+p.images.divider.src+") repeat-x center left");var r=p.images.divider.width}else{g("#"+s).css("background","url("+p.images[q].src+") repeat-x center left");var r=p.images[q].width}}if(u=="left"){g("#"+s).css(u,p.options.leftmargin);if(t){p.options.leftmargin+=r}}else{if(u=="right"){g("#"+s).css(u,p.options.rightmargin);if(t){p.options.rightmargin+=r}}}g("#"+s).css("width",r);g("#"+s).css("height",p.images.background.height)}function l(p){i("playButton","play",p.player,p.options);i("pauseButton","play",p.player,p.options);i("muteButton","mute",p.player,p.options);i("unmuteButton","mute",p.player,p.options);i("fullscreenButton","fullscreen",p.player,p.options);i("normalscreenButton","fullscreen",p.player,p.options);p.player.addModelListener("buffer","jQuery.fn.controlbar.bufferHandler");p.player.addModelListener("state","jQuery.fn.controlbar.stateHandler");p.player.addModelListener("time","jQuery.fn.controlbar.timeHandler");p.player.addControllerListener("mute","jQuery.fn.controlbar.muteHandler");p.player.addControllerListener("volume","jQuery.fn.controlbar.volumeHandler");f(p.options);a(p.options);k(p.options);j(p.options)}function i(r,s,q,p){var t=p.id+"_"+r;g("#"+t).css("cursor","pointer");if(s=="fullscreen"){g("#"+t).mouseup(function(u){u.stopPropagation();p.fullscreen=!p.fullscreen;f(p)})}else{g("#"+t).mouseup(function(u){u.stopPropagation();q.sendEvent(s)})}}function c(){var p="#"+config.id+"_controlBar";var q="#"+config.id+"_timeSliderRail";var r="#"+config.id+"_volumeSliderRail";g(p).css("cursor","hand");g(p).mousedown(function(s){var t=s.pageX-g(p).position().left;if(t>g(q).position().left&&t<g(q).position().left+g(q).width()){config.scrubber="time"}else{if(t>g(r).position().left&&t<g(r).position().left+g(r).width()){config.scrubber="volume"}}});g(p).mouseup(function(s){s.stopPropagation();h(s.pageX)});g(p).mouseleave(function(s){h(s.pageX);s.stopPropagation()});g(p).mousemove(function(s){if(config.scrubber=="time"){var t=s.pageX-g(p).position().left;g("#"+config.id+"_timeSliderThumb").css("left",t)}})}function h(s){if(config.scrubber=="time"){var r=s-g("#"+config.id+"_timeSliderRail").position().left;var v=g("#"+config.id+"_timeSliderRail").width();var w=r/v*config.duration;if(w<0){w=0}else{if(w>config.duration){w=config.duration-3}}player.sendEvent("seek",w)}else{if(config.scrubber=="volume"){var t=g("#"+config.id+"_controlBar").width();var p=g("#"+config.id+"_controlBar").position().left;var q=g("#"+config.id+"_volumeSliderRail").css("right").substr(0,2);var v=config.images.volumeSliderRail.width;var u=Math.round((s-t-p+1*q+v)/v*100);if(u<0){u=0}else{if(u>100){u=100}}player.sendEvent("volume",u)}}config.scrubber="none"}function m(p){if(p.buffer===0){g("#"+p.id+"_timeSliderBuffer").css("display","none")}else{g("#"+p.id+"_timeSliderBuffer").css("display","block");var q=g("#"+p.id+"_timeSliderRail").width();g("#"+p.id+"_timeSliderBuffer").css("width",Math.round(q*p.buffer/100))}}function a(p){if(p.mute){g("#"+p.id+"_muteButton").css("display","none");g("#"+p.id+"_unmuteButton").css("display","block");g("#"+p.id+"_volumeSliderProgress").css("display","none")}else{g("#"+p.id+"_muteButton").css("display","block");g("#"+p.id+"_unmuteButton").css("display","none");g("#"+p.id+"_volumeSliderProgress").css("display","block")}}function k(p){if(p.state=="buffering"||p.state=="playing"){g("#"+p.id+"_pauseButton").css("display","block");g("#"+p.id+"_playButton").css("display","none")}else{g("#"+p.id+"_pauseButton").css("display","none");g("#"+p.id+"_playButton").css("display","block")}if(p.state=="completed"){p.elapsed=0;b(p)}}function b(p){var r=g("#"+p.id+"_timeSliderRail").width();var s=g("#"+p.id+"_timeSliderThumb").width();var q=g("#"+p.id+"_timeSliderRail").position().left;if(p.elapsed===0){g("#"+p.id+"_timeSliderProgress").css("display","none");g("#"+p.id+"_timeSliderThumb").css("display","none")}else{g("#"+p.id+"_timeSliderProgress").css("display","block");g("#"+p.id+"_timeSliderProgress").css("width",Math.round(r*p.elapsed/p.duration));g("#"+p.id+"_timeSliderThumb").css("display","block");g("#"+p.id+"_timeSliderThumb").css("left",q+Math.round((r-s)*p.elapsed/p.duration));g("#"+p.id+"_durationText").html(e(p.duration))}g("#"+p.id+"_elapsedText").html(e(p.elapsed))}function e(p){str="00:00";if(p>0){str=Math.floor(p/60)<10?"0"+Math.floor(p/60)+":":Math.floor(p/60)+":";str+=Math.floor(p%60)<10?"0"+Math.floor(p%60):Math.floor(p%60)}return str}function f(p){if(p.fullscreen){g("#"+p.div).css("position","absolute");g("#"+p.div).css("left",0);g("#"+p.div).css("top",0);g("#"+p.div).css("height","100%");g("#"+p.div).css("width","100%");g("#"+p.id+"_normalscreenButton").css("display","block");g("#"+p.id+"_fullscreenButton").css("display","none");g(window).resize(function(){d(p)})}else{g("#"+p.div).css("position","static");g("#"+p.div).css("left",p.left);g("#"+p.div).css("top",p.top);g("#"+p.div).css("height",p.height);g("#"+p.div).css("width",p.width);g("#"+p.id+"_normalscreenButton").css("display","none");g("#"+p.id+"_fullscreenButton").css("display","block");g(window).resize(null)}d(p);b(p);m(p)}function d(p){var r=p.left;var s=p.top+p.height;var q=p.width;var t=g("#"+p.id+"_controlBar").height();if(p.position=="over"){r+=1*p.margin;s-=1*p.margin+t;q-=2*p.margin}if(p.fullscreen){r=p.margin;s=g(window).height()-p.margin-t;q=g(window).width()-2*p.margin;g("#"+p.id+"_controlBar").css("z-index",99)}else{g("#"+p.id+"_controlBar").css("z-index",97)}g("#"+p.id+"_controlBar").css("left",r);g("#"+p.id+"_controlBar").css("top",s);g("#"+p.id+"_controlBar").css("width",q);g("#"+p.id+"_timeSliderRail").css("width",q-p.leftmargin-p.rightmargin)}function j(r){var p=g("#"+r.id+"_volumeSliderRail").width();var s=Math.round(r.volume/100*p);var q=g("#"+r.id+"_volumeSliderRail").css("right").substr(0,2);g("#"+r.id+"_volumeSliderProgress").css("width",s);g("#"+r.id+"_volumeSliderProgress").css("right",1*q+p-s)}})(jQuery);(function(a){a.fn.jwplayerController=function(){return this.each(function(){})};a.fn.jwplayerController.play=function(b){try{b.data("media").play();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.pause=function(b){try{b.data("media").pause();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.seek=function(c,b){try{c.data("media").seek(b);return true}catch(d){a.fn.jwplayerUtils.log("error",d)}return false};a.fn.jwplayerController.stop=function(b){try{b.data("media").stop();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.volume=function(c,b){try{if(b===undefined){return a(c).data("model").volume}else{c.data("media").volume(b);a(c).data("model").volume=b;return true}}catch(d){a.fn.jwplayerUtils.log("error",d)}return false};a.fn.jwplayerController.mute=function(b,d){try{if(position===undefined){return a(b).data("model").mute}else{b.data("media").mute(d);return true}return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.fullscreen=function(b,d){try{if(position===undefined){return a(b).data("model").fullscreen}else{b.data("media").fullscreen(d);return true}}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.resize=function(c,d,b){try{c.data("media").resize(d,b);return true}catch(e){a.fn.jwplayerUtils.log("error",e)}return false};a.fn.jwplayerController.mediaInfo=function(b){try{b.data("media").mediaInfo();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.load=function(b,d){try{b.data("media").load(d);return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false}})(jQuery);(function(e){function k(w){if(w===undefined){w=".jwplayer:first"}if(e.fn.jwplayerUtils.typeOf(w)=="string"){w=e(w)}return{play:u(w),pause:g(w),seek:d(w),stop:r(w),volume:t(w),mute:h(w),fullscreen:b(w),state:f(w),buffer:s(w),duration:a(w),width:q(w),height:s(w),load:j(w),resize:v(w),meta:l(w),time:i(w),complete:m(w),events:c}}var c={JWPLAYER_READY:"jwplayerReady",JWPLAYER_RESIZE:"jwplayerResize",JWPLAYER_ERROR:"jwplayerError",JWPLAYER_MEDIA_BUFFER:"jwplayerMediaBuffer",JWPLAYER_MEDIA_ERROR:"jwplayerMediaError",JWPLAYER_MEDIA_LOADED:"jwplayerMediaLoaded",JWPLAYER_MEDIA_COMPLETE:"jwplayerMediaComplete",JWPLAYER_MEDIA_TIME:"jwplayerMediaTime",JWPLAYER_MEDIA_VOLUME:"jwplayerMediaVolume",JWPLAYER_MEDIA_META:"jwplayerMediaMeta",JWPLAYER_MEDIA_MUTE:"jwplayerMediaMute",JWPLAYER_PLAYER_STATE:"jwplayerPlayerState"};e.extend({jwplayer:k});e.fn.jwplayer=function(w){return this.each(function(){var x=e(this)[0].id;e(this).css("display","none");e(this).jwplayerModel(w);e(this).jwplayerView();e.fn.jwplayerModel.setActiveMediaProvider(e(this));e(this).trigger("JWPLAYER_READY",{id:x})})};e.fn.jwplayer.players={};e.fn.jwplayer.defaults={autostart:false,duration:0,file:undefined,height:300,image:undefined,skin:"assets/five/five.xml",volume:100,width:400,source:0,flashplayer:"assets/player.swf"};function u(w){return function(){e.fn.jwplayerController.play(w);return k(w)}}function g(w){return function(){e.fn.jwplayerController.pause(w);return k(w)}}function d(w){return function(x){e.fn.jwplayerController.seek(w,x);return k(w)}}function r(w){return function(){e.fn.jwplayerController.stop(w);return k(w)}}function t(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_VOLUME,x);break;case"number":e.fn.jwplayerController.volume(w,x);break;default:return e.fn.jwplayerController.volume(w)}return k(w)}}function h(w,x){return function(y){switch(e.fn.jwplayerUtils.typeOf(y)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_MUTE,y);break;case"boolean":e.fn.jwplayerController.mute(w,y);break;default:e.fn.jwplayerController.mute(w);break}return k(w)}}function v(w,x){return function(z,y){switch(e.fn.jwplayerUtils.typeOf(arg)){case"function":n(w,e.jwplayer().events.JWPLAYER_RESIZE,arg);break;case"number":e.fn.jwplayerController.resize(w,z,y);break;default:break}return k(w)}}function b(w,x){return function(y){switch(e.fn.jwplayerUtils.typeOf(y)){case"function":n(w,e.jwplayer().events.JWPLAYER_FULLSCREEN,y);break;case"boolean":e.fn.jwplayerController.fullscreen(w,y);break;default:return e.fn.jwplayerController.fullscreen(w)}return k(w)}}function f(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_PLAYER_STATE,x);break;default:return e.fn.jwplayerController.mediaInfo(w).state}return k(w)}}function s(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_BUFFER,x);break;default:return e.fn.jwplayerController.mediaInfo(w).buffer}return k(w)}}function i(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_TIME,x);break;default:return e.fn.jwplayerController.mediaInfo(w).time}return k(w)}}function j(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_LOADED,x);break;default:e.fn.jwplayerController.load(w,x)}return k(w)}}function m(w){return function(x){n(w,e.jwplayer().events.JWPLAYER_MEDIA_COMPLETE,x);return k(w)}}function a(w){return function(){return e.fn.jwplayerController.mediaInfo(w).duration}}function q(w){return function(){return e.fn.jwplayerController.mediaInfo(w).width}}function o(w){return function(){return e.fn.jwplayerController.mediaInfo(w).height}}function l(w){return function(){switch(e.fn.jwplayerUtils.typeOf(arg)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_META,arg);break;default:return e.fn.jwplayerController.mediaInfo(w)}return k(w)}}function n(w,x,y){e(w).bind(x,y)}function p(w,x,y){e(w).unbind(x,y)}e(document).ready(function(){e("video.jwplayer").jwplayer()})})(jQuery);(function(f){f.fn.jwplayerMediaFlash=function(n){return this.each(function(){var o=f(this).data("model");o.controlbar="none";o.icons=false;var r=f(this)[0].id;f.fn.jwplayerView.embedFlash(f(this),o);var p=f("#"+r);var q={play:d(p),pause:m(p),seek:a(p),volume:g(p),mute:b(p),fullscreen:k(p)};f("#"+r).data("media",q)})};function e(n){var o=n.data("media");if(o.state===undefined){o.state="idle";n.css("display","inherit");c(n)}}function l(n){if(states[n.type]){i(n.target,states[n.type])}}function i(o,p){if(f(o).data("media").state!=p){var n=f(o).data("media").state;f(o).data("media").state=p;f(o).trigger("jwplayer.state",{oldstate:n,newstate:p})}}function c(o){var n=f.jwplayer().events;for(var p in n){o[0].addEventListener(n[p],h,true)}}function h(n){f(n.id).trigger(n.type,n)}function d(n){return function(){e(n);try{n[0].play();return true}catch(o){f.fn.jwplayerUtils.log("error",o)}return false}}function m(n){return function(){e(n);n.pause()}}function a(n){return function(o){e(n);n.seek(o)}}function j(n){return function(){e(n);n.stop()}}function g(n){return function(o){e(n);n.volume(o)}}function b(n){return function(o){e(n);n.mute(o)}}function k(n){return function(o){e(n)}}})(jQuery);(function(e){var f={buffering:"buffering",ended:"idle",playing:"playing",pause:"paused"};var b={abort:p,canplay:s,canplaythrough:s,durationchange:d,emptied:p,ended:s,error:i,loadeddata:d,loadedmetadata:d,loadstart:s,pause:s,play:o,playing:s,progress:p,ratechange:p,seeked:s,seeking:s,stalled:s,suspend:s,timeupdate:p,volumechange:p,waiting:s,canshowcurrentframe:p,dataunavailable:p,empty:p,load:p,loadedfirstframe:p};e.fn.jwplayerMediaVideo=function(t){return this.each(function(){var u=e(this);var v={play:q(u),pause:g(u),seek:c(u),volume:n(u),mute:h(u),fullscreen:a(u),load:k(u),state:"idle",interval:null};u.data("media",v);e.each(b,function(x,w){u[0].addEventListener(x,w,true)})})};function p(t){}function s(t){if(f[t.type]){l(t.target,f[t.type])}}function l(u,v){if(e(u).data("media").state!=v){var t=e(u).data("media").state;e(u).data("media").state=v;j(e(u),e.jwplayer().events.JWPLAYER_PLAYER_STATE,{oldstate:t,newstate:v})}if(v=="idle"){clearInterval(e(u).data("media").interval);e(u).data("media").interval=null}}function d(t){j(e(t.target),e.jwplayer().events.JWPLAYER_MEDIA_META,{videoHeight:t.target.videoHeight,videoWidth:t.target.videoWidth,duration:t.target.duration})}function o(t){if(e(t.target).data("media").interval===null){e(t.target).data("media").interval=window.setInterval(function(){o(t)},100)}j(e(t.target),e.jwplayer().events.JWPLAYER_MEDIA_TIME,{position:t.target.currentTime});if(t.target.buffered!==undefined){if(t.target.buffered.end(t.target.buffered.length-1)!=t.target.duration){j(e(t.target),e.jwplayer().events.JWPLAYER_MEDIA_BUFFER,{buffer:t.target.currentTime})}}}function i(t){j(e(t.target),e.jwplayer().events.JWPLAYER_ERROR,{})}function q(t){return function(){t[0].play()}}function g(t){return function(){t[0].pause()}}function c(t){return function(u){t[0].currentTime=u}}function m(t){return function(){t[0].pause();t[0].currentTime=t.startTime}}function n(t){return function(u){t.volume=u/100;j(t,e.jwplayer().events.JWPLAYER_MEDIA_VOLUME,{volume:u})}}function h(t){return function(u){t.mute=u;j(t,e.jwplayer().events.JWPLAYER_MEDIA_MUTE,{mute:t.mute})}}function r(t){return function(v,u){t.css("width",v);t.css("height",u);j(t,e.jwplayer().events.JWPLAYER_MEDIA_RESIZE,{width:v,hieght:u})}}function a(t){return function(u){if(u===true){t.css("width",window.width);t.css("height",window.height);j(t,e.jwplayer().events.JWPLAYER_MEDIA_RESIZE,{width:width,hieght:height})}else{}}}function k(t){return function(u){}}function j(t,u,v){t.trigger(u,e.extend({id:t[0].id,version:e.jwplayer(t).version},v))}})(jQuery);(function(a){a.fn.jwplayerModel=function(b){return this.each(function(){a(this).jwplayerParse(b)})};a.fn.jwplayerModel.setActiveMediaProvider=function(d){var e,b;var c=d.data("model");for(b in c.sources){e=c.sources[b];if(e.type===undefined){e.type="video/"+a.fn.jwplayerUtils.extension(e.file)+";"}if(a.fn.jwplayerUtils.supportsType(e.type)){c.source=b;d.jwplayerMediaVideo();return true}}if(a.fn.jwplayerUtils.supportsFlash&&c.state!="playing"){for(b in c.sources){e=c.sources[b];if(a.fn.jwplayerUtils.flashCanPlay(e.file)){c.source=b;d.jwplayerMediaFlash();return true}}}return false}})(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)}}}m.screencolor=f(l).css("background-color");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(b){b.fn.jwplayerSkinner=function(){return this.each(function(){a(b(this).data("model"))})};function a(d){b.get(d.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.skinlements[b(h[g]).attr("name")]=b(h[g]).attr("value")}config.options.images=e.length;for(var g=0;g<e.length;g++){c(e[g],config)}})}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")}})(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.jwplayerUtils.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 e="<embed %elementvars% src='%flashplayer%' allowfullscreen='true' allowscriptaccess='always' flashvars='%flashvars%' />";var a="<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' %elementvars%'> <param name='movie' value='%flashplayer%'> <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(){var f=b(this);b(this).wrap("<div />");b(this).before("<a href='"+b(this).data("model").sources[b(this).data("model").source].file+"' style='display:block; background:#ffffff url("+b(this).data("model").image+") no-repeat center center;width:"+b(this).data("model").width+"px;height:"+b(this).data("model").height+"px;position:relative;'><img src='http://content.bitsontherun.com/staticfiles/play.png' alt='Click to play video' style='position:absolute; top:"+(b(this).data("model").height-60)/2+"px; left:"+(b(this).data("model").width-60)/2+"px; border:0;' /></a>");b(this).prev("a").click(function(g){if(typeof g.preventDefault!="undefined"){g.preventDefault()}else{g.returnValue=false}b.jwplayer(f).play()});b.jwplayer(f).state(d)})};function d(g,f){b.fn.jwplayerUtils(g.target);switch(f.newstate){case"idle":b(g.target).css("display","none");b(g.target).prev("a").css("display","inherit");break;case"playing":b(g.target).prev("a").css("display","none");b(g.target).css("display","inherit");break}}b.fn.jwplayerView.embedFlash=function(l,j){if(j.flashplayer!==false){var k,g="",i="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){k=e}else{k=a}for(var f in c){if(!((j[f]===undefined)||(j[f]==="")||(j[f]===null))){g+=f+"='"+j[f]+"'"}}for(var h in j){if(!((j[h]===undefined)||(j[h]==="")||(j[h]===null))){if(h=="sources"){i+="file="+j.sources[j.source].file+"&"}else{i+=h+"="+j[h]+"&"}}}k=k.replace("%elementvars%",g);k=k.replace("%flashvars%",i);k=k.replace("%flashplayer%",j.flashplayer);var m=l[0].id;b(l).replaceWith(k);b("#"+m).prev("a").css("display","none")}}})(jQuery);1 (function(g){g.fn.jwplayerControlbar=function(p){return this.each(function(){var t=g(this)[0].id;var s=g("#"+t).parents()[0].id;var r=document.getElementById(t);var q=g.extend({},g.fn.jwplayerControlbar.defaults,p);g.extend(q,{id:t,div:s,left:g("#"+s).position().left,top:g("#"+s).position().top});g("#"+s).css("position","static");g("#"+s).css("z-index","98");g("#"+s).css("height",q.height);g("#"+s).css("width",q.width);g("#"+t).css("width","100%");g("#"+t).css("height","100%");g.fn.jwplayerControlbar.bars[t]={player:r,options:q,images:{}};loadSkin(g.fn.jwplayerControlbar.bars[t])})};g.fn.jwplayerControlbar.bars={};g.fn.jwplayerControlbar.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};g.fn.jwplayerControlbar.bufferHandler=function(p){m({id:p.id,buffer:p.percentage})};g.fn.jwplayerControlbar.muteHandler=function(p){a({id:p.id,mute:p.state})};g.fn.jwplayerControlbar.stateHandler=function(p){k({id:p.id,state:p.newstate.toLowerCase()})};g.fn.jwplayerControlbar.timeHandler=function(p){b({id:p.id,elapsed:p.position,duration:p.duration})};g.fn.jwplayerControlbar.volumeHandler=function(p){j({id:p.id,volume:p.percentage})};function n(p){g("#"+p.options.div).after('<div id="'+p.options.id+'_jwplayerControlbar"></div>');g("#"+p.options.id+"_jwplayerControlbar").css("position","absolute");g("#"+p.options.id+"_jwplayerControlbar").css("height",p.images.background.height);g("#"+p.options.id+"_jwplayerControlbar").css("background","url("+p.images.background.src+") repeat-x center left");o("capLeft","left",true,p);o("playButton","left",false,p);o("pauseButton","left",true,p);o("divider1","left",true,p);o("elapsedText","left",true,p);o("timeSliderRail","left",false,p);o("timeSliderBuffer","left",false,p);o("timeSliderProgress","left",false,p);o("timeSliderThumb","left",false,p);o("capRight","right",true,p);o("fullscreenButton","right",false,p);o("normalscreenButton","right",true,p);o("divider2","right",true,p);o("volumeSliderRail","right",false,p);o("volumeSliderProgress","right",true,p);o("muteButton","right",false,p);o("unmuteButton","right",true,p);o("divider3","right",true,p);o("durationText","right",true,p)}function o(q,u,t,p){var s=p.options.id+"_"+q;g("#"+p.options.id+"_jwplayerControlbar").append('<div id="'+s+'"></div>');g("#"+s).css("position","absolute");g("#"+s).css("top",0);if(q.indexOf("Text")>0){g("#"+s).html("00:00");g("#"+s).css("font",p.options.fontsize+"px/"+(p.images.background.height+1)+"px Arial,sans-serif");g("#"+s).css("text-align","center");g("#"+s).css("font-weight","bold");g("#"+s).css("cursor","default");var r=14+3*p.options.fontsize;g("#"+s).css("color","#"+p.options.fontcolor.substr(-6))}else{if(q.indexOf("divider")===0){g("#"+s).css("background","url("+p.images.divider.src+") repeat-x center left");var r=p.images.divider.width}else{g("#"+s).css("background","url("+p.images[q].src+") repeat-x center left");var r=p.images[q].width}}if(u=="left"){g("#"+s).css(u,p.options.leftmargin);if(t){p.options.leftmargin+=r}}else{if(u=="right"){g("#"+s).css(u,p.options.rightmargin);if(t){p.options.rightmargin+=r}}}g("#"+s).css("width",r);g("#"+s).css("height",p.images.background.height)}function l(p){i("playButton","play",p.player,p.options);i("pauseButton","play",p.player,p.options);i("muteButton","mute",p.player,p.options);i("unmuteButton","mute",p.player,p.options);i("fullscreenButton","fullscreen",p.player,p.options);i("normalscreenButton","fullscreen",p.player,p.options);p.player.addModelListener("buffer","jQuery.fn.jwplayerControlbar.bufferHandler");p.player.addModelListener("state","jQuery.fn.jwplayerControlbar.stateHandler");p.player.addModelListener("time","jQuery.fn.jwplayerControlbar.timeHandler");p.player.addControllerListener("mute","jQuery.fn.jwplayerControlbar.muteHandler");p.player.addControllerListener("volume","jQuery.fn.jwplayerControlbar.volumeHandler");f(p.options);a(p.options);k(p.options);j(p.options)}function i(r,s,q,p){var t=p.id+"_"+r;g("#"+t).css("cursor","pointer");if(s=="fullscreen"){g("#"+t).mouseup(function(u){u.stopPropagation();p.fullscreen=!p.fullscreen;f(p)})}else{g("#"+t).mouseup(function(u){u.stopPropagation();q.sendEvent(s)})}}function c(){var p="#"+config.id+"_jwplayerControlbar";var q="#"+config.id+"_timeSliderRail";var r="#"+config.id+"_volumeSliderRail";g(p).css("cursor","hand");g(p).mousedown(function(s){var t=s.pageX-g(p).position().left;if(t>g(q).position().left&&t<g(q).position().left+g(q).width()){config.scrubber="time"}else{if(t>g(r).position().left&&t<g(r).position().left+g(r).width()){config.scrubber="volume"}}});g(p).mouseup(function(s){s.stopPropagation();h(s.pageX)});g(p).mouseleave(function(s){h(s.pageX);s.stopPropagation()});g(p).mousemove(function(s){if(config.scrubber=="time"){var t=s.pageX-g(p).position().left;g("#"+config.id+"_timeSliderThumb").css("left",t)}})}function h(s){if(config.scrubber=="time"){var r=s-g("#"+config.id+"_timeSliderRail").position().left;var v=g("#"+config.id+"_timeSliderRail").width();var w=r/v*config.duration;if(w<0){w=0}else{if(w>config.duration){w=config.duration-3}}player.sendEvent("seek",w)}else{if(config.scrubber=="volume"){var t=g("#"+config.id+"_jwplayerControlbar").width();var p=g("#"+config.id+"_jwplayerControlbar").position().left;var q=g("#"+config.id+"_volumeSliderRail").css("right").substr(0,2);var v=config.images.volumeSliderRail.width;var u=Math.round((s-t-p+1*q+v)/v*100);if(u<0){u=0}else{if(u>100){u=100}}player.sendEvent("volume",u)}}config.scrubber="none"}function m(p){if(p.buffer===0){g("#"+p.id+"_timeSliderBuffer").css("display","none")}else{g("#"+p.id+"_timeSliderBuffer").css("display","block");var q=g("#"+p.id+"_timeSliderRail").width();g("#"+p.id+"_timeSliderBuffer").css("width",Math.round(q*p.buffer/100))}}function a(p){if(p.mute){g("#"+p.id+"_muteButton").css("display","none");g("#"+p.id+"_unmuteButton").css("display","block");g("#"+p.id+"_volumeSliderProgress").css("display","none")}else{g("#"+p.id+"_muteButton").css("display","block");g("#"+p.id+"_unmuteButton").css("display","none");g("#"+p.id+"_volumeSliderProgress").css("display","block")}}function k(p){if(p.state=="buffering"||p.state=="playing"){g("#"+p.id+"_pauseButton").css("display","block");g("#"+p.id+"_playButton").css("display","none")}else{g("#"+p.id+"_pauseButton").css("display","none");g("#"+p.id+"_playButton").css("display","block")}if(p.state=="completed"){p.elapsed=0;b(p)}}function b(p){var r=g("#"+p.id+"_timeSliderRail").width();var s=g("#"+p.id+"_timeSliderThumb").width();var q=g("#"+p.id+"_timeSliderRail").position().left;if(p.elapsed===0){g("#"+p.id+"_timeSliderProgress").css("display","none");g("#"+p.id+"_timeSliderThumb").css("display","none")}else{g("#"+p.id+"_timeSliderProgress").css("display","block");g("#"+p.id+"_timeSliderProgress").css("width",Math.round(r*p.elapsed/p.duration));g("#"+p.id+"_timeSliderThumb").css("display","block");g("#"+p.id+"_timeSliderThumb").css("left",q+Math.round((r-s)*p.elapsed/p.duration));g("#"+p.id+"_durationText").html(e(p.duration))}g("#"+p.id+"_elapsedText").html(e(p.elapsed))}function e(p){str="00:00";if(p>0){str=Math.floor(p/60)<10?"0"+Math.floor(p/60)+":":Math.floor(p/60)+":";str+=Math.floor(p%60)<10?"0"+Math.floor(p%60):Math.floor(p%60)}return str}function f(p){if(p.fullscreen){g("#"+p.div).css("position","absolute");g("#"+p.div).css("left",0);g("#"+p.div).css("top",0);g("#"+p.div).css("height","100%");g("#"+p.div).css("width","100%");g("#"+p.id+"_normalscreenButton").css("display","block");g("#"+p.id+"_fullscreenButton").css("display","none");g(window).resize(function(){d(p)})}else{g("#"+p.div).css("position","static");g("#"+p.div).css("left",p.left);g("#"+p.div).css("top",p.top);g("#"+p.div).css("height",p.height);g("#"+p.div).css("width",p.width);g("#"+p.id+"_normalscreenButton").css("display","none");g("#"+p.id+"_fullscreenButton").css("display","block");g(window).resize(null)}d(p);b(p);m(p)}function d(p){var r=p.left;var s=p.top+p.height;var q=p.width;var t=g("#"+p.id+"_jwplayerControlbar").height();if(p.position=="over"){r+=1*p.margin;s-=1*p.margin+t;q-=2*p.margin}if(p.fullscreen){r=p.margin;s=g(window).height()-p.margin-t;q=g(window).width()-2*p.margin;g("#"+p.id+"_jwplayerControlbar").css("z-index",99)}else{g("#"+p.id+"_jwplayerControlbar").css("z-index",97)}g("#"+p.id+"_jwplayerControlbar").css("left",r);g("#"+p.id+"_jwplayerControlbar").css("top",s);g("#"+p.id+"_jwplayerControlbar").css("width",q);g("#"+p.id+"_timeSliderRail").css("width",q-p.leftmargin-p.rightmargin)}function j(r){var p=g("#"+r.id+"_volumeSliderRail").width();var s=Math.round(r.volume/100*p);var q=g("#"+r.id+"_volumeSliderRail").css("right").substr(0,2);g("#"+r.id+"_volumeSliderProgress").css("width",s);g("#"+r.id+"_volumeSliderProgress").css("right",1*q+p-s)}})(jQuery);(function(a){a.fn.jwplayerController=function(){return this.each(function(){})};a.fn.jwplayerController.play=function(b){try{b.data("media").play();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.pause=function(b){try{b.data("media").pause();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.seek=function(c,b){try{c.data("media").seek(b);return true}catch(d){a.fn.jwplayerUtils.log("error",d)}return false};a.fn.jwplayerController.stop=function(b){try{b.data("media").stop();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.volume=function(c,b){try{if(b===undefined){return a(c).data("model").volume}else{c.data("media").volume(b);a(c).data("model").volume=b;return true}}catch(d){a.fn.jwplayerUtils.log("error",d)}return false};a.fn.jwplayerController.mute=function(b,d){try{if(d===undefined){return a(b).data("model").mute}else{b.data("media").mute(d);return true}return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.fullscreen=function(b,d){try{if(position===undefined){return a(b).data("model").fullscreen}else{b.data("media").fullscreen(d);return true}}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.resize=function(c,d,b){try{c.data("media").resize(d,b);return true}catch(e){a.fn.jwplayerUtils.log("error",e)}return false};a.fn.jwplayerController.mediaInfo=function(b){try{b.data("media").mediaInfo();return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false};a.fn.jwplayerController.load=function(b,d){try{b.data("media").load(d);return true}catch(c){a.fn.jwplayerUtils.log("error",c)}return false}})(jQuery);(function(e){function k(w){if(w===undefined){w=".jwplayer:first"}if(e.fn.jwplayerUtils.typeOf(w)=="string"){w=e(w)}return{play:u(w),pause:g(w),seek:d(w),stop:r(w),volume:t(w),mute:h(w),fullscreen:b(w),state:f(w),buffer:s(w),duration:a(w),width:q(w),height:s(w),load:j(w),resize:v(w),meta:l(w),time:i(w),complete:m(w),events:c}}var c={JWPLAYER_READY:"jwplayerReady",JWPLAYER_RESIZE:"jwplayerResize",JWPLAYER_ERROR:"jwplayerError",JWPLAYER_MEDIA_BUFFER:"jwplayerMediaBuffer",JWPLAYER_MEDIA_ERROR:"jwplayerMediaError",JWPLAYER_MEDIA_LOADED:"jwplayerMediaLoaded",JWPLAYER_MEDIA_COMPLETE:"jwplayerMediaComplete",JWPLAYER_MEDIA_TIME:"jwplayerMediaTime",JWPLAYER_MEDIA_VOLUME:"jwplayerMediaVolume",JWPLAYER_MEDIA_META:"jwplayerMediaMeta",JWPLAYER_MEDIA_MUTE:"jwplayerMediaMute",JWPLAYER_PLAYER_STATE:"jwplayerPlayerState"};e.extend({jwplayer:k});e.fn.jwplayer=function(w){return this.each(function(){var x=e(this)[0].id;e(this).css("display","none");e(this).jwplayerModel(w);e(this).jwplayerView();e.fn.jwplayerModel.setActiveMediaProvider(e(this));e(this).trigger("JWPLAYER_READY",{id:x})})};e.fn.jwplayer.players={};e.fn.jwplayer.defaults={autostart:false,duration:0,file:undefined,height:300,image:undefined,skin:"assets/five/five.xml",volume:100,width:400,source:0,flashplayer:"assets/player.swf"};function u(w){return function(){e.fn.jwplayerController.play(w);return k(w)}}function g(w){return function(){e.fn.jwplayerController.pause(w);return k(w)}}function d(w){return function(x){e.fn.jwplayerController.seek(w,x);return k(w)}}function r(w){return function(){e.fn.jwplayerController.stop(w);return k(w)}}function t(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_VOLUME,x);break;case"number":e.fn.jwplayerController.volume(w,x);break;case"string":e.fn.jwplayerController.volume(w,parseInt(x,10));break;default:return e.fn.jwplayerController.volume(w)}return k(w)}}function h(w,x){return function(y){switch(e.fn.jwplayerUtils.typeOf(y)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_MUTE,y);break;case"boolean":e.fn.jwplayerController.mute(w,y);break;default:e.fn.jwplayerController.mute(w);break}return k(w)}}function v(w,x){return function(z,y){switch(e.fn.jwplayerUtils.typeOf(arg)){case"function":n(w,e.jwplayer().events.JWPLAYER_RESIZE,arg);break;case"number":e.fn.jwplayerController.resize(w,z,y);break;default:break}return k(w)}}function b(w,x){return function(y){switch(e.fn.jwplayerUtils.typeOf(y)){case"function":n(w,e.jwplayer().events.JWPLAYER_FULLSCREEN,y);break;case"boolean":e.fn.jwplayerController.fullscreen(w,y);break;default:return e.fn.jwplayerController.fullscreen(w)}return k(w)}}function f(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_PLAYER_STATE,x);break;default:return e.fn.jwplayerController.mediaInfo(w).state}return k(w)}}function s(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_BUFFER,x);break;default:return e.fn.jwplayerController.mediaInfo(w).buffer}return k(w)}}function i(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_TIME,x);break;default:return e.fn.jwplayerController.mediaInfo(w).time}return k(w)}}function j(w){return function(x){switch(e.fn.jwplayerUtils.typeOf(x)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_LOADED,x);break;default:e.fn.jwplayerController.load(w,x)}return k(w)}}function m(w){return function(x){n(w,e.jwplayer().events.JWPLAYER_MEDIA_COMPLETE,x);return k(w)}}function a(w){return function(){return e.fn.jwplayerController.mediaInfo(w).duration}}function q(w){return function(){return e.fn.jwplayerController.mediaInfo(w).width}}function o(w){return function(){return e.fn.jwplayerController.mediaInfo(w).height}}function l(w){return function(){switch(e.fn.jwplayerUtils.typeOf(arg)){case"function":n(w,e.jwplayer().events.JWPLAYER_MEDIA_META,arg);break;default:return e.fn.jwplayerController.mediaInfo(w)}return k(w)}}function n(w,x,y){e(w).bind(x,y)}function p(w,x,y){e(w).unbind(x,y)}e(document).ready(function(){e("video.jwplayer").jwplayer()})})(jQuery);(function(f){f.fn.jwplayerMediaFlash=function(n){return this.each(function(){var o=f(this).data("model");o.controlbar="none";o.icons=false;var r=f(this)[0].id;f.fn.jwplayerView.embedFlash(f(this),o);var p=f("#"+r);var q={play:d(p),pause:m(p),seek:a(p),volume:g(p),mute:b(p),fullscreen:k(p)};f("#"+r).data("media",q)})};function e(n){var o=n.data("media");if(o.state===undefined){o.state="idle";n.css("display","inherit");c(n)}}function l(n){if(states[n.type]){i(n.target,states[n.type])}}function i(o,p){if(f(o).data("media").state!=p){var n=f(o).data("media").state;f(o).data("media").state=p;f(o).trigger("jwplayer.state",{oldstate:n,newstate:p})}}function c(o){var n=f.jwplayer().events;for(var p in n){o[0].addEventListener(n[p],h,true)}}function h(n){f(n.id).trigger(n.type,n)}function d(n){return function(){e(n);try{n[0].play();return true}catch(o){f.fn.jwplayerUtils.log("error",o)}return false}}function m(n){return function(){e(n);n.pause()}}function a(n){return function(o){e(n);n.seek(o)}}function j(n){return function(){e(n);n.stop()}}function g(n){return function(o){e(n);n.volume(o)}}function b(n){return function(o){e(n);n.mute(o)}}function k(n){return function(o){e(n)}}})(jQuery);(function(f){var g={buffering:"buffering",ended:"idle",playing:"playing",pause:"paused"};var b={abort:q,canplay:t,canplaythrough:t,durationchange:d,emptied:q,ended:t,error:j,loadeddata:d,loadedmetadata:d,loadstart:t,pause:t,play:p,playing:t,progress:e,ratechange:q,seeked:t,seeking:t,stalled:t,suspend:t,timeupdate:q,volumechange:q,waiting:t,canshowcurrentframe:q,dataunavailable:q,empty:q,load:q,loadedfirstframe:q};f.fn.jwplayerMediaVideo=function(u){return this.each(function(){var v=f(this);var w={play:r(v),pause:h(v),seek:c(v),stop:n(v),volume:o(v),mute:i(v),fullscreen:a(v),load:l(v),state:"idle",interval:null};v.data("media",w);f.each(b,function(y,x){v[0].addEventListener(y,x,true)})})};function q(u){}function t(u){if(g[u.type]){m(u.target,g[u.type])}}function m(v,w){if(f(v).data("media").state!=w){var u=f(v).data("media").state;f(v).data("media").state=w;k(f(v),f.jwplayer().events.JWPLAYER_PLAYER_STATE,{oldstate:u,newstate:w})}if(w=="idle"){clearInterval(f(v).data("media").interval);f(v).data("media").interval=null}}function d(u){k(f(u.target),f.jwplayer().events.JWPLAYER_MEDIA_META,{videoHeight:u.target.videoHeight,videoWidth:u.target.videoWidth,duration:u.target.duration})}function p(u){if(f(u.target).data("media").interval===null){f(u.target).data("media").interval=window.setInterval(function(){p(u)},100)}k(f(u.target),f.jwplayer().events.JWPLAYER_MEDIA_TIME,{position:u.target.currentTime})}function e(v){var u;if(!isNaN(v.loaded/v.total)){u=v.loaded/v.total*100}else{if(v.target.buffered!==undefined){u=v.target.buffered.end(0)/v.target.duration*100}}k(f(v.target),f.jwplayer().events.JWPLAYER_MEDIA_BUFFER,{buffer:u})}function j(u){k(f(u.target),f.jwplayer().events.JWPLAYER_ERROR,{})}function r(u){return function(){u[0].play()}}function h(u){return function(){u[0].pause()}}function c(u){return function(v){u[0].currentTime=v}}function n(u){return function(){u[0].pause();u[0].currentTime=0;clearInterval(f(u).data("media").interval);f(u).data("media").interval=null;m(u,"idle")}}function o(u){return function(v){f.fn.jwplayerUtils.log(v/100);u[0].volume=v/100;k(u,f.jwplayer().events.JWPLAYER_MEDIA_VOLUME,{volume:u[0].volume})}}function i(u){return function(v){u[0].muted=v;k(u,f.jwplayer().events.JWPLAYER_MEDIA_MUTE,{mute:u[0].muted})}}function s(u){return function(w,v){u.css("width",w);u.css("height",v);k(u,f.jwplayer().events.JWPLAYER_MEDIA_RESIZE,{width:w,hieght:v})}}function a(u){return function(v){if(v===true){u.css("width",window.width);u.css("height",window.height);k(u,f.jwplayer().events.JWPLAYER_MEDIA_RESIZE,{width:width,hieght:height})}else{}}}function l(u){return function(v){}}function k(u,v,w){u.trigger(v,f.extend({id:u[0].id,version:f.jwplayer(u).version},w))}})(jQuery);(function(a){a.fn.jwplayerModel=function(b){return this.each(function(){a(this).jwplayerParse(b)})};a.fn.jwplayerModel.setActiveMediaProvider=function(d){var e,b;var c=d.data("model");for(b in c.sources){e=c.sources[b];if(e.type===undefined){e.type="video/"+a.fn.jwplayerUtils.extension(e.file)+";"}if(a.fn.jwplayerUtils.supportsType(e.type)){c.source=b;d.jwplayerMediaVideo();return true}}if(a.fn.jwplayerUtils.supportsFlash&&c.state!="playing"){for(b in c.sources){e=c.sources[b];if(a.fn.jwplayerUtils.flashCanPlay(e.file)){c.source=b;d.jwplayerMediaFlash();return true}}}return false}})(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)}}}m.screencolor=f(l).css("background-color");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(b){b.fn.jwplayerSkinner=function(){return this.each(function(){a(b(this).data("model"))})};function a(d){b.get(d.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.skinlements[b(h[g]).attr("name")]=b(h[g]).attr("value")}config.options.images=e.length;for(var g=0;g<e.length;g++){c(e[g],config)}})}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")}})(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.jwplayerUtils.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 e="<embed %elementvars% src='%flashplayer%' allowfullscreen='true' allowscriptaccess='always' flashvars='%flashvars%' />";var a="<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' %elementvars%'> <param name='movie' value='%flashplayer%'> <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(){var f=b(this);b(this).wrap("<div />");b(this).before("<a href='"+b(this).data("model").sources[b(this).data("model").source].file+"' style='display:block; background:#ffffff url("+b(this).data("model").image+") no-repeat center center;width:"+b(this).data("model").width+"px;height:"+b(this).data("model").height+"px;position:relative;'><img src='http://content.bitsontherun.com/staticfiles/play.png' alt='Click to play video' style='position:absolute; top:"+(b(this).data("model").height-60)/2+"px; left:"+(b(this).data("model").width-60)/2+"px; border:0;' /></a>");b(this).prev("a").click(function(g){if(typeof g.preventDefault!="undefined"){g.preventDefault()}else{g.returnValue=false}b.jwplayer(f).play()});b.jwplayer(f).state(d)})};function d(g,f){b.fn.jwplayerUtils(g.target);switch(f.newstate){case"idle":b(g.target).css("display","none");b(g.target).prev("a").css("display","inherit");break;case"playing":b(g.target).prev("a").css("display","none");b(g.target).css("display","inherit");break}}b.fn.jwplayerView.embedFlash=function(l,j){if(j.flashplayer!==false){var k,g="",i="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){k=e}else{k=a}for(var f in c){if(!((j[f]===undefined)||(j[f]==="")||(j[f]===null))){g+=f+"='"+j[f]+"'"}}for(var h in j){if(!((j[h]===undefined)||(j[h]==="")||(j[h]===null))){if(h=="sources"){i+="file="+j.sources[j.source].file+"&"}else{i+=h+"="+j[h]+"&"}}}k=k.replace("%elementvars%",g);k=k.replace("%flashvars%",i);k=k.replace("%flashplayer%",j.flashplayer);var m=l[0].id;b(l).replaceWith(k);b("#"+m).prev("a").css("display","none")}}})(jQuery); -
trunk/html5/index.html
r935 r936 27 27 class="jwplayer" 28 28 poster="http://localhost/files/bunny.jpg" 29 src="http:// localhost/files/bunny.mp4"29 src="http://developer.longtailvideo.com/player/testing/files/bunny.mp4" 30 30 width="480" 31 31 > … … 80 80 poster="http://localhost/files/bunny.jpg" 81 81 > 82 <source src='http://localhost/ files/bunny.ogv' type='video/ogg; codecs="theora, vorbis"'>83 <source src='http:// localhost/files/bunny.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>82 <source src='http://localhost/html5/bunny.ogv' type='video/ogg; codecs="theora, vorbis"'> 83 <source src='http://developer.longtailvideo.com/player/testing/files/bunny.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> 84 84 </video> 85 86 <a id="play">play</a> 87 <a id="pause">pause</a> 88 <a id="stop">stop</a> 89 <a id="mute">mute</a> 90 <a id="unmute">unmute</a> 91 <input type="text" id="seekposition" /> 92 <a id="seek">seek</a> 93 <input type="text" id="volumeposition" /> 94 <a id="volume">volume</a> 95 <input type="text" id="currenttime" /> 96 <input type="text" id="currentbuffer" /> 85 97 86 98 <script type="text/javascript"> 87 99 $('#player5').jwplayer(); 88 /*$.jwplayer('#player3').time(function(parameters, extra){ 89 $.fn.jwplayerUtils.log('time', extra); 90 });*/ 91 $.jwplayer('#player1').buffer(function(parameters, extra){ 92 $.fn.jwplayerUtils.log('buffer', extra); 100 101 $.jwplayer('#player5').buffer(function(parameters, extra){ 102 $("#currentbuffer")[0].value = Math.round(extra.buffer*10)/10; 93 103 }); 104 105 $.jwplayer('#player5').time(function(parameters, extra){ 106 $("#currenttime")[0].value = Math.round(extra.position*10)/10; 107 }); 108 109 $("#play").click(function(){ 110 $.jwplayer('#player5').play(); 111 }); 112 113 $("#pause").click(function(){ 114 $.jwplayer('#player5').pause(); 115 }); 116 117 $("#stop").click(function(){ 118 $.jwplayer('#player5').stop(); 119 }); 120 121 $("#seek").click(function(){ 122 $.jwplayer('#player5').seek($("#seekposition")[0].value); 123 }); 124 125 $("#volume").click(function(){ 126 $.jwplayer('#player5').volume($("#volumeposition")[0].value); 127 }); 128 129 $("#mute").click(function(){ 130 $.jwplayer('#player5').mute(true); 131 }); 132 133 $("#unmute").click(function(){ 134 $.jwplayer('#player5').mute(false); 135 }); 136 137 94 138 </script> 95 139 -
trunk/html5/src/jquery.jwplayerController.js
r935 r936 81 81 $.fn.jwplayerController.mute = function(player, state) { 82 82 try { 83 if ( position=== undefined) {83 if (state === undefined) { 84 84 return $(player).data("model").mute; 85 85 } else { -
trunk/html5/src/jquery.jwplayerCore.js
r935 r936 141 141 $.fn.jwplayerController.volume(player, arg); 142 142 break; 143 case "string": 144 $.fn.jwplayerController.volume(player, parseInt(arg,10)); 145 break; 143 146 default: 144 147 return $.fn.jwplayerController.volume(player); -
trunk/html5/src/jquery.jwplayerMediaVideo.js
r935 r936 28 28 'play': positionHandler, 29 29 'playing': stateHandler, 30 'progress': generalHandler,30 'progress': progressHandler, 31 31 'ratechange': generalHandler, 32 32 'seeked': stateHandler, … … 52 52 pause: pause(video), 53 53 seek: seek(video), 54 stop: stop(video), 54 55 volume: volume(video), 55 56 mute: mute(video), … … 108 109 position: event.target.currentTime 109 110 }); 110 if (event.target.buffered !== undefined) { 111 if (event.target.buffered.end(event.target.buffered.length - 1) != event.target.duration) { 112 sendEvent($(event.target), $.jwplayer().events.JWPLAYER_MEDIA_BUFFER, { 113 buffer: event.target.currentTime 114 }); 115 } 116 } 111 } 112 113 function progressHandler(event) { 114 var buffer; 115 if (!isNaN(event.loaded / event.total)) { 116 buffer = event.loaded / event.total * 100; 117 } else if (event.target.buffered !== undefined) { 118 buffer = event.target.buffered.end(0) / event.target.duration * 100; 119 } 120 sendEvent($(event.target), $.jwplayer().events.JWPLAYER_MEDIA_BUFFER, { 121 'buffer': buffer 122 }); 117 123 } 118 124 … … 147 153 return function() { 148 154 player[0].pause(); 149 player[0].currentTime = player.startTime; 155 player[0].currentTime = 0; 156 clearInterval($(player).data("media").interval); 157 $(player).data("media").interval = null; 158 setState(player, 'idle'); 150 159 }; 151 160 } … … 155 164 function volume(player) { 156 165 return function(position) { 157 player.volume = position / 100; 166 $.fn.jwplayerUtils.log(position / 100); 167 player[0].volume = position / 100; 158 168 sendEvent(player, $.jwplayer().events.JWPLAYER_MEDIA_VOLUME, { 159 volume: p osition169 volume: player[0].volume 160 170 }); 161 171 }; … … 165 175 function mute(player) { 166 176 return function(state) { 167 player .mute= state;177 player[0].muted = state; 168 178 sendEvent(player, $.jwplayer().events.JWPLAYER_MEDIA_MUTE, { 169 mute: player .mute179 mute: player[0].muted 170 180 }); 171 181 }; … … 215 225 216 226 })(jQuery); 227
Note: See TracChangeset
for help on using the changeset viewer.
