From af227873ffd216385278e01bbfae167517404775 Mon Sep 17 00:00:00 2001 From: Techywarrior Date: Sat, 13 Apr 2013 10:53:37 -0700 Subject: [PATCH] moved videoJS to local --- .../thirdparty/video-js/video-js.min.css | 1 + dashboard-ui/thirdparty/video-js/video-js.png | Bin 0 -> 8235 bytes dashboard-ui/thirdparty/video-js/video-js.swf | Bin 0 -> 9612 bytes dashboard-ui/thirdparty/video-js/video.min.js | 21 ++++++++++++++++++ 4 files changed, 22 insertions(+) create mode 100644 dashboard-ui/thirdparty/video-js/video-js.min.css create mode 100644 dashboard-ui/thirdparty/video-js/video-js.png create mode 100644 dashboard-ui/thirdparty/video-js/video-js.swf create mode 100644 dashboard-ui/thirdparty/video-js/video.min.js diff --git a/dashboard-ui/thirdparty/video-js/video-js.min.css b/dashboard-ui/thirdparty/video-js/video-js.min.css new file mode 100644 index 0000000000..06c0e6b4f6 --- /dev/null +++ b/dashboard-ui/thirdparty/video-js/video-js.min.css @@ -0,0 +1 @@ +.video-js{background-color:#000;position:relative;padding:0;font-size:10px;vertical-align:middle}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js:-moz-full-screen{position:absolute}body.vjs-full-window{padding:0;margin:0;height:100%;overflow-y:auto}.video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0;width:100%!important;height:100%!important;_position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.vjs-poster{margin:0 auto;padding:0;cursor:pointer;position:relative;width:100%;max-height:100%}.video-js .vjs-text-track-display{text-align:center;position:absolute;bottom:4em;left:1em;right:1em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.video-js .vjs-text-track{display:none;color:#fff;font-size:1.4em;text-align:center;margin-bottom:.1em;background:#000;background:rgba(0,0,0,0.50)}.video-js .vjs-subtitles{color:#fff}.video-js .vjs-captions{color:#fc6}.vjs-tt-cue{display:block}.vjs-fade-in{visibility:visible!important;opacity:1!important;-webkit-transition:visibility 0s linear 0s,opacity .3s linear;-moz-transition:visibility 0s linear 0s,opacity .3s linear;-ms-transition:visibility 0s linear 0s,opacity .3s linear;-o-transition:visibility 0s linear 0s,opacity .3s linear;transition:visibility 0s linear 0s,opacity .3s linear}.vjs-fade-out{visibility:hidden!important;opacity:0!important;-webkit-transition:visibility 0s linear 1.5s,opacity 1.5s linear;-moz-transition:visibility 0s linear 1.5s,opacity 1.5s linear;-ms-transition:visibility 0s linear 1.5s,opacity 1.5s linear;-o-transition:visibility 0s linear 1.5s,opacity 1.5s linear;transition:visibility 0s linear 1.5s,opacity 1.5s linear}.vjs-default-skin .vjs-controls{position:absolute;bottom:0;left:0;right:0;margin:0;padding:0;height:2.6em;color:#fff;border-top:1px solid #404040;background:#242424;background:-moz-linear-gradient(top,#242424 50%,#1f1f1f 50%,#171717 100%);background:-webkit-gradient(linear,0% 0,0% 100%,color-stop(50%,#242424),color-stop(50%,#1f1f1f),color-stop(100%,#171717));background:-webkit-linear-gradient(top,#242424 50%,#1f1f1f 50%,#171717 100%);background:-o-linear-gradient(top,#242424 50%,#1f1f1f 50%,#171717 100%);background:-ms-linear-gradient(top,#242424 50%,#1f1f1f 50%,#171717 100%);background:linear-gradient(top,#242424 50%,#1f1f1f 50%,#171717 100%);visibility:hidden;opacity:0}.vjs-default-skin .vjs-control{position:relative;float:left;text-align:center;margin:0;padding:0;height:2.6em;width:2.6em}.vjs-default-skin .vjs-control:focus{outline:0}.vjs-default-skin .vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-default-skin .vjs-play-control{width:5em;cursor:pointer!important}.vjs-default-skin.vjs-paused .vjs-play-control div{width:15px;height:17px;background:url('video-js.png');margin:.5em auto 0}.vjs-default-skin.vjs-playing .vjs-play-control div{width:15px;height:17px;background:url('video-js.png') -25px 0;margin:.5em auto 0}.vjs-default-skin .vjs-rewind-control{width:5em;cursor:pointer!important}.vjs-default-skin .vjs-rewind-control div{width:19px;height:16px;background:url('video-js.png');margin:.5em auto 0}.vjs-default-skin .vjs-mute-control{width:3.8em;cursor:pointer!important;float:right}.vjs-default-skin .vjs-mute-control div{width:22px;height:16px;background:url('video-js.png') -75px -25px;margin:.5em auto 0}.vjs-default-skin .vjs-mute-control.vjs-vol-0 div{background:url('video-js.png') 0 -25px}.vjs-default-skin .vjs-mute-control.vjs-vol-1 div{background:url('video-js.png') -25px -25px}.vjs-default-skin .vjs-mute-control.vjs-vol-2 div{background:url('video-js.png') -50px -25px}.vjs-default-skin .vjs-volume-control{width:5em;float:right}.vjs-default-skin .vjs-volume-bar{position:relative;width:5em;height:.6em;margin:1em auto 0;cursor:pointer!important;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;background:#666;background:-moz-linear-gradient(top,#333,#666);background:-webkit-gradient(linear,0% 0,0% 100%,from(#333),to(#666));background:-webkit-linear-gradient(top,#333,#666);background:-o-linear-gradient(top,#333,#666);background:-ms-linear-gradient(top,#333,#666);background:linear-gradient(top,#333,#666)}.vjs-default-skin .vjs-volume-level{position:absolute;top:0;left:0;height:.6em;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;background:#fff;background:-moz-linear-gradient(top,#fff,#ccc);background:-webkit-gradient(linear,0% 0,0% 100%,from(#fff),to(#ccc));background:-webkit-linear-gradient(top,#fff,#ccc);background:-o-linear-gradient(top,#fff,#ccc);background:-ms-linear-gradient(top,#fff,#ccc);background:linear-gradient(top,#fff,#ccc)}.vjs-default-skin .vjs-volume-handle{position:absolute;top:-0.2em;width:.8em;height:.8em;background:#ccc;left:0;border:1px solid #fff;-moz-border-radius:.6em;-webkit-border-radius:.6em;border-radius:.6em}.vjs-default-skin div.vjs-progress-control{position:absolute;left:4.8em;right:4.8em;height:1.0em;width:auto;top:-1.3em;border-bottom:1px solid #1f1f1f;border-top:1px solid #222;background:#333;background:-moz-linear-gradient(top,#222,#333);background:-webkit-gradient(linear,0% 0,0% 100%,from(#222),to(#333));background:-webkit-linear-gradient(top,#222,#333);background:-o-linear-gradient(top,#333,#222);background:-ms-linear-gradient(top,#333,#222);background:linear-gradient(top,#333,#222)}.vjs-default-skin .vjs-progress-holder{position:relative;cursor:pointer!important;padding:0;margin:0;height:1.0em;-moz-border-radius:.6em;-webkit-border-radius:.6em;border-radius:.6em;background:#111;background:-moz-linear-gradient(top,#111,#262626);background:-webkit-gradient(linear,0% 0,0% 100%,from(#111),to(#262626));background:-webkit-linear-gradient(top,#111,#262626);background:-o-linear-gradient(top,#111,#262626);background:-ms-linear-gradient(top,#111,#262626);background:linear-gradient(top,#111,#262626)}.vjs-default-skin .vjs-progress-holder .vjs-play-progress,.vjs-default-skin .vjs-progress-holder .vjs-load-progress{position:absolute;display:block;height:1.0em;margin:0;padding:0;left:0;top:0;-moz-border-radius:.6em;-webkit-border-radius:.6em;border-radius:.6em}.vjs-default-skin .vjs-play-progress{background:#fff;background:-moz-linear-gradient(top,#fff 0,#d6d6d6 50%,#fff 100%);background:-webkit-gradient(linear,0% 0,0% 100%,color-stop(0%,#fff),color-stop(50%,#d6d6d6),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#fff 0,#d6d6d6 50%,#fff 100%);background:-o-linear-gradient(top,#fff 0,#d6d6d6 50%,#fff 100%);background:-ms-linear-gradient(top,#fff 0,#d6d6d6 50%,#fff 100%);background:linear-gradient(top,#fff 0,#d6d6d6 50%,#fff 100%);background:#efefef;background:-moz-linear-gradient(top,#efefef 0,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);background:-webkit-gradient(linear,0% 0,0% 100%,color-stop(0%,#efefef),color-stop(50%,#f5f5f5),color-stop(50%,#dbdbdb),color-stop(100%,#f1f1f1));background:-webkit-linear-gradient(top,#efefef 0,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);background:-o-linear-gradient(top,#efefef 0,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);background:-ms-linear-gradient(top,#efefef 0,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#efefef',endColorstr='#f1f1f1',GradientType=0);background:linear-gradient(top,#efefef 0,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%)}.vjs-default-skin .vjs-load-progress{opacity:.8;background:#666;background:-moz-linear-gradient(top,#666,#333);background:-webkit-gradient(linear,0% 0,0% 100%,from(#666),to(#333));background:-webkit-linear-gradient(top,#666,#333);background:-o-linear-gradient(top,#666,#333);background:-ms-linear-gradient(top,#666,#333);background:linear-gradient(top,#666,#333)}.vjs-default-skin div.vjs-seek-handle{position:absolute;width:16px;height:16px;margin-top:-0.3em;left:0;top:0;background:url('video-js.png') 0 -50px;-moz-border-radius:.8em;-webkit-border-radius:.8em;border-radius:.8em;-webkit-box-shadow:0 2px 4px 0 #000;-moz-box-shadow:0 2px 4px 0 #000;box-shadow:0 2px 4px 0 #000}.vjs-default-skin .vjs-time-controls{position:absolute;right:0;height:1.0em;width:4.8em;top:-1.3em;border-bottom:1px solid #1f1f1f;border-top:1px solid #222;background-color:#333;font-size:1em;line-height:1.0em;font-weight:normal;font-family:Helvetica,Arial,sans-serif;background:#333;background:-moz-linear-gradient(top,#222,#333);background:-webkit-gradient(linear,0% 0,0% 100%,from(#222),to(#333));background:-webkit-linear-gradient(top,#222,#333);background:-o-linear-gradient(top,#333,#222);background:-ms-linear-gradient(top,#333,#222);background:linear-gradient(top,#333,#222)}.vjs-default-skin .vjs-current-time{left:0}.vjs-default-skin .vjs-duration{right:0;display:none}.vjs-default-skin .vjs-remaining-time{right:0}.vjs-time-divider{display:none}.vjs-default-skin .vjs-time-control{font-size:1em;line-height:1;font-weight:normal;font-family:Helvetica,Arial,sans-serif}.vjs-default-skin .vjs-time-control span{line-height:25px}.vjs-secondary-controls{float:right}.vjs-default-skin .vjs-fullscreen-control{width:3.8em;cursor:pointer!important;float:right}.vjs-default-skin .vjs-fullscreen-control div{width:16px;height:16px;background:url('video-js.png') -50px 0;margin:.5em auto 0}.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control div{background:url('video-js.png') -75px 0}.vjs-default-skin .vjs-big-play-button{display:block;z-index:2;position:absolute;top:50%;left:50%;width:8.0em;height:8.0em;margin:-42px 0 0 -42px;text-align:center;vertical-align:center;cursor:pointer!important;border:.2em solid #fff;opacity:.95;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;background:#454545;background:-moz-linear-gradient(top,#454545 0,#232323 50%,#161616 50%,#3f3f3f 100%);background:-webkit-gradient(linear,0% 0,0% 100%,color-stop(0%,#454545),color-stop(50%,#232323),color-stop(50%,#161616),color-stop(100%,#3f3f3f));background:-webkit-linear-gradient(top,#454545 0,#232323 50%,#161616 50%,#3f3f3f 100%);background:-o-linear-gradient(top,#454545 0,#232323 50%,#161616 50%,#3f3f3f 100%);background:-ms-linear-gradient(top,#454545 0,#232323 50%,#161616 50%,#3f3f3f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545',endColorstr='#3f3f3f',GradientType=0);background:linear-gradient(top,#454545 0,#232323 50%,#161616 50%,#3f3f3f 100%);-webkit-box-shadow:4px 4px 8px #000;-moz-box-shadow:4px 4px 8px #000;box-shadow:4px 4px 8px #000}.vjs-default-skin div.vjs-big-play-button:hover{-webkit-box-shadow:0 0 80px #fff;-moz-box-shadow:0 0 80px #fff;box-shadow:0 0 80px #fff}.vjs-default-skin div.vjs-big-play-button span{position:absolute;top:50%;left:50%;display:block;width:35px;height:42px;margin:-20px 0 0 -15px;background:url('video-js.png') -100px 0}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;width:55px;height:55px;margin:-28px 0 0 -28px;-webkit-animation-name:rotatethis;-webkit-animation-duration:1s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear;-moz-animation-name:rotatethis;-moz-animation-duration:1s;-moz-animation-iteration-count:infinite;-moz-animation-timing-function:linear}@-webkit-keyframes rotatethis{0%{-webkit-transform:scale(0.6) rotate(0deg)}12.5%{-webkit-transform:scale(0.6) rotate(0deg)}12.51%{-webkit-transform:scale(0.6) rotate(45deg)}25%{-webkit-transform:scale(0.6) rotate(45deg)}25.01%{-webkit-transform:scale(0.6) rotate(90deg)}37.5%{-webkit-transform:scale(0.6) rotate(90deg)}37.51%{-webkit-transform:scale(0.6) rotate(135deg)}50%{-webkit-transform:scale(0.6) rotate(135deg)}50.01%{-webkit-transform:scale(0.6) rotate(180deg)}62.5%{-webkit-transform:scale(0.6) rotate(180deg)}62.51%{-webkit-transform:scale(0.6) rotate(225deg)}75%{-webkit-transform:scale(0.6) rotate(225deg)}75.01%{-webkit-transform:scale(0.6) rotate(270deg)}87.5%{-webkit-transform:scale(0.6) rotate(270deg)}87.51%{-webkit-transform:scale(0.6) rotate(315deg)}100%{-webkit-transform:scale(0.6) rotate(315deg)}}@-moz-keyframes rotatethis{0%{-moz-transform:scale(0.6) rotate(0deg)}12.5%{-moz-transform:scale(0.6) rotate(0deg)}12.51%{-moz-transform:scale(0.6) rotate(45deg)}25%{-moz-transform:scale(0.6) rotate(45deg)}25.01%{-moz-transform:scale(0.6) rotate(90deg)}37.5%{-moz-transform:scale(0.6) rotate(90deg)}37.51%{-moz-transform:scale(0.6) rotate(135deg)}50%{-moz-transform:scale(0.6) rotate(135deg)}50.01%{-moz-transform:scale(0.6) rotate(180deg)}62.5%{-moz-transform:scale(0.6) rotate(180deg)}62.51%{-moz-transform:scale(0.6) rotate(225deg)}75%{-moz-transform:scale(0.6) rotate(225deg)}75.01%{-moz-transform:scale(0.6) rotate(270deg)}87.5%{-moz-transform:scale(0.6) rotate(270deg)}87.51%{-moz-transform:scale(0.6) rotate(315deg)}100%{-moz-transform:scale(0.6) rotate(315deg)}}div.vjs-loading-spinner .ball1{opacity:.12;position:absolute;left:20px;top:0;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball2{opacity:.25;position:absolute;left:34px;top:6px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball3{opacity:.37;position:absolute;left:40px;top:20px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball4{opacity:.50;position:absolute;left:34px;top:34px;width:13px;height:13px;background:#fff;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:15px;border:1px solid #ccc}div.vjs-loading-spinner .ball5{opacity:.62;position:absolute;left:20px;top:40px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball6{opacity:.75;position:absolute;left:6px;top:34px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball7{opacity:.87;position:absolute;left:0;top:20px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}div.vjs-loading-spinner .ball8{opacity:1.00;position:absolute;left:6px;top:6px;width:13px;height:13px;background:#fff;border-radius:13px;-webkit-border-radius:13px;-moz-border-radius:13px;border:1px solid #ccc}.vjs-default-skin .vjs-menu-button{float:right;margin:.2em .5em 0 0;padding:0;width:3em;height:2em;cursor:pointer!important;border:1px solid #111;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;background:#4d4d4d;background:-moz-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#4d4d4d),color-stop(50%,#3f3f3f),color-stop(50%,#333),color-stop(100%,#252525));background:-webkit-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-o-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-ms-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%)}.vjs-default-skin .vjs-menu-button div{background:url('video-js.png') 0 -75px no-repeat;width:16px;height:16px;margin:.2em auto 0;padding:0}.vjs-default-skin .vjs-menu-button ul{display:none;opacity:.8;padding:0;margin:0;position:absolute;width:10em;bottom:2em;max-height:15em;left:-3.5em;background-color:#111;border:2px solid #333;-moz-border-radius:.7em;-webkit-border-radius:1em;border-radius:.5em;-webkit-box-shadow:0 2px 4px 0 #000;-moz-box-shadow:0 2px 4px 0 #000;box-shadow:0 2px 4px 0 #000;overflow:auto}.vjs-default-skin .vjs-menu-button:focus ul,.vjs-default-skin .vjs-menu-button:hover ul{display:block;list-style:none}.vjs-default-skin .vjs-menu-button ul li{list-style:none;margin:0;padding:.3em 0 .3em 20px;line-height:1.4em;font-size:1.2em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;text-align:left}.vjs-default-skin .vjs-menu-button ul li.vjs-selected{text-decoration:underline;background:url('video-js.png') -125px -50px no-repeat}.vjs-default-skin .vjs-menu-button ul li:focus,.vjs-default-skin .vjs-menu-button ul li:hover,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover{background-color:#ccc;color:#111;outline:0}.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em 0;color:#fff;font-weight:bold;cursor:default;background:#4d4d4d;background:-moz-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#4d4d4d),color-stop(50%,#3f3f3f),color-stop(50%,#333),color-stop(100%,#252525));background:-webkit-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-o-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:-ms-linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%);background:linear-gradient(top,#4d4d4d 0,#3f3f3f 50%,#333 50%,#252525 100%)}.vjs-default-skin .vjs-captions-button div{background-position:-25px -75px}.vjs-default-skin .vjs-chapters-button div{background-position:-100px -75px}.vjs-default-skin .vjs-chapters-button ul{width:20em;left:-8.5em} \ No newline at end of file diff --git a/dashboard-ui/thirdparty/video-js/video-js.png b/dashboard-ui/thirdparty/video-js/video-js.png new file mode 100644 index 0000000000000000000000000000000000000000..100bc7f8ed1e56b3c61417dba339abc131898f66 GIT binary patch literal 8235 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 ciJtS|vEYd18n@p3IWF>v2h~f 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 CtL;(% literal 0 HcmV?d00001 diff --git a/dashboard-ui/thirdparty/video-js/video.min.js b/dashboard-ui/thirdparty/video-js/video.min.js new file mode 100644 index 0000000000..74f349980d --- /dev/null +++ b/dashboard-ui/thirdparty/video-js/video.min.js @@ -0,0 +1,21 @@ +/*! +Video.js - HTML5 Video Player +Version 3.2.0 + +LGPL v3 LICENSE INFO +This file is part of Video.js. Copyright 2011 Zencoder, Inc. + +Video.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Video.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with Video.js. If not, see . +*/ +(function(window,undefined){var document=window.document;document.createElement("video");document.createElement("audio");var VideoJS=function(id,addOptions,ready){var tag;if(typeof id=="string"){if(id.indexOf("#")===0){id=id.slice(1)}if(_V_.players[id]){return _V_.players[id]}else{tag=_V_.el(id)}}else{tag=id}if(!tag||!tag.nodeName){throw new TypeError("The element or ID supplied is not valid. (VideoJS)")}return tag.player||new _V_.Player(tag,addOptions,ready)},_V_=VideoJS,CDN_VERSION="3.2";VideoJS.players={};VideoJS.options={techOrder:["html5","flash"],html5:{},flash:{swf:"http://vjs.zencdn.net/c/video-js.swf"},width:"auto",height:"auto",defaultVolume:0,components:{posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{}}};if(CDN_VERSION!="GENERATED_CDN_VSN"){_V_.options.flash.swf="http://vjs.zencdn.net/"+CDN_VERSION+"/video-js.swf"}_V_.merge=function(obj1,obj2,safe){if(!obj2){obj2={}}for(var attrname in obj2){if(obj2.hasOwnProperty(attrname)&&(!safe||!obj1.hasOwnProperty(attrname))){obj1[attrname]=obj2[attrname]}}return obj1};_V_.extend=function(obj){this.merge(this,obj,true)};_V_.extend({tech:{},controlSets:{},isIE:function(){return !+"\v1"},isFF:function(){return !!_V_.ua.match("Firefox")},isIPad:function(){return navigator.userAgent.match(/iPad/i)!==null},isIPhone:function(){return navigator.userAgent.match(/iPhone/i)!==null},isIOS:function(){return VideoJS.isIPhone()||VideoJS.isIPad()},iOSVersion:function(){var match=navigator.userAgent.match(/OS (\d+)_/i);if(match&&match[1]){return match[1]}},isAndroid:function(){return navigator.userAgent.match(/Android.*AppleWebKit/i)!==null},androidVersion:function(){var match=navigator.userAgent.match(/Android (\d+)\./i);if(match&&match[1]){return match[1]}},testVid:document.createElement("video"),ua:navigator.userAgent,support:{},each:function(arr,fn){if(!arr||arr.length===0){return}for(var i=0,j=arr.length;i0||gh>0)?h+":":"";m=(((h||gm>=10)&&m<10)?"0"+m:m)+":";s=(s<10)?"0"+s:s;return h+m+s},uc:function(string){return string.charAt(0).toUpperCase()+string.slice(1)},getRelativePosition:function(x,relativeElement){return Math.max(0,Math.min(1,(x-_V_.findPosX(relativeElement))/relativeElement.offsetWidth))},getComputedStyleValue:function(element,style){return window.getComputedStyle(element,null).getPropertyValue(style)},trim:function(string){return string.toString().replace(/^\s+/,"").replace(/\s+$/,"")},round:function(num,dec){if(!dec){dec=0}return Math.round(num*Math.pow(10,dec))/Math.pow(10,dec)},isEmpty:function(object){for(var prop in object){return false}return true},createTimeRange:function(start,end){return{length:1,start:function(){return start},end:function(){return end}}},cache:{},guid:1,expando:"vdata"+(new Date).getTime(),getData:function(elem){var id=elem[_V_.expando];if(!id){id=elem[_V_.expando]=_V_.guid++;_V_.cache[id]={}}return _V_.cache[id]},removeData:function(elem){var id=elem[_V_.expando];if(!id){return}delete _V_.cache[id];try{delete elem[_V_.expando]}catch(e){if(elem.removeAttribute){elem.removeAttribute(_V_.expando)}else{elem[_V_.expando]=null}}},proxy:function(context,fn,uid){if(!fn.guid){fn.guid=_V_.guid++}var ret=function(){return fn.apply(context,arguments)};ret.guid=(uid)?uid+"_"+fn.guid:fn.guid;return ret},get:function(url,onSuccess,onError){var local=(url.indexOf("file:")==0||(window.location.href.indexOf("file:")==0&&url.indexOf("http:")==-1));if(typeof XMLHttpRequest=="undefined"){XMLHttpRequest=function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(g){}throw new Error("This browser does not support XMLHttpRequest.")}}var request=new XMLHttpRequest();try{request.open("GET",url)}catch(e){_V_.log("VideoJS XMLHttpRequest (open)",e);return false}request.onreadystatechange=_V_.proxy(this,function(){if(request.readyState==4){if(request.status==200||local&&request.status==0){onSuccess(request.responseText)}else{if(onError){onError()}}}});try{request.send()}catch(e){_V_.log("VideoJS XMLHttpRequest (send)",e);if(onError){onError(e)}}},setLocalStorage:function(key,value){var localStorage=window.localStorage||false;if(!localStorage){return}try{localStorage[key]=value}catch(e){if(e.code==22||e.code==1014){_V_.log("LocalStorage Full (VideoJS)",e)}else{_V_.log("LocalStorage Error (VideoJS)",e)}}},getAbsoluteURL:function(url){if(!url.match(/^https?:\/\//)){url=_V_.createElement("div",{innerHTML:'x'}).firstChild.href}return url}});_V_.log=function(){_V_.log.history=_V_.log.history||[];_V_.log.history.push(arguments);if(window.console){arguments.callee=arguments.callee.caller;var newarr=[].slice.call(arguments);(typeof console.log==="object"?_V_.log.apply.call(console.log,console,newarr):console.log.apply(console,newarr))}};(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try{console.log();return window.console}catch(err){return window.console={}}})());if("getBoundingClientRect" in document.documentElement){_V_.findPosX=function(el){var box;try{box=el.getBoundingClientRect()}catch(e){}if(!box){return 0}var docEl=document.documentElement,body=document.body,clientLeft=docEl.clientLeft||body.clientLeft||0,scrollLeft=window.pageXOffset||body.scrollLeft,left=box.left+scrollLeft-clientLeft;return left}}else{_V_.findPosX=function(el){var curleft=el.offsetLeft;while(el=obj.offsetParent){if(el.className.indexOf("video-js")==-1){}else{}curleft+=el.offsetLeft}return curleft}}(function(){var initializing=false,fnTest=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;_V_.Class=function(){};_V_.Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this();initializing=false;for(var name in prop){prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?(function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret}})(name,prop[name]):prop[name]}function Class(){if(!initializing&&this.init){return this.init.apply(this,arguments)}else{if(!initializing){return arguments.callee.prototype.init()}}}Class.prototype=prototype;Class.constructor=Class;Class.extend=arguments.callee;return Class}})();_V_.Component=_V_.Class.extend({init:function(player,options){this.player=player;options=this.options=_V_.merge(this.options||{},options);if(options.el){this.el=options.el}else{this.el=this.createElement()}this.initComponents()},destroy:function(){},createElement:function(type,attrs){return _V_.createElement(type||"div",attrs)},buildCSSClass:function(){return""},initComponents:function(){var options=this.options;if(options&&options.components){this.eachProp(options.components,function(name,opts){var tempAdd=this.proxy(function(){this[name]=this.addComponent(name,opts)});if(opts.loadEvent){this.one(opts.loadEvent,tempAdd)}else{tempAdd()}})}},addComponent:function(name,options){var component,componentClass;if(typeof name=="string"){options=options||{};componentClass=options.componentClass||_V_.uc(name);component=new _V_[componentClass](this.player||this,options)}else{component=name}this.el.appendChild(component.el);return component},removeComponent:function(component){this.el.removeChild(component.el)},show:function(){this.el.style.display="block"},hide:function(){this.el.style.display="none"},fadeIn:function(){this.removeClass("vjs-fade-out");this.addClass("vjs-fade-in")},fadeOut:function(){this.removeClass("vjs-fade-in");this.addClass("vjs-fade-out")},lockShowing:function(){var style=this.el.style;style.display="block";style.opacity=1;style.visiblity="visible"},unlockShowing:function(){var style=this.el.style;style.display="";style.opacity="";style.visiblity=""},addClass:function(classToAdd){_V_.addClass(this.el,classToAdd)},removeClass:function(classToRemove){_V_.removeClass(this.el,classToRemove)},addEvent:function(type,fn,uid){return _V_.addEvent(this.el,type,_V_.proxy(this,fn))},removeEvent:function(type,fn){return _V_.removeEvent(this.el,type,fn)},triggerEvent:function(type,e){return _V_.triggerEvent(this.el,type,e)},one:function(type,fn){_V_.one(this.el,type,_V_.proxy(this,fn))},ready:function(fn){if(!fn){return this}if(this.isReady){fn.call(this)}else{if(this.readyQueue===undefined){this.readyQueue=[]}this.readyQueue.push(fn)}return this},triggerReady:function(){this.isReady=true;if(this.readyQueue&&this.readyQueue.length>0){this.each(this.readyQueue,function(fn){fn.call(this)});this.readyQueue=[];this.triggerEvent("ready")}},each:function(arr,fn){_V_.each.call(this,arr,fn)},eachProp:function(obj,fn){_V_.eachProp.call(this,obj,fn)},extend:function(obj){_V_.merge(this,obj)},proxy:function(fn,uid){return _V_.proxy(this,fn,uid)}});_V_.Control=_V_.Component.extend({buildCSSClass:function(){return"vjs-control "+this._super()}});_V_.ControlBar=_V_.Component.extend({options:{loadEvent:"play",components:{playToggle:{},fullscreenToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},progressControl:{},volumeControl:{},muteToggle:{}}},init:function(player,options){this._super(player,options);player.addEvent("play",this.proxy(function(){this.fadeIn();this.player.addEvent("mouseover",this.proxy(this.fadeIn));this.player.addEvent("mouseout",this.proxy(this.fadeOut))}))},createElement:function(){return _V_.createElement("div",{className:"vjs-controls"})},fadeIn:function(){this._super();this.player.triggerEvent("controlsvisible")},fadeOut:function(){this._super();this.player.triggerEvent("controlshidden")},lockShowing:function(){this.el.style.opacity="1"}});_V_.Button=_V_.Control.extend({init:function(player,options){this._super(player,options);this.addEvent("click",this.onClick);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur)},createElement:function(type,attrs){attrs=_V_.merge({className:this.buildCSSClass(),innerHTML:'
'+(this.buttonText||"Need Text")+"
",role:"button",tabIndex:0},attrs);return this._super(type,attrs)},onClick:function(){},onFocus:function(){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==32||event.which==13){event.preventDefault();this.onClick()}},onBlur:function(){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.PlayButton=_V_.Button.extend({buttonText:"Play",buildCSSClass:function(){return"vjs-play-button "+this._super()},onClick:function(){this.player.play()}});_V_.PauseButton=_V_.Button.extend({buttonText:"Pause",buildCSSClass:function(){return"vjs-pause-button "+this._super()},onClick:function(){this.player.pause()}});_V_.PlayToggle=_V_.Button.extend({buttonText:"Play",init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.onPlay));player.addEvent("pause",_V_.proxy(this,this.onPause))},buildCSSClass:function(){return"vjs-play-control "+this._super()},onClick:function(){if(this.player.paused()){this.player.play()}else{this.player.pause()}},onPlay:function(){_V_.removeClass(this.el,"vjs-paused");_V_.addClass(this.el,"vjs-playing")},onPause:function(){_V_.removeClass(this.el,"vjs-playing");_V_.addClass(this.el,"vjs-paused")}});_V_.FullscreenToggle=_V_.Button.extend({buttonText:"Fullscreen",buildCSSClass:function(){return"vjs-fullscreen-control "+this._super()},onClick:function(){if(!this.player.isFullScreen){this.player.requestFullScreen()}else{this.player.cancelFullScreen()}}});_V_.BigPlayButton=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.hide));player.addEvent("ended",_V_.proxy(this,this.show))},createElement:function(){return this._super("div",{className:"vjs-big-play-button",innerHTML:""})},onClick:function(){if(this.player.currentTime()){this.player.currentTime(0)}this.player.play()}});_V_.LoadingSpinner=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("canplay",_V_.proxy(this,this.hide));player.addEvent("canplaythrough",_V_.proxy(this,this.hide));player.addEvent("playing",_V_.proxy(this,this.hide));player.addEvent("seeking",_V_.proxy(this,this.show));player.addEvent("error",_V_.proxy(this,this.show));player.addEvent("waiting",_V_.proxy(this,this.show))},createElement:function(){var classNameSpinner,innerHtmlSpinner;if(typeof this.player.el.style.WebkitBorderRadius=="string"||typeof this.player.el.style.MozBorderRadius=="string"||typeof this.player.el.style.KhtmlBorderRadius=="string"||typeof this.player.el.style.borderRadius=="string"){classNameSpinner="vjs-loading-spinner";innerHtmlSpinner="
"}else{classNameSpinner="vjs-loading-spinner-fallback";innerHtmlSpinner=""}return this._super("div",{className:classNameSpinner,innerHTML:innerHtmlSpinner})}});_V_.CurrentTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-current-time-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){var time=(this.player.scrubbing)?this.player.values.currentTime:this.player.currentTime();this.content.innerHTML=_V_.formatTime(time,this.player.duration())}});_V_.DurationDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-duration vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-duration-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML=_V_.formatTime(this.player.duration())}}});_V_.TimeDivider=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-time-divider",innerHTML:"
/
"})}});_V_.RemainingTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-remaining-time-display",innerHTML:"-0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML="-"+_V_.formatTime(this.player.remainingTime())}}});_V_.Slider=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent(this.playerEvent,_V_.proxy(this,this.update));this.addEvent("mousedown",this.onMouseDown);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur);this.player.addEvent("controlsvisible",this.proxy(this.update));this.update()},createElement:function(type,attrs){attrs=_V_.merge({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},attrs);return this._super(type,attrs)},onMouseDown:function(event){event.preventDefault();_V_.blockTextSelection();_V_.addEvent(document,"mousemove",_V_.proxy(this,this.onMouseMove));_V_.addEvent(document,"mouseup",_V_.proxy(this,this.onMouseUp));this.onMouseMove(event)},onMouseUp:function(event){_V_.unblockTextSelection();_V_.removeEvent(document,"mousemove",this.onMouseMove,false);_V_.removeEvent(document,"mouseup",this.onMouseUp,false);this.update()},update:function(){var barProgress,progress=this.getPercent();handle=this.handle,bar=this.bar;if(isNaN(progress)){progress=0}barProgress=progress;if(handle){var box=this.el,boxWidth=box.offsetWidth,handleWidth=handle.el.offsetWidth,handlePercent=(handleWidth)?handleWidth/boxWidth:0,boxAdjustedPercent=1-handlePercent;adjustedProgress=progress*boxAdjustedPercent,barProgress=adjustedProgress+(handlePercent/2);handle.el.style.left=_V_.round(adjustedProgress*100,2)+"%"}bar.el.style.width=_V_.round(barProgress*100,2)+"%"},calculateDistance:function(event){var box=this.el,boxX=_V_.findPosX(box),boxW=box.offsetWidth,handle=this.handle;if(handle){var handleW=handle.el.offsetWidth;boxX=boxX+(handleW/2);boxW=boxW-handleW}return Math.max(0,Math.min(1,(event.pageX-boxX)/boxW))},onFocus:function(event){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==37){event.preventDefault();this.stepBack()}else{if(event.which==39){event.preventDefault();this.stepForward()}}},onBlur:function(event){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.ProgressControl=_V_.Component.extend({options:{components:{seekBar:{}}},createElement:function(){return this._super("div",{className:"vjs-progress-control vjs-control"})}});_V_.SeekBar=_V_.Slider.extend({options:{components:{loadProgressBar:{},bar:{componentClass:"PlayProgressBar"},handle:{componentClass:"SeekHandle"}}},playerEvent:"timeupdate",init:function(player,options){this._super(player,options)},createElement:function(){return this._super("div",{className:"vjs-progress-holder"})},getPercent:function(){return this.player.currentTime()/this.player.duration()},onMouseDown:function(event){this._super(event);this.player.scrubbing=true;this.videoWasPlaying=!this.player.paused();this.player.pause()},onMouseMove:function(event){var newTime=this.calculateDistance(event)*this.player.duration();if(newTime==this.player.duration()){newTime=newTime-0.1}this.player.currentTime(newTime)},onMouseUp:function(event){this._super(event);this.player.scrubbing=false;if(this.videoWasPlaying){this.player.play()}},stepForward:function(){this.player.currentTime(this.player.currentTime()+1)},stepBack:function(){this.player.currentTime(this.player.currentTime()-1)}});_V_.LoadProgressBar=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("progress",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-load-progress",innerHTML:'Loaded: 0%'})},update:function(){if(this.el.style){this.el.style.width=_V_.round(this.player.bufferedPercent()*100,2)+"%"}}});_V_.PlayProgressBar=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-play-progress",innerHTML:'Progress: 0%'})}});_V_.SeekHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-seek-handle",innerHTML:'00:00'})}});_V_.VolumeControl=_V_.Component.extend({options:{components:{volumeBar:{}}},createElement:function(){return this._super("div",{className:"vjs-volume-control vjs-control"})}});_V_.VolumeBar=_V_.Slider.extend({options:{components:{bar:{componentClass:"VolumeLevel"},handle:{componentClass:"VolumeHandle"}}},playerEvent:"volumechange",createElement:function(){return this._super("div",{className:"vjs-volume-bar"})},onMouseMove:function(event){this.player.volume(this.calculateDistance(event))},getPercent:function(){return this.player.volume()},stepForward:function(){this.player.volume(this.player.volume()+0.1)},stepBack:function(){this.player.volume(this.player.volume()-0.1)}});_V_.VolumeLevel=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-level",innerHTML:''})}});_V_.VolumeHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-handle",innerHTML:''})}});_V_.MuteToggle=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("volumechange",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-mute-control vjs-control",innerHTML:'
Mute
'})},onClick:function(event){this.player.muted(this.player.muted()?false:true)},update:function(event){var vol=this.player.volume(),level=3;if(vol==0||this.player.muted()){level=0}else{if(vol<0.33){level=1}else{if(vol<0.67){level=2}}}_V_.each.call(this,[0,1,2,3],function(i){_V_.removeClass(this.el,"vjs-vol-"+i)});_V_.addClass(this.el,"vjs-vol-"+level)}});_V_.PosterImage=_V_.Button.extend({init:function(player,options){this._super(player,options);if(!this.player.options.poster){this.hide()}player.addEvent("play",_V_.proxy(this,this.hide))},createElement:function(){return _V_.createElement("img",{className:"vjs-poster",src:this.player.options.poster,tabIndex:-1})},onClick:function(){this.player.play()}});_V_.Menu=_V_.Component.extend({init:function(player,options){this._super(player,options)},addItem:function(component){this.addComponent(component);component.addEvent("click",this.proxy(function(){this.unlockShowing()}))},createElement:function(){return this._super("ul",{className:"vjs-menu"})}});_V_.MenuItem=_V_.Button.extend({init:function(player,options){this._super(player,options);if(options.selected){this.addClass("vjs-selected")}},createElement:function(type,attrs){return this._super("li",_V_.merge({className:"vjs-menu-item",innerHTML:this.options.label},attrs))},onClick:function(){this.selected(true)},selected:function(selected){if(selected){this.addClass("vjs-selected")}else{this.removeClass("vjs-selected")}}});if(!Array.prototype.indexOf){Array.prototype.indexOf=function(searchElement){if(this===void 0||this===null){throw new TypeError()}var t=Object(this);var len=t.length>>>0;if(len===0){return -1}var n=0;if(arguments.length>0){n=Number(arguments[1]);if(n!==n){n=0}else{if(n!==0&&n!==(1/0)&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}}}if(n>=len){return -1}var k=n>=0?n:Math.max(len-Math.abs(n),0);for(;k0){this.addTextTracks(options.tracks)}if(!options.sources||options.sources.length==0){for(var i=0,j=options.techOrder;i0){techOptions.startTime=this.values.currentTime}this.values.src=source.src}this.tech=new _V_[techName](this,techOptions);this.tech.ready(techReady)},unloadTech:function(){this.tech.destroy();if(this.manualProgress){this.manualProgressOff()}if(this.manualTimeUpdates){this.manualTimeUpdatesOff()}this.tech=false},manualProgressOn:function(){this.manualProgress=true;this.trackProgress();this.tech.addEvent("progress",function(){this.removeEvent("progress",arguments.callee);this.support.progressEvent=true;this.player.manualProgressOff()})},manualProgressOff:function(){this.manualProgress=false;this.stopTrackingProgress()},trackProgress:function(){this.progressInterval=setInterval(_V_.proxy(this,function(){if(this.values.bufferEnd0&&buffered.end(0)!==end){end=buffered.end(0);this.values.bufferEnd=end}return _V_.createTimeRange(start,end)},bufferedPercent:function(){return(this.duration())?this.buffered().end(0)/this.duration():0},volume:function(percentAsDecimal){var vol;if(percentAsDecimal!==undefined){vol=Math.max(0,Math.min(1,parseFloat(percentAsDecimal)));this.values.volume=vol;this.techCall("setVolume",vol);_V_.setLocalStorage("volume",vol);return this}vol=parseFloat(this.techGet("volume"));return(isNaN(vol))?1:vol},muted:function(muted){if(muted!==undefined){this.techCall("setMuted",muted);return this}return this.techGet("muted")||false},width:function(width,skipListeners){if(width!==undefined){this.el.width=width;this.el.style.width=width+"px";if(!skipListeners){this.triggerEvent("resize")}return this}return parseInt(this.el.getAttribute("width"))},height:function(height){if(height!==undefined){this.el.height=height;this.el.style.height=height+"px";this.triggerEvent("resize");return this}return parseInt(this.el.getAttribute("height"))},size:function(width,height){return this.width(width,true).height(height)},supportsFullScreen:function(){return this.techGet("supportsFullScreen")||false},requestFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=true;if(requestFullScreen){_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){this.isFullScreen=document[requestFullScreen.isFullScreen];if(this.isFullScreen==false){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee)}this.triggerEvent("fullscreenchange")}));if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));this.el[requestFullScreen.requestFn]()}else{this.el[requestFullScreen.requestFn]()}}else{if(this.tech.supportsFullScreen()){this.triggerEvent("fullscreenchange");this.techCall("enterFullScreen")}else{this.triggerEvent("fullscreenchange");this.enterFullWindow()}}return this},cancelFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=false;if(requestFullScreen){if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));document[requestFullScreen.cancelFn]()}else{document[requestFullScreen.cancelFn]()}}else{if(this.tech.supportsFullScreen()){this.techCall("exitFullScreen");this.triggerEvent("fullscreenchange")}else{this.exitFullWindow();this.triggerEvent("fullscreenchange")}}return this},enterFullWindow:function(){this.isFullWindow=true;this.docOrigOverflow=document.documentElement.style.overflow;_V_.addEvent(document,"keydown",_V_.proxy(this,this.fullWindowOnEscKey));document.documentElement.style.overflow="hidden";_V_.addClass(document.body,"vjs-full-window");_V_.addClass(this.el,"vjs-fullscreen");this.triggerEvent("enterFullWindow")},fullWindowOnEscKey:function(event){if(event.keyCode==27){if(this.isFullScreen==true){this.cancelFullScreen()}else{this.exitFullWindow()}}},exitFullWindow:function(){this.isFullWindow=false;_V_.removeEvent(document,"keydown",this.fullWindowOnEscKey);document.documentElement.style.overflow=this.docOrigOverflow;_V_.removeClass(document.body,"vjs-full-window");_V_.removeClass(this.el,"vjs-fullscreen");this.triggerEvent("exitFullWindow")},selectSource:function(sources){for(var i=0,j=this.options.techOrder;i=10};_V_.flash.canPlaySource=function(srcObj){if(srcObj.type in _V_.flash.prototype.support.formats){return"maybe"}};_V_.flash.prototype.support={formats:{"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},progressEvent:false,timeupdateEvent:false,fullscreenResize:false,parentResize:!(_V_.ua.match("Firefox"))};_V_.flash.onReady=function(currSwf){var el=_V_.el(currSwf);var player=el.player||el.parentNode.player,tech=player.tech;el.player=player;tech.el=el;tech.addEvent("click",tech.onClick);_V_.flash.checkReady(tech)};_V_.flash.checkReady=function(tech){if(tech.el.vjs_getProperty){tech.triggerReady()}else{setTimeout(function(){_V_.flash.checkReady(tech)},50)}};_V_.flash.onEvent=function(swfID,eventName){var player=_V_.el(swfID).player;player.triggerEvent(eventName)};_V_.flash.onError=function(swfID,err){var player=_V_.el(swfID).player;player.triggerEvent("error");_V_.log("Flash Error",err,swfID)};_V_.flash.version=function(){var version="0,0,0";try{version=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){version=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(e){}}return version.split(",")};_V_.flash.embed=function(swf,placeHolder,flashVars,params,attributes){var code=_V_.flash.getEmbedCode(swf,flashVars,params,attributes),obj=_V_.createElement("div",{innerHTML:code}).childNodes[0],par=placeHolder.parentNode;placeHolder.parentNode.replaceChild(obj,placeHolder);if(_V_.isIE()){var newObj=par.childNodes[0];setTimeout(function(){newObj.style.display="block"},1000)}return obj};_V_.flash.getEmbedCode=function(swf,flashVars,params,attributes){var objTag=''});attributes=_V_.merge({data:swf,width:"100%",height:"100%"},attributes);_V_.eachProp(attributes,function(key,val){attrsString+=(key+'="'+val+'" ')});return objTag+attrsString+">"+paramsString+""};_V_.merge(_V_.Player.prototype,{addTextTracks:function(trackObjects){var tracks=this.textTracks=(this.textTracks)?this.textTracks:[],i=0,j=trackObjects.length,track,Kind;for(;i0){track.disable()}}}kind=(showTrack)?showTrack.kind:((disableSameKind)?disableSameKind:false);if(kind){this.triggerEvent(kind+"trackchange")}return this}});_V_.Track=_V_.Component.extend({init:function(player,options){this._super(player,options);_V_.merge(this,{id:options.id||("vjs_"+options.kind+"_"+options.language+"_"+_V_.guid++),src:options.src,"default":options["default"],title:options.title,language:options.srclang,label:options.label,cues:[],activeCues:[],readyState:0,mode:0})},createElement:function(){return this._super("div",{className:"vjs-"+this.kind+" vjs-text-track"})},show:function(){this.activate();this.mode=2;this._super()},hide:function(){this.activate();this.mode=1;this._super()},disable:function(){if(this.mode==2){this.hide()}this.deactivate();this.mode=0},activate:function(){if(this.readyState==0){this.load()}if(this.mode==0){this.player.addEvent("timeupdate",this.proxy(this.update,this.id));this.player.addEvent("ended",this.proxy(this.reset,this.id));if(this.kind=="captions"||this.kind=="subtitles"){this.player.textTrackDisplay.addComponent(this)}}},deactivate:function(){this.player.removeEvent("timeupdate",this.proxy(this.update,this.id));this.player.removeEvent("ended",this.proxy(this.reset,this.id));this.reset();this.player.textTrackDisplay.removeComponent(this)},load:function(){if(this.readyState==0){this.readyState=1;_V_.get(this.src,this.proxy(this.parseCues),this.proxy(this.onError))}},onError:function(err){this.error=err;this.readyState=3;this.triggerEvent("error")},parseCues:function(srcContent){var cue,time,text,lines=srcContent.split("\n"),line="",id;for(var i=1,j=lines.length;i")==-1){id=line;line=_V_.trim(lines[++i])}else{id=this.cues.length}cue={id:id,index:this.cues.length};time=line.split(" --> ");cue.startTime=this.parseCueTime(time[0]);cue.endTime=this.parseCueTime(time[1]);text=[];while(lines[++i]&&(line=_V_.trim(lines[i]))){text.push(line)}cue.text=text.join("
");this.cues.push(cue)}}this.readyState=2;this.triggerEvent("loaded")},parseCueTime:function(timeText){var parts=timeText.split(":"),time=0,hours,minutes,other,seconds,ms,flags;if(parts.length==3){hours=parts[0];minutes=parts[1];other=parts[2]}else{hours=0;minutes=parts[0];other=parts[1]}other=other.split(/\s+/);seconds=other.splice(0,1)[0];seconds=seconds.split(/\.|,/);ms=parseFloat(seconds[1]);seconds=seconds[0];time+=parseFloat(hours)*3600;time+=parseFloat(minutes)*60;time+=parseFloat(seconds);if(ms){time+=ms/1000}return time},update:function(){if(this.cues.length>0){var time=this.player.currentTime();if(this.prevChange===undefined||time=this.nextChange||this.nextChange===undefined){i=(this.firstActiveIndex!==undefined)?this.firstActiveIndex:0}else{reverse=true;i=(this.lastActiveIndex!==undefined)?this.lastActiveIndex:cues.length-1}while(true){cue=cues[i];if(cue.endTime<=time){newPrevChange=Math.max(newPrevChange,cue.endTime);if(cue.active){cue.active=false}}else{if(time"+cues[i].text+""}this.el.innerHTML=html},reset:function(){this.nextChange=0;this.prevChange=this.player.duration();this.firstActiveIndex=0;this.lastActiveIndex=0}});_V_.CaptionsTrack=_V_.Track.extend({kind:"captions"});_V_.SubtitlesTrack=_V_.Track.extend({kind:"subtitles"});_V_.ChaptersTrack=_V_.Track.extend({kind:"chapters"});_V_.TextTrackDisplay=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-text-track-display"})}});_V_.TextTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track;options.label=track.label;options.selected=track["default"];this._super(player,options);this.player.addEvent(track.kind+"trackchange",_V_.proxy(this,this.update))},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){if(this.track.mode==2){this.selected(true)}else{this.selected(false)}}});_V_.OffTextTrackMenuItem=_V_.TextTrackMenuItem.extend({init:function(player,options){options.track={kind:options.kind,player:player,label:"Off"};this._super(player,options)},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){var tracks=this.player.textTracks,i=0,j=tracks.length,track,off=true;for(;i0){this.show()}return menu}});_V_.ChaptersTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track,cue=this.cue=options.cue,currentTime=player.currentTime();options.label=cue.text;options.selected=(cue.startTime<=currentTime&¤tTime0){for(var i=0,j=vids.length;i