/*
 * Author: Ronan Cashell
 * Symfonip (c) 2010 - All rights reserved 
 *  Version 1.23 iPad default control on the fly, previous verions addition of defaultControl, noControl when DefaultControl is true,
 * 05-Jun-2010
 * A jQuery version : HTML 5 Video player controller interface
 */
(function(d){var b={playControlClass:"-play-control",playClass:"-play",pauseClass:"-pause",controlClass:"-controls",progressControlClass:"-progress-control",progressHolderClass:"-progress-holder",loadProgressClass:"-load-progress",playProgressClass:"-play-progress",progressTimeClass:"-progress-time",currentTimeDisplayClass:"-current-time-display",durationDisplayClass:"-duration-display",volumeControlClass:"-volume-control",fullscreenControlClass:"-fullscreen-control",fullscreenActiveClass:"-fs-active",zIndex:"1000",autoControlFader:5000,controlFadeIn:500,controlFadeOut:500,defaultControl:false,noControls:false,onFullscreen:function(e){},offFullscreen:function(e){},preProcessEachVideo:function(e){},postProcessEachVideo:function(e){}};function a(){document.body.focus();document.onselectstart=function(){return false}}function c(){document.onselectstart=function(){return true}}d.fn.extend({disableSelection:function(){return this.each(function(){this.onselectstart=function(){return false};this.unselectable="on";d(this).css("-moz-user-select","none")})},video5:function(k,l){function m(){var q=document.createElement("video");return(q.play)}function f(q){if(q.nodeName.toUpperCase()=="VIDEO"){return true}return false}function g(q){return q.replace(/^\s+|\s+$/g,"")}function h(r){var q=d(r);canPlay=false;d("source",q).each(function(){lSrc=g(d(this).attr("src"));if(lSrc!=""&&r.canPlayType(d(this).attr("type"))!=""){canPlay=true}else{d(this).remove()}});return canPlay}function j(r,q){if(typeof r=="string"){o=r}b.playPauseControlClass=o+b.playPauseControlClass;b.playClass=o+b.playClass;b.pauseClass=o+b.pauseClass;b.playControlClass=o+b.playControlClass;b.controlClass=o+b.controlClass;b.progressControlClass=o+b.progressControlClass;b.progressHolderClass=o+b.progressHolderClass;b.loadProgressClass=o+b.loadProgressClass;b.playProgressClass=o+b.playProgressClass;b.progressTimeClass=o+b.progressTimeClass;b.currentTimeDisplayClass=o+b.currentTimeDisplayClass;b.durationDisplayClass=o+b.durationDisplayClass;b.volumeControlClass=o+b.volumeControlClass;b.fullscreenControlClass=o+b.fullscreenControlClass;b.fullscreenActiveClass=o+b.fullscreenActiveClass;b.defaultControl=false;b.noControl=false;if(typeof q=="object"){d.extend(b,q)}if(typeof r=="object"){d.extend(b,r)}}var o="v5";var i=null;var p=[];j(k,l);var n=false;if(navigator.userAgent.match(/iPad/i)!=null){n=true;b.defaultControl=true}if(!m()){return}var e=0;return this.each(function(){var G;var I;var Q;var s;var N;var A;var t;var z;var r=this;var B;var C;var E;var P;var U;var B;var X;var q;var x;var O=null;var H=null;function aa(v){G=d("<ul>").attr("class",b.controlClass).attr("playerid",e);I=d("<li><span></span></li>").attr("class",b.playControlClass+" "+b.playClass);G.append(I);s=d("<li>").attr("class",b.progressControlClass);G.append(s);var ac=d("<ul>");s.append(ac);Q=d("<li>").attr("class",b.progressHolderClass);ac.append(Q);var ae=d("<span>").attr("class",b.loadProgressClass);Q.append(ae);t=d("<span>").attr("class",b.playProgressClass);Q.append(t);var ad=d("<li>").attr("class",b.progressTimeClass);ac.append(ad);z=d("<span>00:00</span>").attr("class",b.currentTimeDisplayClass);ad.append(z).append(" / ");C=d("<span>00:00</span>").attr("class",b.durationDisplayClass);ad.append(C);U=d("<ul><li></li><li></li><li></li><li></li><li></li><li></li></ul>");N=d("<li>").attr("class",b.volumeControlClass);N.append(U);G.append(N);fullscreenControlDisplay=d("<ul><li></li><li></li><li></li><li></li></ul>");A=d("<li>").attr("class",b.fullscreenControlClass);A.append(fullscreenControlDisplay);G.append(A);d(v).after(G)}function V(v){v.css("display","block")}function L(v){v.css("display","none")}function T(){z.html(M(r.currentTime));if(r.duration){C.html(M(r.duration))}}function w(){t.css("width",((r.currentTime/r.duration)*(Q.attr("offsetWidth")-2))+"px");T()}function D(){s.css("width",(G.attr("offsetWidth")-125)+"px");Q.css("width",(s.attr("offsetWidth")-80)+"px");w()}function K(ad,v){var ac=d(v);ad.css("top",(ac.attr("offsetHeight")-ad.attr("offsetHeight"))+"px").css("left","0px").css("width",ac.attr("offsetWidth")+"px");D()}function M(v){v=Math.round(v);min=Math.floor(v/60);min=(min>=10)?min:"0"+min;v=Math.floor(v%60);v=(v>=10)?v:"0"+v;return min+":"+v}function F(){B=setInterval(function(){w()},33)}function w(){t.css("width",((r.currentTime/r.duration)*(Q.attr("offsetWidth")-2))+"px");T()}function R(v){d(v).next().find("li:first").attr("class",b.playControlClass+" "+b.pauseClass);v.play();F()}function Y(){clearInterval(B)}function ab(v){d(v).next().find("li:first").attr("class",b.playControlClass+" "+b.playClass);v.pause();Y()}function u(ac){var v=Math.max(0,Math.min(1,(ac-Q.offset().left)/parseInt(Q.css("width"))));r.currentTime=v*r.duration;t.css("width",v*(parseInt(Q.css("width"))-2)+"px");T()}function J(){var ad=Math.floor(r.volume*7);var v=U.children();for(var ac=0;ac<6;ac++){var ae=v[ac];if(ac<ad){d(ae).css("borderColor","#fff")[ac]}else{d(ae).css("borderColor","#555")[ac]}}}function Y(){clearInterval(B)}function y(ac){var v=(ac-N.offset().left)/(parseInt(N.css("width")));if(v>1){v=1}else{if(v<0){v=0}}r.volume=v;J()}try{b.preProcessEachVideo(this)}catch(Z){alert("An error occured in the preProcessEachVideo code: "+Z.description)}if(typeof d(this).attr("id")=="undefined"||d(this).attr("id")==""){d(this).attr("id","symv5"+e)}if(f(this)){if(!h(this)){d(this).after(d(this).html());d(this).css("display","none")}else{if(!b.defaultControl){if(d(this).attr("controls")){d(this).removeAttr("controls")}aa(this);V(G);K(G,this);J();if(i==null&&d(r).attr("autoplay")){i=r;R(r)}I.click(function(v){if(i==null){i=r}else{if(i!=r){ab(i);i=r}}if(r.paused){R(r)}else{ab(r)}});d(r).bind("ended",function(){Y();u(0);r.currentTime=0;ab(r)});d(r).mousemove(function(){if(!x){G.fadeIn(b.controlFadeIn);if(O!=null){clearTimeout(O)}if(b.autoControlFader>0){O=setTimeout(function(){G.fadeOut(b.controlFadeOut);x=false},b.autoControlFader)}}});d(r).hover(function(){G.fadeIn(b.controlFadeIn);if(O!=null){clearTimeout(O)}if(b.autoControlFader>0){O=setTimeout(function(){G.fadeOut(b.controlFadeOut);x=false},b.autoControlFader)}},function(ac){var v=ac.relatedTarget;while(v&&v!==r&&v!==G[0]){v=v.parentNode}if(v!==r&&v!==G[0]){G.fadeOut(b.controlFadeOut)}});G.mouseout(function(ac){var v=ac.relatedTarget;while(v&&v!==r&&v!==G[0]){v=v.parentNode}if(v!==r&&v!==G[0]){G.fadeOut(b.controlFadeOut)}});A.click(function(){if(!r.videoIsFullScreen){try{b.onFullscreen(r)}catch(v){alert("onFullscreen: "+v.description)}r.videoIsFullScreen=true;E=d(r).attr("offsetWidth");P=d(r).attr("offsetHeight");bodyPosition=d("body").css("position");bodyLeft=d("body").css("left");X=d("body").css("overflow");d("body").css("overflow","hidden").css("position","relative").css("left","-9999px");d(r).css("width",window.innerWidth+"px").css("height",window.innerHeight+"px").css("position","fixed").css("left","0px").css("top","0px").css("zIndex",b.zIndex);G.css("position","fixed").css("zIndex",b.zIndex);K(G,r);d(this).attr("class",b.fullscreenControlClass+" "+b.fullscreenActiveClass)}else{try{b.offFullscreen(r)}catch(v){alert("offFullscreen: "+v.description)}d("body").css("position",bodyPosition).css("left",bodyLeft).css("overflow",X);r.videoIsFullScreen=false;d(r).css("width",E+"px").css("height",P+"px").css("position","static").css("zIndex","0");G.css("position","absolute").css("zIndex","0");K(G,r);d(this).attr("class",b.fullscreenControlClass)}});N.mousedown(function(v){d(document).disableSelection();d(document).mousemove(function(ac){y(ac.pageX)})});N.mouseup(function(v){y(v.pageX);d(document).unbind("mousemove")});Q.mousedown(function(v){d(document).disableSelection();if(r.paused){q=false}else{q=true;r.pause()}Y();d(document).mousemove(function(ac){u(ac.pageX)})});Q.mouseup(function(v){u(v.pageX);if(q){r.play();F()}d(document).unbind("mousemove")});e=e+1}else{if(n){var S=d("<div>");d(r).after(S);var W=d(r).detach();d("source",W).each(function(){if(d(this).attr("type")=="video/mp4"){H=d(this).attr("src")}});W.attr("src",H);W.html("");S.after(W);S.remove()}else{if(b.noControl){d(this).removeAttr("controls")}}}}}try{b.postProcessEachVideo(this)}catch(Z){alert("An error occured in the postProcessEachVideo code: "+Z.description)}})}})})(jQuery);
