MediaWiki:Common.js: Difference between revisions

From the Portal Wiki
Jump to navigation Jump to search
(+wikEd)
m (Fix wgPageName reference error, remove flattrButton)
 
(17 intermediate revisions by one other user not shown)
Line 5: Line 5:
  * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
  * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
  * Dual licensed under the MIT and GPL licenses:
  * Dual licensed under the MIT and GPL licenses:
  * http://www.opensource.org/licenses/mit-license.php
  * https://opensource.org/licenses/mit-license.php
  * http://www.gnu.org/licenses/gpl.html
  * https://www.gnu.org/licenses/gpl.html
  */
  */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};
/**
* jQuery lightBox plugin
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
* and adapted to me for use like a plugin from jQuery.
* @name jquery-lightbox-0.5.js
* @author Leandro Vieira Pinho - http://leandrovieira.com
* @version 0.5
* @date April 11, 2008
* @category jQuery plugin
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
* @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
*/
(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('data-url'),objClicked.getAttribute('data-title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('data-url'),jQueryMatchedObj[i].getAttribute('data-title')));}}
while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('data-url')){settings.activeImage++;}
_set_image_to_view();}
function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}
var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}
$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}
if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}}
function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
_enable_keyboard_navigation();}
function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
function _disable_keyboard_navigation(){$(document).unbind();}
function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);


/* End jQuery plugins */
/* End jQuery plugins */


/* JW Player */
/* JW Player */
if
if
/*  End JW Player*/
/*  End JW Player*/
/*BEGIN UTC CLOCK*/
/** additional monobook scripts **/
hookEvent( 'load', displayTimer );
/**** function displayTimer.js
* by Patrick Westerhoff [poke]
*/
function displayTimer ()
{
  if ( typeof( timerDisplay ) !== 'undefined' && timerDisplay === false )
    return;
 
  var date;
  var timerParent = document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0];
  var timerLink  = document.createElement( 'a' );
  var timerObj    = document.createElement( 'li' );
  timerLink.href              = '/wiki/' + wgPageName + '?action=purge';
  timerLink.title              = 'Purge the server cache and update the contents of this page.'
  timerObj.id                  = 'pt-timer';
  timerObj.style.textTransform = 'none';
  timerObj.appendChild( timerLink );
  timerParent.insertBefore( timerObj, timerParent.firstChild );
 
  function actualizeUTC ()
  {
    timerDate          = new Date();
    timerLink.innerHTML = ( timerDate.getUTCHours()  < 10 ? '0' : '' ) + timerDate.getUTCHours()  + ':'
                        + ( timerDate.getUTCMinutes() < 10 ? '0' : '' ) + timerDate.getUTCMinutes() + ':'
                        + ( timerDate.getUTCSeconds() < 10 ? '0' : '' ) + timerDate.getUTCSeconds() + ' (UTC)';
  }
 
  function actualizeCustom ()
  {
    timerDate          = new Date();
    timerDate.setMinutes( timerDate.getMinutes() + timerDate.getTimezoneOffset() + timerTimezone * 60 );
    timerLink.innerHTML = ( timerDate.getHours()  < 10 ? '0' : '' ) + timerDate.getHours()  + ':'
                        + ( timerDate.getMinutes() < 10 ? '0' : '' ) + timerDate.getMinutes() + ':'
                        + ( timerDate.getSeconds() < 10 ? '0' : '' ) + timerDate.getSeconds()
                        + ' (UTC' + ( timerTimezone < 0 ? '' : '+' ) + timerTimezone + ')';
  }
 
  // start
  if ( typeof( timerTimezone ) !== 'number' )
  {
    actualizeUTC();
    setInterval( actualizeUTC, 1000 );
  }
  else
  {
    actualizeCustom();
    setInterval( actualizeCustom, 1000 );
  }
}
/*END UTC CLOCK*/


/* BEGIN SPOILER TOGGLER */
/* BEGIN SPOILER TOGGLER */
Line 149: Line 50:
                 spoilers.thumbNodes = $(".gallerybox, .thumb");
                 spoilers.thumbNodes = $(".gallerybox, .thumb");
spoilers.text = $('<div style="display:inline;"></div>');
spoilers.text = $('<div style="display:inline;"></div>');
spoilers.imgOn = $('<img alt="" style="display:none;"/>').attr('src', 'http://portal.biringa.com/images/2/2b/Wheatley_spoils_you.png');
spoilers.imgOn = $('<img alt="" style="display:none;"/>').attr('src', 'https://i2.theportalwiki.net/img/2/2b/Wheatley_spoils_you.png');
spoilers.imgOff = $('<img alt="" style="display:none;"/>').attr('src', 'http://portal.biringa.com/images/e/ef/Wheatley_spoils_nothing.png');
spoilers.imgOff = $('<img alt="" style="display:none;"/>').attr('src', 'https://i2.theportalwiki.net/img/e/ef/Wheatley_spoils_nothing.png');
var wrapped = $('<li/>').append($('<span/>').append($('<a/>').append(spoilers.imgOn, spoilers.imgOff, spoilers.text)));
var wrapped = $('<li/>').append($('<span/>').append($('<a/>').append(spoilers.imgOn, spoilers.imgOff, spoilers.text)));
wrapped.click(spoilers.toggle);
wrapped.click(spoilers.toggle);
Line 196: Line 97:
setUrl:function() {
setUrl:function() {
var obj = $(this).children('object');
var obj = $(this).children('object');
if(!obj) return;
if(!obj.length) return;
obj.append($('<param name="allowscriptaccess" value="true"></param>'));
obj.append($('<param name="allowscriptaccess" value="true"></param>'));
obj.append($('<param name="allowfullscreen" value="true"></param>'));
obj.append($('<param name="allowfullscreen" value="true"></param>'));
var titleParts = wgPageName.split(/\//g);
var titleParts = mw.config.get('wgPageName').split(/\//g);
var lang = 'en';
var lang = 'en';
if(titleParts.length == 2 && !wgCanonicalSpecialPageName) {
if(titleParts.length == 2 && !mw.config.get('wgCanonicalSpecialPageName')) {
lang = titleParts[titleParts.length-1];
lang = titleParts[titleParts.length-1];
}
}
var playerUrl = obj.children('param[name="movie"]').attr('value') + '&fs=1&theme=dark&color=white' + ($(this).hasClass('hd-on') ? '&hd=1' : '') + '&cc_load_policy=1&hl=' + lang + '&cc_lang_pref=' + lang;
var playerUrl = obj.children('param[name="movie"]').attr('value') + '&version=2&fs=1&theme=dark&color=white' + ($(this).hasClass('hd-on') ? '&hd=1' : '') + '&cc_load_policy=1&modestbranding=1&hl=' + lang + '&cc_lang_pref=' + lang;
obj.children('param[name="movie"]').attr('value', playerUrl);
obj.children('param[name="movie"]').attr('value', playerUrl);
obj.children('embed').attr('src', playerUrl).attr('allowscriptaccess', 'always').attr('allowfullscreen', 'true');
obj.children('embed').attr('src', playerUrl).attr('allowscriptaccess', 'always').attr('allowfullscreen', 'true');
Line 357: Line 258:
   var lang = defaultLang;
   var lang = defaultLang;
   for(var i in langList) {
   for(var i in langList) {
     if(wgPageName.substr(wgPageName.length-1-langList[i].length).toLowerCase() == '/' + langList[i].toLowerCase()) {
     if(mw.config.get('wgPageName').substr(mw.config.get('wgPageName').length - 1 - langList[i].length).toLowerCase() == '/' + langList[i].toLowerCase()) {
       lang = langList[i];
       lang = langList[i];
       break;
       break;
Line 545: Line 446:
// Fancy diffs
// Fancy diffs
var fancyDiffs = {
var fancyDiffs = {
isBigDiff: false,
isBigDiffThreshold: 72,
toggle: function(element) {
toggle: function(element) {
var expanded = element.hasClass('diff-expanded');
var expanded = element.hasClass('diff-expanded');
Line 550: Line 453:
if(expanded) { // Just collapse then
if(expanded) { // Just collapse then
element.removeClass('diff-expanded');
element.removeClass('diff-expanded');
contents.slideUp('fast');
if(fancyDiffs.isBigDiff) {
contents.hide();
} else {
contents.slideUp('fast');
}
} else if(element.hasClass('diff-data-loaded')) { // Stuff is already loaded, expand
} else if(element.hasClass('diff-data-loaded')) { // Stuff is already loaded, expand
element.addClass('diff-expanded');
element.addClass('diff-expanded');
Line 557: Line 464:
element.addClass('diff-data-requested');
element.addClass('diff-data-requested');
var fileName = element.find('span').text().replace(/^\s+|\s+$/g);
var fileName = element.find('span').text().replace(/^\s+|\s+$/g);
$.get('/w/?title=Template:PatchDiff/' + encodeURIComponent(wgPageName.replace(/^Template:PatchDiff\//, '')) + '/' + encodeURIComponent(fileName) + '&action=raw', function(data) {
var patchName = element.closest('.diffname');
var diffName = mw.config.get('wgPageName');
if(patchName && patchName.length && patchName.attr('class')) {
diffName = patchName.attr('class').substr(9);
}
$.get('/w/?title=Template:PatchDiff/' + encodeURIComponent(diffName.replace(/^Template:PatchDiff\//, '')) + '/' + encodeURIComponent(fileName) + '&action=raw', function(data) {
contents.html(data);
contents.html(data);
contents.slideDown('fast');
if(fancyDiffs.isBigDiff) {
contents.show();
} else {
contents.slideDown('fast');
}
element.removeClass('diff-data-requested').addClass('diff-data-loaded').addClass('diff-expanded');
element.removeClass('diff-data-requested').addClass('diff-data-loaded').addClass('diff-expanded');
});
});
Line 569: Line 485:
if(diffText.length) {
if(diffText.length) {
// Preload leetle gif
// Preload leetle gif
$('body').append($('<img/>').attr('src', 'http://theportalwiki.com/w/images/4/43/Patch_diff_loading.gif').css('display', 'none'));
$('body').append($('<img/>').attr('src', 'https://i2.theportalwiki.net/img/4/43/Patch_diff_loading.gif').css('display', 'none'));
diffText.find('span').each(function() {
diffText.find('span').each(function() {
$(this).text($(this).find('a').text().replace(/^\s+|\s+$/g));
$(this).text($(this).find('a').text().replace(/^\s+|\s+$/g));
Line 577: Line 493:
return false;
return false;
});
});
fancyDiffs.isBigDiff = $('.diff-file').length > fancyDiffs.isBigDiffThreshold;
}
}
}
}
Line 585: Line 502:
var lightboxStuff = {
var lightboxStuff = {
settings: {
settings: {
imageLoading: 'http://portal.biringa.com/images/5/56/Lightbox_loading.gif',
imageLoading: 'https://i2.theportalwiki.net/img/5/56/Lightbox_loading.gif',
imageBtnClose: 'http://portal.biringa.com/images/e/e2/Lightbox_button_close.gif',
imageBtnClose: 'https://i2.theportalwiki.net/img/e/e2/Lightbox_button_close.gif',
imageBtnPrev: 'http://portal.biringa.com/images/c/c8/Lightbox_button_previous.gif',
imageBtnPrev: 'https://i2.theportalwiki.net/img/c/c8/Lightbox_button_previous.gif',
imageBtnNext: 'http://portal.biringa.com/images/9/9e/Lightbox_button_next.gif',
imageBtnNext: 'https://i2.theportalwiki.net/img/9/9e/Lightbox_button_next.gif',
imageBlank: 'http://portal.biringa.com/images/f/f6/Lightbox_blank.gif',
imageBlank: 'https://i2.theportalwiki.net/img/f/f6/Lightbox_blank.gif',
},
},
init: function() {
init: function() {
Line 658: Line 575:
$(audioPlayer.init);
$(audioPlayer.init);


// Begin wikEd
// Page-specific JavaScript/CSS
// WindPower: Did copy the whole javascript code to avoid doing a cross-domain request for every page load.
var pageScripts = {
// Last checkout: September 9th, 2011
pagesJS: [],
pagesCSS: ['User:MogDog66', 'Portal_Wiki:Donate', 'User:Headquarter8302'],
suffixJS: '/Page.js',
suffixCSS: '/Page.css',
init: function() {
for(var i in pageScripts.pagesJS) {
if(mw.config.get('wgPageName') == pageScripts.pagesJS[i]) {
mw.loader.load(mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName') + pageScripts.suffixJS) + '&ctype=text/javascript&action=raw');
}
}
for(var i in pageScripts.pagesCSS) {
if(mw.config.get('wgPageName') == pageScripts.pagesCSS[i]) {
mw.loader.load(mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName') + pageScripts.suffixCSS) + '&ctype=text/css&action=raw', 'text/css');
}
}
}
};
$(pageScripts.init);


if (typeof(wikEd) == 'undefined') { window.wikEd = {}; }
// 3D model viewer
 
var viewer3d = {
// version info
dragging: null,
wikEd.programVersion = '0.9.100a';
draggingFrameX: 0,
wikEd.programDate    = 'September 04, 2011';
draggingFrameY: 0,
 
viewers: [],
/*
frameThresholdX: 10,
 
frameThresholdY: 128,
Program description:
realMod: function
 
wikEd is a full-featured Wikipedia-integrated advanced text editor for regular to advanced wiki users.
wikEd features syntax highlighting with code check and reference and template folding,
on-page Show preview and Show changes, and advanced search and replace functions.
wikEd works under all web browsers except Internet Explorer and Opera.
The code has to be saved as UTF-8 in your editor to preserve Unicode characters like ♥ (heart symbol)
*/
 
 
//
// start of user configurable variables
//
 
//
// wikEd.InitGlobalsConfigs: initialize user configurable variables
//
 
wikEd.InitGlobalConfigs = function() {
 
// user readable texts, copy changes to http://en.wikipedia.org/wiki/User:Cacycle/wikEd_international_en.js, also defined in wikEdDiff.js
if (typeof(wikEd.config.text) == 'undefined') { wikEd.config.text = {}; }
 
// wikEd.InitText: define built-in user interface texts
wikEd.InitText = function() {
wikEd.InitObject(wikEd.config.text, {
 
// logo
'wikEdLogo alt':              'wikEd',
'wikEdLogo title':            'wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable',
'wikEdLogo error alt':        'wikEd error',
'wikEdLogo error title':      'Loading error - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable',
'wikEdLogo browser alt':      '(wikEd)',
'wikEdLogo browser title':    'Browser not supported - wikEd {wikEdProgramVersion} ({wikEdProgramDate})',
'wikEdLogo incompatible alt':  '(wikEd)',
'wikEdLogo incompatible title': 'Incompatible script or gadget: {wikEdParameter} - wikEd {wikEdProgramVersion} ({wikEdProgramDate})',
'wikEdLogo disabled alt':      '(wikEd)',
'wikEdLogo disabled title':    'Disabled - wikEd {wikEdProgramVersion} ({wikEdProgramDate}) Click to enable',
'wikEdLogo testVersion alt':  'wikEd_dev',
'wikEdLogo testVersion title': 'wikEd_dev (unstable test version) {wikEdProgramVersion} ({wikEdProgramDate}) Click to disable',
 
// top jumper
'wikEdScrollToEdit4 alt':      'Scroll to edit',
'wikEdScrollToEdit4 title':    'Scroll to edit field',
 
// button bar grip titles
'wikEdGripFormat title':      'Formatting buttons (click to hide or show)',
'wikEdGripTextify title':      'Textify and wikify buttons (click to hide or show)',
'wikEdGripCustom1 title':      'Custom buttons (click to hide or show)',
'wikEdGripFind title':        'Find buttons (click to hide or show)',
'wikEdGripFix title':          'Fixing buttons (click to hide or show)',
'wikEdGripCustom2 title':      'Custom buttons (click to hide or show)',
'wikEdGripControl title':      'wikEd control buttons (click to hide or show)',
 
// formatting buttons, top row
'wikEdUndo alt':              'Undo',
'wikEdUndo title':            'Undo',
'wikEdRedo alt':              'Redo',
'wikEdRedo title':            'Redo',
'wikEdBold alt':              'Bold',
'wikEdBold title':            'Bold text',
'wikEdItalic alt':            'Italic',
'wikEdItalic title':          'Italic text',
'wikEdUnderline alt':          'Underline',
'wikEdUnderline title':        'Underline text',
'wikEdStrikethrough alt':      'Strikethrough',
'wikEdStrikethrough title':    'Strikethrough text',
'wikEdNowiki alt':            'Nowiki',
'wikEdNowiki title':          'Nowiki markup text',
'wikEdSuperscript alt':        'Superscript',
'wikEdSuperscript title':      'Superscript text',
'wikEdSubscript alt':          'Subscript',
'wikEdSubscript title':        'Subscript text',
'wikEdRef alt':                'Ref',
'wikEdRef title':              'In-text reference (shift-click: named tag)',
'wikEdCase alt':              'Case',
'wikEdCase title':            'Toggle between lowercase, uppercase first, and uppercase',
'wikEdSort alt':              'Sort',
'wikEdSort title':            'Sort alphabetically',
'wikEdRedirect alt':          'Redirect',
'wikEdRedirect title':        'Create redirect, deletes whole text',
'wikEdUndoAll alt':            'Undo all',
'wikEdUndoAll title':          'Undo all changes',
'wikEdRedoAll alt':            'Redo all',
'wikEdRedoAll title':          'Redo all changes',
 
// formatting buttons, bottom row
'wikEdWikiLink alt':          'Link',
'wikEdWikiLink title':        'Wiki link',
'wikEdWebLink alt':            'Weblink',
'wikEdWebLink title':          'External weblink',
'wikEdHeading alt':            'Heading',
'wikEdHeading title':          'Increase heading levels (shift-click: decrease)',
'wikEdBulletList alt':        'Bullet list',
'wikEdBulletList title':      'Increase bulleted list level (shift-click: decrease)',
'wikEdNumberList alt':        'Number list',
'wikEdNumberList title':      'Increase numbered list level (shift-click: decrease)',
'wikEdIndentList alt':        'Indent list',
'wikEdIndentList title':      'Increase indention (shift-click: decrease)',
'wikEdDefinitionList alt':    'Def list',
'wikEdDefinitionList title':  'Definition list',
'wikEdImage alt':              'Image',
'wikEdImage title':            'Image',
'wikEdTable alt':              'Table',
'wikEdTable title':            'Table',
'wikEdReferences alt':        'References',
'wikEdReferences title':      'References location (shift-click: References section)',
 
// textify buttons
'wikEdWikify alt':            'Wikify',
'wikEdWikify title':          'Convert pasted content to wiki code, update highlighting',
'wikEdTextify alt':            'Textify',
'wikEdTextify title':          'Convert pasted content to plain text, update highlighting (shift-click: forced highlighting)',
 
// find and replace buttons, top row
'wikEdFindAll alt':            'Find all',
'wikEdFindAll title':          'Find all matches',
'wikEdFindPrev alt':          'Find prev',
'wikEdFindPrev title':        'Find previous match',
'wikEdFindSelect title':      'Select a previous search or jump to a heading',
'wikEdFindNext alt':          'Find next',
'wikEdFindNext title':        'Find next match (shift-click: get selection)',
'wikEdJumpPrev alt':          'Selected prev',
'wikEdJumpPrev title':        'Find the selected text backwards',
'wikEdJumpNext alt':          'Selected next',
'wikEdJumpNext title':        'Find the selected text forwards',
 
// find and replace buttons, bottom row
'wikEdReplaceAll alt':        'Replace all',
'wikEdReplaceAll title':      'Replace all matches in whole text or selection',
'wikEdReplacePrev alt':        'Replace prev',
'wikEdReplacePrev title':      'Replace previous match',
'wikEdReplaceSelect title':    'Select a previous replacement',
'wikEdReplaceNext alt':        'Replace next (shift-click: get selection)',
'wikEdReplaceNext title':      'Replace next match',
'wikEdCaseSensitive alt':      'Case sensitive',
'wikEdCaseSensitive title':    'Search is case sensitive',
'wikEdRegExp alt':            'RegExp',
'wikEdRegExp title':          'Search field is a regular expression',
'wikEdFindAhead alt':          'Find ahead',
'wikEdFindAhead title':        'Find ahead as you type (case-insensitive non-regexp search)',
 
// fix buttons, top row
'wikEdFixBasic alt':          'Fix basic',
'wikEdFixBasic title':        'Fix blanks and empty lines, also done by other fixing functions',
'wikEdFixHtml alt':            'Fix html',
'wikEdFixHtml title':          'Fix html to wikicode',
'wikEdFixCaps alt':            'Fix caps',
'wikEdFixCaps title':          'Fix caps in headers and lists',
'wikEdFixUnicode alt':        'Fix Unicode',
'wikEdFixUnicode title':      'Fix Unicode character representations',
'wikEdFixAll alt':            'Fix all',
'wikEdFixAll title':          'Fix basic, html, capitalization, and Unicode',
'wikEdFixRedirect alt':        'Fix redirects',
'wikEdFixRedirect title':      'Fix redirects',
 
// fix buttons, bottom row
'wikEdFixDashes alt':          'Fix dashes',
'wikEdFixDashes title':        'Fix dashes',
'wikEdFixPunct alt':          'Fix punctuation',
'wikEdFixPunct title':        'Fix spaces before punctuation',
'wikEdFixMath alt':            'Fix math',
'wikEdFixMath title':          'Fix math',
'wikEdFixChem alt':            'Fix chem',
'wikEdFixChem title':          'Fix chemical formulas',
'wikEdFixUnits alt':          'Fix units',
'wikEdFixUnits title':        'Fix units',
'wikEdFixRegExTypo alt':      'Fix typos',
'wikEdFixRegExTypo title':    'Fix typos using the AutoWikiBrowser RegExTypoFixer rules',
 
// wikEd control buttons, top row
'wikEdRefHide alt':            '[REF, TEMPL]',
'wikEdRefHide title':          'Toggle [REF] and [TEMPL] hiding',
'wikEdRefButtonTooltip':      'Click to display hidden reference',
'wikEdTemplButtonTooltip':    'Click to display hidden template',
'wikEdCharEntityButtonTooltip': 'Click to display hidden character entity',
'wikEdRefButtonShowTooltip':  'Click to hide reference',
'wikEdTemplButtonShowTooltip': 'Click to hide template',
'wikEdCharEntityButtonShowTooltip': 'Click to hide character entity',
'wikEdTextZoom alt':          'Text zoom',
'wikEdTextZoom title':        'Text zoom cycling (shift-click: reverse)',
'wikEdClearHistory alt':      'Clear history',
'wikEdClearHistory title':    'Clear the find, replace, and summary history',
'wikEdScrollToPreview alt':    'Scroll to preview',
'wikEdScrollToPreview title':  'Scroll to preview field',
'wikEdScrollToEdit alt':      'Scroll to edit',
'wikEdScrollToEdit title':    'Scroll to edit field',
 
// wikEd control buttons, bottom row
'wikEdUseWikEd alt':          'Use wikEd',
'wikEdUseWikEd title':        'Toggle between classic text area and wikEd',
'wikEdHighlightSyntax alt':    'Syntax',
'wikEdHighlightSyntax title':  'Toggle automatic syntax highlighting',
'wikEdSource alt':            'Source',
'wikEdCloseToolbar title':    'Close the standard non-wikEd toolbar',
'wikEdCloseToolbar alt':      'Close toolbar',
'wikEdSource title':          'Show the source code for testing purposes',
'wikEdUsing alt':              'Using',
'wikEdUsing title':            'Automatically add \'\'…using wikEd\'\' to summaries',
'wikEdDiff alt':              'wikEdDiff',
'wikEdDiff title':            'Toggle automatic improved diff view',
'wikEdFullScreen alt':        'Fullscreen',
'wikEdFullScreen title':      'Toggle the fullscreen mode',
'wikEdTableMode alt':          'Table mode',
'wikEdTableMode title':        'Toggle table edit mode',
 
// summary buttons
'wikEdClearSummary alt':      'Clear summary',
'wikEdClearSummary title':    'Clear the summary field',
'wikEdSummarySelect title':    'Select a previous summary',
'wikEdPresetSummary': [
'/*  */ ', 'copyedit', 'reply', 'article created', 'intro rewrite',
'linkfix', 'fixing typos', 'removing linkspam', 'reverting test',
'reverting vandalism', 'formatting source text', '{wikEdUsing}'
],
'wikEdSummaryUsing':          '…using [[en:User:Cacycle/wikEd|wikEd]]',
 
// button title acceskey
'alt-shift':                  'alt-shift-',
 
// submit buttons
'wikEdLocalPreviewImg alt':    'Preview below',
'wikEdLocalPreview title':    'Show preview below',
'wikEdLocalDiffImg alt':      'Changes below',
'wikEdLocalDiff title':        'Show current changes below',
'wikEdHelpPageLink':          ' | <a href="{wikEdHomeBaseUrl}wiki/User:Cacycle/wikEd_help" target="helpwindow">wikEd help</a>', // use full link without {wikEdHomeBaseUrl} if the page is not on the English Wikipedia
 
// preview and changes buttons, top
'wikEdClose alt':              'Close',
'wikEdClose title':            'Close preview box',
'wikEdClose2 alt':            'Close',
'wikEdClose2 title':          'Close preview box',
'wikEdScrollToPreview2 alt':  'Scroll to preview',
'wikEdScrollToPreview2 title': 'Scroll to preview field',
'wikEdScrollToEdit2 alt':      'Scroll to edit',
'wikEdScrollToEdit2 title':    'Scroll to edit field',
 
// preview and changes buttons, bottom
'wikEdScrollToPreview3 alt':  'Scroll to preview',
'wikEdScrollToPreview3 title': 'Scroll to preview field',
'wikEdScrollToEdit3 alt':      'Scroll to edit',
'wikEdScrollToEdit3 title':    'Scroll to edit field',
 
// preview field
'wikEdPreviewLoading':        '...',
'diffNotLoaded':              'Error: Local diff script not installed.',
 
// formatting functions
'image filename':              'filename',
'image width':                'width',
'table caption':              'caption',
'table heading':              'heading',
'table cell':                  'cell',
'redirect article link':      'article link',
 
// fixing functions
'External links':              'External links',
'See also':                    'See also',
'References':                  'References',
 
// language specific wiki code
'wikicode Image':              'Image',
'wikicode File':              'File',
'wikicode Category':          'Category',
'wikicode Template':          'Template',
'wikEdReferencesSection':      '\n== References ==\n\n<references />\n',
'talk page':                  'talk',
'history page':                'history',
'talk namespace':              'Talk',
'talk namespace suffix':      '_talk', //// in French it is a prefix (Discussion_Utilisateur)
 
// hiding buttons
'hideRef':                    'REF',
'hideTempl':                  'TEMPL',
 
// shortened button texts
'shortenedPreview':            'Preview',
'shortenedChanges':            'Changes',
 
// follow link popup
'followLink':                  '(ctrl-click)',
'followLinkMac':              '(cmd-click)',
 
// error message popups
'wikEdTableModeError':        'The table wikicode contains errors',
 
// auto updating
'wikEdGreasemonkeyAutoUpdate': 'wikEd Update:\n\nA new version of the GreaseMonkey script "wikEd" is available.\n\n\nIt will be downloaded from:\n\n{updateURL}',
 
// highlighting popups
'hyphenDash':                  'Standard hyphen',
'figureDash':                  'Figure dash',
'enDash':                      'En dash',
'emDash':                      'Em dash',
'barDash':                    'Horizontal bar',
'minusDash':                  'Minus sign',
'softHyphen':                  'Soft hyphen',
'tab':                        'Tab',
'enSpace':                    'En space',
'emSpace':                    'Em space',
'thinSpace':                  'Thin space',
'ideographicSpace':            'Ideographic space',
 
// highlighting
'wikEdSignature3':            'Sign with username only',
'wikEdSignature4':            'Sign with user name and date',
'wikEdSignature5':            'Sign with date only',
 
// highlighting errors
'wikEdErrorHtmlUnknown':      'Unsupported HTML tag',
'wikEdErrorBoldItalic':        'Invalid bold / italic',
'wikEdErrorWrongClose':        'Close tag does not match',
'wikEdErrorNoOpen':            'Close tag has no match',
'wikEdErrorNoHandler':        'No handler',
'wikEdErrorNoClose':          'Open tag has no match',
'wikEdErrorNewline':          'Open tag closed by new line',
'wikEdErrorTemplHeading':      'Headings in templates are ignored',
'wikEdErrorTemplParam':        'Template/parameter tags do not match',
'wikEdErrorTemplParamAmbig':  'Template/parameter tags are ambiguous',
'wikEdErrorCodeInLinkName':    'Wikicode in link name',
'wikEdErrorCodeInTemplName':  'Wikicode in template name',
'wikEdErrorCodeInParamName':  'Wikicode in template parameter name',
 
// highlighting image preview
'wikEdFilePreview':            'Image preview',
 
// location search string functions
'iconPage':                    'All icons and images used by wikEd. Save page as <i>web page, complete</i> to download all files into one folder.<br><br>'
 
}, wikEd.config.showMissingTranslations);
};
 
// define built-in user interface texts
wikEd.InitText();
 
// use local copies of images for testing (set to true in local copy of edit page), also defined in wikEdDiff.js
if (typeof(wikEd.config.useLocalImages) == 'undefined') { wikEd.config.useLocalImages = false; }
 
// path to local images for testing, also defined in wikEdDiff.js
if (typeof(wikEd.config.imagePathLocal) == 'undefined') { wikEd.config.imagePathLocal = 'file:///D:/wikEd/images/'; }
 
// path to images, also defined in wikEdDiff.js
if (typeof(wikEd.config.imagePath) == 'undefined') { wikEd.config.imagePath = 'http://upload.wikimedia.org/wikipedia/commons/'; }
 
// image filenames, also defined in wikEdDiff.js
if (typeof(wikEd.config.image) == 'undefined') { wikEd.config.image = {}; }
 
// wikEd.InitImages: define built-in image URLs
wikEd.InitImages = function() {
wikEd.InitImage(wikEd.config.image, {
'barDash':            '5/52/WikEd_bar_dash.png',
'bold':                '5/59/WikEd_bold.png',
'browser':            '0/07/WikEd_disabled.png',
'bulletList':          '6/62/WikEd_bullet_list.png',
'case':                'a/aa/WikEd_case.png',
'caseSensitive':      '0/0d/WikEd_case_sensitive.png',
'clearHistory':        'c/c8/WikEd_clear_history.png',
'clearSummary':        '2/2c/WikEd_clear_summary.png',
'close':              '9/97/WikEd_close.png',
'closeToolbar':        '1/1d/WikEd_close_toolbar.png',
'ctrl':                '1/10/WikEd_ctrl.png',
'definitionList':      'f/f5/WikEd_definition_list.png',
'diff':                'd/db/WikEd_diff.png',
'disabled':            '0/07/WikEd_disabled.png',
'dummy':              'c/c5/WikEd_dummy.png',
'emDash':              '5/58/WikEd_em_dash.png',
'emSpace':            '3/3a/WikEd_em_space.png',
'enDash':              'f/fc/WikEd_en_dash.png',
'enSpace':            '0/04/WikEd_en_space.png',
'error':              '3/3e/WikEd_error.png',
'figureDash':          '2/25/WikEd_figure_dash.png',
'findAhead':          '3/34/WikEd_find_ahead.png',
'findAll':            '7/75/WikEd_find_all.png',
'findNext':            'a/ad/WikEd_find_next.png',
'findPrev':            'f/f5/WikEd_find_prev.png',
'fixAll':              '8/86/WikEd_fix_all.png',
'fixBasic':            '3/30/WikEd_fix_basic.png',
'fixCaps':            '0/00/WikEd_fix_caps.png',
'fixUnicode':          'd/d4/WikEd_fix_unicode.png',
'fixRedirect':        'f/f8/WikEd_fix_redirect.png',
'fixChem':            'e/e7/WikEd_fix_chem.png',
'fixDash':            'e/e5/WikEd_fix_dash.png',
'fixHtml':            '0/05/WikEd_fix_html.png',
'fixMath':            '3/3f/WikEd_fix_math.png',
'fixPunct':            'd/db/WikEd_fix_punct.png',
'fixRegExTypo':        '9/94/WikEd_fix_reg-ex-typo.png',
'fixUnits':            '6/69/WikEd_fix_units.png',
'textZoom':            '7/71/WikEd_font_size.png',
'fullScreen':          'd/d3/WikEd_fullscreen.png',
'getFind':            '9/96/WikEd_get_selection.png',
'grip':                'a/ad/WikEd_grip.png',
'heading':            '0/07/WikEd_heading.png',
'highlightSyntax':    '6/67/WikEd_syntax.png',
'ideographicSpace':    'c/c6/WikEd_ideographic_space.png',
'image':              '3/37/WikEd_image.png',
'incompatible':        '3/3e/WikEd_error.png',
'indentList':          '7/7a/WikEd_indent_list.png',
'italic':              'd/d4/WikEd_italic.png',
'jumpNext':            '5/54/WikEd_jump_next.png',
'logo':                '6/67/WikEd_logo.png',
'minusDash':          'b/ba/WikEd_minus_dash.png',
'noFile':              '8/88/WikEd_no_file.png',
'nowiki':              '5/5a/WikEd_nowiki.png',
'numberList':          '3/3b/WikEd_number_list.png',
'jumpPrev':            'c/c7/WikEd_jump_prev.png',
'preview':            '3/31/WikEd_preview.png',
'redirect':            'f/fa/WikEd_redirect.png',
'redo':                'd/d7/WikEd_redo.png',
'ref':                'b/ba/WikEd_ref.png',
'refHide':            '0/0b/WikEd_ref_hide.png',
'references':          '6/66/WikEd_references.png',
'redoAll':            '2/2d/WikEd_redo_all.png',
'resizeGrip':          'e/e1/WikEd_resize_grip.png',
'regExp':              '6/6a/WikEd_regexp.png',
'replaceAll':          '2/2a/WikEd_replace_all.png',
'replaceNext':        'b/b0/WikEd_replace_next.png',
'replacePrev':        'a/a1/WikEd_replace_prev.png',
'scrollToEdit':        '1/13/WikEd_align_top.png',
'scrollToPreview':    '3/37/WikEd_align_preview.png',
'scrollToEditDown':    'a/a8/WikEd_align_down.png',
'scrollToPreviewDown': '5/58/WikEd_align_preview_down.png',
'softHyphen':          'c/c7/WikEd_soft_hyphen.png',
'sort':                '7/7c/WikEd_sort.png',
'source':              '0/02/WikEd_source.png',
'strikethrough':      '0/06/WikEd_strikethrough.png',
'subscript':          '9/9e/WikEd_subscript.png',
'superscript':        'b/bf/WikEd_superscript.png',
'tab':                'e/e7/WikEd_tab.png',
'table':              'b/bd/WikEd_table.png',
'tableMode':          'e/ee/WikEd_table_edit.png',
'tableBG':            '8/8a/WikEd_unknown.png',
'testVersion':        '3/3e/WikEd_error.png',
'textify':            'c/cd/WikEd_textify.png',
'thinSpace':          '5/56/WikEd_thin_space.png',
'underline':          '2/21/WikEd_underline.png',
'undo':                'e/e6/WikEd_undo.png',
'undoAll':            '0/08/WikEd_undo_all.png',
'unknown':            '8/8a/WikEd_unknown.png',
'useWikEd':            '6/67/WikEd_logo.png',
'using':              'e/e0/WikEd_using.png',
'webLink':            '1/16/WikEd_weblink.png',
'wikEdDiff':          'c/c6/WikEdDiff.png',
'wikify':              '9/9f/WikEd_wikify.png',
'wikiLink':            '2/21/WikEd_wikilink.png'
});
};
 
// edit-frame css rules
if (typeof(wikEd.config.frameCSS) == 'undefined') { wikEd.config.frameCSS = {}; }
 
// wikEd.InitFrameCSS: define built-in edit frame css
wikEd.InitFrameCSS = function() {
wikEd.InitObject(wikEd.config.frameCSS, {
 
// frame
'.wikEdFrameHtml':      'height: 100%; width: 100%; padding: 0; margin: 0; background: transparent; background-image: url({wikEdImage:resizeGrip}); background-attachment: fixed; background-position: right bottom; background-repeat: no-repeat;',
'.wikEdFrameBodyPlain': 'height: auto; min-height: 100%; width: auto; background: transparent; margin: 0; padding: 0; padding-left: 0.25em; overflow: auto; font-family: monospace;',
 
'.wikEdFrameBodySyntax': 'height: auto; min-height: 100%; width: auto; background: transparent; margin: 0; padding: 0; padding-left: 0.25em; overflow: auto; font-family: monospace; text-shadow: white -1px -1px 0, white -1px 0 0, white -1px 1px 0, white 0 -1px 0, white 0 1px 0, white 1px -1px 0, white 1px 0 0, white 1px 1px 0;',
 
'.wikEdFrameBodyNewbie': 'height: auto; min-height: 100%; width: auto; background: transparent; margin: 0; padding: 0; padding-left: 0.25em; overflow: auto; font-family: monospace;',
 
// reselection / scroll to selection
'.wikEdScrollLineHeight': 'position: absolute;',
 
// syntax highlighting
'.wikEdError':          'background-image: url({wikEdImage:unknown}); color: black; font-weight: normal; font-style: normal; text-decoration: none; text-shadow: white -1px -1px 0, white -1px 0 0, white -1px 1px 0, white 0 -1px 0, white 0 1px 0, white 1px -1px 0, white 1px 0 0, white 1px 1px 0;',
'.wikEdHighlightError': 'color: black; background: #faa;',
 
'.wikEdHtml':          'background: #e8e8e8; text-shadow: none;',
'.wikEdHtmlTag':        'color: #777;',
'.wikEdHtmlTagButtons': 'color: #777;',
'.wikEdHtmlUnknown':    'background-image: url({wikEdImage:unknown}); color: black; font-weight: normal; font-style: normal; text-shadow: white -1px -1px 0, white -1px 0 0, white -1px 1px 0, white 0 -1px 0, white 0 1px 0, white 1px -1px 0, white 1px 0 0, white 1px 1px 0;',
'.wikEdParsingNote':    'border: 1px outset #fcc; padding: 0 0.5em 0 0.5em; margin: 0 0.25em 0 0.25em;  color: black; background: #fcc; text-shadow: none; font-weight: normal; font-size: smaller; font-style: normal; text-decoration: none; font-family: sans-serif;',
 
'.wikEdSubscript':      'position: relative; top: 0.3em;',
'.wikEdSuperscript':    'position: relative; top: -0.3em;',
'.wikEdBold':          'font-weight: bold;',
'.wikEdItalic':        'font-style: italic;',
 
'.wikEdComment':        'background: #fff0d0; text-shadow: none; color: black; font-weight: normal; font-style: normal; text-decoration: none;',
'.wikEdKeep':          '',
'.wikEdDel':            'text-decoration: line-through;',
'.wikEdIns':            'text-decoration: underline;',
 
'.wikEdPre':            'background: #e8e8e8; text-shadow: none;',
'.wikEdMath':          'background: #e8e8e8; text-shadow: none;',
'.wikEdNowiki':        'background: #e8e8e8; text-shadow: none;',
 
// horizontal rule
'.wikEdHr':            'background: #666; text-shadow: none; color: #ffffff;',
 
// wiki code
'.wikEdWiki':          'color: #777;',
'.wikEdRedir':          'color: #c00; font-weight: bold;',
'.wikEdSignature':      'color: #f00; font-weight: bold;',
'.wikEdMagic':          'color: #666; font-weight: bold; background: #e8e8e8; text-shadow: none;',
'.wikEdParserFunct':    'color: #f00;',
 
// headings
'.wikEdFrameBodySyntax .wikEdHeading': 'color: #000; font-weight: bold;',
'.wikEdFrameBodySyntax .wikEdHeadingWP': 'color: #000; font-weight: bold; background: #e8e8e8; text-shadow: none;',
'.wikEdFrameBodyNewbie .wikEdHeading':
'color: #000; font-weight: bold; color: #000; background: #eee; padding: 0 0.25em; border: 1px solid #ddd; font-size: larger; line-height: 1.5; text-shadow: white -1px -1px 0; ',
'.wikEdFrameBodyNewbie .wikEdHeadingWP':
'color: #000; font-weight: bold; color: #000; background: #ddd; padding: 0 0.25em; border: 1px solid #ccc; font-size: larger; line-height: 1.5; text-shadow: #eee -1px -1px 0; ',
 
// tables
'.wikEdTable':          'color: #000; background: #e8e8e8; text-shadow: none;',
'.wikEdTableTag':      'color: #777;',
 
// list
'.wikEdList':          'color: #000; background: #e8e8e8; text-shadow: none;',
'.wikEdListTag':        'font-weight: bold; font-family: monospace; vertical-align: text-bottom;',
 
// space-pre
'.wikEdSpace':          'color: #000; background: #e8e8e8; text-shadow: none;',
'.wikEdSpaceTag':      'background: #e8e8e8; text-shadow: none;',
 
// links
'.wikEdLinkTag':        'color: #777;',
 
// wiki links
'.wikEdLink':          '',
'.wikEdLinkCrossNs':    'background: #ddd; text-shadow: none;',
'.wikEdLinkInter':      'color: #000; background: #ddd; text-shadow: none;',
'.wikEdLinkNs':        'color: #000; background: #ddd; text-shadow: none;',
'.wikEdLinkName':      'color: #00e; font-weight: bold;',
'.wikEdLinkTarget':    'color: #00e;',
'.wikEdLinkText':      'color: #00e; font-weight: bold;',
'.wikEdPMID':          'color: #00e;',
'.wikEdISBN':          'color: #00e;',
'.wikEdLinkInter span': 'font-weight: normal;',
'span.wikEdLinkText:hover': 'text-decoration: underline;',
'span.wikEdLinkName:hover': 'text-decoration: underline;',
'span.wikEdPMID:hover': 'text-decoration: underline;',
'span.wikEdISBN:hover': 'text-decoration: underline;',
 
// external links
'.wikEdURL':            '',
'.wikEdURLName':        'color: #00e; font-weight: bold;',
'.wikEdURLTarget':      'color: #00e;',
'.wikEdURLText':        'color: #00e; font-weight: bold;',
'span.wikEdURLName:hover': 'text-decoration: underline;',
'span.wikEdURLText:hover': 'text-decoration: underline;',
 
// images
'.wikEdFile':          'background: rgb(213, 255, 176); background: rgba(199, 255, 149, 0.75); text-shadow: none;',
'.wikEdFrameBodyNewbie .wikEdFile':
'background: rgb(213, 255, 176); padding: 0.25em; margin-right: 0.25em; display: inline-block; border: 1px solid #082; margin: 1px;',
'.wikEdFileTag':        'color: #444;',
'.wikEdFileName':      'color: #00e;',
'.wikEdFileParam':      'color: #666;',
'.wikEdFileCaption':    'color: #000;',
'.wikEdFilePreview':    'border: 1px solid #c0ffa0; background: rgb(192, 192, 192) no-repeat 50% 50%; background: rgba(192, 192, 192, 0.75); text-shadow: none; position: absolute; right: 0; margin: 0.1em 0.25em; z-index: -1; border: none; padding: 1px; display: block;',
'.wikEdFrameBodyNewbie .wikEdFilePreview':
'position: static; float: right; clear: both; background: transparent; padding: 0; ',
 
// categories
'.wikEdCat':            'background: #ccc; text-shadow: none;',
'.wikEdCatName':        'color: #00e;',
'.wikEdCat .wikEdLinkInter': 'color: #000; background: #aaa; text-shadow: none;',
'.wikEdCat .wikEdLinkNs': 'color: #000; background: #ccc; text-shadow: none;',
'.wikEdCat .wikEdLinkText': 'color: #000; font-weight: normal;',
'.wikEdCat span.wikEdLinkText:hover': 'text-decoration: none;',
 
// refs
'.wikEdFrameBodySyntax .wikEdRefContainer': 'display: none;',
 
'.wikEdRefContainer':  'position: relative; top: 1em;',
'.wikEdRefContainer button': 'padding: 0.1em; position: relative; top: -1em;',
 
'.wikEdRefButton':      'border: 1px solid; border-color: #e8e8e8 #444 #444 #e8e8e8; background: #d8d4d0; text-shadow: none;',
'.wikEdRefButtonShow':  'border: 1px solid; border-color: #000 #e8e8e8 #e8e8e8 #000; background: #c8c4c0; text-shadow: none;',
'.wikEdRef, .wikEdRefShow': 'background: #e8e8e8; text-shadow: none; color: #666;',
 
'.wikEdReferences':    'background: #eee; text-shadow: none;',
'.wikEdReferencesTag':  'color: #444;',
'.wikEdFrameBodyNewbie .wikEdReferences':
'background: #eee; padding: 0.25em; display: inline-block; border: 1px solid black; vertical-align: middle;',
'.wikEdRefList':        'background: #eee; text-shadow: none;',
'.wikEdFrameBodyNewbie .wikEdRefList':
'background: #e8e8e8; padding: 0.25em; display: inline-block; border: 1px solid black; vertical-align: middle;',
'.wikEdRefName':        'color: #000;',
 
// templates
'.wikEdFrameBodySyntax .wikEdTemplContainer':  'display: none;',
'.wikEdTemplContainer': 'position: relative; top: 1em;',
'.wikEdTemplContainer button': 'padding: 0.1em; position: relative; top: -1em;',
'.wikEdTemplButton':    'border: 1px solid; border-color: #e8e8e8 #444 #444 #e8e8e8; background: #d8d4d0; text-shadow: none;',
'.wikEdTemplButtonShow': 'border: 1px solid; border-color: #000 #e8e8e8 #e8e8e8 #000; background: #c8c4c0; text-shadow: none;',
 
'.wikEdTempl, .wikEdTemplShow': 'background: #e8e8e8; text-shadow: none; color: #666;',
'.wikEdTemplNs, .wikEdTemplNsShow': 'background: #ccc; text-shadow: none;',
 
'.wikEdTemplTag':      'color: #777;',
'.wikEdTemplName':      'color: #509;',
'.wikEdTemplParam':    '',
'.wikEdTemplMod':      'color: #f00; font-weight: bold;',
 
'.wikEdParam':          'background: #e8e8e8; text-shadow: none;',
'.wikEdParamName':      'color: #900;',
'.wikEdParamDefault':  'color: #000;',
 
// character entities
'.wikEdFrameBodySyntax .wikEdCharEntityContainer':  'display: none;',
 
'.wikEdCharEntityContainer': 'position: relative; right: -0.25em;',
 
'.wikEdCharEntityContainer button':
'padding: 0; color: #000; font-weight: normal; font-family: monospace; position: relative; right: 0.25em; ',
 
'.wikEdCharEntityButton':
'border: 1px solid; border-color: #e8e8e8 #444 #444 #e8e8e8; background: #d8d4d0; border-color: rgba(255, 255, 255, 0.75) rgba(64, 64, 64, 0.5) rgba(64, 64, 64, 0.5) rgba(255, 255, 255, 0.75); background: rgba(192, 192, 192, 0.3); text-shadow: none;',
 
'.wikEdCharEntityButtonShow':
'border: 1px solid; border-color: #000 #e8e8e8 #e8e8e8 #000; background: #c8c4c0; border-color: rgba(64, 64, 64, 0.5) rgba(255, 255, 255, 0.75) rgba(255, 255, 255, 0.75) rgba(64, 64, 64, 0.5); background: rgba(192, 192, 192, 0.3); text-shadow: none;',
 
'.wikEdCharEntity, .wikEdCharEntityShow':
'color: #000; background: #e8e8e8; text-shadow: none;',
 
// links in references and templates
'.wikEdFrameBodySyntax .wikEdRef .wikEdURLName,  .wikEdFrameBodySyntax .wikEdTempl .wikEdURLName,  .wikEdFrameBodySyntax .wikEdRef .wikEdURLTarget,  .wikEdFrameBodySyntax .wikEdTempl .wikEdURLTarget,  .wikEdFrameBodySyntax .wikEdRef .wikEdURLText,  .wikEdFrameBodySyntax .wikEdTempl .wikEdURLText':  'color: #66f; font-weight: normal;',
'.wikEdFrameBodySyntax .wikEdRef .wikEdLinkName, .wikEdFrameBodySyntax .wikEdTempl .wikEdLinkName, .wikEdFrameBodySyntax .wikEdRef .wikEdLinkTarget, .wikEdFrameBodySyntax .wikEdTempl .wikEdLinkTarget, .wikEdFrameBodySyntax .wikEdRef .wikEdLinkText, .wikEdFrameBodySyntax .wikEdTempl .wikEdLinkText': 'color: #66f; font-weight: normal;',
 
// wikEd.frameBodyNewbie ref and template hiding
'.wikEdFrameBodyNewbie .wikEdRefContainer + .wikEdRef, .wikEdFrameBodyNewbie .wikEdTemplContainer + .wikEdTempl, .wikEdFrameBodyNewbie .wikEdTemplContainer .wikEdTemplNs, .wikEdFrameBodyNewbie wikEd.refContainer + .wikEdRefShow, .wikEdFrameBodyNewbie .wikEdTemplContainer + .wikEdTemplShow, .wikEdFrameBodyNewbie .wikEdTemplContainer +  .wikEdTemplNsShow':
'display: none; color: #000; background: #f8f8f8; font-weight: normal; border: 1px solid; border-color: #444 #ccc #ccc #444; padding: 1em 0.25em 1em 0.25em; position: relative;',
 
'.wikEdFrameBodyNewbie .wikEdRefButton:before, .wikEdFrameBodyNewbie .wikEdTemplButton:before, .wikEdFrameBodyNewbie .wikEdRefButtonShow:before, .wikEdFrameBodyNewbie .wikEdTemplButtonShow:before':
'line-height: 0.75em; font-size: 65%; color: #000; font-family: sans-serif;',
 
'.wikEdRefButton:before, .wikEdTemplButton:before, .wikEdRefButtonShow:before, .wikEdTemplButtonShow:before':
'line-height: 0.75em; font-size: 65%; color: #000; font-family: sans-serif;',
 
'.wikEdCharEntityButton:before, .wikEdCharEntityButtonShow:before':
'',
 
'.wikEdFrameBodyNewbie .wikEdRefButton:before, .wikEdFrameBodyNewbie .wikEdRefButtonShow:before':
'content: "{wikEdText:hideRef}"',
 
'.wikEdFrameBodyNewbie .wikEdCharEntity, .wikEdFrameBodyNewbie .wikEdCharEntityShow':
'display: none; color: #000; border: 1px solid; border-color: #444 #ccc #ccc #444; background: #f8f8f8; border-color: rgba(64, 64, 64, 0.5) rgba(255, 255, 255, 0.75) rgba(255, 255, 255, 0.75) rgba(64, 64, 64, 0.5); background: rgba(192, 192, 192, 0.3); font-weight: normal;position: relative;',
 
'.wikEdFrameBodyNewbie .wikEdTemplButton:before, .wikEdFrameBodyNewbie .wikEdTemplButtonShow:before':
'content: "{wikEdText:hideTempl}";',
 
// table edit
'.wikEdTableEdit':      'border: solid black; border-width: 1px 1px 0 0; background: red; text-shadow: none; background-image: url({wikEdImage:tableBG}); border-collapse: separate; border-spacing: 0;',
'.wikEdTableEdit td':  'border: solid black; border-width: 0 0 1px 1px; background: white; text-shadow: none;',
'.wikEdTableEdit th':  'border: solid black; border-width: 0 0 1px 1px; background: lightgrey; text-shadow: none; font-weight: bold;',
'.wikEdTableEdit tr':  'background: lightgrey; text-shadow: none; font-weight: bold;',
'.wikEdTableEdit caption': 'background: lightgrey; text-shadow: none; font-weight: normal;',////
 
// insert wikicode here
'.wikEdInsertHere':    'background: orange; text-shadow: none; font-style: italic;',
 
// colors
'.wikEdColorsLight':    'color: black; text-shadow: none;',
'.wikEdColorsDark':    'color: white; text-shadow: none;',
 
// dashes
'.wikEdFigureDash':    'background-image: url({wikEdImage:figureDash}); background-position: top right; background-repeat: no-repeat;',
'.wikEdEmDash':        'background-image: url({wikEdImage:emDash}); background-position: top left; background-repeat: no-repeat;',
'.wikEdEnDash':        'background-image: url({wikEdImage:enDash}); background-position: top left; background-repeat: no-repeat;',
'.wikEdBarDash':        'background-image: url({wikEdImage:barDash}); background-position: top left; background-repeat: no-repeat;',
'.wikEdMinusDash':      'background-image: url({wikEdImage:minusDash}); background-position: top left; background-repeat: no-repeat;',
'.wikEdSoftHyphen':    'background-image: url({wikEdImage:softHyphen}); background-position: top left; background-repeat: no-repeat;',
'.wikEdSoftHyphen:before': 'content: \'\xa0\'',
'.wikEdHyphenDash':    '',
 
// dashes, invisibles, control chars, and strange spaces
'.wikEdTab':            'white-space: pre; background-image: url({wikEdImage:tab}); background-position: bottom right; background-repeat: no-repeat;',
'.wikEdTabPlain':      'white-space: pre;',
'.wikEdCtrl':          'white-space: pre; background-image: url({wikEdImage:ctrl}); background-position: center center; background-repeat: no-repeat; margin: 0 1px;',
'.wikEdCtrl:before':    'content: \'\xa0\'',
 
'.wikEdEmSpace':        'background-image: url({wikEdImage:emSpace}); background-position: bottom left; background-repeat: no-repeat; margin: 0 1px; padding: 0 3px;',
'.wikEdEnSpace':        'background-image: url({wikEdImage:enSpace}); background-position: bottom left; background-repeat: no-repeat; margin: 0 1px; padding: 0 3px;',
'.wikEdThinSpace':      'background-image: url({wikEdImage:thinSpace}); background-position: bottom left; background-repeat: no-repeat; margin: 0 1px; padding: 0 3px;',
'.wikEdIdeographicSpace': 'background-image: url({wikEdImage:ideographicSpace}); background-position: bottom left; background-repeat: no-repeat; margin: 0 1px; padding: 0 3px;'
});
};
 
// main window css rules
if (typeof(wikEd.config.mainCSS) == 'undefined') { wikEd.config.mainCSS = {}; }
 
// wikEd.InitMainCSS: define built-in main window css
wikEd.InitMainCSS = function() {
wikEd.InitObject(wikEd.config.mainCSS, {
 
// logo
'.wikEdLogoList':              'list-style-type: none;',
'.wikEdLogo':                  'margin-left: 0.5em;',
'.wikEdLogoFallBack':          'margin: 0.25em 0 0.25em 0.5em; float: right;'
});
};
 
// main window css rules for edit pages only
if (typeof(wikEd.config.mainEditCSS) == 'undefined') { wikEd.config.mainEditCSS = {}; }
 
// wikEd.InitMainEditCSS: define built-in main window css for edit pages only
wikEd.InitMainEditCSS = function() {
wikEd.InitObject(wikEd.config.mainEditCSS, {
 
// combo input box
'.wikEdCombo':                'font-size: smaller; padding-left: 0.1em; padding-right: 0.1em; margin: 0 0.1em 0 0.1em; height: 1.6em; vertical-align: bottom;',
 
// wikEd button areas
 
// button bar margins
'.wikEdButtonBarFormat':      'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarTextify':      'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarCustom1':      'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarFind':        'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarFix':          'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarCustom2':      'margin: 0 8px 3px 1px; float: left;',
'.wikEdButtonBarControl':      'margin: 0 1px 3px 0; float: right;',
'.wikEdButtonBarPreview':      'margin: 0 0 0.15em 0.6em; float: right;',
'.wikEdButtonBarPreviewFull':  'margin: -0.2em 0 0 0.6em; float: right;',
'.wikEdButtonBarPreview2':    'margin: 0.2em 0 0.4em 0; float: right;',
'.wikEdButtonBarJump':        'margin: 0 0 0 0.6em; float: right;',
 
// button bar inner wrapper: border (hidden: invisible)
'.wikEdButtonBarInnerWrapperVisible':  'border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
'.wikEdButtonBarInnerWrapperHidden':    '',
 
// button bar grip wrapper: invisible (hidden: border)
'.wikEdButtonBarGripWrapperVisible':    'float: left;',
'.wikEdButtonBarGripWrapperHidden':    'float: left; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
 
// button bar buttons wrapper: invisible (hidden: border)
'.wikEdButtonBarButtonsWrapperVisible': 'float: left; background: #d4d0cc; ',
'.wikEdButtonBarButtonsWrapperHidden':  'float: left; background: #d4d0cc; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0; z-index: 4;',
 
// button bar grip
'.wikEdButtonBarGrip':        'background: #d4d0cc; padding: 0; background-image: url({wikEdImage:grip}); background-repeat: repeat-y; cursor: pointer;',
 
// button bar buttons
'.wikEdButtonsFormat':        'background: #d4d0cc; padding: 2px 2px 0 0px;',
'.wikEdButtonsTextify':        'background: #d4d0cc; padding: 2px 2px 0 0px;',
'.wikEdButtonsCustom1':        'background: #d4d0cc; padding: 2px 2px 0 0px;',
'.wikEdButtonsFind':          'background: #d4d0cc; padding: 0px 2px 0 0px;',
'.wikEdButtonsFix':            'background: #d4d0cc; padding: 2px 2px 0 0px;',
'.wikEdButtonsCustom2':        'background: #d4d0cc; padding: 2px 2px 0 0px;',
'.wikEdButtonsControl':        'background: #d4d0cc; padding: 2px 2px 0 1px;',
 
'.wikEdButtonsPreview':        'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
'.wikEdButtonsPreviewFull':    'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
'.wikEdButtonsPreview2':      'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
'.wikEdButtonsJump':          'background: #d4d0cc; padding: 2px; border: 1px solid; border-color: #e0e0e0 #808080 #808080 #e0e0e0;',
 
// wikEd buttons (!important for devmo skin)
'.wikEdButton':                'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid !important; cursor: pointer;',
'.wikEdButton:hover':          'background: #e4e0dd; border: 1px outset !important; cursor: pointer;',
'.wikEdButton:active':        'background: #e4e0dc; border: 1px inset !important;  cursor: pointer;',
'.wikEdButtonSolo':            'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #d4d0cc; border: 1px #d4d0cc solid !important; cursor: pointer;',
'.wikEdButtonSolo:hover':      'background: #e4e0dd; border: 1px outset !important; cursor: pointer;',
'.wikEdButtonChecked':        'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid !important; border-color: black white white black !important; cursor: pointer;',
'.wikEdButtonUnchecked':      'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ddd8d3; border: 1px solid !important; border-color: white black black white !important; cursor: pointer;',
'.wikEdButtonPressed':        'vertical-align: text-top; font-size: small; text-decoration: none; margin: 1px 2px; padding: 0; background: #ccc8c3; border: 1px solid !important; border-color: black white white black !important; cursor: wait;',
'.wikEdButtonInactive':        'vertical-align: text-top; font-size: small; text-decoration: underline; margin: 1px 2px; padding: 0; background: #c0c0c0; border: 1px #b0b0b0 solid !important; cursor: not-allowed',
'.wikEdLocalPreview':          'vertical-align: top; margin: 0 0.33em 0 0.15em; padding: 0;',
'.wikEdLocalDiff':            'vertical-align: top; margin: 0 0.33em 0 0.15em; padding: 0;',
'input#wpDiff, input#wpPreview': 'margin-right: 0;', // monobook fix
'.wikEdButtonDummy':          'vertical-align: text-top; margin: 1px 2px; padding: 1px; background: #d4d0cc;',
 
// preview box
'.wikEdPreviewBoxOuter':      'clear: both; margin: 0; border-width: 1px; border-style: solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;',
'.wikEdPreviewBox':            'background: #faf8f6; padding: 5px; border-width: 1px; border-style: solid; border-color: #404040 #ffffff #ffffff #404040;',
'.wikEdPreviewRefs':          'margin-top: 1.5em; padding-top: 1em;border-top: 1px solid #a0a0a0;',
'.wikEdPreviewDiffError':      'padding: 0.5em; font-weight: bold; color: red; text-align: center;',
 
// find field
'.wikEdFindComboInput':        'position: relative; padding: 0; margin: 0 0.2em; white-space: nowrap; top: 0; vertical-align: bottom;',
'#wikEdFindText':              'vertical-align: 0%; font-family: monospace; padding: 0; margin: 0; position: absolute; z-index: 2; -moz-box-sizing: content-box; left: 0; top: 1px; height: 14px; width: 170px;',
'#wikEdFindSelect':            'vertical-align: 0%; font-family: monospace; padding: 0; margin: 0; position: relative; z-index: 1; -moz-box-sizing: content-box; left: 0; top: 0px; height: 18px; border: none;',
 
// replace field
'.wikEdReplaceComboInput':    'position: relative; padding: 0; margin: 0 0.2em; white-space: nowrap; top: 0; vertical-align: bottom;',
'#wikEdReplaceText':          'vertical-align: 0%; font-family: monospace; padding: 0; margin: 0; position: absolute; z-index: 2; -moz-box-sizing: content-box; left: 0; top: 1px; height: 14px; width: 170px;',
'#wikEdReplaceSelect':        'vertical-align: 0%; font-family: monospace; padding: 0; margin: 0; position: relative; z-index: 1; -moz-box-sizing: content-box; left: 0; top: 0px; height: 18px; border: none; ',
 
// summary field
'.wikEdSummaryComboInput':    'position: relative; padding: 0; margin: 0 0 0 0.1em; white-space: nowrap; top: 0; vertical-align: text-bottom;',
'.wikEdSummaryText':          'vertical-align: 0%; padding: 0; margin: 0; position: absolute; z-index: 2; -moz-box-sizing: content-box; left: 0; top: 0px; height: 18px; width: auto;',
'.wikEdSummarySelect':        'vertical-align: 0%; padding: 0; margin: 0; position: relative; z-index: 1; -moz-box-sizing: content-box; left: 0; top: 1px; height: 21px; border: none;',
 
// space around submit buttons
'.editButtons':                '',
 
// frame (frame container border will be removed if textarea has none; frame must not have a border)
'.wikEdFrameOuter':            'float: left; width: auto; border: 1px solid; border-color: #808080 #d0d0d0 #d0d0d0 #808080;',
'.wikEdFrameInner':            'float: left; width: auto; background: white; border: 1px solid; border-color: #404040 #ffffff #ffffff #404040;',
'.wikEdFrame':                'border: 0;',
 
// summary
'.wikEdSummaryWrapper':        'margin: 0 0 0.4em 0; width: 100%',
'.wikEdSummaryWrapperTop':    'margin: 0.1em 0 0.4em 0; width: 100%',
'#wpSummaryLabel':            'margin: 0 0.2em 0 0;',
'.editOptions':                'position: relative; top: 0.1em;',
'.wikEdClearSummaryForm':      'display: inline;',
'.wikEdClearSummary':          'vertical-align: middle; margin: 0 0.1em 0 0.5em; padding: 0 0 0.2em 0;',
 
// input wrapper
'.wikEdInputWrapper':          'z-index: 100; clear: both; margin-top: 0.5em;',
'.wikEdInputWrapperFull':      'position: fixed; top: 0; left: 0; right: 0; padding: 4px; background: white; z-index: 100;',
 
// other wrappers
'.wikEdEditorWrapper':        '',
'.wikEdToolbarWrapper':        'margin: 0 0 0.25em 0;',
'.wikEdButtonBarWrapper':      '',
'.wikEdCaptchaWrapper':        '',
'.wikEdDebugWrapper':          'clear: both; margin: 0 0 0.25em 0;',
'.wikEdEditWrapper':          'clear: both;',
'.wikEdTextareaWrapper':      '',
'.wikEdFrameWrapper':          '',
'.wikEdConsoleWrapper':        'clear: both; padding-top: 0.25em;',
'.wikEdButtonsWrapper':        '',
'.wikEdSummaryInputWrapper':  'display: inline; white-space: nowrap;',
'.wikEdSubmitWrapper':        '',
'.wikEdSubmitButtonsWrapper':  'float: left;',
'.wikEdEditOptionsWrapper':    'float: left; margin-right: 1em;',
'.wikEdEditHelp':              'float: left: display: inline-block; white-space: nowrap;',
'.wikEdLocalPrevWrapper':      'margin: 0.5em 0 0 0;',
'.wikEdInsertWrapper':        '',
 
// various
'.wikEdEditOptions':          'display: inline-block; white-space: nowrap; vertical-align: text-top;',
'.wikEdEditOptions LABEL':    'vertical-align: text-bottom;',
'#editpage-specialchars':      'clear: both;',
 
// wDiff
'.wDiffParagraph:before':      'content: "¶";'
});
};
 
// buttons (id, class, popup title, image src, width, height, alt text, click code)
if (typeof(wikEd.config.button) == 'undefined') { wikEd.config.button = {}; }
 
// wikEd.InitButton: define built-in buttons (id, class, popup title, image src, width, height, alt text, click handler code were obj is the button element)
wikEd.InitButton = function() {
wikEd.InitObject(wikEd.config.button, {
 
// workaround for mozilla 3.0 bug 441087: objId = obj.id; eventShiftKey = event.shiftKey;
 
// format top
1: ['wikEdUndo',            'wikEdButtonInactive',  wikEd.config.text['wikEdUndo title'],            wikEd.config.image['undo'],                '16', '16', wikEd.config.text['wikEdUndo alt'],            'wikEd.EditButton(obj, objId);' ],
2: ['wikEdRedo',            'wikEdButtonInactive',  wikEd.config.text['wikEdRedo title'],            wikEd.config.image['redo'],                '16', '16', wikEd.config.text['wikEdRedo alt'],            'wikEd.EditButton(obj, objId);' ],
3: ['wikEdBold',            'wikEdButton',          wikEd.config.text['wikEdBold title'],            wikEd.config.image['bold'],                '16', '16', wikEd.config.text['wikEdBold alt'],            'wikEd.EditButton(obj, objId);' ],
4: ['wikEdItalic',          'wikEdButton',          wikEd.config.text['wikEdItalic title'],          wikEd.config.image['italic'],              '16', '16', wikEd.config.text['wikEdItalic alt'],          'wikEd.EditButton(obj, objId);' ],
5: ['wikEdUnderline',        'wikEdButton',          wikEd.config.text['wikEdUnderline title'],        wikEd.config.image['underline'],          '16', '16', wikEd.config.text['wikEdUnderline alt'],        'wikEd.EditButton(obj, objId);' ],
6: ['wikEdStrikethrough',    'wikEdButton',          wikEd.config.text['wikEdStrikethrough title'],    wikEd.config.image['strikethrough'],      '16', '16', wikEd.config.text['wikEdStrikethrough alt'],    'wikEd.EditButton(obj, objId);' ],
7: ['wikEdNowiki',          'wikEdButton',          wikEd.config.text['wikEdNowiki title'],          wikEd.config.image['nowiki'],              '16', '16', wikEd.config.text['wikEdNowiki alt'],          'wikEd.EditButton(obj, objId);' ],
8: ['wikEdSuperscript',      'wikEdButton',          wikEd.config.text['wikEdSuperscript title'],      wikEd.config.image['superscript'],        '16', '16', wikEd.config.text['wikEdSuperscript alt'],      'wikEd.EditButton(obj, objId);' ],
9: ['wikEdSubscript',        'wikEdButton',          wikEd.config.text['wikEdSubscript title'],        wikEd.config.image['subscript'],          '16', '16', wikEd.config.text['wikEdSubscript alt'],        'wikEd.EditButton(obj, objId);' ],
10: ['wikEdRef',              'wikEdButton',          wikEd.config.text['wikEdRef title'],              wikEd.config.image['ref'],                '16', '16', wikEd.config.text['wikEdRef alt'],              'if (!eventShiftKey) { wikEd.EditButton(obj, \'wikEdRef\'); } else { wikEd.EditButton(obj, \'wikEdRefNamed\'); }' ],
12: ['wikEdCase',            'wikEdButton',          wikEd.config.text['wikEdCase title'],            wikEd.config.image['case'],                '16', '16', wikEd.config.text['wikEdCase alt'],            'wikEd.EditButton(obj, objId);' ],
80: ['wikEdSort',            'wikEdButton',          wikEd.config.text['wikEdSort title'],            wikEd.config.image['sort'],                '16', '16', wikEd.config.text['wikEdSort alt'],            'wikEd.EditButton(obj, objId);' ],
25: ['wikEdRedirect',        'wikEdButton',          wikEd.config.text['wikEdRedirect title'],        wikEd.config.image['redirect'],            '16', '16', wikEd.config.text['wikEdRedirect alt'],        'wikEd.EditButton(obj, objId);' ],
13: ['wikEdUndoAll',          'wikEdButton',          wikEd.config.text['wikEdUndoAll title'],          wikEd.config.image['undoAll'],            '16', '16', wikEd.config.text['wikEdUndoAll alt'],          'wikEd.EditButton(obj, objId);' ],
14: ['wikEdRedoAll',          'wikEdButtonInactive',  wikEd.config.text['wikEdRedoAll title'],          wikEd.config.image['redoAll'],            '16', '16', wikEd.config.text['wikEdRedoAll alt'],          'wikEd.EditButton(obj, objId);' ],
 
// format bottom
15: ['wikEdWikiLink',        'wikEdButton',          wikEd.config.text['
}
}
}
if(!modelID) return;
if (eventAlt != null) {
var overlayNode = $('<div class="viewer-3d-overlay"></div>');
event = eventAlt;
var frameN = v.find('.viewer-3d-frame');
event.stopPropagation = function() {
v.find('img').detach();
event.cancelBubble = true;
var klasses = v.attr('class').split(/ /g);
};
var startFrame = 0;
event.preventDefault = function() {
for(var k in klasses) {
event.returnValue = false;
if(klasses[k].substr(0, 11) == 'startframe-') {
};
startFrame = Math.max(0, parseInt(klasses[k].substr(11)));
if (event.target == null) {
event.target = event.srcElement;
}
if (event.currentTarget == null) {
event.currentTarget = thisElement;
}
if (event.relatedTarget == null) {
if (event.type == 'mouseout') {
event.relatedTarget = event.toElement;
}
else if (event.type == 'mouseover') {
event.relatedTarget = event.fromElement;
}
}
}
 
// avoid strange Mozilla security error https://bugzilla.mozilla.org/show_bug.cgi?id=101197, fixed in FF3.6
if ( (event.type == 'mouseout') || (event.type == 'mouseover') ) {
event.safeRelatedTarget = event.relatedTarget;
if (wikEd.mozilla == true) {
try {
event.safeRelatedTarget.toString();
}
catch(error) {
event.safeRelatedTarget = null;
}
}
}
return(event);
};
 
 
//
// wikEd.GetElementsByClassName: cross browser / backwards compatibility wrapper
//
 
wikEd.GetElementsByClassName = function(className, tagName, parent) {
 
if (parent == null) {
parent = document.body;
}
 
// new browsers
var nodeList = [];
if (document.getElementsByClassName != null) {
nodeList = parent.getElementsByClassName(className);
}
 
// querySelector (IE8 standards mode)
else if (parent.querySelectorAll != null) {
nodeList = parent.querySelectorAll(tagName + '.' + className);
}
 
// all others (slow)
else {
var tags = parent.getElementsByTagName(tagName);
for (var i = 0; i < tags.length; i ++) {
if (tags[i].className == className) {
nodeList.push(tags[i]);
}
}
}
}
}
var viewer = {
return(nodeList);
node: v,
};
frameX: startFrame,
 
frameY: midVertical,
 
models: allModels,
//
currentModel: -1,
// wikEd.GetPreviousSiblingNode: getPreviousSibling, ignore non-element nodes such as comments
frameNode: frameN,
//
width: viewerSize,
 
height: viewerSize,
wikEd.GetPreviousSiblingNode = function(node) {
mouseX: 0,
 
mouseY: 0,
while (node != null) {
overlay: overlayNode
node = node.previousSibling;
};
if (node == null) {
viewer3d.viewers.push(viewer);
break;
v.hover(viewer3d.hover, viewer3d.unhover).mousedown(viewer3d.drag).append(overlayNode).attr('data-id', num).css({
}
width: viewer.width + 'px',
if (node.nodeType == node.ELEMENT_NODE) {
height: viewer.height + 'px'
break;
});
}
frameN.mousedown(viewer3d.drag).attr('data-id', num).css('height', viewer.height + 'px');
}
viewer3d.changeVersion(viewer, 0);
return(node);
},
};
getCurrentModel: function(v) {
 
return v.models[v.currentModel];
 
},
//
changeVersion: function(v, version) {
// wikEd.GetNextSiblingNode: getNextSibling, ignore non-element nodes such as comments
version = Math.max(0, Math.min(v.models.length - 1, version));
//
if(v.currentModel == version) return;
 
v.currentModel = version;
wikEd.GetNextSiblingNode = function(node) {
v.frameNode.css('background', 'url(' + viewer3d.getCurrentModel(v).imageURL + ') top left no-repeat');
 
viewer3d.display(v, v.frameX, v.frameY);
while (node != null) {
},
node = node.nextSibling;
hover: function(e) {
if (node == null) {
var v = viewer3d.getViewer(this);
break;
if(viewer3d.dragging != v) {
}
v.overlay.animate({'opacity': '1'}, 'fast');
if (node.nodeType == node.ELEMENT_NODE) {
}
break;
},
}
unhover: function(e) {
}
var v = viewer3d.getViewer(this);
return(node);
if(viewer3d.dragging != v) {
};
v.overlay.animate({'opacity': '0.5'}, 'fast');
 
 
//
// wikEd.GetFirstChildNode: getFirstChild, ignore non-element nodes such as comments
//
 
wikEd.GetFirstChildNode = function(node) {
 
if (node != null) {
node = node.firstChild;
wikEd.GetNextSiblingNode(node);
}
return(node);
};
 
 
//
// wikEd.GetLastChildNode: getLastChild, ignore non-element nodes such as comments
//
 
wikEd.GetLastChildNode = function(node) {
 
if (node != null) {
node = node.lastChild;
wikEd.GetPreviousSiblingNode(node);
return(node);
}
};
 
 
//
// wikEd.CreateRandomString: create random string of specified length and character set (code copied to wikEdDiff.js)
//
 
wikEd.CreateRandomString = function(strLength, charSet) {
 
if (charSet == null) {
charSet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789';
}
var str = '';
for (var i = 0; i < strLength; i ++) {
str += charSet.charAt(Math.floor(Math.random() * charSet.length));
}
return(str);
};
 
 
//
// wikEd.Debug: print the value of variables
//  use either a single value or a description followed by a value
//  popup = true: use alert popup if debug textarea is not yet setup
//
 
wikEd.Debug = function(objectName, object, usePopup) {
 
// string
var value = '';
if (typeof(object) == 'string') {
value = ': ' + '"' + object + '"';
}
 
// objects
else if (typeof(object) == 'object') {
 
// null
if (object == null) {
value = ': [null]';
}
}
 
},
// whole parse tree array
drag: function(e) {
// { 'tag': , 'parent': , 'firstChild': , 'nextSibling': , 'start': , 'tagLength': , 'type': , 'pairedTagPos': , 'left': , 'right': , 'index': }
var v = viewer3d.getViewer(this);
else if ( (typeof(object[0]) == 'object') && (typeof(object[0].type) == 'string') ) {
v.mouseX = e.pageX;
value = ': Parse tree full:\n';
v.mouseY = e.pageY;
for (var i = 0; i < object.length; i ++) {
viewer3d.dragging = v;
value += i + ': ';
draggingFrameX = v.frameX;
var node = object[i];
draggingFrameY = v.frameY;
if (node == null) {
return false;
value += '(null)\n';
},
}
release: function() {
else {
var v = viewer3d.dragging;
if (node.type == 'root') {
viewer3d.dragging = null;
value += '[type: "' + node.type + '"]\n';
if(v != null) {
}
v.frameX = viewer3d.draggingFrameX;
else {
v.frameY = viewer3d.draggingFrameY;
value += '[type: "' + node.type + '", tag: "' + node.tag + '", start: ' + node.start + ', tagLength: ' + node.tagLength + ', parent: ' + node.parent;
v.overlay.animate({'opacity': '0.5'}, 'fast');
if (typeof(node.left) == 'string') {
value += ', left: "' + node.left + '", right: "' + node.right + '"';
}
value += '],\n';
}
}
}
}
}
 
viewer3d.draggingFrameX = 0;
// whole parse tree up
viewer3d.draggingFrameY = 0;
else if ( (typeof(object.tree) == 'object') && (typeof(object.lastOpenNode) == 'number') ) {
},
value = ': Parse tree upwards:\n';
getViewer: function(node) {
var parseTreeIndex = object.lastOpenNode;
return viewer3d.viewers[parseInt($(node).attr('data-id'))];
var node = object.tree[parseTreeIndex];
},
while (node != null) {
display: function(v, frameX, frameY) {
if (node.type == 'root') {
var model = viewer3d.getCurrentModel(v);
value += parseTreeIndex + ': [type: "' + node.type + '"]\n';
var frameID = viewer3d.realMod(frameX * model.xStep + frameY, model.map.length);
}
var frameOffset = model.map[frameID];
else {
var frameWidth = 0;
value += parseTreeIndex + ': [type: "' + node.type + '", tag: "' + node.tag + '", start: ' + node.start + ', tagLength: ' + node.tagLength + ', parent: ' + node.parent;
if(frameID == model.map.length - 1) {
if (typeof(node.left) == 'string') {
frameWidth = model.totalWidth - frameOffset;
value += ', left: "' + node.left + '", right: "' + node.right + '"';
} else {
}
frameWidth = model.map[frameID + 1] - frameOffset;
value += '],\n';
}
if (node.parent == parseTreeIndex) {
value += '(circular reference, break)';
break;
}
parseTreeIndex = node.parent;
node = object.tree[node.parent];
}
}
}
 
v.frameNode.css({
// parse tree node
backgroundPosition: (-frameOffset - frameID) + 'px 0px',
// { 'tag': , 'parent': , 'firstChild': , 'nextSibling': , 'start': , 'tagLength': , 'type': , 'pairedTagPos': , 'left': , 'right': , 'index': }
left: Math.round((v.width - model.maxFrameWidth) / 2.0 + model.cropMap[frameID]) + 'px',
else if (typeof(object.type) == 'string') {
top: Math.round((v.height - model.totalHeight) / 2) + 'px',
var node = object;
width: frameWidth + 'px',
if (node.type == 'root') {
height: model.totalHeight + 'px'
value = ': [type: "' + node.type + '"]';
});
}
},
else {
move: function(e) {
value = ': [tag: "' + node.tag + '", type: "' + node.type + '", start: ' + node.start + ', tagLength: ' + node.tagLength + ', parent: ' + node.parent + ']';
if(viewer3d.dragging == null) {
}
return;
}
 
// DOM nodes
else if (typeof(object.nodeName) == 'string') {
value = ': [node; nodeName: ' + object.nodeName;
if (typeof(object.id) == 'string') {
if (object.id != '') {
value += ', id: "' + object.id + '"';
}
}
if (typeof(object.className) == 'string') {
if (object.className != '') {
value += ', class: "' + object.className + '"';
}
}
if (typeof(object.nodeValue) == 'string') {
value += ', nodeValue: "' + object.nodeValue + '"';
}
if ( (object.innerHTML != null) && (object.innerHTML != '') ) {
var html = object.innerHTML;
if (html.length > wikEd.config.debugInnerHtmlLength) {
html = html.substr(0, wikEd.config.debugInnerHtmlLength - 3) + '...';
}
value += ', innerHTML: "' + html + '"';
}
value += ']';
}
 
// default
else {
value = ': [' + object + ']';
}
}
var v = viewer3d.dragging;
var model = viewer3d.getCurrentModel(v);
var mouseDeltaX = e.pageX - v.mouseX;
var mouseDeltaY = e.pageY - v.mouseY;
var frameDeltaX = Math.round(mouseDeltaX / viewer3d.frameThresholdX);
var frameDeltaY = -Math.round(mouseDeltaY / viewer3d.frameThresholdY);
viewer3d.draggingFrameX = v.frameX + frameDeltaX;
viewer3d.draggingFrameY = Math.max(0, Math.min(model.xStep - 1, v.frameY + frameDeltaY));
viewer3d.display(v, viewer3d.draggingFrameX, viewer3d.draggingFrameY);
}
}
 
};
// undefined
$(viewer3d.init);
else if (typeof(object) == 'undefined') {
var selector3d = {
value = '';
bind: function() {
}
var viewer = viewer3d.getViewer($(this).find('.viewer-3d'));
 
var keepGoing = true;
// default
var modelVariant = 0;
else {
var selector;
value = ': ' + object;
while(keepGoing) {
}
selector = $(this).find('.selector-' + modelVariant);
 
if(selector.length) {
// use debug textarea
selector.attr('data-variant', modelVariant).click(function() {
var useDebug = false;
viewer3d.changeVersion(viewer, parseInt($(this).attr('data-variant')));
if (typeof(wikEd.debug) != 'undefined') {
return false;
if (wikEd.debug != null) {
});
useDebug = true;
}
}
if (useDebug == true) {
if (wikEd.debugOpen == false) {
wikEd.debugWrapper.style.visibility = 'visible';
wikEd.debug.style.display = 'block';
window.scroll(0, wikEd.GetOffsetTop(wikEd.debug));
wikEd.debugOpen = true;
}
if (objectName == null) {
wikEd.debug.value = '';
}
else {
 
// cut text if having reached maximum length
value = objectName + value + '\n';
if (wikEd.debug.value.length > wikEd.config.debugMaxLength) {
wikEd.debug.value = value + wikEd.debug.value.substr(0, wikEd.config.debugMaxLength * 2 / 3);
}
else {
wikEd.debug.value = value + wikEd.debug.value;
}
}
modelVariant++;
keepGoing = selector.length;
}
}
},
init: function() {
$('.viewer-3d-multi').each(selector3d.bind);
}
}
// use popup alert
else if (usePopup == true) {
if (object == null) {
alert(objectName);
}
else {
alert(objectName + ': ' + value);
}
}
// use error console
else {
var msg;
if (object == null) {
msg = objectName + '';
}
else {
msg = objectName + ': ' + value;
}
wikEd.ConsoleLog(msg);
}
return;
};
//
// wikEd.ConsoleLog: log message to console
//
wikEd.ConsoleLog = function(msg) {
if ( (typeof(mw) == 'object') && (typeof(mw.log) == 'function') ) {
mw.log(msg);
}
else {
msg = msg.replace(/([\'\\])/g, '\\$1');
setTimeout('throw new Error(\'wikEd.ConsoleLog: ' + msg + '\')', 0);
}
return;
};
//
// wikEd.DebugTimer: show all measured timepoints
//  add a new time measurement: wikEd.debugTimer.push([1234, new Date]);
wikEd.DebugTimer = function() {
var times = '';
var start = wikEd.debugTimer[0][1].getTime();
var prev = 0;
for (var i = 0; i < wikEd.debugTimer.length; i ++) {
var curr = wikEd.debugTimer[i][1].getTime() - start;
var diff = curr - prev;
prev = curr;
times += wikEd.debugTimer[i][0] + ': ' + curr + ' ms (+ ' + diff + ' ms)\n';
}
wikEd.Debug(times);
wikEd.debugTimer = [];
};
//
// wikEd.InsertTags: overrides the insertTags function in wikibits.js used by the standard button toolbar and the editpage special chars
//
wikEd.InsertTags = function(openTag, closeTag, sampleText) {
if (wikEd.useWikEd == true) {
wikEd.EditButton(document.getElementById('wikEdInsertTags'), 'wikEdInsertTags', [openTag, closeTag, sampleText]);
}
else if (wikEd.InsertTagsOriginal != null) {
wikEd.InsertTagsOriginal(openTag, closeTag, sampleText);
}
return;
};
//
// wikEd.InsertAtCursor: overrides the insertAtCursor function in wikia.com MediaWiki:Functions.js
//
wikEd.InsertAtCursor = function(myField, myValue) {
if (wikEd.useWikEd == true) {
if (myField == wikEd.textarea) {
wikEd.EditButton(document.getElementById('wikEdInsertTags'), 'wikEdInsertTags', [ myValue ]);
}
}
else if (wikEd.InsertAtCursorOriginal != null) {
wikEd.InsertAtCursorOriginal(myField, myValue);
}
return;
};
};
$(selector3d.init);


 
// Google Analytics/Flattr; do not track if user is on Tor.
//
if(location.host.indexOf('.onion') == -1) {
// wikEd.ExecuteHook: executes scheduled custom functions from functionsHook array (code copied to wikEdDiff.js)
var _gaq = _gaq || [];
//
_gaq.push(['_setAccount', 'UA-22928841-2']);
 
_gaq.push(['_trackPageview']);
wikEd.ExecuteHook = function(functionsHook, onlyOnce) {
_gaq.push(['_trackPageLoadTime']);
 
(function() {
for (var i = 0; i < functionsHook.length; i ++) {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
if (typeof(functionsHook[i]) == 'function') {
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
functionsHook[i]();
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}
})();
}
}
if (onlyOnce == true) {
functionsHook = [];
}
return;
};
 
 
//
// wikEd.InitUnicode: define character tables used in wikEd.FixUnicode()
//  see http://kmi.open.ac.uk/projects/ceryle/doc/docs/NOTE-charents.html
 
wikEd.InitUnicode = function() {
 
// define only once
if (wikEd.supportedChars != null) {
return;
}
 
// supported chars in Mozilla and IE
wikEd.supportedChars = [
[  'a1', 'iexcl'],  // ¡
[  'a2', 'cent'],  // ¢
[  'a3', 'pound'],  // £
[  'a4', 'curren'], // ¤
[  'a5', 'yen'],    // ¥
[  'a6', 'brvbar'], // ¦
[  'a7', 'sect'],  // §
[  'a8', 'uml'],    // ¨
[  'a9', 'copy'],  // ©
[  'aa', 'ordf'],  // ª
[  'ab', 'laquo'],  // «
[  'ac', 'not'],    // ¬
[  'ae', 'reg'],    // ®
[  'af', 'macr'],  // ¯
[  'b0', 'deg'],    // °
[  'b1', 'plusmn'], // ±
[  'b2', 'sup2'],  // ²
[  'b3', 'sup3'],  // ³
[  'b4', 'acute'],  // ´
[  'b5', 'micro'],  // µ
[  'b6', 'para'],  // ¶
[  'b7', 'middot'], // ·
[  'b8', 'cedil'],  // ¸
[  'b9', 'sup1'],  // ¹
[  'ba', 'ordm'],  // º
[  'bb', 'raquo'],  // »
[  'bc', 'frac14'], // ¼
[  'bd', 'frac12'], // ½
[  'be', 'frac34'], // ¾
[  'bf', 'iquest'], // ¿
[  'c0', 'Agrave'], // À
[  'c1', 'Aacute'], // Á
[  'c2', 'Acirc'],  // Â
[  'c3', 'Atilde'], // Ã
[  'c4', 'Auml'],  // Ä
[  'c5', 'Aring'],  // Å
[  'c6', 'AElig'],  // Æ
[  'c7', 'Ccedil'], // Ç
[  'c8', 'Egrave'], // È
[  'c9', 'Eacute'], // É
[  'ca', 'Ecirc'],  // Ê
[  'cb', 'Euml'],  // Ë
[  'cc', 'Igrave'], // Ì
[  'cd', 'Iacute'], // Í
[  'ce', 'Icirc'],  // Î
[  'cf', 'Iuml'],  // Ï
[  'd0', 'ETH'],    // Ð
[  'd1', 'Ntilde'], // Ñ
[  'd2', 'Ograve'], // Ò
[  'd3', 'Oacute'], // Ó
[  'd4', 'Ocirc'],  // Ô
[  'd5', 'Otilde'], // Õ
[  'd6', 'Ouml'],  // Ö
[  'd7', 'times'],  // ×
[  'd8', 'Oslash'], // Ø
[  'd9', 'Ugrave'], // Ù
[  'da', 'Uacute'], // Ú
[  'db', 'Ucirc'],  // Û
[  'dc', 'Uuml'],  // Ü
[  'dd', 'Yacute'], // Ý
[  'de', 'THORN'],  // Þ
[  'df', 'szlig'],  // ß
[  'e0', 'agrave'], // à
[  'e1', 'aacute'], // á
[  'e2', 'acirc'],  // â
[  'e3', 'atilde'], // ã
[  'e4', 'auml'],  // ä
[  'e5', 'aring'],  // å
[  'e6', 'aelig'],  // æ
[  'e7', 'ccedil'], // ç
[  'e8', 'egrave'], // è
[  'e9', 'eacute'], // é
[  'ea', 'ecirc'],  // ê
[  'eb', 'euml'],  // ë
[  'ec', 'igrave'], // ì
[  'ed', 'iacute'], // í
[  'ee', 'icirc'],  // î
[  'ef', 'iuml'],  // ï
[  'f0', 'eth'],    // ð
[  'f1', 'ntilde'], // ñ
[  'f2', 'ograve'], // ò
[  'f3', 'oacute'], // ó
[  'f4', 'ocirc'],  // ô
[  'f5', 'otilde'], // õ
[  'f6', 'ouml'],  // ö
[  'f7', 'divide'], // ÷
[  'f8', 'oslash'], // ø
[  'f9', 'ugrave'], // ù
[  'fa', 'uacute'], // ú
[  'fb', 'ucirc'],  // û
[  'fc', 'uuml'],  // ü
[  'fd', 'yacute'], // ý
[  'fe', 'thorn'],  // þ
[  'ff', 'yuml'],  // ÿ
[  '27', 'apos'],  // '
[  '22', 'quot'],  // "
[ '152', 'OElig'],  // Œ
[ '153', 'oelig'],  // œ
[ '160', 'Scaron'], // Š
[ '161', 'scaron'], // š
[ '178', 'Yuml'],  // Ÿ
[ '2c6', 'circ'],  // ˆ
[ '2dc', 'tilde'],  // ˜
['2013', 'ndash'],  // –
['2014', 'mdash'],  // —
['2018', 'lsquo'],  // ‘
['2019', 'rsquo'],  // ’
['201a', 'sbquo'],  // ‚
['201c', 'ldquo'],  // “
['201d', 'rdquo'],  // ”
['201e', 'bdquo'],  // „
['2020', 'dagger'], // †
['2021', 'Dagger'], // ‡
['2030', 'permil'], // ‰
['2039', 'lsaquo'], // ‹
['203a', 'rsaquo'], // ›
['20ac', 'euro'],  // €
[ '192', 'fnof'],  // ƒ
[ '391', 'Alpha'],  // Α
[ '392', 'Beta'],  // Β
[ '393', 'Gamma'],  // Γ
[ '394', 'Delta'],  // Δ
[ '395', 'Epsilon'],// Ε
[ '396', 'Zeta'],  // Ζ
[ '397', 'Eta'],    // Η
[ '398', 'Theta'],  // Θ
[ '399', 'Iota'],  // Ι
[ '39a', 'Kappa'],  // Κ
[ '39b', 'Lambda'], // Λ
[ '39c', 'Mu'],    // Μ
[ '39d', 'Nu'],    // Ν
[ '39e', 'Xi'],    // Ξ
[ '39f', 'Omicron'],// Ο
[ '3a0', 'Pi'],    // Π
[ '3a1', 'Rho'],    // Ρ
[ '3a3', 'Sigma'],  // Σ
[ '3a4', 'Tau'],    // Τ
[ '3a5', 'Upsilon'],// Υ
[ '3a6', 'Phi'],    // Φ
[ '3a7', 'Chi'],    // Χ
[ '3a8', 'Psi'],    // Ψ
[ '3a9', 'Omega'],  // Ω
[ '3b1', 'alpha'],  // α
[ '3b2', 'beta'],  // β
[ '3b3', 'gamma'],  // γ
[ '3b4', 'delta'],  // δ
[ '3b5', 'epsilon'],// ε
[ '3b6', 'zeta'],  // ζ
[ '3b7', 'eta'],    // η
[ '3b8', 'theta'],  // θ
[ '3b9', 'iota'],  // ι
[ '3ba', 'kappa'],  // κ
[ '3bb', 'lambda'], // λ
[ '3bc', 'mu'],    // μ
[ '3bd', 'nu'],    // ν
[ '3be', 'xi'],    // ξ
[ '3bf', 'omicron'],// ο
[ '3c0', 'pi'],    // π
[ '3c1', 'rho'],    // ρ
[ '3c2', 'sigmaf'], // ς
[ '3c3', 'sigma'],  // σ
[ '3c4', 'tau'],    // τ
[ '3c5', 'upsilon'],// υ
[ '3c6', 'phi'],    // φ
[ '3c7', 'chi'],    // χ
[ '3c8', 'psi'],    // ψ
[ '3c9', 'omega'],  // ω
['2022', 'bull'],  // •
['2026', 'hellip'], // …
['2032', 'prime'],  // ′
['2033', 'Prime'],  // ″
['203e', 'oline'],  // ‾
['2044', 'frasl'],  // ⁄
['2122', 'trade'],  // ™
['2190', 'larr'],  // ←
['2191', 'uarr'],  // ↑
['2192', 'rarr'],  // →
['2193', 'darr'],  // ↓
['2194', 'harr'],  // ↔
['21d2', 'rArr'],  // ⇒
['21d4', 'hArr'],  // ⇔
['2200', 'forall'], // ∀
['2202', 'part'],  // ∂
['2203', 'exist'],  // ∃
['2207', 'nabla'],  // ∇
['2208', 'isin'],  // ∈
['220b', 'ni'],    // ∋
['220f', 'prod'],  // ∏
['2211', 'sum'],    // ∑
['2212', 'minus'],  // −
['221a', 'radic'],  // √
['221d', 'prop'],  // ∝
['221e', 'infin'],  // ∞
['2220', 'ang'],    // ∠
['2227', 'and'],    // ∧
['2228', 'or'],    // ∨
['2229', 'cap'],    // ∩
['222a', 'cup'],    // ∪
['222b', 'int'],    // ∫
['2234', 'there4'], // ∴
['223c', 'sim'],    // ∼
['2248', 'asymp'],  // ≈
['2260', 'ne'],    // ≠
['2261', 'equiv'],  // ≡
['2264', 'le'],    // ≤
['2265', 'ge'],    // ≥
['2282', 'sub'],    // ⊂
['2283', 'sup'],    // ⊃
['2286', 'sube'],  // ⊆
['2287', 'supe'],  // ⊇
['2295', 'oplus'],  // ⊕
['25ca', 'loz'],    // ◊
['2660', 'spades'], // ♠
['2663', 'clubs'],  // ♣
['2665', 'hearts'], // ♥
['2666', 'diams']  // ♦
];
 
// reserved for internal wikEd use
wikEd.reservedChars = [
[  '26', 'amp'],    // &
[  '3c', 'lt'],    // <
[  '3e', 'gt'],    // >
[  'a0', 'nbsp']    //
];
 
// special chars (spaces and invisible characters)
wikEd.specialChars = [
['2002', 'ensp'],  //   en space
[  'ad', 'shy'],    // ­ soft hyphen
['2003', 'emsp'],  //   em space
['2009', 'thinsp'], //   thin space
['200c', 'zwnj'],  // ‌ zero width non-joiner
['200d', 'zwj'],    // ‍ zero width joiner
['200e', 'lrm'],    // ‎ left-to-right mark
['200f', 'rlm']    // ‏ right-to-left mark
];
 
// unsupported chars in IE6
wikEd.problemChars = [
[ '3d1', 'thetasym'], // ϑ
[ '3d2', 'upsih'],    // ϒ
[ '3d6', 'piv'],      // ϖ
['2118', 'weierp'],  // ℘
['2111', 'image'],    // ℑ
['211c', 'real'],    // ℜ
['2135', 'alefsym'],  // ℵ
['21b5', 'crarr'],    // ↵
['21d0', 'lArr'],    // ⇐
['21d1', 'uArr'],    // ⇑
['21d3', 'dArr'],    // ⇓
['2205', 'empty'],    // ∅
['2209', 'notin'],    // ∉
['2217', 'lowast'],  // ∗
['2245', 'cong'],    // ≅
['2284', 'nsub'],    // ⊄
['22a5', 'perp'],    // ⊥
['2297', 'otimes'],  // ⊗
['22c5', 'sdot'],    // ⋅
['2308', 'lceil'],    // ⌈
['2309', 'rceil'],    // ⌉
['230a', 'lfloor'],  // ⌊
['230b', 'rfloor'],  // ⌋
['2329', 'lang'],    // 〈
['232a', 'rang']      // 〉
];
 
 
// index to all existing 253 HTML/XHTML character entities
var allCharEntities = wikEd.supportedChars.concat(wikEd.reservedChars, wikEd.specialChars, wikEd.problemChars);
for (var i = 0; i < allCharEntities.length; i ++) {
wikEd.charEntitiesByName[ allCharEntities[i][1] ] = String.fromCharCode(parseInt(allCharEntities[i][0], 16));
}
 
// syntax highlighting of ASCII control characters and invisibles (decimal value, title)
wikEd.controlCharHighlighting = {
'0': 'null',
'1': 'start of heading',
'2': 'start of text',
'3': 'end of text',
'4': 'end of transmission',
'5': 'enquiry',
'6': 'acknowledge',
'7': 'bell',
'8': 'backspace',
'11': 'vertical tab',
'12': 'form feed, new page',
'14': 'shift out',
'15': 'shift in',
'16': 'data link escape',
'17': 'device control 1',
'18': 'device control 2',
'19': 'device control 3',
'20': 'device control 4',
'21': 'negative acknowledge',
'22': 'synchronous idle',
'23': 'end of trans. block',
'24': 'cancel',
'25': 'end of medium',
'26': 'substitute',
'27': 'escape',
'28': 'file separator',
'29': 'group separator',
'30': 'record separator',
'31': 'unit separator',
'8204': 'zero width non-joiner', // \u200c
'8205': 'zero width joiner',    // \u200d
'8206': 'left-to-right mark',    // \u200e
'8207': 'right-to-left mark',    // \u200f
'8232': 'line separator',        // \u2028
'8233': 'paragraph separator'    // \u2028
};
for (var decimalValue in wikEd.controlCharHighlighting) {
if (wikEd.controlCharHighlighting.hasOwnProperty(decimalValue) == true) {
wikEd.controlCharHighlightingStr += '\\' + String.fromCharCode(decimalValue);
}
}
 
// character syntax highlighting: strange spaces, hyphens, and dashes (decimal value, class = title)
wikEd.charHighlighting = {
'9':    'tab',        // \u0009 ' '
'8194':  'enSpace',    // \u2002 ' '
'8195':  'emSpace',    // \u2003 ' '
'8201':  'thinSpace',  // \u2009 ' '
'12288': 'ideographicSpace', // \u3000 ' '
'45':    'hyphenDash', // \u00a0 '-'
'173':  'softHyphen', // \u00ad '­'
'8210':  'figureDash', // \u2012 '‒'
'8211':  'enDash',    // \u2013 '–'
'8212':  'emDash',    // \u2014 '—'
'8213':  'barDash',    // \u2015 '―'
'8722':  'minusDash'  // \u2212 '−'
};
for (var decimalValue in wikEd.charHighlighting) {
if (wikEd.charHighlighting.hasOwnProperty(decimalValue) == true) {
wikEd.charHighlightingStr += '\\' + String.fromCharCode(decimalValue);
}
}
 
// UniCode support for regexps, from http://xregexp.com/plugins/xregexp-unicode-base.js and /xregexp-unicode-categories.js
wikEd.letters = '0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC'.replace(/(\w{4})/g, '\\u$1');
 
return;
};
// call startup
wikEd.Startup();
// End wikEd
 
// Google Analytics
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-22928841-2']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);
(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

Latest revision as of 14:39, 4 November 2024

/* jQuery plugins */

/**
 * Cookie plugin
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * https://opensource.org/licenses/mit-license.php
 * https://www.gnu.org/licenses/gpl.html
 */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};

/* End jQuery plugins */

/* JW Player */
if(typeof jwplayer=="undefined"){var jwplayer=function(a){if(jwplayer.api){return jwplayer.api.selectPlayer(a)}};var $jw=jwplayer;jwplayer.version="5.6.1768";(function(b){b.utils=function(){};b.utils.typeOf=function(d){var c=typeof d;if(c==="object"){if(d){if(d instanceof Array){c="array"}}else{c="null"}}return c};b.utils.extend=function(){var c=b.utils.extend["arguments"];if(c.length>1){for(var e=1;e<c.length;e++){for(var d in c[e]){c[0][d]=c[e][d]}}return c[0]}return null};b.utils.clone=function(f){var c;var d=b.utils.clone["arguments"];if(d.length==1){switch(b.utils.typeOf(d[0])){case"object":c={};for(var e in d[0]){c[e]=b.utils.clone(d[0][e])}break;case"array":c=[];for(var e in d[0]){c[e]=b.utils.clone(d[0][e])}break;default:return d[0];break}}return c};b.utils.extension=function(c){c=c.substring(c.lastIndexOf("/")+1,c.length);c=c.split("?")[0];if(c.lastIndexOf(".")>-1){return c.substr(c.lastIndexOf(".")+1,c.length).toLowerCase()}return};b.utils.html=function(c,d){c.innerHTML=d};b.utils.wrap=function(c,d){c.parentNode.replaceChild(d,c);d.appendChild(c)};b.utils.ajax=function(g,f,c){var e;if(window.XMLHttpRequest){e=new XMLHttpRequest()}else{e=new ActiveXObject("Microsoft.XMLHTTP")}e.onreadystatechange=function(){if(e.readyState===4){if(e.status===200){if(f){f(e)}}else{if(c){c(g)}}}};try{e.open("GET",g,true);e.send(null)}catch(d){if(c){c(g)}}return e};b.utils.load=function(d,e,c){d.onreadystatechange=function(){if(d.readyState===4){if(d.status===200){if(e){e()}}else{if(c){c()}}}}};b.utils.find=function(d,c){return d.getElementsByTagName(c)};b.utils.append=function(c,d){c.appendChild(d)};b.utils.isIE=function(){return((!+"\v1")||(typeof window.ActiveXObject!="undefined"))};b.utils.isLegacyAndroid=function(){var c=navigator.userAgent.toLowerCase();return(c.match(/android 2.[012]/i)!==null)};b.utils.isIOS=function(){var c=navigator.userAgent.toLowerCase();return(c.match(/iP(hone|ad)/i)!==null)};b.utils.getFirstPlaylistItemFromConfig=function(c){var d={};var e;if(c.playlist&&c.playlist.length){e=c.playlist[0]}else{e=c}d.file=e.file;d.levels=e.levels;d.streamer=e.streamer;d.playlistfile=e.playlistfile;d.provider=e.provider;if(!d.provider){if(d.file&&(d.file.toLowerCase().indexOf("youtube.com")>-1||d.file.toLowerCase().indexOf("youtu.be")>-1)){d.provider="youtube"}if(d.streamer&&d.streamer.toLowerCase().indexOf("rtmp://")==0){d.provider="rtmp"}if(e.type){d.provider=e.type.toLowerCase()}}return d};b.utils.getOuterHTML=function(d){if(d.outerHTML){return d.outerHTML}else{var e=d.parentNode;var c=document.createElement(e.tagName);var g=document.createElement(d.tagName);e.replaceChild(g,d);c.appendChild(d);var f=c.innerHTML;e.replaceChild(d,g);return f}};b.utils.setOuterHTML=function(f,e){if(f.outerHTML){f.outerHTML=e}else{var g=document.createElement("div");g.innerHTML=e;var c=document.createRange();c.selectNodeContents(g);var d=c.extractContents();f.parentNode.insertBefore(d,f);f.parentNode.removeChild(f)}};b.utils.hasFlash=function(){if(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]!="undefined"){return true}if(typeof window.ActiveXObject!="undefined"){try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash");return true}catch(c){}}return false};b.utils.getPluginName=function(c){if(c.lastIndexOf("/")>=0){c=c.substring(c.lastIndexOf("/")+1,c.length)}if(c.lastIndexOf("-")>=0){c=c.substring(0,c.lastIndexOf("-"))}if(c.lastIndexOf(".swf")>=0){c=c.substring(0,c.lastIndexOf(".swf"))}if(c.lastIndexOf(".js")>=0){c=c.substring(0,c.lastIndexOf(".js"))}return c};b.utils.getPluginVersion=function(c){if(c.lastIndexOf("-")>=0){if(c.lastIndexOf(".js")>=0){return c.substring(c.lastIndexOf("-")+1,c.lastIndexOf(".js"))}else{if(c.lastIndexOf(".swf")>=0){return c.substring(c.lastIndexOf("-")+1,c.lastIndexOf(".swf"))}else{return c.substring(c.lastIndexOf("-")+1)}}}return""};b.utils.getAbsolutePath=function(j,h){if(h===undefined){h=document.location.href}if(j===undefined){return undefined}if(a(j)){return j}var k=h.substring(0,h.indexOf("://")+3);var g=h.substring(k.length,h.indexOf("/",k.length+1));var d;if(j.indexOf("/")===0){d=j.split("/")}else{var e=h.split("?")[0];e=e.substring(k.length+g.length+1,e.lastIndexOf("/"));d=e.split("/").concat(j.split("/"))}var c=[];for(var f=0;f<d.length;f++){if(!d[f]||d[f]===undefined||d[f]=="."){continue}else{if(d[f]==".."){c.pop()}else{c.push(d[f])}}}return k+g+"/"+c.join("/")};function a(d){if(d===null){return}var e=d.indexOf("://");var c=d.indexOf("?");return(e>0&&(c<0||(c>e)))}b.utils.pluginPathType={ABSOLUTE:"ABSOLUTE",RELATIVE:"RELATIVE",CDN:"CDN"};b.utils.getPluginPathType=function(d){if(typeof d!="string"){return}d=d.split("?")[0];var e=d.indexOf("://");if(e>0){return b.utils.pluginPathType.ABSOLUTE}var c=d.indexOf("/");var f=b.utils.extension(d);if(e<0&&c<0&&(!f||!isNaN(f))){return b.utils.pluginPathType.CDN}return b.utils.pluginPathType.RELATIVE};b.utils.mapEmpty=function(c){for(var d in c){return false}return true};b.utils.mapLength=function(d){var c=0;for(var e in d){c++}return c};b.utils.log=function(d,c){if(typeof console!="undefined"&&typeof console.log!="undefined"){if(c){console.log(d,c)}else{console.log(d)}}};b.utils.css=function(d,g,c){if(d!==undefined){for(var e in g){try{if(typeof g[e]==="undefined"){continue}else{if(typeof g[e]=="number"&&!(e=="zIndex"||e=="opacity")){if(isNaN(g[e])){continue}if(e.match(/color/i)){g[e]="#"+b.utils.strings.pad(g[e].toString(16),6)}else{g[e]=Math.ceil(g[e])+"px"}}}d.style[e]=g[e]}catch(f){}}}};b.utils.isYouTube=function(c){return(c.indexOf("youtube.com")>-1||c.indexOf("youtu.be")>-1)};b.utils.transform=function(c,d){c.style.webkitTransform=d;c.style.MozTransform=d;c.style.OTransform=d};b.utils.stretch=function(h,m,l,f,k,g){if(typeof l=="undefined"||typeof f=="undefined"||typeof k=="undefined"||typeof g=="undefined"){return}var d=l/k;var e=f/g;var j=0;var i=0;m.style.overflow="hidden";b.utils.transform(m,"");var c={};switch(h.toUpperCase()){case b.utils.stretching.NONE:c.width=k;c.height=g;break;case b.utils.stretching.UNIFORM:if(d>e){c.width=k*e;c.height=g*e}else{c.width=k*d;c.height=g*d}break;case b.utils.stretching.FILL:if(d>e){c.width=k*d;c.height=g*d}else{c.width=k*e;c.height=g*e}break;case b.utils.stretching.EXACTFIT:b.utils.transform(m,["scale(",d,",",e,")"," translate(0px,0px)"].join(""));c.width=k;c.height=g;break;default:break}c.top=(f-c.height)/2;c.left=(l-c.width)/2;b.utils.css(m,c)};b.utils.stretching={NONE:"NONE",FILL:"FILL",UNIFORM:"UNIFORM",EXACTFIT:"EXACTFIT"};b.utils.deepReplaceKeyName=function(h,e,c){switch(b.utils.typeOf(h)){case"array":for(var g=0;g<h.length;g++){h[g]=b.utils.deepReplaceKeyName(h[g],e,c)}break;case"object":for(var f in h){var d=f.replace(new RegExp(e,"g"),c);h[d]=b.utils.deepReplaceKeyName(h[f],e,c);if(f!=d){delete h[f]}}break}return h};b.utils.isInArray=function(e,d){if(!(e)||!(e instanceof Array)){return false}for(var c=0;c<e.length;c++){if(d===e[c]){return true}}return false}})(jwplayer);(function(a){a.events=function(){};a.events.COMPLETE="COMPLETE";a.events.ERROR="ERROR"})(jwplayer);(function(jwplayer){jwplayer.events.eventdispatcher=function(debug){var _debug=debug;var _listeners;var _globallisteners;this.resetEventListeners=function(){_listeners={};_globallisteners=[]};this.resetEventListeners();this.addEventListener=function(type,listener,count){try{if(_listeners[type]===undefined){_listeners[type]=[]}if(typeof(listener)=="string"){eval("listener = "+listener)}_listeners[type].push({listener:listener,count:count})}catch(err){jwplayer.utils.log("error",err)}return false};this.removeEventListener=function(type,listener){try{for(var listenerIndex=0;listenerIndex<_listeners[type].length;listenerIndex++){if(_listeners[type][lisenterIndex].toString()==listener.toString()){_listeners[type].slice(lisenterIndex,lisenterIndex+1);break}}}catch(err){jwplayer.utils.log("error",err)}return false};this.addGlobalListener=function(listener,count){try{if(typeof(listener)=="string"){eval("listener = "+listener)}_globallisteners.push({listener:listener,count:count})}catch(err){jwplayer.utils.log("error",err)}return false};this.removeGlobalListener=function(listener){try{for(var globalListenerIndex=0;globalListenerIndex<_globallisteners.length;globalListenerIndex++){if(_globallisteners[globalListenerIndex].toString()==listener.toString()){_globallisteners.slice(globalListenerIndex,globalListenerIndex+1);break}}}catch(err){jwplayer.utils.log("error",err)}return false};this.sendEvent=function(type,data){if(data===undefined){data={}}if(_debug){jwplayer.utils.log(type,data)}if(typeof _listeners[type]!="undefined"){for(var listenerIndex=0;listenerIndex<_listeners[type].length;listenerIndex++){try{_listeners[type][listenerIndex].listener(data)}catch(err){jwplayer.utils.log("There was an error while handling a listener: "+err.toString(),_listeners[type][listenerIndex].listener)}if(_listeners[type][listenerIndex]){if(_listeners[type][listenerIndex].count===1){delete _listeners[type][listenerIndex]}else{if(_listeners[type][listenerIndex].count>0){_listeners[type][listenerIndex].count=_listeners[type][listenerIndex].count-1}}}}}for(var globalListenerIndex=0;globalListenerIndex<_globallisteners.length;globalListenerIndex++){try{_globallisteners[globalListenerIndex].listener(data)}catch(err){jwplayer.utils.log("There was an error while handling a listener: "+err.toString(),_globallisteners[globalListenerIndex].listener)}if(_globallisteners[globalListenerIndex]){if(_globallisteners[globalListenerIndex].count===1){delete _globallisteners[globalListenerIndex]}else{if(_globallisteners[globalListenerIndex].count>0){_globallisteners[globalListenerIndex].count=_globallisteners[globalListenerIndex].count-1}}}}}}})(jwplayer);(function(a){var b={};a.utils.animations=function(){};a.utils.animations.transform=function(c,d){c.style.webkitTransform=d;c.style.MozTransform=d;c.style.OTransform=d;c.style.msTransform=d};a.utils.animations.transformOrigin=function(c,d){c.style.webkitTransformOrigin=d;c.style.MozTransformOrigin=d;c.style.OTransformOrigin=d;c.style.msTransformOrigin=d};a.utils.animations.rotate=function(c,d){a.utils.animations.transform(c,["rotate(",d,"deg)"].join(""))};a.utils.cancelAnimation=function(c){delete b[c.id]};a.utils.fadeTo=function(l,f,e,i,h,d){if(b[l.id]!=d&&d!==undefined){return}var c=new Date().getTime();if(d>c){setTimeout(function(){a.utils.fadeTo(l,f,e,i,0,d)},d-c)}l.style.display="block";if(i===undefined){i=l.style.opacity===""?1:l.style.opacity}if(l.style.opacity==f&&l.style.opacity!==""&&d!==undefined){if(f===0){l.style.display="none"}return}if(d===undefined){d=c;b[l.id]=d}if(h===undefined){h=0}var j=(c-d)/(e*1000);j=j>1?1:j;var k=f-i;var g=i+(j*k);if(g>1){g=1}else{if(g<0){g=0}}l.style.opacity=g;if(h>0){b[l.id]=d+h*1000;a.utils.fadeTo(l,f,e,i,0,b[l.id]);return}setTimeout(function(){a.utils.fadeTo(l,f,e,i,0,d)},10)}})(jwplayer);(function(a){a.utils.arrays=function(){};a.utils.arrays.indexOf=function(c,d){for(var b=0;b<c.length;b++){if(c[b]==d){return b}}return -1};a.utils.arrays.remove=function(c,d){var b=a.utils.arrays.indexOf(c,d);if(b>-1){c.splice(b,1)}}})(jwplayer);(function(a){a.utils.extensionmap={"3gp":{html5:"video/3gpp",flash:"video"},"3gpp":{html5:"video/3gpp"},"3g2":{html5:"video/3gpp2",flash:"video"},"3gpp2":{html5:"video/3gpp2"},flv:{flash:"video"},f4a:{html5:"audio/mp4"},f4b:{html5:"audio/mp4",flash:"video"},f4v:{html5:"video/mp4",flash:"video"},mov:{html5:"video/quicktime",flash:"video"},m4a:{html5:"audio/mp4",flash:"video"},m4b:{html5:"audio/mp4"},m4p:{html5:"audio/mp4"},m4v:{html5:"video/mp4",flash:"video"},mp4:{html5:"video/mp4",flash:"video"},rbs:{flash:"sound"},aac:{html5:"audio/aac",flash:"video"},mp3:{html5:"audio/mp3",flash:"sound"},ogg:{html5:"audio/ogg"},ogv:{html5:"video/ogg"},webm:{html5:"video/webm"},m3u8:{html5:"audio/x-mpegurl"},gif:{flash:"image"},jpeg:{flash:"image"},jpg:{flash:"image"},swf:{flash:"image"},png:{flash:"image"},wav:{html5:"audio/x-wav"}}})(jwplayer);(function(e){e.utils.mediaparser=function(){};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","data-jw-width":"width","data-jw-bitrate":"bitrate"},video:{poster:"image"}};var f={};e.utils.mediaparser.parseMedia=function(i){return d(i)};function c(j,i){if(i===undefined){i=g[j]}else{e.utils.extend(i,g[j])}return i}function d(m,i){if(f[m.tagName.toLowerCase()]&&(i===undefined)){return f[m.tagName.toLowerCase()](m)}else{i=c("element",i);var n={};for(var j in i){if(j!="length"){var l=m.getAttribute(j);if(!(l===""||l===undefined||l===null)){n[i[j]]=m.getAttribute(j)}}}var k=m.style["#background-color"];if(k&&!(k=="transparent"||k=="rgba(0, 0, 0, 0)")){n.screencolor=k}return n}}function h(n,k){k=c("media",k);var l=[];var j=e.utils.selectors("source",n);for(var m in j){if(!isNaN(m)){l.push(a(j[m]))}}var o=d(n,k);if(o.file!==undefined){l[0]={file:o.file}}o.levels=l;return o}function a(k,j){j=c("source",j);var i=d(k,j);i.width=i.width?i.width:0;i.bitrate=i.bitrate?i.bitrate:0;return i}function b(k,j){j=c("video",j);var i=h(k,j);return i}f.media=h;f.audio=h;f.source=a;f.video=b})(jwplayer);(function(a){a.utils.loaderstatus={NEW:"NEW",LOADING:"LOADING",ERROR:"ERROR",COMPLETE:"COMPLETE"};a.utils.scriptloader=function(c){var d=a.utils.loaderstatus.NEW;var b=new a.events.eventdispatcher();a.utils.extend(this,b);this.load=function(){if(d==a.utils.loaderstatus.NEW){d=a.utils.loaderstatus.LOADING;var e=document.createElement("script");e.onload=function(f){d=a.utils.loaderstatus.COMPLETE;b.sendEvent(a.events.COMPLETE)};e.onerror=function(f){d=a.utils.loaderstatus.ERROR;b.sendEvent(a.events.ERROR)};e.onreadystatechange=function(){if(e.readyState=="loaded"||e.readyState=="complete"){d=a.utils.loaderstatus.COMPLETE;b.sendEvent(a.events.COMPLETE)}};document.getElementsByTagName("head")[0].appendChild(e);e.src=c}};this.getStatus=function(){return d}}})(jwplayer);(function(a){a.utils.selectors=function(b,d){if(d===undefined){d=document}b=a.utils.strings.trim(b);var c=b.charAt(0);if(c=="#"){return d.getElementById(b.substr(1))}else{if(c=="."){if(d.getElementsByClassName){return d.getElementsByClassName(b.substr(1))}else{return a.utils.selectors.getElementsByTagAndClass("*",b.substr(1))}}else{if(b.indexOf(".")>0){selectors=b.split(".");return a.utils.selectors.getElementsByTagAndClass(selectors[0],selectors[1])}else{return d.getElementsByTagName(b)}}}return null};a.utils.selectors.getElementsByTagAndClass=function(e,h,g){elements=[];if(g===undefined){g=document}var f=g.getElementsByTagName(e);for(var d=0;d<f.length;d++){if(f[d].className!==undefined){var c=f[d].className.split(" ");for(var b=0;b<c.length;b++){if(c[b]==h){elements.push(f[d])}}}}return elements}})(jwplayer);(function(a){a.utils.strings=function(){};a.utils.strings.trim=function(b){return b.replace(/^\s*/,"").replace(/\s*$/,"")};a.utils.strings.pad=function(c,d,b){if(!b){b="0"}while(c.length<d){c=b+c}return c};a.utils.strings.serialize=function(b){if(b==null){return null}else{if(b=="true"){return true}else{if(b=="false"){return false}else{if(isNaN(Number(b))||b.length>5||b.length==0){return b}else{return Number(b)}}}}};a.utils.strings.seconds=function(d){d=d.replace(",",".");var b=d.split(":");var c=0;if(d.substr(-1)=="s"){c=Number(d.substr(0,d.length-1))}else{if(d.substr(-1)=="m"){c=Number(d.substr(0,d.length-1))*60}else{if(d.substr(-1)=="h"){c=Number(d.substr(0,d.length-1))*3600}else{if(b.length>1){c=Number(b[b.length-1]);c+=Number(b[b.length-2])*60;if(b.length==3){c+=Number(b[b.length-3])*3600}}else{c=Number(d)}}}}return c};a.utils.strings.xmlAttribute=function(b,c){for(var d in b.attributes){if(b.attributes[d].name&&b.attributes[d].name.toLowerCase()==c.toLowerCase()){return b.attributes[d].value.toString()}}return""};a.utils.strings.jsonToString=function(f){var h=h||{};if(h&&h.stringify){return h.stringify(f)}var c=typeof(f);if(c!="object"||f===null){if(c=="string"){f='"'+f+'"'}else{return String(f)}}else{var g=[],b=(f&&f.constructor==Array);for(var d in f){var e=f[d];switch(typeof(e)){case"string":e='"'+e+'"';break;case"object":if(e!==null){e=a.utils.strings.jsonToString(e)}break}if(b){if(typeof(e)!="function"){g.push(String(e))}}else{if(typeof(e)!="function"){g.push('"'+d+'":'+String(e))}}}if(b){return"["+String(g)+"]"}else{return"{"+String(g)+"}"}}}})(jwplayer);(function(c){var d=new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/);c.utils.typechecker=function(g,f){f=f===null?b(g):f;return e(g,f)};function b(f){var g=["true","false","t","f"];if(g.toString().indexOf(f.toLowerCase().replace(" ",""))>=0){return"boolean"}else{if(d.test(f)){return"color"}else{if(!isNaN(parseInt(f,10))&&parseInt(f,10).toString().length==f.length){return"integer"}else{if(!isNaN(parseFloat(f))&&parseFloat(f).toString().length==f.length){return"float"}}}}return"string"}function e(g,f){if(f===null){return g}switch(f){case"color":if(g.length>0){return a(g)}return null;case"integer":return parseInt(g,10);case"float":return parseFloat(g);case"boolean":if(g.toLowerCase()=="true"){return true}else{if(g=="1"){return true}}return false}return g}function a(f){switch(f.toLowerCase()){case"blue":return parseInt("0000FF",16);case"green":return parseInt("00FF00",16);case"red":return parseInt("FF0000",16);case"cyan":return parseInt("00FFFF",16);case"magenta":return parseInt("FF00FF",16);case"yellow":return parseInt("FFFF00",16);case"black":return parseInt("000000",16);case"white":return parseInt("FFFFFF",16);default:f=f.replace(/(#|0x)?([0-9A-F]{3,6})$/gi,"$2");if(f.length==3){f=f.charAt(0)+f.charAt(0)+f.charAt(1)+f.charAt(1)+f.charAt(2)+f.charAt(2)}return parseInt(f,16)}return parseInt("000000",16)}})(jwplayer);(function(a){var c={};var b={};a.plugins=function(){};a.plugins.loadPlugins=function(e,d){b[e]=new a.plugins.pluginloader(new a.plugins.model(c),d);return b[e]};a.plugins.registerPlugin=function(h,f,e){var d=a.utils.getPluginName(h);if(c[d]){c[d].registerPlugin(h,f,e)}else{a.utils.log("A plugin ("+h+") was registered with the player that was not loaded. Please check your configuration.");for(var g in b){b[g].pluginFailed()}}}})(jwplayer);(function(a){a.plugins.model=function(b){this.addPlugin=function(c){var d=a.utils.getPluginName(c);if(!b[d]){b[d]=new a.plugins.plugin(c)}return b[d]}}})(jwplayer);(function(a){a.plugins.pluginmodes={FLASH:"FLASH",JAVASCRIPT:"JAVASCRIPT",HYBRID:"HYBRID"};a.plugins.plugin=function(b){var d="https://plugins.longtailvideo.com";var i=a.utils.loaderstatus.NEW;var j;var h;var k;var c=new a.events.eventdispatcher();a.utils.extend(this,c);function e(){switch(a.utils.getPluginPathType(b)){case a.utils.pluginPathType.ABSOLUTE:return b;case a.utils.pluginPathType.RELATIVE:return a.utils.getAbsolutePath(b,window.location.href);case a.utils.pluginPathType.CDN:var m=a.utils.getPluginName(b);var l=a.utils.getPluginVersion(b);return d+"/"+a.version.split(".")[0]+"/"+m+"/"+m+(l!==""?("-"+l):"")+".js"}}function g(l){k=setTimeout(function(){i=a.utils.loaderstatus.COMPLETE;c.sendEvent(a.events.COMPLETE)},1000)}function f(l){i=a.utils.loaderstatus.ERROR;c.sendEvent(a.events.ERROR)}this.load=function(){if(i==a.utils.loaderstatus.NEW){if(b.lastIndexOf(".swf")>0){j=b;i=a.utils.loaderstatus.COMPLETE;c.sendEvent(a.events.COMPLETE);return}i=a.utils.loaderstatus.LOADING;var l=new a.utils.scriptloader(e());l.addEventListener(a.events.COMPLETE,g);l.addEventListener(a.events.ERROR,f);l.load()}};this.registerPlugin=function(n,m,l){if(k){clearTimeout(k);k=undefined}if(m&&l){j=l;h=m}else{if(typeof m=="string"){j=m}else{if(typeof m=="function"){h=m}else{if(!m&&!l){j=n}}}}i=a.utils.loaderstatus.COMPLETE;c.sendEvent(a.events.COMPLETE)};this.getStatus=function(){return i};this.getPluginName=function(){return a.utils.getPluginName(b)};this.getFlashPath=function(){if(j){switch(a.utils.getPluginPathType(j)){case a.utils.pluginPathType.ABSOLUTE:return j;case a.utils.pluginPathType.RELATIVE:if(b.lastIndexOf(".swf")>0){return a.utils.getAbsolutePath(j,window.location.href)}return a.utils.getAbsolutePath(j,e());case a.utils.pluginPathType.CDN:if(j.indexOf("-")>-1){return j+"h"}return j+"-h"}}return null};this.getJS=function(){return h};this.getPluginmode=function(){if(typeof j!="undefined"&&typeof h!="undefined"){return a.plugins.pluginmodes.HYBRID}else{if(typeof j!="undefined"){return a.plugins.pluginmodes.FLASH}else{if(typeof h!="undefined"){return a.plugins.pluginmodes.JAVASCRIPT}}}};this.getNewInstance=function(m,l,n){return new h(m,l,n)};this.getURL=function(){return b}}})(jwplayer);(function(a){a.plugins.pluginloader=function(h,e){var g={};var j=a.utils.loaderstatus.NEW;var d=false;var b=false;var c=new a.events.eventdispatcher();a.utils.extend(this,c);function f(){if(!b){b=true;j=a.utils.loaderstatus.COMPLETE;c.sendEvent(a.events.COMPLETE)}}function i(){if(!b){var l=0;for(plugin in g){var k=g[plugin].getStatus();if(k==a.utils.loaderstatus.LOADING||k==a.utils.loaderstatus.NEW){l++}}if(l==0){f()}}}this.setupPlugins=function(m,k,r){var l={length:0,plugins:{}};var o={length:0,plugins:{}};for(var n in g){var p=g[n].getPluginName();if(g[n].getFlashPath()){l.plugins[g[n].getFlashPath()]=k.plugins[n];l.plugins[g[n].getFlashPath()].pluginmode=g[n].getPluginmode();l.length++}if(g[n].getJS()){var q=document.createElement("div");q.id=m.id+"_"+p;q.style.position="absolute";q.style.zIndex=o.length+10;o.plugins[p]=g[n].getNewInstance(m,k.plugins[n],q);o.length++;if(typeof o.plugins[p].resize!="undefined"){m.onReady(r(o.plugins[p],q,true));m.onResize(r(o.plugins[p],q))}}}m.plugins=o.plugins;return l};this.load=function(){j=a.utils.loaderstatus.LOADING;d=true;for(var k in e){g[k]=h.addPlugin(k);g[k].addEventListener(a.events.COMPLETE,i);g[k].addEventListener(a.events.ERROR,i)}for(k in e){g[k].load()}d=false;i()};this.pluginFailed=function(){f()};this.getStatus=function(){return j}}})(jwplayer);(function(b){var a=[];b.api=function(d){this.container=d;this.id=d.id;var l={};var p={};var c=[];var h=undefined;var k=false;var i=[];var n=b.utils.getOuterHTML(d);var o={};var j={};this.getBuffer=function(){return this.callInternal("jwGetBuffer")};this.getContainer=function(){return this.container};function e(q){return function(v,r,s,t){var u;if(r){j[v]=r;u="jwplayer('"+q+"').callback('"+v+"')"}else{if(!r&&j[v]){delete j[v]}}h.jwDockSetButton(v,u,s,t)}}this.getPlugin=function(r){var q=this.callInternal;if(r=="dock"){return{setButton:e(this.id),show:function(){return q("jwShowDock")},hide:function(){return q("jwHideDock")}}}else{if(r=="controlbar"){return{show:function(){return q("jwShowControlbar")},hide:function(){return q("jwHideControlbar")}}}else{if(r=="display"){return{show:function(){return q("jwShowDisplay")},hide:function(){return q("jwHideDisplay")}}}}}return this.plugins[r]};this.callback=function(q){if(j[q]){return j[q]()}};this.getDuration=function(){return this.callInternal("jwGetDuration")};this.getFullscreen=function(){return this.callInternal("jwGetFullscreen")};this.getHeight=function(){return this.callInternal("jwGetHeight")};this.getLockState=function(){return this.callInternal("jwGetLockState")};this.getMeta=function(){return this.getItemMeta()};this.getMute=function(){return this.callInternal("jwGetMute")};this.getPlaylist=function(){var r=this.callInternal("jwGetPlaylist");if(this.renderingMode=="flash"){b.utils.deepReplaceKeyName(r,"__dot__",".")}for(var q=0;q<r.length;q++){if(r[q].index===undefined){r[q].index=q}}return r};this.getPlaylistItem=function(q){if(q===undefined){q=this.getCurrentItem()}return this.getPlaylist()[q]};this.getPosition=function(){return this.callInternal("jwGetPosition")};this.getRenderingMode=function(){return this.renderingMode};this.getState=function(){return this.callInternal("jwGetState")};this.getVolume=function(){return this.callInternal("jwGetVolume")};this.getWidth=function(){return this.callInternal("jwGetWidth")};this.setFullscreen=function(q){if(q===undefined){this.callInternal("jwSetFullscreen",!this.callInternal("jwGetFullscreen"))}else{this.callInternal("jwSetFullscreen",q)}return this};this.setMute=function(q){if(q===undefined){this.callInternal("jwSetMute",!this.callInternal("jwGetMute"))}else{this.callInternal("jwSetMute",q)}return this};this.lock=function(){return this};this.unlock=function(){return this};this.load=function(q){this.callInternal("jwLoad",q);return this};this.playlistItem=function(q){this.callInternal("jwPlaylistItem",q);return this};this.playlistPrev=function(){this.callInternal("jwPlaylistPrev");return this};this.playlistNext=function(){this.callInternal("jwPlaylistNext");return this};this.resize=function(r,q){if(this.renderingMode=="html5"){h.jwResize(r,q)}else{this.container.width=r;this.container.height=q}return this};this.play=function(q){if(typeof q=="undefined"){q=this.getState();if(q==b.api.events.state.PLAYING||q==b.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPlay",q)}return this};this.pause=function(q){if(typeof q=="undefined"){q=this.getState();if(q==b.api.events.state.PLAYING||q==b.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPause",q)}return this};this.stop=function(){this.callInternal("jwStop");return this};this.seek=function(q){this.callInternal("jwSeek",q);return this};this.setVolume=function(q){this.callInternal("jwSetVolume",q);return this};this.onBufferChange=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER,q)};this.onBufferFull=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL,q)};this.onError=function(q){return this.eventListener(b.api.events.JWPLAYER_ERROR,q)};this.onFullscreen=function(q){return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN,q)};this.onMeta=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_META,q)};this.onMute=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE,q)};this.onPlaylist=function(q){return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED,q)};this.onPlaylistItem=function(q){return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM,q)};this.onReady=function(q){return this.eventListener(b.api.events.API_READY,q)};this.onResize=function(q){return this.eventListener(b.api.events.JWPLAYER_RESIZE,q)};this.onComplete=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE,q)};this.onSeek=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_SEEK,q)};this.onTime=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME,q)};this.onVolume=function(q){return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME,q)};this.onBuffer=function(q){return this.stateListener(b.api.events.state.BUFFERING,q)};this.onPause=function(q){return this.stateListener(b.api.events.state.PAUSED,q)};this.onPlay=function(q){return this.stateListener(b.api.events.state.PLAYING,q)};this.onIdle=function(q){return this.stateListener(b.api.events.state.IDLE,q)};this.remove=function(){l={};i=[];if(b.utils.getOuterHTML(this.container)!=n){b.api.destroyPlayer(this.id,n)}};this.setup=function(r){if(b.embed){var q=this.id;this.remove();var s=b(q);s.config=r;return new b.embed(s)}return this};this.registerPlugin=function(s,r,q){b.plugins.registerPlugin(s,r,q)};this.setPlayer=function(q,r){h=q;this.renderingMode=r};this.stateListener=function(q,r){if(!p[q]){p[q]=[];this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE,g(q))}p[q].push(r);return this};function g(q){return function(s){var r=s.newstate,u=s.oldstate;if(r==q){var t=p[r];if(t){for(var v=0;v<t.length;v++){if(typeof t[v]=="function"){t[v].call(this,{oldstate:u,newstate:r})}}}}}}this.addInternalListener=function(q,r){q.jwAddEventListener(r,'function(dat) { jwplayer("'+this.id+'").dispatchEvent("'+r+'", dat); }')};this.eventListener=function(q,r){if(!l[q]){l[q]=[];if(h&&k){this.addInternalListener(h,q)}}l[q].push(r);return this};this.dispatchEvent=function(s){if(l[s]){var r=f(s,arguments[1]);for(var q=0;q<l[s].length;q++){if(typeof l[s][q]=="function"){l[s][q].call(this,r)}}}};function f(s,q){var u=b.utils.extend({},q);if(s==b.api.events.JWPLAYER_FULLSCREEN&&!u.fullscreen){u.fullscreen=u.message=="true"?true:false;delete u.message}else{if(typeof u.data=="object"){u=b.utils.extend(u,u.data);delete u.data}}var r=["position","duration","offset"];for(var t in r){if(u[r[t]]){u[r[t]]=Math.round(u[r[t]]*1000)/1000}}return u}this.callInternal=function(r,q){if(k){if(typeof h!="undefined"&&typeof h[r]=="function"){if(q!==undefined){return(h[r])(q)}else{return(h[r])()}}return null}else{i.push({method:r,parameters:q})}};this.playerReady=function(s){k=true;if(!h){this.setPlayer(document.getElementById(s.id))}this.container=document.getElementById(this.id);for(var q in l){this.addInternalListener(h,q)}this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM,function(t){o={}});this.eventListener(b.api.events.JWPLAYER_MEDIA_META,function(t){b.utils.extend(o,t.metadata)});this.dispatchEvent(b.api.events.API_READY);while(i.length>0){var r=i.shift();this.callInternal(r.method,r.parameters)}};this.getItemMeta=function(){return o};this.getCurrentItem=function(){return this.callInternal("jwGetPlaylistIndex")};function m(s,u,t){var q=[];if(!u){u=0}if(!t){t=s.length-1}for(var r=u;r<=t;r++){q.push(s[r])}return q}return this};b.api.selectPlayer=function(d){var c;if(d===undefined){d=0}if(d.nodeType){c=d}else{if(typeof d=="string"){c=document.getElementById(d)}}if(c){var e=b.api.playerById(c.id);if(e){return e}else{return b.api.addPlayer(new b.api(c))}}else{if(typeof d=="number"){return b.getPlayers()[d]}}return null};b.api.events={API_READY:"jwplayerAPIReady",JWPLAYER_READY:"jwplayerReady",JWPLAYER_FULLSCREEN:"jwplayerFullscreen",JWPLAYER_RESIZE:"jwplayerResize",JWPLAYER_ERROR:"jwplayerError",JWPLAYER_MEDIA_BUFFER:"jwplayerMediaBuffer",JWPLAYER_MEDIA_BUFFER_FULL:"jwplayerMediaBufferFull",JWPLAYER_MEDIA_ERROR:"jwplayerMediaError",JWPLAYER_MEDIA_LOADED:"jwplayerMediaLoaded",JWPLAYER_MEDIA_COMPLETE:"jwplayerMediaComplete",JWPLAYER_MEDIA_SEEK:"jwplayerMediaSeek",JWPLAYER_MEDIA_TIME:"jwplayerMediaTime",JWPLAYER_MEDIA_VOLUME:"jwplayerMediaVolume",JWPLAYER_MEDIA_META:"jwplayerMediaMeta",JWPLAYER_MEDIA_MUTE:"jwplayerMediaMute",JWPLAYER_PLAYER_STATE:"jwplayerPlayerState",JWPLAYER_PLAYLIST_LOADED:"jwplayerPlaylistLoaded",JWPLAYER_PLAYLIST_ITEM:"jwplayerPlaylistItem"};b.api.events.state={BUFFERING:"BUFFERING",IDLE:"IDLE",PAUSED:"PAUSED",PLAYING:"PLAYING"};b.api.playerById=function(d){for(var c=0;c<a.length;c++){if(a[c].id==d){return a[c]}}return null};b.api.addPlayer=function(c){for(var d=0;d<a.length;d++){if(a[d]==c){return c}}a.push(c);return c};b.api.destroyPlayer=function(g,d){var f=-1;for(var i=0;i<a.length;i++){if(a[i].id==g){f=i;continue}}if(f>=0){var c=document.getElementById(a[f].id);if(document.getElementById(a[f].id+"_wrapper")){c=document.getElementById(a[f].id+"_wrapper")}if(c){if(d){b.utils.setOuterHTML(c,d)}else{var h=document.createElement("div");var e=c.id;if(c.id.indexOf("_wrapper")==c.id.length-8){newID=c.id.substring(0,c.id.length-8)}h.setAttribute("id",e);c.parentNode.replaceChild(h,c)}}a.splice(f,1)}return null};b.getPlayers=function(){return a.slice(0)}})(jwplayer);var _userPlayerReady=(typeof playerReady=="function")?playerReady:undefined;playerReady=function(b){var a=jwplayer.api.playerById(b.id);if(a){a.playerReady(b)}if(_userPlayerReady){_userPlayerReady.call(this,b)}};(function(a){a.embed=function(g){var i={width:400,height:300,components:{controlbar:{position:"over"}}};var f=a.utils.mediaparser.parseMedia(g.container);var e=new a.embed.config(a.utils.extend(i,f,g.config),this);var h=a.plugins.loadPlugins(g.id,e.plugins);function c(l,k){for(var j in k){if(typeof l[j]=="function"){(l[j]).call(l,k[j])}}}function d(){if(h.getStatus()==a.utils.loaderstatus.COMPLETE){for(var l=0;l<e.modes.length;l++){if(e.modes[l].type&&a.embed[e.modes[l].type]){var j=e;if(e.modes[l].config){j=a.utils.extend(a.utils.clone(e),e.modes[l].config)}var k=new a.embed[e.modes[l].type](document.getElementById(g.id),e.modes[l],j,h,g);if(k.supportsConfig()){k.embed();c(g,e.events);return g}}}a.utils.log("No suitable players found");new a.embed.logo(a.utils.extend({hide:true},e.components.logo),"none",g.id)}}h.addEventListener(a.events.COMPLETE,d);h.addEventListener(a.events.ERROR,d);h.load();return g};function b(){if(!document.body){return setTimeout(b,15)}var c=a.utils.selectors.getElementsByTagAndClass("video","jwplayer");for(var d=0;d<c.length;d++){var e=c[d];a(e.id).setup({})}}b()})(jwplayer);(function(a){function c(){return[{type:"flash",src:"/jwplayer/player.swf"},{type:"html5"},{type:"download"}]}function e(l){var k=l.toLowerCase();var j=["left","right","top","bottom"];for(var i=0;i<j.length;i++){if(k==j[i]){return true}}return false}function d(j){var i=false;i=(j instanceof Array)||(typeof j=="object"&&!j.position&&!j.size);return i}function h(i){if(typeof i=="string"){if(parseInt(i).toString()==i||i.toLowerCase().indexOf("px")>-1){return parseInt(i)}}return i}var f=["playlist","dock","controlbar","logo"];function g(j){var m={};switch(a.utils.typeOf(j.plugins)){case"object":for(var l in j.plugins){m[a.utils.getPluginName(l)]=l}break;case"string":var n=j.plugins.split(",");for(var k=0;k<n.length;k++){m[a.utils.getPluginName(n[k])]=n[k]}break}return m}function b(m,l,k,i){if(a.utils.typeOf(m[l])!="object"){m[l]={}}var j=m[l][k];if(a.utils.typeOf(j)!="object"){m[l][k]=j={}}if(l=="plugins"){var n=a.utils.getPluginName(k);j[i]=m[n+"."+i];delete m[n+"."+i]}else{j[i]=m[k+"."+i];delete m[k+"."+i]}}a.embed.deserialize=function(i){var j=g(i);for(var m in i){if(m.indexOf(".")>-1){var l=m.split(".");var k=l[0];var m=l[1];if(a.utils.isInArray(f,k)){b(i,"components",k,m)}else{if(j[k]){b(i,"plugins",j[k],m)}}}}return i};a.embed.config=function(i,q){var p=a.utils.extend({},i);var n;if(d(p.playlist)){n=p.playlist;delete p.playlist}p=a.embed.deserialize(p);p.height=h(p.height);p.width=h(p.width);if(typeof p.plugins=="string"){var j=p.plugins.split(",");if(typeof p.plugins!="object"){p.plugins={}}for(var l=0;l<j.length;l++){var m=a.utils.getPluginName(j[l]);if(typeof p[m]=="object"){p.plugins[j[l]]=p[m];delete p[m]}else{p.plugins[j[l]]={}}}}for(var o=0;o<f.length;o++){if(typeof p[f[o]]=="string"){if(!p.components[f[o]]){p.components[f[o]]={}}if(f[o]=="logo"){p.components[f[o]].file=p[f[o]]}else{p.components[f[o]].position=p[f[o]]}delete p[f[o]]}else{if(typeof p[f[o]]!="undefined"){if(!p.components[f[o]]){p.components[f[o]]={}}a.utils.extend(p.components[f[o]],p[f[o]]);delete p[f[o]]}}if(typeof p[f[o]+"size"]!="undefined"){if(!p.components[f[o]]){p.components[f[o]]={}}p.components[f[o]].size=p[f[o]+"size"];delete p[f[o]+"size"]}}if(typeof p.icons!="undefined"){if(!p.components.display){p.components.display={}}p.components.display.icons=p.icons;delete p.icons}if(p.players){p.modes=p.players;delete p.players}var k;if(p.flashplayer&&!p.modes){k=c();k[0].src=p.flashplayer;delete p.flashplayer}else{if(p.modes){if(typeof p.modes=="string"){k=c();k[0].src=p.modes}else{if(p.modes instanceof Array){k=p.modes}else{if(typeof p.modes=="object"&&p.modes.type){k=[p.modes]}}}delete p.modes}else{k=c()}}p.modes=k;if(n){p.playlist=n}return p}})(jwplayer);(function(a){a.embed.download=function(c,g,b,d,f){this.embed=function(){var j=a.utils.extend({},b);var p={};var i=b.width?b.width:480;if(typeof i!="number"){i=parseInt(i,10)}var l=b.height?b.height:320;if(typeof l!="number"){l=parseInt(l,10)}var t,n,m;var r={};if(b.playlist&&b.playlist.length){r.file=b.playlist[0].file;n=b.playlist[0].image;r.levels=b.playlist[0].levels}else{r.file=b.file;n=b.image;r.levels=b.levels}if(r.file){t=r.file}else{if(r.levels&&r.levels.length){t=r.levels[0].file}}m=t?"pointer":"auto";var k={display:{style:{cursor:m,width:i,height:l,backgroundColor:"#000",position:"relative",textDecoration:"none",border:"none",display:"block"}},display_icon:{style:{cursor:m,position:"absolute",display:t?"block":"none",top:0,left:0,border:0,margin:0,padding:0,zIndex:3,width:50,height:50,backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg==)"}},display_iconBackground:{style:{cursor:m,position:"absolute",display:t?"block":"none",top:((l-50)/2),left:((i-50)/2),border:0,width:50,height:50,margin:0,padding:0,zIndex:2,backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC)"}},display_image:{style:{width:i,height:l,display:n?"block":"none",position:"absolute",cursor:m,left:0,top:0,margin:0,padding:0,textDecoration:"none",zIndex:1,border:"none"}}};var h=function(u,w,x){var v=document.createElement(u);if(x){v.id=x}else{v.id=c.id+"_jwplayer_"+w}a.utils.css(v,k[w].style);return v};p.display=h("a","display",c.id);if(t){p.display.setAttribute("href",a.utils.getAbsolutePath(t))}p.display_image=h("img","display_image");p.display_image.setAttribute("alt","Click to download...");if(n){p.display_image.setAttribute("src",a.utils.getAbsolutePath(n))}if(true){p.display_icon=h("div","display_icon");p.display_iconBackground=h("div","display_iconBackground");p.display.appendChild(p.display_image);p.display_iconBackground.appendChild(p.display_icon);p.display.appendChild(p.display_iconBackground)}_css=a.utils.css;_hide=function(u){_css(u,{display:"none"})};function q(u){_imageWidth=p.display_image.naturalWidth;_imageHeight=p.display_image.naturalHeight;s()}function s(){a.utils.stretch(a.utils.stretching.UNIFORM,p.display_image,i,l,_imageWidth,_imageHeight)}p.display_image.onerror=function(u){_hide(p.display_image)};p.display_image.onload=q;c.parentNode.replaceChild(p.display,c);var o=(b.plugins&&b.plugins.logo)?b.plugins.logo:{};p.display.appendChild(new a.embed.logo(b.components.logo,"download",c.id));f.container=document.getElementById(f.id);f.setPlayer(p.display,"download")};this.supportsConfig=function(){if(b){var j=a.utils.getFirstPlaylistItemFromConfig(b);if(typeof j.file=="undefined"&&typeof j.levels=="undefined"){return true}else{if(j.file){return e(j.file,j.provider,j.playlistfile)}else{if(j.levels&&j.levels.length){for(var h=0;h<j.levels.length;h++){if(j.levels[h].file&&e(j.levels[h].file,j.provider,j.playlistfile)){return true}}}}}}else{return true}};function e(i,k,h){if(h){return false}var j=["image","sound","youtube","http"];if(k&&(j.toString().indexOf(k)>-1)){return true}if(!k||(k&&k=="video")){var l=a.utils.extension(i);if(l&&a.utils.extensionmap[l]){return true}}return false}}})(jwplayer);(function(a){a.embed.flash=function(f,g,k,e,i){function l(n,m,o){var p=document.createElement("param");p.setAttribute("name",m);p.setAttribute("value",o);n.appendChild(p)}function j(n,o,m){return function(p){if(m){document.getElementById(i.id+"_wrapper").appendChild(o)}var r=document.getElementById(i.id).getPluginConfig("display");n.resize(r.width,r.height);var q={left:r.x,top:r.y};a.utils.css(o,q)}}function d(o){if(!o){return{}}var q={};for(var n in o){var m=o[n];for(var p in m){q[n+"."+p]=m[p]}}return q}function h(p,o){if(p[o]){var r=p[o];for(var n in r){var m=r[n];if(typeof m=="string"){if(!p[n]){p[n]=m}}else{for(var q in m){if(!p[n+"."+q]){p[n+"."+q]=m[q]}}}}delete p[o]}}function b(p){if(!p){return{}}var s={},r=[];for(var m in p){var o=a.utils.getPluginName(m);var n=p[m];r.push(m);for(var q in n){s[o+"."+q]=n[q]}}s.plugins=r.join(",");return s}function c(o){var m=o.netstreambasepath?"":"netstreambasepath="+encodeURIComponent(window.location.href)+"&";for(var n in o){if(typeof(o[n])=="object"){m+=n+"="+encodeURIComponent("[[JSON]]"+a.utils.strings.jsonToString(o[n]))+"&"}else{m+=n+"="+encodeURIComponent(o[n])+"&"}}return m.substring(0,m.length-1)}this.embed=function(){k.id=i.id;var x;var p=a.utils.extend({},k);var m=p.width;var v=p.height;if(f.id+"_wrapper"==f.parentNode.id){x=document.getElementById(f.id+"_wrapper")}else{x=document.createElement("div");x.id=f.id+"_wrapper";a.utils.wrap(f,x);a.utils.css(x,{position:"relative",width:m,height:v})}var n=e.setupPlugins(i,p,j);if(n.length>0){a.utils.extend(p,b(n.plugins))}else{delete p.plugins}var q=["height","width","modes","events"];for(var t=0;t<q.length;t++){delete p[q[t]]}var o="opaque";if(p.wmode){o=p.wmode}h(p,"components");h(p,"providers");if(typeof p["dock.position"]!="undefined"){if(p["dock.position"].toString().toLowerCase()=="false"){p.dock=p["dock.position"];delete p["dock.position"]}}var w="#000000";var s;if(a.utils.isIE()){var u='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="'+w+'" width="100%" height="100%" id="'+f.id+'" name="'+f.id+'" tabindex=0"">';u+='<param name="movie" value="'+g.src+'">';u+='<param name="allowfullscreen" value="true">';u+='<param name="allowscriptaccess" value="always">';u+='<param name="seamlesstabbing" value="true">';u+='<param name="wmode" value="'+o+'">';u+='<param name="flashvars" value="'+c(p)+'">';u+="</object>";a.utils.setOuterHTML(f,u);s=document.getElementById(f.id)}else{var r=document.createElement("object");r.setAttribute("type","application/x-shockwave-flash");r.setAttribute("data",g.src);r.setAttribute("width","100%");r.setAttribute("height","100%");r.setAttribute("bgcolor","#000000");r.setAttribute("id",f.id);r.setAttribute("name",f.id);r.setAttribute("tabindex",0);l(r,"allowfullscreen","true");l(r,"allowscriptaccess","always");l(r,"seamlesstabbing","true");l(r,"wmode",o);l(r,"flashvars",c(p));f.parentNode.replaceChild(r,f);s=r}i.container=s;i.setPlayer(s,"flash")};this.supportsConfig=function(){if(a.utils.hasFlash()){if(k){var n=a.utils.getFirstPlaylistItemFromConfig(k);if(typeof n.file=="undefined"&&typeof n.levels=="undefined"){return true}else{if(n.file){return flashCanPlay(n.file,n.provider)}else{if(n.levels&&n.levels.length){for(var m=0;m<n.levels.length;m++){if(n.levels[m].file&&flashCanPlay(n.levels[m].file,n.provider)){return true}}}}}}else{return true}}return false};flashCanPlay=function(m,o){var n=["video","http","sound","image"];if(o&&(n.toString().indexOf(o<0))){return true}var p=a.utils.extension(m);if(!p){return true}if(a.utils.extensionmap[p]!==undefined&&a.utils.extensionmap[p].flash===undefined){return false}return true}}})(jwplayer);(function(a){a.embed.html5=function(c,g,b,d,f){function e(i,j,h){return function(k){var l=document.getElementById(c.id+"_displayarea");if(h){l.appendChild(j)}var m=l.style;i.resize(parseInt(m.width.replace("px","")),parseInt(m.height.replace("px","")));j.left=m.left;j.top=m.top}}this.embed=function(){if(a.html5){d.setupPlugins(f,b,e);c.innerHTML="";var j=a.utils.extend({screencolor:"0x000000"},b);var h=["plugins","modes","events"];for(var k=0;k<h.length;k++){delete j[h[k]]}if(j.levels&&!j.sources){j.sources=b.levels}if(j.skin&&j.skin.toLowerCase().indexOf(".zip")>0){j.skin=j.skin.replace(/\.zip/i,".xml")}var l=new (a.html5(c)).setup(j);f.container=document.getElementById(f.id);f.setPlayer(l,"html5")}else{return null}};this.supportsConfig=function(){var h=document.createElement("video");if(!!h.canPlayType){if(b){var k=a.utils.getFirstPlaylistItemFromConfig(b);if(typeof k.file=="undefined"&&typeof k.levels=="undefined"){return true}else{if(k.file){return html5CanPlay(h,k.file,k.provider,k.playlistfile)}else{if(k.levels&&k.levels.length){for(var j=0;j<k.levels.length;j++){if(k.levels[j].file&&html5CanPlay(h,k.levels[j].file,k.provider,k.playlistfile)){return true}}}}}}else{return true}}return false};html5CanPlay=function(j,i,k,h){if(h){return false}if(k&&k=="youtube"){return true}if(k&&k!="video"&&k!="http"&&k!="sound"){return false}var l=a.utils.extension(i);if(!l||a.utils.extensionmap[l]===undefined){return true}if(a.utils.extensionmap[l].html5===undefined){return false}if(a.utils.isLegacyAndroid()&&l.match(/m4v|mp4/)){return true}return browserCanPlay(j,a.utils.extensionmap[l].html5)};browserCanPlay=function(i,h){if(!h){return true}return i.canPlayType(h)}}})(jwplayer);(function(a){a.embed.logo=function(l,k,d){var i={prefix:"https://l.longtailvideo.com/"+k+"/",file:"logo.png",link:"https://www.longtailvideo.com/players/jw-flv-player/",margin:8,out:0.5,over:1,timeout:3,hide:false,position:"bottom-left"};_css=a.utils.css;var b;var h;j();function j(){n();c();f()}function n(){if(i.prefix){var p=a.version.split(/\W/).splice(0,2).join("/");if(i.prefix.indexOf(p)<0){i.prefix+=p+"/"}}h=a.utils.extend({},i)}function o(){var r={border:"none",textDecoration:"none",position:"absolute",cursor:"pointer",zIndex:10};r.display=h.hide?"none":"block";var q=h.position.toLowerCase().split("-");for(var p in q){r[q[p]]=h.margin}return r}function c(){b=document.createElement("img");b.id=d+"_jwplayer_logo";b.style.display="none";b.onload=function(p){_css(b,o());e()};if(!h.file){return}if(h.file.indexOf("https://")===0){b.src=h.file}else{b.src=h.prefix+h.file}}if(!h.file){return}function f(){if(h.link){b.onmouseover=g;b.onmouseout=e;b.onclick=m}else{this.mouseEnabled=false}}function m(p){if(typeof p!="undefined"){p.preventDefault();p.stopPropagation()}if(h.link){window.open(h.link,"_blank")}return}function e(p){if(h.link){b.style.opacity=h.out}return}function g(p){if(h.hide){b.style.opacity=h.over}return}return b}})(jwplayer);(function(a){a.html5=function(b){var c=b;this.setup=function(d){a.utils.extend(this,new a.html5.api(c,d));return this};return this}})(jwplayer);(function(b){var c=b.utils.css;b.html5.view=function(p,o,e){var s=p;var l=o;var v=e;var u;var f;var z;var q;var A;var n;function x(){u=document.createElement("div");u.id=l.id;u.className=l.className;_videowrapper=document.createElement("div");_videowrapper.id=u.id+"_video_wrapper";l.id=u.id+"_video";c(u,{position:"relative",height:v.height,width:v.width,padding:0,backgroundColor:B(),zIndex:0});function B(){if(s.skin.getComponentSettings("display")&&s.skin.getComponentSettings("display").backgroundcolor){return s.skin.getComponentSettings("display").backgroundcolor}return parseInt("000000",16)}c(l,{width:v.width,height:v.height,top:0,left:0,zIndex:1,margin:"auto",display:"block"});c(_videowrapper,{overflow:"hidden",position:"absolute",top:0,left:0,bottom:0,right:0});b.utils.wrap(l,u);b.utils.wrap(l,_videowrapper);q=document.createElement("div");q.id=u.id+"_displayarea";u.appendChild(q)}function j(){for(var B=0;B<v.plugins.order.length;B++){var C=v.plugins.order[B];if(v.plugins.object[C].getDisplayElement!==undefined){v.plugins.object[C].height=h(v.plugins.object[C].getDisplayElement().style.height);v.plugins.object[C].width=h(v.plugins.object[C].getDisplayElement().style.width);v.plugins.config[C].currentPosition=v.plugins.config[C].position}}t()}function t(C){if(v.getMedia()!==undefined){for(var B=0;B<v.plugins.order.length;B++){var D=v.plugins.order[B];if(v.plugins.object[D].getDisplayElement!==undefined){if(v.getMedia().hasChrome()){v.plugins.config[D].currentPosition=b.html5.view.positions.NONE}else{v.plugins.config[D].currentPosition=v.plugins.config[D].position}}}}i(v.width,v.height)}function h(B){if(typeof B=="string"){if(B===""){return 0}else{if(B.lastIndexOf("%")>-1){return B}else{return parseInt(B.replace("px",""),10)}}}return B}this.setup=function(B){l=B;x();j();s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_LOADED,t);s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_META,function(){w()});var C;if(window.onresize!==null){C=window.onresize}window.onresize=function(D){if(C!==undefined){try{C(D)}catch(F){}}if(s.jwGetFullscreen()){var E=document.body.getBoundingClientRect();v.width=Math.abs(E.left)+Math.abs(E.right);v.height=window.innerHeight}i(v.width,v.height)}};function g(B){switch(B.keyCode){case 27:if(s.jwGetFullscreen()){s.jwSetFullscreen(false)}break;case 32:if(s.jwGetState()!=b.api.events.state.IDLE&&s.jwGetState()!=b.api.events.state.PAUSED){s.jwPause()}else{s.jwPlay()}break}}function i(E,B){if(u.style.display=="none"){return}var D=[].concat(v.plugins.order);D.reverse();A=D.length+2;if(!v.fullscreen){v.width=E;v.height=B;f=E;z=B;c(q,{top:0,bottom:0,left:0,right:0,width:E,height:B});c(u,{height:z,width:f});var C=m(r,D);if(C.length>0){A+=C.length;m(k,C,true)}}else{if(navigator.vendor.indexOf("Apple")!==0){m(y,D,true)}}w()}function m(G,D,E){var C=[];for(var B=0;B<D.length;B++){var H=D[B];if(v.plugins.object[H].getDisplayElement!==undefined){if(v.plugins.config[H].currentPosition!=b.html5.view.positions.NONE){var F=G(H,A--);if(!F){C.push(H)}else{v.plugins.object[H].resize(F.width,F.height);if(E){delete F.width;delete F.height}c(v.plugins.object[H].getDisplayElement(),F)}}else{c(v.plugins.object[H].getDisplayElement(),{display:"none"})}}}return C}function r(C,D){if(v.plugins.object[C].getDisplayElement!==undefined){if(v.plugins.config[C].position&&a(v.plugins.config[C].position)){if(v.plugins.object[C].getDisplayElement().parentNode===null){u.appendChild(v.plugins.object[C].getDisplayElement())}var B=d(C);B.zIndex=D;return B}}return false}function k(D,E){if(v.plugins.object[D].getDisplayElement().parentNode===null){q.appendChild(v.plugins.object[D].getDisplayElement())}var B=v.width,C=v.height;if(typeof v.width=="string"&&v.width.lastIndexOf("%")>-1){percentage=parseFloat(v.width.substring(0,v.width.lastIndexOf("%")))/100;B=Math.round(window.innerWidth*percentage)}if(typeof v.height=="string"&&v.height.lastIndexOf("%")>-1){percentage=parseFloat(v.height.substring(0,v.height.lastIndexOf("%")))/100;C=Math.round(window.innerHeight*percentage)}return{position:"absolute",width:(B-h(q.style.left)-h(q.style.right)),height:(C-h(q.style.top)-h(q.style.bottom)),zIndex:E}}function y(B,C){return{position:"fixed",width:v.width,height:v.height,zIndex:C}}function w(){q.style.position="absolute";v.getMedia().getDisplayElement().style.position="absolute";if(v.getMedia().getDisplayElement().videoWidth==0||v.getMedia().getDisplayElement().videoHeight==0){return}var B,D;if(q.style.width.toString().lastIndexOf("%")>-1||q.style.width.toString().lastIndexOf("%")>-1){var C=q.getBoundingClientRect();B=Math.abs(C.left)+Math.abs(C.right);D=Math.abs(C.top)+Math.abs(C.bottom)}else{B=h(q.style.width);D=h(q.style.height)}b.utils.stretch(s.jwGetStretching(),v.getMedia().getDisplayElement(),B,D,v.getMedia().getDisplayElement().videoWidth,v.getMedia().getDisplayElement().videoHeight)}function d(C){var D={position:"absolute",margin:0,padding:0,top:null};var B=v.plugins.config[C].currentPosition.toLowerCase();switch(B.toUpperCase()){case b.html5.view.positions.TOP:D.top=h(q.style.top);D.left=h(q.style.left);D.width=f-h(q.style.left)-h(q.style.right);D.height=v.plugins.object[C].height;q.style[B]=h(q.style[B])+v.plugins.object[C].height+"px";q.style.height=h(q.style.height)-D.height+"px";break;case b.html5.view.positions.RIGHT:D.top=h(q.style.top);D.right=h(q.style.right);D.width=D.width=v.plugins.object[C].width;D.height=z-h(q.style.top)-h(q.style.bottom);q.style[B]=h(q.style[B])+v.plugins.object[C].width+"px";q.style.width=h(q.style.width)-D.width+"px";break;case b.html5.view.positions.BOTTOM:D.bottom=h(q.style.bottom);D.left=h(q.style.left);D.width=f-h(q.style.left)-h(q.style.right);D.height=v.plugins.object[C].height;q.style[B]=h(q.style[B])+v.plugins.object[C].height+"px";q.style.height=h(q.style.height)-D.height+"px";break;case b.html5.view.positions.LEFT:D.top=h(q.style.top);D.left=h(q.style.left);D.width=v.plugins.object[C].width;D.height=z-h(q.style.top)-h(q.style.bottom);q.style[B]=h(q.style[B])+v.plugins.object[C].width+"px";q.style.width=h(q.style.width)-D.width+"px";break;default:break}return D}this.resize=i;this.fullscreen=function(E){if(navigator.vendor.indexOf("Apple")===0){if(v.getMedia().getDisplayElement().webkitSupportsFullscreen){if(E){try{v.getMedia().getDisplayElement().webkitEnterFullscreen()}catch(D){}}else{try{v.getMedia().getDisplayElement().webkitExitFullscreen()}catch(D){}}}}else{if(E){document.onkeydown=g;clearInterval(n);var C=document.body.getBoundingClientRect();v.width=Math.abs(C.left)+Math.abs(C.right);v.height=window.innerHeight;var B={position:"fixed",width:"100%",height:"100%",top:0,left:0,zIndex:2147483000};c(u,B);B.zIndex=1;c(v.getMedia().getDisplayElement(),B);B.zIndex=2;c(q,B)}else{document.onkeydown="";v.width=f;v.height=z;c(u,{position:"relative",height:v.height,width:v.width,zIndex:0})}i(v.width,v.height)}}};function a(d){return([b.html5.view.positions.TOP,b.html5.view.positions.RIGHT,b.html5.view.positions.BOTTOM,b.html5.view.positions.LEFT].toString().indexOf(d.toUpperCase())>-1)}b.html5.view.positions={TOP:"TOP",RIGHT:"RIGHT",BOTTOM:"BOTTOM",LEFT:"LEFT",OVER:"OVER",NONE:"NONE"}})(jwplayer);(function(a){var b={backgroundcolor:"",margin:10,font:"Arial,sans-serif",fontsize:10,fontcolor:parseInt("000000",16),fontstyle:"normal",fontweight:"bold",buttoncolor:parseInt("ffffff",16),position:a.html5.view.positions.BOTTOM,idlehide:false,layout:{left:{position:"left",elements:[{name:"play",type:"button"},{name:"divider",type:"divider"},{name:"prev",type:"button"},{name:"divider",type:"divider"},{name:"next",type:"button"},{name:"divider",type:"divider"},{name:"elapsed",type:"text"}]},center:{position:"center",elements:[{name:"time",type:"slider"}]},right:{position:"right",elements:[{name:"duration",type:"text"},{name:"blank",type:"button"},{name:"divider",type:"divider"},{name:"mute",type:"button"},{name:"volume",type:"slider"},{name:"divider",type:"divider"},{name:"fullscreen",type:"button"}]}}};_css=a.utils.css;_hide=function(c){_css(c,{display:"none"})};_show=function(c){_css(c,{display:"block"})};a.html5.controlbar=function(k,M){var j=k;var A=a.utils.extend({},b,j.skin.getComponentSettings("controlbar"),M);if(A.position==a.html5.view.positions.NONE||typeof a.html5.view.positions[A.position]=="undefined"){return}if(a.utils.mapLength(j.skin.getComponentLayout("controlbar"))>0){A.layout=j.skin.getComponentLayout("controlbar")}var R;var J;var Q;var B;var t="none";var f;var i;var S;var e;var d;var w;var K={};var o=false;var c={};var O;var h=false;function E(){if(!O){O=j.skin.getSkinElement("controlbar","background");if(!O){O={width:0,height:0,src:null}}}return O}function I(){Q=0;B=0;J=0;if(!o){var Z={height:E().height,backgroundColor:A.backgroundcolor};R=document.createElement("div");R.id=j.id+"_jwplayer_controlbar";_css(R,Z)}var Y=(j.skin.getSkinElement("controlbar","capLeft"));var X=(j.skin.getSkinElement("controlbar","capRight"));if(Y){v("capLeft","left",false,R)}var aa={position:"absolute",height:E().height,left:(Y?Y.width:0),zIndex:0};P("background",R,aa,"img");if(E().src){K.background.src=E().src}aa.zIndex=1;P("elements",R,aa);if(X){v("capRight","right",false,R)}}this.getDisplayElement=function(){return R};this.resize=function(Z,X){a.utils.cancelAnimation(R);document.getElementById(j.id).onmousemove=x;d=Z;w=X;x();var Y=u();D({id:j.id,duration:S,position:i});s({id:j.id,bufferPercent:e});return Y};this.show=function(){h=false;_show(R)};this.hide=function(){h=true;_hide(R)};function p(){var Y=["timeSlider","volumeSlider","timeSliderRail","volumeSliderRail"];for(var Z in Y){var X=Y[Z];if(typeof K[X]!="undefined"){c[X]=K[X].getBoundingClientRect()}}}function x(){if(h){return}a.utils.cancelAnimation(R);if(g()){a.utils.fadeTo(R,1,0,1,0)}else{a.utils.fadeTo(R,0,0.1,1,2)}}function g(){if(h){return false}if(j.jwGetState()==a.api.events.state.IDLE||j.jwGetState()==a.api.events.state.PAUSED){if(A.idlehide){return false}return true}if(j.jwGetFullscreen()){return false}if(A.position==a.html5.view.positions.OVER){return false}return true}function P(ab,aa,Z,X){var Y;if(!o){if(!X){X="div"}Y=document.createElement(X);K[ab]=Y;Y.id=R.id+"_"+ab;aa.appendChild(Y)}else{Y=document.getElementById(R.id+"_"+ab)}if(Z!==undefined){_css(Y,Z)}return Y}function H(){W(A.layout.left);W(A.layout.right,-1);W(A.layout.center)}function W(aa,X){var ab=aa.position=="right"?"right":"left";var Z=a.utils.extend([],aa.elements);if(X!==undefined){Z.reverse()}for(var Y=0;Y<Z.length;Y++){z(Z[Y],ab)}}function F(){return J++}function z(ab,ad){var aa,Y,Z,X,af;if(ab.type=="divider"){v("divider"+F(),ad,true,undefined,undefined,ab.width,ab.element);return}switch(ab.name){case"play":v("playButton",ad,false);v("pauseButton",ad,true);L("playButton","jwPlay");L("pauseButton","jwPause");break;case"prev":v("prevButton",ad,true);L("prevButton","jwPlaylistPrev");break;case"next":v("nextButton",ad,true);L("nextButton","jwPlaylistNext");break;case"elapsed":v("elapsedText",ad,true);break;case"time":Y=j.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:j.skin.getSkinElement("controlbar","timeSliderCapLeft").width;Z=j.skin.getSkinElement("controlbar","timeSliderCapRight")===undefined?0:j.skin.getSkinElement("controlbar","timeSliderCapRight").width;aa=ad=="left"?Y:Z;X=j.skin.getSkinElement("controlbar","timeSliderRail").width+Y+Z;af={height:E().height,position:"absolute",top:0,width:X};af[ad]=ad=="left"?Q:B;var ac=P("timeSlider",K.elements,af);v("timeSliderCapLeft",ad,true,ac,ad=="left"?0:aa);v("timeSliderRail",ad,false,ac,aa);v("timeSliderBuffer",ad,false,ac,aa);v("timeSliderProgress",ad,false,ac,aa);v("timeSliderThumb",ad,false,ac,aa);v("timeSliderCapRight",ad,true,ac,ad=="right"?0:aa);N("time");break;case"fullscreen":v("fullscreenButton",ad,false);v("normalscreenButton",ad,true);L("fullscreenButton","jwSetFullscreen",true);L("normalscreenButton","jwSetFullscreen",false);break;case"volume":Y=j.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:j.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;Z=j.skin.getSkinElement("controlbar","volumeSliderCapRight")===undefined?0:j.skin.getSkinElement("controlbar","volumeSliderCapRight").width;aa=ad=="left"?Y:Z;X=j.skin.getSkinElement("controlbar","volumeSliderRail").width+Y+Z;af={height:E().height,position:"absolute",top:0,width:X};af[ad]=ad=="left"?Q:B;var ae=P("volumeSlider",K.elements,af);v("volumeSliderCapLeft",ad,true,ae,ad=="left"?0:aa);v("volumeSliderRail",ad,true,ae,aa);v("volumeSliderProgress",ad,false,ae,aa);v("volumeSliderCapRight",ad,true,ae,ad=="right"?0:aa);N("volume");break;case"mute":v("muteButton",ad,false);v("unmuteButton",ad,true);L("muteButton","jwSetMute",true);L("unmuteButton","jwSetMute",false);break;case"duration":v("durationText",ad,true);break}}function v(aa,ad,Y,ag,ab,X,Z){if(j.skin.getSkinElement("controlbar",aa)!==undefined||aa.indexOf("Text")>0||aa.indexOf("divider")===0){var ac={height:E().height,position:"absolute",display:"block",top:0};if((aa.indexOf("next")===0||aa.indexOf("prev")===0)&&j.jwGetPlaylist().length<2){Y=false;ac.display="none"}var ah;if(aa.indexOf("Text")>0){aa.innerhtml="00:00";ac.font=A.fontsize+"px/"+(E().height+1)+"px "+A.font;ac.color=A.fontcolor;ac.textAlign="center";ac.fontWeight=A.fontweight;ac.fontStyle=A.fontstyle;ac.cursor="default";ah=14+3*A.fontsize}else{if(aa.indexOf("divider")===0){if(X){if(!isNaN(parseInt(X))){ah=parseInt(X)}}else{if(Z){var ae=j.skin.getSkinElement("controlbar",Z);if(ae){ac.background="url("+ae.src+") repeat-x center left";ah=ae.width}}else{ac.background="url("+j.skin.getSkinElement("controlbar","divider").src+") repeat-x center left";ah=j.skin.getSkinElement("controlbar","divider").width}}}else{ac.background="url("+j.skin.getSkinElement("controlbar",aa).src+") repeat-x center left";ah=j.skin.getSkinElement("controlbar",aa).width}}if(ad=="left"){ac.left=isNaN(ab)?Q:ab;if(Y){Q+=ah}}else{if(ad=="right"){ac.right=isNaN(ab)?B:ab;if(Y){B+=ah}}}if(a.utils.typeOf(ag)=="undefined"){ag=K.elements}ac.width=ah;if(o){_css(K[aa],ac)}else{var af=P(aa,ag,ac);if(j.skin.getSkinElement("controlbar",aa+"Over")!==undefined){af.onmouseover=function(ai){af.style.backgroundImage=["url(",j.skin.getSkinElement("controlbar",aa+"Over").src,")"].join("")};af.onmouseout=function(ai){af.style.backgroundImage=["url(",j.skin.getSkinElement("controlbar",aa).src,")"].join("")}}}}}function C(){j.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED,y);j.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER,s);j.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE,q);j.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME,D);j.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE,V);j.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME,l);j.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE,G)}function y(){I();H();u();T()}function T(){D({id:j.id,duration:j.jwGetDuration(),position:0});s({id:j.id,bufferProgress:0});V({id:j.id,mute:j.jwGetMute()});q({id:j.id,newstate:a.api.events.state.IDLE});l({id:j.id,volume:j.jwGetVolume()})}function L(Z,aa,Y){if(o){return}if(j.skin.getSkinElement("controlbar",Z)!==undefined){var X=K[Z];if(X!==null){_css(X,{cursor:"pointer"});if(aa=="fullscreen"){X.onmouseup=function(ab){ab.stopPropagation();j.jwSetFullscreen(!j.jwGetFullscreen())}}else{X.onmouseup=function(ab){ab.stopPropagation();if(Y!==null){j[aa](Y)}else{j[aa]()}}}}}}function N(X){if(o){return}var Y=K[X+"Slider"];_css(K.elements,{cursor:"pointer"});_css(Y,{cursor:"pointer"});Y.onmousedown=function(Z){t=X};Y.onmouseup=function(Z){Z.stopPropagation();U(Z.pageX)};Y.onmousemove=function(Z){if(t=="time"){f=true;var aa=Z.pageX-c[X+"Slider"].left-window.pageXOffset;_css(K.timeSliderThumb,{left:aa})}}}function U(Y){f=false;var X;if(t=="time"){X=Y-c.timeSliderRail.left+window.pageXOffset;var aa=X/c.timeSliderRail.width*S;if(aa<0){aa=0}else{if(aa>S){aa=S-3}}if(j.jwGetState()==a.api.events.state.PAUSED||j.jwGetState()==a.api.events.state.IDLE){j.jwPlay()}j.jwSeek(aa)}else{if(t=="volume"){X=Y-c.volumeSliderRail.left-window.pageXOffset;var Z=Math.round(X/c.volumeSliderRail.width*100);if(Z<0){Z=0}else{if(Z>100){Z=100}}if(j.jwGetMute()){j.jwSetMute(false)}j.jwSetVolume(Z)}}t="none"}function s(Y){if(Y.bufferPercent!==null){e=Y.bufferPercent}if(c.timeSliderRail){var Z=c.timeSliderRail.width;var X=isNaN(Math.round(Z*e/100))?0:Math.round(Z*e/100);_css(K.timeSliderBuffer,{width:X})}}function V(X){if(X.mute){_hide(K.muteButton);_show(K.unmuteButton);_hide(K.volumeSliderProgress)}else{_show(K.muteButton);_hide(K.unmuteButton);_show(K.volumeSliderProgress)}}function q(X){if(X.newstate==a.api.events.state.BUFFERING||X.newstate==a.api.events.state.PLAYING){_show(K.pauseButton);_hide(K.playButton)}else{_hide(K.pauseButton);_show(K.playButton)}x();if(X.newstate==a.api.events.state.IDLE){_hide(K.timeSliderBuffer);_hide(K.timeSliderProgress);_hide(K.timeSliderThumb);D({id:j.id,duration:j.jwGetDuration(),position:0})}else{_show(K.timeSliderBuffer);if(X.newstate!=a.api.events.state.BUFFERING){_show(K.timeSliderProgress);_show(K.timeSliderThumb)}}}function G(X){s({bufferPercent:0});D(a.utils.extend(X,{position:0,duration:S}))}function D(aa){if(aa.position!==null){i=aa.position}if(aa.duration!==null){S=aa.duration}var Y=(i===S===0)?0:i/S;var ab=c.timeSliderRail;if(ab){var X=isNaN(Math.round(ab.width*Y))?0:Math.round(ab.width*Y);var Z=X;if(K.timeSliderProgress){K.timeSliderProgress.style.width=X+"px";if(!f){if(K.timeSliderThumb){K.timeSliderThumb.style.left=Z+"px"}}}}if(K.durationText){K.durationText.innerHTML=n(S)}if(K.elapsedText){K.elapsedText.innerHTML=n(i)}}function n(X){str="00:00";if(X>0){str=Math.floor(X/60)<10?"0"+Math.floor(X/60)+":":Math.floor(X/60)+":";str+=Math.floor(X%60)<10?"0"+Math.floor(X%60):Math.floor(X%60)}return str}function m(){var aa,Y;var Z=document.getElementById(R.id+"_elements").childNodes;for(var X in document.getElementById(R.id+"_elements").childNodes){if(isNaN(parseInt(X,10))){continue}if(Z[X].id.indexOf(R.id+"_divider")===0&&Y&&Y.id.indexOf(R.id+"_divider")===0&&Z[X].style.backgroundImage==Y.style.backgroundImage){Z[X].style.display="none"}else{if(Z[X].id.indexOf(R.id+"_divider")===0&&aa&&aa.style.display!="none"){Z[X].style.display="block"}}if(Z[X].style.display!="none"){Y=Z[X]}aa=Z[X]}}function u(){m();if(j.jwGetFullscreen()){_show(K.normalscreenButton);_hide(K.fullscreenButton)}else{_hide(K.normalscreenButton);_show(K.fullscreenButton)}var Y={width:d};var X={};if(A.position==a.html5.view.positions.OVER||j.jwGetFullscreen()){Y.left=A.margin;Y.width-=2*A.margin;Y.top=w-E().height-A.margin;Y.height=E().height}else{Y.left=0}var aa=j.skin.getSkinElement("controlbar","capLeft");var Z=j.skin.getSkinElement("controlbar","capRight");X.left=aa?aa.width:0;X.width=Y.width-X.left-(Z?Z.width:0);var ab=j.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:j.skin.getSkinElement("controlbar","timeSliderCapLeft").width;_css(K.timeSliderRail,{width:(X.width-Q-B),left:ab});if(K.timeSliderCapRight!==undefined){_css(K.timeSliderCapRight,{left:ab+(X.width-Q-B)})}_css(R,Y);_css(K.elements,X);_css(K.background,X);p();return Y}function l(ab){if(K.volumeSliderRail!==undefined){var Z=isNaN(ab.volume/100)?1:ab.volume/100;var aa=parseInt(K.volumeSliderRail.style.width.replace("px",""),10);var X=isNaN(Math.round(aa*Z))?0:Math.round(aa*Z);var ac=parseInt(K.volumeSliderRail.style.right.replace("px",""),10);var Y=j.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:j.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;_css(K.volumeSliderProgress,{width:X,left:Y});if(K.volumeSliderCapLeft!==undefined){_css(K.volumeSliderCapLeft,{left:0})}}}function r(){I();H();p();o=true;C();T();R.style.opacity=A.idlehide?0:1}r();return this}})(jwplayer);(function(b){var a=["width","height","state","playlist","item","position","buffer","duration","volume","mute","fullscreen"];b.html5.controller=function(t,r,e,q){var w=t;var y=e;var d=q;var k=r;var A=true;var c=-1;var u=(y.config.debug!==undefined)&&(y.config.debug.toString().toLowerCase()=="console");var i=new b.html5.eventdispatcher(k.id,u);b.utils.extend(this,i);function m(D){i.sendEvent(D.type,D)}y.addGlobalListener(m);function p(){try{if(y.playlist[y.item].levels[0].file.length>0){if(A||y.state==b.api.events.state.IDLE){y.addEventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL,function(){y.getMedia().play()});y.addEventListener(b.api.events.JWPLAYER_MEDIA_TIME,function(E){if(E.position>=y.playlist[y.item].start&&c>=0){y.playlist[y.item].start=c;c=-1}});if(y.config.repeat){y.addEventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE,function(E){setTimeout(n,25)})}y.getMedia().load(y.playlist[y.item]);A=false}else{if(y.state==b.api.events.state.PAUSED){y.getMedia().play()}}}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function B(){try{if(y.playlist[y.item].levels[0].file.length>0){switch(y.state){case b.api.events.state.PLAYING:case b.api.events.state.BUFFERING:y.getMedia().pause();break}}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function x(D){try{if(y.playlist[y.item].levels[0].file.length>0){if(typeof D!="number"){D=parseFloat(D)}switch(y.state){case b.api.events.state.IDLE:if(c<0){c=y.playlist[y.item].start;y.playlist[y.item].start=D}p();break;case b.api.events.state.PLAYING:case b.api.events.state.PAUSED:case b.api.events.state.BUFFERING:y.seek(D);break}}return true}catch(E){i.sendEvent(b.api.events.JWPLAYER_ERROR,E)}return false}function j(){try{if(y.playlist[y.item].levels[0].file.length>0&&y.state!=b.api.events.state.IDLE){y.getMedia().stop()}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function g(){try{if(y.playlist[y.item].levels[0].file.length>0){if(y.config.shuffle){o(s())}else{if(y.item+1==y.playlist.length){o(0)}else{o(y.item+1)}}}if(y.state!=b.api.events.state.PLAYING&&y.state!=b.api.events.state.BUFFERING){p()}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function f(){try{if(y.playlist[y.item].levels[0].file.length>0){if(y.config.shuffle){o(s())}else{if(y.item===0){o(y.playlist.length-1)}else{o(y.item-1)}}}if(y.state!=b.api.events.state.PLAYING&&y.state!=b.api.events.state.BUFFERING){p()}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function s(){var D=null;if(y.playlist.length>1){while(D===null){D=Math.floor(Math.random()*y.playlist.length);if(D==y.item){D=null}}}else{D=0}return D}function o(E){y.resetEventListeners();y.addGlobalListener(m);try{if(y.playlist[E].levels[0].file.length>0){var F=y.state;if(F!==b.api.events.state.IDLE){j()}y.item=E;A=true;y.setActiveMediaProvider(y.playlist[y.item]);i.sendEvent(b.api.events.JWPLAYER_PLAYLIST_ITEM,{index:E});if(F==b.api.events.state.PLAYING||F==b.api.events.state.BUFFERING||y.config.chromeless||e.config.autostart===true){p()}}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function z(E){try{switch(typeof(E)){case"number":y.getMedia().volume(E);break;case"string":y.getMedia().volume(parseInt(E,10));break}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function l(E){try{if(typeof E=="undefined"){y.getMedia().mute(!y.mute)}else{if(E.toString().toLowerCase()=="true"){y.getMedia().mute(true)}else{y.getMedia().mute(false)}}return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function h(E,D){try{y.width=E;y.height=D;d.resize(E,D);i.sendEvent(b.api.events.JWPLAYER_RESIZE,{width:y.width,height:y.height});return true}catch(F){i.sendEvent(b.api.events.JWPLAYER_ERROR,F)}return false}function v(E){try{if(typeof E=="undefined"){y.fullscreen=!y.fullscreen;d.fullscreen(!y.fullscreen)}else{if(E.toString().toLowerCase()=="true"){y.fullscreen=true;d.fullscreen(true)}else{y.fullscreen=false;d.fullscreen(false)}}i.sendEvent(b.api.events.JWPLAYER_RESIZE,{width:y.width,height:y.height});i.sendEvent(b.api.events.JWPLAYER_FULLSCREEN,{fullscreen:E});return true}catch(D){i.sendEvent(b.api.events.JWPLAYER_ERROR,D)}return false}function C(D){try{j();y.loadPlaylist(D);o(y.item);return true}catch(E){i.sendEvent(b.api.events.JWPLAYER_ERROR,E)}return false}b.html5.controller.repeatoptions={LIST:"LIST",ALWAYS:"ALWAYS",SINGLE:"SINGLE",NONE:"NONE"};function n(){y.resetEventListeners();y.addGlobalListener(m);switch(y.config.repeat.toUpperCase()){case b.html5.controller.repeatoptions.SINGLE:p();break;case b.html5.controller.repeatoptions.ALWAYS:if(y.item==y.playlist.length-1&&!y.config.shuffle){o(0);p()}else{g()}break;case b.html5.controller.repeatoptions.LIST:if(y.item==y.playlist.length-1&&!y.config.shuffle){o(0)}else{g()}break}}this.play=p;this.pause=B;this.seek=x;this.stop=j;this.next=g;this.prev=f;this.item=o;this.setVolume=z;this.setMute=l;this.resize=h;this.setFullscreen=v;this.load=C}})(jwplayer);(function(a){a.html5.defaultSkin=function(){this.text='<?xml version="1.0" ?><skin author="LongTail Video" name="Five" version="1.0"><settings><setting name="backcolor" value="0xFFFFFF"/><setting name="frontcolor" value="0x000000"/><setting name="lightcolor" value="0x000000"/><setting name="screencolor" value="0x000000"/></settings><components><component name="controlbar"><settings><setting name="margin" value="20"/><setting name="fontsize" value="11"/></settings><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNrslLENwAAIwxLU/09j5AiOgD5hVQzNAVY8JK4qEfHMIKBnd2+BQlBINaiRtL/aV2rdzYBsM6CIONbI1NZENTr3RwdB2PlnJgJ6BRgA4hwu5Qg5iswAAAAASUVORK5CYII="/><element name="capLeft" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="capRight" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="divider" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="playButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpiYqABYBo1dNRQ+hr6H4jvA3E8NS39j4SpZvh/LJig4YxEGEqy3kET+w+AOGFQRhTJhrEQkGcczfujhg4CQwECDADpTRWU/B3wHQAAAABJRU5ErkJggg=="/><element name="pauseButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiYBgFo2DwA0YC8v/R1P4nRu+ooaOGUtnQUTAKhgIACDAAFCwQCfAJ4gwAAAAASUVORK5CYII="/><element name="prevButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtJREFUeNpiYBgFo2Dog/9QDAPyQHweTYwiQ/2B+D0Wi8g2tB+JTdBQRiIMJVkvEy0iglhDF9Aq9uOpHVEwoE+NJDUKRsFgAAABBgDe2hqZcNNL0AAAAABJRU5ErkJggg=="/><element name="nextButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAElJREFUeNpiYBgFo2Dog/9AfB6I5dHE/lNqKAi/B2J/ahsKw/3EGMpIhKEk66WJoaR6fz61IyqemhEFSlL61ExSo2AUDAYAEGAAiG4hj+5t7M8AAAAASUVORK5CYII="/><element name="timeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpiYBgFo2AU0Bwwzluw+D8tLWARFhKiqQ9YuLg4aWsBGxs7bS1gZ6e5BWyjSX0UjIKhDgACDABlYQOGh5pYywAAAABJRU5ErkJggg=="/><element name="timeSliderBuffer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFo2AU0Bww1jc0/aelBSz8/Pw09QELOzs7bS1gY2OjrQWsrKy09gHraFIfBaNgqAOAAAMAvy0DChXHsZMAAAAASUVORK5CYII="/><element name="timeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiYBgFo2AU0BwwAvF/WlrARGsfjFow8BaMglEwCugAAAIMAOHfAQunR+XzAAAAAElFTkSuQmCC"/><element name="timeSliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAICAYAAAA870V8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUeNpiZICA/yCCiQEJUJcDEGAAY0gBD1/m7Q0AAAAASUVORK5CYII="/><element name="muteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiYBgFIw3MB+L/5Gj8j6yRiRTFyICJXHfTXyMLAXlGati4YDRFDj8AEGAABk8GSqqS4CoAAAAASUVORK5CYII="/><element name="unmuteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFgxz8p7bm+cQa+h8LHy7GhEcjIz4bmAjYykiun/8j0fakGPIfTfPgiSr6aB4FVAcAAQYAWdwR1G1Wd2gAAAAASUVORK5CYII="/><element name="volumeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGpJREFUeNpi/P//PwM9ABMDncCoRYPfIqqDZcuW1UPp/6AUDcNM1DQYKtRAlaAj1mCSLSLXYIIWUctgDItoZfDA5aOoqKhGEANIM9LVR7SymGDQUctikuOIXkFNdhHEOFrDjlpEd4sAAgwAriRMub95fu8AAAAASUVORK5CYII="/><element name="volumeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFtJREFUeNpi/P//PwM9ABMDncCoRYPfIlqAeij9H5SiYZiqBqPTlFqE02BKLSLaYFItIttgQhZRzWB8FjENiuRJ7aAbsMQwYMl7wDIsWUUQ42gNO2oR3S0CCDAAKhKq6MLLn8oAAAAASUVORK5CYII="/><element name="fullscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5JREFUeNpiYBgFo2DQA0YC8v/xqP1PjDlMRDrEgUgxkgHIlfZoriVGjmzLsLFHAW2D6D8eA/9Tw7L/BAwgJE90PvhPpNgoGAVDEQAEGAAMdhTyXcPKcAAAAABJRU5ErkJggg=="/><element name="normalscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEZJREFUeNpiYBgFo2DIg/9UUkOUAf8JiFFsyX88fJyAkcQgYMQjNkzBoAgiezyRbE+tFGSPxQJ7auYBmma0UTAKBhgABBgAJAEY6zON61sAAAAASUVORK5CYII="/></elements></component><component name="display"><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC"/><element name="playIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg=="/><element name="muteIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNrs1jEOgCAMBVAg7t5/8qaoIy4uoobyXsLCxA+0NCUAAADGUWvdQoQ41x4ixNBB2hBvBskdD3w5ZCkl3+33VqI0kjBBlh9rp+uTcyOP33TnolfsU85XX3yIRpQph8ZQY3wTZtU5AACASA4BBgDHoVuY1/fvOQAAAABJRU5ErkJggg=="/><element name="errorIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWlJREFUeNrsl+1twjAQhsHq/7BBYQLYIBmBDcoGMAIjtBPQTcII2SDtBDBBwrU6pGsUO7YbO470PtKJkz9iH++d4ywWAAAAAABgljRNsyWr2bZzDuJG1rLdZhcMbTjrBCGDyUKsqQLFciJb9bSvuG/WagRVRUVUI6gqy5HVeKWfSgRyJruKIU//TrZTSn2nmlaXThrloi/v9F2STC1W4+Aw5cBzkquRc09bofFNc6YLxEON0VUZS5FPTftO49vMjRsIF3RhOGr7/D/pJw+FKU+q0vDyq8W42jCunDqI3LC5XxNj2wHLU1XjaRnb0Lhykhqhhd8MtSF5J9tbjCv4mXGvKJz/65FF/qJryyaaIvzP2QRxZTX2nTuXjvV/VPFSwyLnW7mpH99yTh1FEVro6JBSd40/pMrRdV8vPtcKl28T2pT8TnFZ4yNosct3Q0io6JfBiz1FlGdqVQH3VHnepAEAAAAAADDzEGAAcTwB10jWgxcAAAAASUVORK5CYII="/><element name="bufferIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuhJREFUeNrsWr9rU1EUznuNGqvFQh1ULOhiBx0KDtIuioO4pJuik3FxFfUPaAV1FTdx0Q5d2g4FFxehTnEpZHFoBy20tCIWtGq0TZP4HfkeHB5N8m6Sl/sa74XDybvv3vvOd8/Pe4lXrVZT3dD8VJc0B8QBcUAcEAfESktHGeR5XtMfqFQq/f92zPe/NbtGlKTdCY30kuxrpMGO94BlQCXs+rbh3ONgA6BlzP1p20d80gEI5hmA2A92Qua1Q2PtAFISM+bvjMG8U+Q7oA3rQGASwrYCU6WpNdLGYbA+Pq5jjXIiwi8EEa2UDbQSaKOIuV+SlkcCrfjY8XTI9EpKGwP0C2kru2hLtHqa4zoXtZRWyvi4CLwv9Opr6Hkn6A9HKgEANsQ1iqC3Ub/vRUk2JgmRkatK36kVrnt0qObunwUdUUMXMWYpakJsO5Am8tAw2GBIgwWA+G2S2dMpiw0gDioQRQJoKhRb1QiDwlHZUABYbaXWsm5ae6loTE4ZDxN4CZar8foVzOJ2iyZ2kWF3t7YIevffaMT5yJ70kQb2fQ1sE5SHr2wazs2wgMxgbsEKEAgxAvZUJbQLBGTSBMgNrncJbA6AljtS/eKDJ0Ez+DmrQEzXS2h1Ck25kAg0IZcUOaydCy4sYnN2fOA+2AP16gNoHALlQ+fwH7XO4CxLenUpgj4xr6ugY2roPMbMx+Xs18m/E8CVEIhxsNeg83XWOAN6grG3lGbk8uE5fr4B/WH3cJw+co/l9nTYsSGYCJ/lY5/qv0thn6nrIWmjeJcPSnWOeY++AkF8tpJHIMAUs/MaBBpj3znZfQo5psY+ZrG4gv5HickjEOymKjEeRpgyST6IuZcTcWbnjcgdPi5ghxciRKsl1lDSsgwA1i8fssonJgzmTSqfGUkCENndNdAL7PS6QQ7ZYISTo+1qq0LEWjTWcvY4isa4z+yfQB+7ooyHVg5RI7/i1Ijn/vnggDggDogD4oC00P4KMACd/juEHOrS4AAAAABJRU5ErkJggg=="/></elements></component><component name="dock"><elements><element name="button" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFBJREFUeNrs0cEJACAQA8Eofu0fu/W6EM5ZSAFDRpKTBs00CQQEBAQEBAQEBAQEBAQEBATkK8iqbY+AgICAgICAgICAgICAgICAgIC86QowAG5PAQzEJ0lKAAAAAElFTkSuQmCC"/></elements></component><component name="playlist"><elements><element name="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAIAAAC1nk4lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNrs2NEJwCAMBcBYuv/CFuIE9VN47WWCR7iocXR3pdWdGPqqwIoMjYfQeAiNh9B4JHc6MHQVHnjggQceeOCBBx77TifyeOY0iHi8DqIdEY8dD5cL094eePzINB5CO/LwcOTptNB4CP25L4TIbZzpU7UEGAA5wz1uF5rF9AAAAABJRU5ErkJggg=="/><element name="sliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNrsy6ENACAMAMHClp2wYxZLAg5Fcu9e3OjuOKqqfTMzbs14CIZhGIZhGIZhGP4VLwEGAK/BBnVFpB0oAAAAAElFTkSuQmCC"/><element name="sliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNrsy7ENACAMBLE8++8caFFKKiRffU53112SGs3ttOohGIZhGIZhGIZh+Fe8BRgAiaUGde6NOSEAAAAASUVORK5CYII="/></elements></component></components></skin>';this.xml=null;if(window.DOMParser){parser=new DOMParser();this.xml=parser.parseFromString(this.text,"text/xml")}else{this.xml=new ActiveXObject("Microsoft.XMLDOM");this.xml.async="false";this.xml.loadXML(this.text)}return this}})(jwplayer);(function(a){_css=a.utils.css;_hide=function(b){_css(b,{display:"none"})};_show=function(b){_css(b,{display:"block"})};a.html5.display=function(o,z){var r={icons:true};var j=a.utils.extend({},r,z);var w=o;var d={};var f;var A;var k;var x;var y;var p;var i;var n=w.skin.getComponentSettings("display").bufferrotation===undefined?15:parseInt(w.skin.getComponentSettings("display").bufferrotation,10);var e=w.skin.getComponentSettings("display").bufferinterval===undefined?100:parseInt(w.skin.getComponentSettings("display").bufferinterval,10);var c={display:{style:{cursor:"pointer",top:0,left:0,overflow:"hidden"},click:u},display_icon:{style:{cursor:"pointer",position:"absolute",top:((w.skin.getSkinElement("display","background").height-w.skin.getSkinElement("display","playIcon").height)/2),left:((w.skin.getSkinElement("display","background").width-w.skin.getSkinElement("display","playIcon").width)/2),border:0,margin:0,padding:0,zIndex:3}},display_iconBackground:{style:{cursor:"pointer",position:"absolute",top:((A-w.skin.getSkinElement("display","background").height)/2),left:((f-w.skin.getSkinElement("display","background").width)/2),border:0,backgroundImage:(["url(",w.skin.getSkinElement("display","background").src,")"]).join(""),width:w.skin.getSkinElement("display","background").width,height:w.skin.getSkinElement("display","background").height,margin:0,padding:0,zIndex:2}},display_image:{style:{display:"none",width:f,height:A,position:"absolute",cursor:"pointer",left:0,top:0,margin:0,padding:0,textDecoration:"none",zIndex:1}},display_text:{style:{zIndex:4,position:"relative",opacity:0.8,backgroundColor:parseInt("000000",16),color:parseInt("ffffff",16),textAlign:"center",fontFamily:"Arial,sans-serif",padding:"0 5px",fontSize:14}}};w.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE,l);w.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE,l);w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM,l);w.jwAddEventListener(a.api.events.JWPLAYER_ERROR,t);B();function B(){d.display=s("div","display");d.display_text=s("div","display_text");d.display.appendChild(d.display_text);d.display_image=s("img","display_image");d.display_image.onerror=function(C){_hide(d.display_image)};d.display_image.onload=m;d.display_icon=s("div","display_icon");d.display_iconBackground=s("div","display_iconBackground");d.display.appendChild(d.display_image);d.display_iconBackground.appendChild(d.display_icon);d.display.appendChild(d.display_iconBackground);b()}this.getDisplayElement=function(){return d.display};this.resize=function(D,C){f=D;A=C;_css(d.display,{width:D,height:C});_css(d.display_text,{width:(D-10),top:((A-d.display_text.getBoundingClientRect().height)/2)});_css(d.display_iconBackground,{top:((A-w.skin.getSkinElement("display","background").height)/2),left:((f-w.skin.getSkinElement("display","background").width)/2)});h();l({})};this.show=function(){_show(d.display_icon);_show(d.display_iconBackground)};this.hide=function(){q()};function m(C){k=d.display_image.naturalWidth;x=d.display_image.naturalHeight;h()}function h(){a.utils.stretch(w.jwGetStretching(),d.display_image,f,A,k,x)}function s(C,E){var D=document.createElement(C);D.id=w.id+"_jwplayer_"+E;_css(D,c[E].style);return D}function b(){for(var C in d){if(c[C].click!==undefined){d[C].onclick=c[C].click}}}function u(C){if(typeof C.preventDefault!="undefined"){C.preventDefault()}else{C.returnValue=false}if(w.jwGetState()!=a.api.events.state.PLAYING){w.jwPlay()}else{w.jwPause()}}function g(C){if(i||!j.icons){q();return}_show(d.display_iconBackground);d.display_icon.style.backgroundImage=(["url(",w.skin.getSkinElement("display",C).src,")"]).join("");_css(d.display_icon,{display:"block",width:w.skin.getSkinElement("display",C).width,height:w.skin.getSkinElement("display",C).height,top:(w.skin.getSkinElement("display","background").height-w.skin.getSkinElement("display",C).height)/2,left:(w.skin.getSkinElement("display","background").width-w.skin.getSkinElement("display",C).width)/2});if(w.skin.getSkinElement("display",C+"Over")!==undefined){d.display_icon.onmouseover=function(D){d.display_icon.style.backgroundImage=["url(",w.skin.getSkinElement("display",C+"Over").src,")"].join("")};d.display_icon.onmouseout=function(D){d.display_icon.style.backgroundImage=["url(",w.skin.getSkinElement("display",C).src,")"].join("")}}else{d.display_icon.onmouseover=null;d.display_icon.onmouseout=null}}function q(){_hide(d.display_icon);_hide(d.display_iconBackground)}function t(C){i=true;q();d.display_text.innerHTML=C.error;_show(d.display_text);d.display_text.style.top=((A-d.display_text.getBoundingClientRect().height)/2)+"px"}function v(){var C=d.display_image;d.display_image=s("img","display_image");d.display_image.onerror=function(D){_hide(d.display_image)};d.display_image.onload=m;d.display.replaceChild(d.display_image,C)}function l(C){if((C.type==a.api.events.JWPLAYER_PLAYER_STATE||C.type==a.api.events.JWPLAYER_PLAYLIST_ITEM)&&i){i=false;_hide(d.display_text)}if(p!==undefined){clearInterval(p);p=null;a.utils.animations.rotate(d.display_icon,0)}switch(w.jwGetState()){case a.api.events.state.BUFFERING:g("bufferIcon");y=0;p=setInterval(function(){y+=n;a.utils.animations.rotate(d.display_icon,y%360)},e);g("bufferIcon");break;case a.api.events.state.PAUSED:if(w.jwGetPlaylist()[w.jwGetItem()].provider!="sound"){_css(d.display_image,{background:"transparent no-repeat center center"})}g("playIcon");break;case a.api.events.state.IDLE:if(w.jwGetPlaylist()[w.jwGetItem()].image){_css(d.display_image,{display:"block"});d.display_image.src=a.utils.getAbsolutePath(w.jwGetPlaylist()[w.jwGetItem()].image)}else{v()}g("playIcon");break;default:if(w.jwGetMute()&&j.showmute){if(w.jwGetPlaylist()[w.jwGetItem()].provider!="sound"){v()}g("muteIcon")}else{if(w.jwGetPlaylist()[w.jwGetItem()].provider!="sound"){v()}_hide(d.display_iconBackground);_hide(d.display_icon)}break}}return this}})(jwplayer);(function(a){_css=a.utils.css;a.html5.dock=function(g,c){function f(){return{align:a.html5.view.positions.RIGHT}}var k=a.utils.extend({},f(),c);if(k.align=="FALSE"){return}var h={};var b=[];var d;var e;var j=document.createElement("div");j.id=g.id+"_jwplayer_dock";this.getDisplayElement=function(){return j};this.setButton=function(o,l,m,n){if(!l&&h[o]){a.utils.arrays.remove(b,o);j.removeChild(h[o].div);delete h[o]}else{if(l){if(!h[o]){h[o]={}}h[o].handler=l;h[o].outGraphic=m;h[o].overGraphic=n;if(!h[o].div){b.push(o);h[o].div=document.createElement("div");h[o].div.style.position="relative";j.appendChild(h[o].div);h[o].div.appendChild(document.createElement("img"));h[o].div.childNodes[0].style.position="absolute";h[o].div.childNodes[0].style.left=0;h[o].div.childNodes[0].style.top=0;h[o].div.childNodes[0].style.zIndex=10;h[o].div.childNodes[0].style.cursor="pointer";h[o].div.appendChild(document.createElement("img"));h[o].div.childNodes[1].style.position="absolute";h[o].div.childNodes[1].style.left=0;h[o].div.childNodes[1].style.top=0;if(g.skin.getSkinElement("dock","button")){h[o].div.childNodes[1].src=g.skin.getSkinElement("dock","button").src}h[o].div.childNodes[1].style.zIndex=9;h[o].div.childNodes[1].style.cursor="pointer";h[o].div.onmouseover=function(){if(h[o].overGraphic){h[o].div.childNodes[0].src=h[o].overGraphic}if(g.skin.getSkinElement("dock","buttonOver")){h[o].div.childNodes[1].src=g.skin.getSkinElement("dock","buttonOver").src}};h[o].div.onmouseout=function(){if(h[o].outGraphic){h[o].div.childNodes[0].src=h[o].outGraphic}if(g.skin.getSkinElement("dock","button")){h[o].div.childNodes[1].src=g.skin.getSkinElement("dock","button").src}};if(h[o].overGraphic){h[o].div.childNodes[0].src=h[o].overGraphic}if(h[o].outGraphic){h[o].div.childNodes[0].src=h[o].outGraphic}if(g.skin.getSkinElement("dock","button")){h[o].div.childNodes[1].src=g.skin.getSkinElement("dock","button").src}}if(l){h[o].div.onclick=function(p){p.preventDefault();a(g.id).callback(o);if(h[o].overGraphic){h[o].div.childNodes[0].src=h[o].overGraphic}if(g.skin.getSkinElement("dock","button")){h[o].div.childNodes[1].src=g.skin.getSkinElement("dock","button").src}}}}}i(d,e)};function i(n,l){d=n;e=l;if(b.length>0){var p=10;var r=n-g.skin.getSkinElement("dock","button").width-p;var o=p;var q=-1;if(k.align==a.html5.view.positions.LEFT){q=1;r=p}for(var m=0;m<b.length;m++){var s=Math.floor(o/l);if((o+g.skin.getSkinElement("dock","button").height+p)>((s+1)*l)){o=((s+1)*l)+p;s=Math.floor(o/l)}h[b[m]].div.style.top=(o%l)+"px";h[b[m]].div.style.left=(r+(g.skin.getSkinElement("dock","button").width+p)*s*q)+"px";o+=g.skin.getSkinElement("dock","button").height+p}}}this.resize=i;this.show=function(){_css(j,{display:"block"})};this.hide=function(){_css(j,{display:"none"})};return this}})(jwplayer);(function(a){a.html5.eventdispatcher=function(d,b){var c=new a.events.eventdispatcher(b);a.utils.extend(this,c);this.sendEvent=function(e,f){if(f===undefined){f={}}a.utils.extend(f,{id:d,version:a.version,type:e});c.sendEvent(e,f)}}})(jwplayer);(function(a){var b={prefix:"https://l.longtailvideo.com/html5/",file:"logo.png",link:"https://www.longtailvideo.com/players/jw-flv-player/",margin:8,out:0.5,over:1,timeout:3,hide:true,position:"bottom-left"};_css=a.utils.css;a.html5.logo=function(l,m){var r=l;var n;var i;var c;j();function j(){p();d();f()}function p(){if(b.prefix){var t=l.version.split(/\W/).splice(0,2).join("/");if(b.prefix.indexOf(t)<0){b.prefix+=t+"/"}}if(m.position==a.html5.view.positions.OVER){m.position=b.position}i=a.utils.extend({},b)}function d(){c=document.createElement("img");c.id=r.id+"_jwplayer_logo";c.style.display="none";c.onload=function(t){_css(c,q());r.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE,s);e()};if(!i.file){return}if(i.file.indexOf("https://")===0){c.src=i.file}else{c.src=i.prefix+i.file}}if(!i.file){return}this.resize=function(u,t){};this.getDisplayElement=function(){return c};function f(){if(i.link){c.onmouseover=h;c.onmouseout=e;c.onclick=o}else{this.mouseEnabled=false}}function o(t){if(typeof t!="undefined"){t.stopPropagation()}r.jwPause();r.jwSetFullscreen(false);if(i.link){window.open(i.link,"_blank")}return}function e(t){if(i.link){c.style.opacity=i.out}return}function h(t){if(i.hide){c.style.opacity=i.over}return}function q(){var v={textDecoration:"none",position:"absolute",cursor:"pointer"};v.display=i.hide?"none":"block";var u=i.position.toLowerCase().split("-");for(var t in u){v[u[t]]=i.margin}return v}function k(){if(i.hide){c.style.display="block";c.style.opacity=0;a.utils.fadeTo(c,i.out,0.1,parseFloat(c.style.opacity));n=setTimeout(function(){g()},i.timeout*1000)}}function g(){if(i.hide){a.utils.fadeTo(c,0,0.1,parseFloat(c.style.opacity))}}function s(t){if(t.newstate==a.api.events.state.BUFFERING){clearTimeout(n);k()}}return this}})(jwplayer);(function(a){var c={ended:a.api.events.state.IDLE,playing:a.api.events.state.PLAYING,pause:a.api.events.state.PAUSED,buffering:a.api.events.state.BUFFERING};var b=a.utils.css;a.html5.mediavideo=function(f,F){var J={abort:t,canplay:m,canplaythrough:m,durationchange:q,emptied:t,ended:m,error:l,loadeddata:q,loadedmetadata:q,loadstart:m,pause:m,play:M,playing:m,progress:B,ratechange:t,seeked:m,seeking:m,stalled:m,suspend:m,timeupdate:M,volumechange:t,waiting:m,canshowcurrentframe:t,dataunavailable:t,empty:t,load:e,loadedfirstframe:t};var K=new a.html5.eventdispatcher();a.utils.extend(this,K);var h=f;var x=F;var G;var I;var d=a.api.events.state.IDLE;var C=null;var n;var g=0;var A=false;var r=false;var O;var N;var i=[];var P;var E=false;function v(){return d}function e(Q){}function t(Q){}function m(Q){if(c[Q.type]){s(c[Q.type])}}function s(Q){if(E){return}if(n){Q=a.api.events.state.IDLE}if(Q==a.api.events.state.PAUSED&&d==a.api.events.state.IDLE){return}if(Q==a.api.events.state.PLAYING&&d==a.api.events.state.IDLE){s(a.api.events.state.BUFFERING);K.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:h.buffer});z();return}if(d!=Q){var R=d;h.state=Q;d=Q;var S=false;if(Q==a.api.events.state.IDLE){p();if(h.position>=h.duration&&(h.position>0||h.duration>0)){S=true}if(x.style.display!="none"&&!h.config.chromeless){x.style.display="none"}}K.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE,{oldstate:R,newstate:Q});if(S){K.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE)}}n=false}function q(Q){var R={height:Q.target.videoHeight,width:Q.target.videoWidth,duration:Math.round(Q.target.duration*10)/10};if(h.duration===0||isNaN(h.duration)){h.duration=Math.round(Q.target.duration*10)/10}h.playlist[h.item]=a.utils.extend(h.playlist[h.item],R);K.sendEvent(a.api.events.JWPLAYER_MEDIA_META,{metadata:R})}function M(R){if(n){return}if(R!==undefined&&R.target!==undefined){if(h.duration===0||isNaN(h.duration)){h.duration=Math.round(R.target.duration*10)/10}if(!A&&x.readyState>0){s(a.api.events.state.PLAYING)}if(d==a.api.events.state.PLAYING){if(!A&&x.readyState>0){A=true;try{x.currentTime=h.playlist[h.item].start}catch(Q){}x.volume=h.volume/100;x.muted=h.mute}h.position=Math.round(R.target.currentTime*10)/10;K.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME,{position:R.target.currentTime,duration:R.target.duration})}}B(R)}function z(){if(G===false&&d==a.api.events.state.BUFFERING){K.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);G=true}}function H(){var Q=(i[i.length-1]-i[0])/i.length;P=setTimeout(function(){if(!I){B({lengthComputable:true,loaded:1,total:1})}},Q*10)}function B(S){var R,Q;if(S!==undefined&&S.lengthComputable&&S.total){o();R=S.loaded/S.total*100;Q=R/100*(h.duration-x.currentTime);if(50<R&&!I){clearTimeout(P);H()}}else{if((x.buffered!==undefined)&&(x.buffered.length>0)){maxBufferIndex=0;if(maxBufferIndex>=0){R=x.buffered.end(maxBufferIndex)/x.duration*100;Q=x.buffered.end(maxBufferIndex)-x.currentTime}}}z();if(!I){if(R==100&&I===false){I=true}if(R!==null&&(R>h.buffer)){h.buffer=Math.round(R);K.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:Math.round(R)})}}}function w(){if(C===null){C=setInterval(function(){M()},100)}}function p(){clearInterval(C);C=null}function l(S){var R="There was an error: ";if((S.target.error&&S.target.tagName.toLowerCase()=="video")||S.target.parentNode.error&&S.target.parentNode.tagName.toLowerCase()=="video"){var Q=S.target.error===undefined?S.target.parentNode.error:S.target.error;switch(Q.code){case Q.MEDIA_ERR_ABORTED:R="You aborted the video playback: ";break;case Q.MEDIA_ERR_NETWORK:R="A network error caused the video download to fail part-way: ";break;case Q.MEDIA_ERR_DECODE:R="The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";break;case Q.MEDIA_ERR_SRC_NOT_SUPPORTED:R="The video could not be loaded, either because the server or network failed or because the format is not supported: ";break;default:R="An unknown error occurred: ";break}}else{if(S.target.tagName.toLowerCase()=="source"){N--;if(N>0){return}R="The video could not be loaded, either because the server or network failed or because the format is not supported: "}else{a.utils.log("Erroneous error received. Continuing...");return}}u();R+=j();E=true;K.sendEvent(a.api.events.JWPLAYER_ERROR,{error:R});return}function j(){var S="";for(var R in O.levels){var Q=O.levels[R];var T=x.ownerDocument.createElement("source");S+=a.utils.getAbsolutePath(Q.file);if(R<(O.levels.length-1)){S+=", "}}return S}this.getDisplayElement=function(){return x};this.play=function(){if(d!=a.api.events.state.PLAYING){if(x.style.display!="block"){x.style.display="block"}x.play();w();if(G){s(a.api.events.state.PLAYING)}}};this.pause=function(){x.pause();s(a.api.events.state.PAUSED)};this.seek=function(Q){if(!(h.duration===0||isNaN(h.duration))&&!(h.position===0||isNaN(h.position))){x.currentTime=Q;x.play()}};function u(){x.pause();x.removeAttribute("src");var Q=x.getElementsByTagName("source");for(var R=0;R<Q.length;R++){x.removeChild(Q[R])}if(typeof x.load=="function"){x.load()}p();h.position=0;n=true;s(a.api.events.state.IDLE)}this.stop=u;this.volume=function(Q){x.volume=Q/100;h.volume=Q;K.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME,{volume:Math.round(Q)})};this.mute=function(Q){x.muted=Q;h.mute=Q;K.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE,{mute:Q})};this.resize=function(R,Q){if(false){b(x,{width:R,height:Q})}K.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE,{fullscreen:h.fullscreen,width:R,hieght:Q})};this.fullscreen=function(Q){if(Q===true){this.resize("100%","100%")}else{this.resize(h.config.width,h.config.height)}};this.load=function(Q){L(Q);K.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);G=false;I=false;A=false;if(!h.config.chromeless&&!r){i=[];o();s(a.api.events.state.BUFFERING);setTimeout(function(){M()},25)}};function o(){var Q=new Date().getTime();i.push(Q)}this.hasChrome=function(){return r};function L(Q){switch(Q.provider){case"youtube":k(Q);break;default:D(Q,document.createElement("video"));break}}function D(X,V){h.duration=X.duration;r=false;O=X;V.preload="none";V.setAttribute("x-webkit-airplay","allow");E=false;N=0;for(var R=0;R<X.levels.length;R++){var Q=X.levels[R];var S;var W=a.utils.extension(Q.file);if(Q.type===undefined){if(a.utils.extensionmap[W]!==undefined&&a.utils.extensionmap[W].html5!==undefined){S=a.utils.extensionmap[W].html5}}else{S=Q.type}if(!S||V.canPlayType(S)||(a.utils.isLegacyAndroid()&&W.match(/m4v|mp4/))){var U=x.ownerDocument.createElement("source");U.src=a.utils.getAbsolutePath(Q.file);if(S&&!a.utils.isLegacyAndroid()){U.type=S}N++;V.appendChild(U)}}if(N===0){E=true;K.sendEvent(a.api.events.JWPLAYER_ERROR,{error:"The media could not be loaded because the format is not supported by your browser: "+j()})}if(h.config.chromeless){V.poster=a.utils.getAbsolutePath(X.image);V.controls="controls"}V.style.top=x.style.top;V.style.left=x.style.left;V.style.width=x.style.width;V.style.height=x.style.height;V.style.zIndex=x.style.zIndex;V.onload=e;V.volume=0;x.parentNode.replaceChild(V,x);V.id=x.id;x=V;for(var T in J){x.addEventListener(T,function(Y){if(Y.target.parentNode!==null){J[Y.type](Y)}},true)}}function k(Q){var Y=Q.levels[0].file;var T=document.createElement("object");Y=["https://www.youtube.com/v/",y(Y),"&amp;hl=en_US&amp;fs=1&autoplay=1"].join("");var W={movie:Y,allowFullScreen:"true",allowscriptaccess:"always"};for(var S in W){var R=document.createElement("param");R.name=S;R.value=W[S];T.appendChild(R)}var X=document.createElement("embed");var U={src:Y,type:"application/x-shockwave-flash",allowscriptaccess:"always",allowfullscreen:"true",width:document.getElementById(f.id).style.width,height:document.getElementById(f.id).style.height};for(var V in U){X[V]=U[V]}T.appendChild(X);T.style.position=x.style.position;T.style.top=x.style.top;T.style.left=x.style.left;T.style.width=document.getElementById(f.id).style.width;T.style.height=document.getElementById(f.id).style.height;T.style.zIndex=2147483000;x.parentNode.replaceChild(T,x);T.id=x.id;x=T;r=true}function y(R){var Q=R.split(/\?|\#\!/);var T="";for(var S=0;S<Q.length;S++){if(Q[S].substr(0,2)=="v="){T=Q[S].substr(2)}}if(T==""){if(R.indexOf("/v/")>=0){T=R.substr(R.indexOf("/v/")+3)}else{if(R.indexOf("youtu.be")>=0){T=R.substr(R.indexOf("youtu.be/")+9)}else{T=R}}}if(T.indexOf("?")>-1){T=T.substr(0,T.indexOf("?"))}if(T.indexOf("&")>-1){T=T.substr(0,T.indexOf("&"))}return T}this.embed=L;return this}})(jwplayer);(function(jwplayer){var _configurableStateVariables=["width","height","start","duration","volume","mute","fullscreen","item","plugins","stretching"];jwplayer.html5.model=function(api,container,options){var _api=api;var _container=container;var _model={id:_container.id,playlist:[],state:jwplayer.api.events.state.IDLE,position:0,buffer:0,config:{width:480,height:320,item:-1,skin:undefined,file:undefined,image:undefined,start:0,duration:0,bufferlength:5,volume:90,mute:false,fullscreen:false,repeat:"none",stretching:jwplayer.utils.stretching.UNIFORM,autostart:false,debug:undefined,screencolor:undefined}};var _media;var _eventDispatcher=new jwplayer.html5.eventdispatcher();var _components=["display","logo","controlbar","dock"];jwplayer.utils.extend(_model,_eventDispatcher);for(var option in options){if(typeof options[option]=="string"){var type=/color$/.test(option)?"color":null;options[option]=jwplayer.utils.typechecker(options[option],type)}var config=_model.config;var path=option.split(".");for(var edge in path){if(edge==path.length-1){config[path[edge]]=options[option]}else{if(config[path[edge]]===undefined){config[path[edge]]={}}config=config[path[edge]]}}}for(var index in _configurableStateVariables){var configurableStateVariable=_configurableStateVariables[index];_model[configurableStateVariable]=_model.config[configurableStateVariable]}var pluginorder=_components.concat([]);if(_model.plugins!==undefined){if(typeof _model.plugins=="string"){var userplugins=_model.plugins.split(",");for(var userplugin in userplugins){if(typeof userplugins[userplugin]=="string"){pluginorder.push(userplugins[userplugin].replace(/^\s+|\s+$/g,""))}}}}if(typeof _model.config.chromeless=="undefined"&&jwplayer.utils.isIOS()){_model.config.chromeless=true}if(_model.config.chromeless){pluginorder=["logo"];if(_model.config.repeat===undefined||_model.config.repeat=="none"){_model.config.repeat="list"}}_model.plugins={order:pluginorder,config:{},object:{}};if(typeof _model.config.components!="undefined"){for(var component in _model.config.components){_model.plugins.config[component]=_model.config.components[component]}}for(var pluginIndex in _model.plugins.order){var pluginName=_model.plugins.order[pluginIndex];var pluginConfig=_model.config[pluginName]===undefined?{}:_model.config[pluginName];_model.plugins.config[pluginName]=_model.plugins.config[pluginName]===undefined?pluginConfig:jwplayer.utils.extend(_model.plugins.config[pluginName],pluginConfig);if(typeof _model.plugins.config[pluginName].position=="undefined"){_model.plugins.config[pluginName].position=jwplayer.html5.view.positions.OVER}else{_model.plugins.config[pluginName].position=_model.plugins.config[pluginName].position.toString().toUpperCase()}}if(typeof _model.plugins.config.dock!="undefined"){if(typeof _model.plugins.config.dock!="object"){var position=_model.plugins.config.dock.toString().toUpperCase();_model.plugins.config.dock={position:position}}if(typeof _model.plugins.config.dock.position!="undefined"){_model.plugins.config.dock.align=_model.plugins.config.dock.position;_model.plugins.config.dock.position=jwplayer.html5.view.positions.OVER}}_model.loadPlaylist=function(arg,ready){var input;if(typeof arg=="string"){try{input=eval(arg)}catch(err){input=arg}}else{input=arg}var config;switch(jwplayer.utils.typeOf(input)){case"object":config=input;break;case"array":config={playlist:input};break;default:config={file:input};break}_model.playlist=new jwplayer.html5.playlist(config);if(_model.config.shuffle){_model.item=_getShuffleItem()}else{if(_model.config.item>=_model.playlist.length){_model.config.item=_model.playlist.length-1}else{if(_model.config.item<0){_model.config.item=0}}_model.item=_model.config.item}if(!ready){_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED,{playlist:_model.playlist})}_model.setActiveMediaProvider(_model.playlist[_model.item])};function _getShuffleItem(){var result=null;if(_model.playlist.length>1){while(result===null){result=Math.floor(Math.random()*_model.playlist.length);if(result==_model.item){result=null}}}else{result=0}return result}function forward(evt){if(evt.type==jwplayer.api.events.JWPLAYER_MEDIA_LOADED){_container=_media.getDisplayElement()}_eventDispatcher.sendEvent(evt.type,evt)}_model.setActiveMediaProvider=function(playlistItem){if(_media!==undefined){_media.resetEventListeners()}_media=new jwplayer.html5.mediavideo(_model,_container);_media.addGlobalListener(forward);if(_model.config.chromeless){_media.load(playlistItem)}return true};_model.getMedia=function(){return _media};_model.seek=function(pos){_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_MEDIA_SEEK,{position:_model.position,offset:pos});return _media.seek(pos)};_model.setupPlugins=function(){for(var plugin in _model.plugins.order){try{var pluginName=_model.plugins.order[plugin];if(jwplayer.html5[pluginName]!==undefined){_model.plugins.object[pluginName]=new jwplayer.html5[pluginName](_api,_model.plugins.config[pluginName])}else{_model.plugins.order.splice(plugin,plugin+1)}}catch(err){jwplayer.utils.log("Could not setup "+pluginName)}}};return _model}})(jwplayer);(function(a){a.html5.playlist=function(b){var d=[];if(b.playlist&&b.playlist instanceof Array&&b.playlist.length>0){for(var c in b.playlist){if(!isNaN(parseInt(c))){d.push(new a.html5.playlistitem(b.playlist[c]))}}}else{d.push(new a.html5.playlistitem(b))}return d}})(jwplayer);(function(b){b.html5.playlistitem=function(d){var e={author:"",date:"",description:"",image:"",link:"",mediaid:"",tags:"",title:"",provider:"",file:"",streamer:"",duration:-1,start:0,currentLevel:-1,levels:[]};var c=b.utils.extend({},e,d);if(c.type){c.provider=c.type;delete c.type}if(c.levels.length===0){c.levels[0]=new b.html5.playlistitemlevel(c)}if(!c.provider){c.provider=a(c.levels[0])}else{c.provider=c.provider.toLowerCase()}return c};function a(e){if(b.utils.isYouTube(e.file)){return"youtube"}else{var f=b.utils.extension(e.file);var c;if(f&&b.utils.extensionmap[f]){c=b.utils.extensionmap[f].html5}else{if(e.type){c=e.type}}if(c){var d=c.split("/")[0];if(d=="audio"){return"sound"}else{if(d=="video"){return d}}}}return""}})(jwplayer);(function(a){a.html5.playlistitemlevel=function(b){var d={file:"",streamer:"",bitrate:0,width:0};for(var c in d){if(b[c]!==undefined){d[c]=b[c]}}return d}})(jwplayer);(function(a){a.html5.skin=function(){var b={};var c=false;this.load=function(d,e){new a.html5.skinloader(d,function(f){c=true;b=f;e()},function(){new a.html5.skinloader("",function(f){c=true;b=f;e()})})};this.getSkinElement=function(d,e){if(c){try{return b[d].elements[e]}catch(f){a.utils.log("No such skin component / element: ",[d,e])}}return null};this.getComponentSettings=function(d){if(c){return b[d].settings}return null};this.getComponentLayout=function(d){if(c){return b[d].layout}return null}}})(jwplayer);(function(a){a.html5.skinloader=function(f,n,i){var m={};var c=n;var j=i;var e=true;var h;var l=f;var q=false;function k(){if(typeof l!="string"||l===""){d(a.html5.defaultSkin().xml)}else{a.utils.ajax(a.utils.getAbsolutePath(l),function(r){try{if(r.responseXML!==null){d(r.responseXML);return}}catch(s){}d(a.html5.defaultSkin().xml)},function(r){d(a.html5.defaultSkin().xml)})}}function d(w){var C=w.getElementsByTagName("component");if(C.length===0){return}for(var F=0;F<C.length;F++){var A=C[F].getAttribute("name");var z={settings:{},elements:{},layout:{}};m[A]=z;var E=C[F].getElementsByTagName("elements")[0].getElementsByTagName("element");for(var D=0;D<E.length;D++){b(E[D],A)}var x=C[F].getElementsByTagName("settings")[0];if(x!==undefined&&x.childNodes.length>0){var I=x.getElementsByTagName("setting");for(var N=0;N<I.length;N++){var O=I[N].getAttribute("name");var G=I[N].getAttribute("value");var v=/color$/.test(O)?"color":null;m[A].settings[O]=a.utils.typechecker(G,v)}}var J=C[F].getElementsByTagName("layout")[0];if(J!==undefined&&J.childNodes.length>0){var K=J.getElementsByTagName("group");for(var u=0;u<K.length;u++){var y=K[u];m[A].layout[y.getAttribute("position")]={elements:[]};for(var M=0;M<y.attributes.length;M++){var B=y.attributes[M];m[A].layout[y.getAttribute("position")][B.name]=B.value}var L=y.getElementsByTagName("*");for(var t=0;t<L.length;t++){var r=L[t];m[A].layout[y.getAttribute("position")].elements.push({type:r.tagName});for(var s=0;s<r.attributes.length;s++){var H=r.attributes[s];m[A].layout[y.getAttribute("position")].elements[t][H.name]=H.value}if(m[A].layout[y.getAttribute("position")].elements[t].name===undefined){m[A].layout[y.getAttribute("position")].elements[t].name=r.tagName}}}}e=false;p()}}function p(){clearInterval(h);if(!q){h=setInterval(function(){o()},100)}}function b(w,v){var u=new Image();var r=w.getAttribute("name");var t=w.getAttribute("src");var y;if(t.indexOf("data:image/png;base64,")===0){y=t}else{var s=a.utils.getAbsolutePath(l);var x=s.substr(0,s.lastIndexOf("/"));y=[x,v,t].join("/")}m[v].elements[r]={height:0,width:0,src:"",ready:false};u.onload=function(z){g(u,r,v)};u.onerror=function(z){q=true;p();j()};u.src=y}function o(){for(var r in m){if(r!="properties"){for(var s in m[r].elements){if(!m[r].elements[s].ready){return}}}}if(e===false){clearInterval(h);c(m)}}function g(r,t,s){m[s].elements[t].height=r.height;m[s].elements[t].width=r.width;m[s].elements[t].src=r.src;m[s].elements[t].ready=true;p()}k()}})(jwplayer);(function(a){a.html5.api=function(b,l){var k={};var f=document.createElement("div");b.parentNode.replaceChild(f,b);f.id=b.id;k.version=a.version;k.id=f.id;var j=new a.html5.model(k,f,l);var h=new a.html5.view(k,f,j);var i=new a.html5.controller(k,f,j,h);k.skin=new a.html5.skin();k.jwPlay=function(m){if(typeof m=="undefined"){e()}else{if(m.toString().toLowerCase()=="true"){i.play()}else{i.pause()}}};k.jwPause=function(m){if(typeof m=="undefined"){e()}else{if(m.toString().toLowerCase()=="true"){i.pause()}else{i.play()}}};function e(){if(j.state==a.api.events.state.PLAYING||j.state==a.api.events.state.BUFFERING){i.pause()}else{i.play()}}k.jwStop=i.stop;k.jwSeek=i.seek;k.jwPlaylistItem=i.item;k.jwPlaylistNext=i.next;k.jwPlaylistPrev=i.prev;k.jwResize=i.resize;k.jwLoad=i.load;function g(m){return function(){return j[m]}}function d(m,o,n){return function(){var p=j.plugins.object[m];if(p&&p[o]&&typeof p[o]=="function"){p[o].apply(p,n)}}}k.jwGetItem=g("item");k.jwGetPosition=g("position");k.jwGetDuration=g("duration");k.jwGetBuffer=g("buffer");k.jwGetWidth=g("width");k.jwGetHeight=g("height");k.jwGetFullscreen=g("fullscreen");k.jwSetFullscreen=i.setFullscreen;k.jwGetVolume=g("volume");k.jwSetVolume=i.setVolume;k.jwGetMute=g("mute");k.jwSetMute=i.setMute;k.jwGetStretching=g("stretching");k.jwGetState=g("state");k.jwGetVersion=function(){return k.version};k.jwGetPlaylist=function(){return j.playlist};k.jwGetPlaylistIndex=k.jwGetItem;k.jwAddEventListener=i.addEventListener;k.jwRemoveEventListener=i.removeEventListener;k.jwSendEvent=i.sendEvent;k.jwDockSetButton=function(p,m,n,o){if(j.plugins.object.dock&&j.plugins.object.dock.setButton){j.plugins.object.dock.setButton(p,m,n,o)}};k.jwShowControlbar=d("controlbar","show");k.jwHideControlbar=d("controlbar","hide");k.jwShowDock=d("dock","show");k.jwHideDock=d("dock","hide");k.jwShowDisplay=d("display","show");k.jwHideDisplay=d("display","hide");k.jwGetLevel=function(){};k.jwGetBandwidth=function(){};k.jwGetLockState=function(){};k.jwLock=function(){};k.jwUnlock=function(){};function c(o,n,m){return function(){o.loadPlaylist(o.config,true);o.setupPlugins();n.setup(o.getMedia().getDisplayElement());var p={id:k.id,version:k.version};m.sendEvent(a.api.events.JWPLAYER_READY,p);if(playerReady!==undefined){playerReady(p)}if(window[o.config.playerReady]!==undefined){window[o.config.playerReady](p)}o.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED,{playlist:o.playlist});m.item(o.item)}}if(j.config.chromeless){setTimeout(c(j,h,i),25)}else{k.skin.load(j.config.skin,c(j,h,i))}return k}})(jwplayer)};
/*  End JW Player*/

/* BEGIN SPOILER TOGGLER */
var spoilers = {
	enabled: true,
	text: null,
	nodes: null,
	imgOn: null,
	imgOff: null,
	toggle: function() {
		spoilers.set(!spoilers.enabled);
	},
	set: function(enabled) {
		spoilers.enabled = enabled;
		if(enabled) {
			spoilers.nodes.removeClass('spoiler-inline');
                        $(".spoiler-thumb").remove();
                        spoilers.nodes.find("img").show();
			$.cookie('spoilers', 'true', {expires: 31, path: '/'});
			spoilers.text.text(' Spoilers on');
			spoilers.imgOff.hide(0);
			spoilers.imgOn.show(0);
		} else {
			spoilers.nodes.addClass('spoiler-inline');
                        spoilers.nodes.find("img").hide();
                        spoilers.thumbNodes.each(function() { if($(this).find(".spoiler-text").length > 0) { $(this).find(".thumb, .thumbinner").append('<div class="spoiler-thumb"/>');} });
			$.cookie('spoilers', 'false', {expires: 31, path: '/'});
			spoilers.text.text(' Spoilers off');
			spoilers.imgOn.hide(0);
			spoilers.imgOff.show(0);
		}
	},
	init: function() {
		spoilers.nodes = $('.spoiler-text');
                spoilers.thumbNodes = $(".gallerybox, .thumb");
		spoilers.text = $('<div style="display:inline;"></div>');
		spoilers.imgOn = $('<img alt="" style="display:none;"/>').attr('src', 'https://i2.theportalwiki.net/img/2/2b/Wheatley_spoils_you.png');
		spoilers.imgOff = $('<img alt="" style="display:none;"/>').attr('src', 'https://i2.theportalwiki.net/img/e/ef/Wheatley_spoils_nothing.png');
		var wrapped = $('<li/>').append($('<span/>').append($('<a/>').append(spoilers.imgOn, spoilers.imgOff, spoilers.text)));
		wrapped.click(spoilers.toggle);
		$('#p-namespaces ul').append(wrapped);
		spoilers.set(!$.cookie('spoilers') || $.cookie('spoilers') == 'true');
	}
};
$(spoilers.init);
/* END SPOILER TOGGLER */

// EmbedVideo fixes
var youtubeHelper = {
	chromeSize: 25, // This is the height (in pixels) of the chrome of YouTube's embedded video player. Update this whenever they release a new embedded video player
	maxWidth: 0.85, // Maximum fraction of the available width that the video may take
	infoboxes: ['.infobox', '.testchamber'], // Selectors of infobox-style boxes that should be deducted from the page's available width
	ratioR: /ratio-(\d+)x(\d+)/i,
	widthsR: /widths((?:\D+\d+)+)/i,
	setSize:function() {
		var widths = youtubeHelper.widthsR.exec($(this).attr('class'));
		if(widths != null) {
			widths = widths[1].substr(1).split(/\D+/g);
			var availableWidth = $('#bodyContent').width();
			for(var i in youtubeHelper.infoboxes) {
				if($(youtubeHelper.infoboxes[i]).length) {
					availableWidth -= $(youtubeHelper.infoboxes[i]).width();
				}
			}
			availableWidth *= youtubeHelper.maxWidth;
			var intWidths = [];
			for(var w = 0; w < widths.length; w++) {
				intWidths[w] = parseInt(widths[w]);
			}
			intWidths.sort(function(a, b){return b - a;});
			for(var w = 0; w < intWidths.length; w++) {
				if(intWidths[w] <= availableWidth || w == intWidths.length-1) {
					youtubeHelper.setWidth(this, intWidths[w]);
					break;
				}
			}
		}
		else {
			youtubeHelper.setWidth(this, parseFloat(obj.attr('width')));
		}
	},
	setUrl:function() {
		var obj = $(this).children('object');
		if(!obj.length) return;
		obj.append($('<param name="allowscriptaccess" value="true"></param>'));
		obj.append($('<param name="allowfullscreen" value="true"></param>'));
		var titleParts = mw.config.get('wgPageName').split(/\//g);
		var lang = 'en';
		if(titleParts.length == 2 && !mw.config.get('wgCanonicalSpecialPageName')) {
			lang = titleParts[titleParts.length-1];
		}
		var playerUrl = obj.children('param[name="movie"]').attr('value') + '&version=2&fs=1&theme=dark&color=white' + ($(this).hasClass('hd-on') ? '&hd=1' : '') + '&cc_load_policy=1&modestbranding=1&hl=' + lang + '&cc_lang_pref=' + lang;
		obj.children('param[name="movie"]').attr('value', playerUrl);
		obj.children('embed').attr('src', playerUrl).attr('allowscriptaccess', 'always').attr('allowfullscreen', 'true');
		var resultHtml = $(this).html();
		$(this).html('').html(resultHtml);
	},
	setWidth:function(youtube, width) {
		var obj = $(youtube).children('object');
		if(!obj) return;
		if($(youtube).hasClass('youtube-audio')) {
			obj.attr('width', width).attr('height', youtubeHelper.chromeSize); // Set <object> height
			obj.children('embed').attr('width', width).attr('height', youtubeHelper.chromeSize); // Set <embed> height
		}
		else {
			var ratio = youtubeHelper.ratioR.exec($(youtube).attr('class'));
			if(ratio != null) {
				ratio = parseFloat(ratio[1])/parseFloat(ratio[2]);
				var newHeight = Math.round(width / ratio + youtubeHelper.chromeSize).toString();
				obj.attr('width', width).attr('height', newHeight); // Set <object> height
				obj.children('embed').attr('width', width).attr('height', newHeight); // Set <embed> height
			}
		}
	},
	resizeTimer:null,
	resize:function() {
		if(youtubeHelper.resizeTimer != null) {
			clearTimeout(youtubeHelper.resizeTimer);
		}
		youtubeHelper.resizeTimer = setTimeout(youtubeHelper.onResize, 100);
	},
	onResize:function() {
		$('.youtubebox').each(youtubeHelper.setSize);
	},
	init:function() {
		$('.youtubebox').each(youtubeHelper.setUrl);
		$(window).resize(youtubeHelper.resize);
		youtubeHelper.onResize();
	}
};
$(youtubeHelper.init);

// Start overly-complicated collapsible tables
// Todo: jQuery this thing
 /** Collapsible tables *********************************************************
  *
  *  Description: Allows tables to be collapsed, showing only the header. See
  *               [[Wikipedia:NavFrame]].
  *  Maintainers: [[User:R. Koot]]
  */
 var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
 })(); 

 var autoCollapse = 2;
 var collapseCaption = "hide";
 var expandCaption = "show";
 
 function collapseTable( tableIndex )
 {
     var Button = document.getElementById( "collapseButton" + tableIndex );
     var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
     if ( !Table || !Button ) {
         return false;
     }
 
     var Rows = Table.rows;
 
     if ( Button.firstChild.data == collapseCaption ) {
         for ( var i = 1; i < Rows.length; i++ ) {
             Rows[i].style.display = "none";
         }
         Button.firstChild.data = expandCaption;
     } else {
         for ( var i = 1; i < Rows.length; i++ ) {
             Rows[i].style.display = Rows[0].style.display;
         }
         Button.firstChild.data = collapseCaption;
     }
 }
 
 function createCollapseButtons()
 {
     var tableIndex = 0;
     var NavigationBoxes = new Object();
     var Tables = document.getElementsByTagName( "table" );
 
     for ( var i = 0; i < Tables.length; i++ ) {
         if ( hasClass( Tables[i], "collapsible" ) ) {
 
             /* only add button and increment count if there is a header row to work with */
             var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
             if (!HeaderRow) continue;
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
             if (!Header) continue;
 
             NavigationBoxes[ tableIndex ] = Tables[i];
             Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
             var Button     = document.createElement( "span" );
             var ButtonLink = document.createElement( "a" );
             var ButtonText = document.createTextNode( collapseCaption );
 
             Button.style.styleFloat = "right";
             Button.style.cssFloat = "right";
             Button.style.fontWeight = "normal";
             Button.style.textAlign = "right";
             Button.style.width = "6em";
 
             ButtonLink.style.color = Header.style.color;
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
             ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
             ButtonLink.appendChild( ButtonText );
 
             Button.appendChild( document.createTextNode( "[" ) );
             Button.appendChild( ButtonLink );
             Button.appendChild( document.createTextNode( "]" ) );
 
             Header.insertBefore( Button, Header.childNodes[0] );
             tableIndex++;
         }
     }
 
     for ( var i = 0;  i < tableIndex; i++ ) {
         if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
             collapseTable( i );
         }
     }
 }
 
$(createCollapseButtons);

// End collapsible tables

/*
 * Add language-dependent class to <body>
 * Adds .lang-something to the body, where "something" is the language of the page.
 */
function langClass() {
  // Supported list of languages (not including the default one):
  var langList = ['ar', 'cs', 'da', 'de', 'es', 'fi', 'fr', 'hu', 'it', 'ja', 'ko', 'nl', 'no', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sv', 'zh-hans', 'zh-hant'];
  // Assumed language if the page is in none of the languages above:
  var defaultLang = 'en';
  try {
    var body = document.getElementsByTagName('body')[0];
  } catch(e) {
    return;
  }
  var lang = defaultLang;
  for(var i in langList) {
    if(mw.config.get('wgPageName').substr(mw.config.get('wgPageName').length - 1 - langList[i].length).toLowerCase() == '/' + langList[i].toLowerCase()) {
      lang = langList[i];
      break;
    }
  }
  if(body.getAttribute('class')) {
    body.setAttribute('class', body.getAttribute('class') + ' lang-' + lang);
  } else {
    body.setAttribute('class', 'lang-' + lang);
  }
}
addOnloadHook(langClass);


// PootTabs by User:WindPower~
// It puts tabs on pages.
var pootTabsHere = {
	animationsEnabled: $.support.opacity,
	getTab:function(poot, index) {
		return $(poot.children('.poot-tabs').children('ul').children('li')[parseInt(index)]);
	},
	changeTab:function(poot, index, duration, force) {
		if(index == parseInt(poot.attr('pootSelected')) && !force && duration) return;
		if(!pootTabsHere.animationsEnabled) {
			duration = 0;
		}
		poot.attr('pootSelected', index.toString());
		var babies = poot.children('.poot-tabs-content').children();
		babies.each(function() {
			$(this).fadeOut(duration, function(){
				$(this).removeClass('poot-tabs-selected');
			});
		});
		$(babies[index]).each(function() {
			$(this).fadeIn(duration, function(){
				$(this).addClass('poot-tabs-selected');
			});
		});
		var cowtabs = poot.children('.poot-tabs').children('ul').children('li');
		cowtabs.removeClass('poot-tabs-selected');
		$(cowtabs[index]).addClass('poot-tabs-selected');
		pootTabsHere.updatePoot(poot, $(babies[index]).height());
	},
	updatePoot:function(poot, babysize) {
		poot.find('.poot-tabs-titletext').html(poot.attr('originalTitle') + ' &mdash; ' + pootTabsHere.getTab(poot, poot.attr('pootSelected')).html());
		var bestHeight = Math.max(poot.children('.poot-tabs-content').height(), Math.max(poot.children('.poot-tabs').height(), babysize)).toString() + 'px';
		poot.children('.poot-tabs-content').css('height', bestHeight);
		if(poot.attr('vertical')) {
			poot.children('.poot-tabs').css('height', bestHeight);
		}
	},
	toggleCollapse:function(poot) {
		var pootLinkText = poot.children('.poot-tabs-showhide').text().split(';');
		var duration = pootTabsHere.animationsEnabled ? parseInt(poot.attr('pootslideduration')) : 0;
		if(poot.attr('pootcollapse') != 'true') {
			poot.attr('pootcollapse', 'true');
			poot.find('.poot-tabs-hidelink a').text(pootLinkText[0]);
			poot.children('.poot-tabs, .poot-tabs-content').slideUp(duration);
		}
		else {
			poot.attr('pootcollapse', '');
			poot.find('.poot-tabs-hidelink a').text(pootLinkText[1]);
			poot.children('.poot-tabs, .poot-tabs-content').slideDown(duration);
		}
	},
	delayHeight:function(poot, selected) {
		setTimeout(function() {
			poot.attr('pootselected', selected.toString());
			pootTabsHere.changeTab(poot, selected, 0, true);
			if(poot.hasClass('poot-tabs-collapsed')) {
				pootTabsHere.toggleCollapse(poot);
			}
		}, 100);
	},
	poot:function() {
		var dis = $(this);
		var ind = 0;
		dis.attr('originalTitle', dis.find('.poot-tabs-titletext').html());
		var selected = /poot-tabs-selected-(\d+)/i.exec(dis.attr('class'));
		if(selected) {
			pootTabsHere.delayHeight(dis, parseInt(selected[1])-1);
		}
		else {
			pootTabsHere.delayHeight(dis, 0);
		}
		var duration = dis.hasClass('poot-tabs-noanimations') ? 0 : 200;
		dis.attr('pootslideduration', dis.hasClass('poot-tabs-noanimations') ? '0' : '75');
		dis.children('.poot-tabs').children('ul').children('li').each(function(){
			var thisInd = ind;
			$(this).click(function(){
				pootTabsHere.changeTab(dis, thisInd, duration, false);
				$(this).blur();
				$(this).find('*').blur();
				return false;
			});
			ind++;
		});
		var isVertical = dis.hasClass('poot-tabs-vertical');
		dis.attr('pootvertical', isVertical ? 'true' : '');
		if(isVertical) {
			var teenie = dis.children('.poot-tabs').width().toString() + 'px';
			dis.children('.poot-tabs-content').css('margin-left', teenie);
		}
		dis.attr('pootcollapse', ''); // False
		dis.find('.poot-tabs-hidelink a').click(function(){
			pootTabsHere.toggleCollapse(dis);
			return false;
		});
	},
	init:function() {
		$('.poot-tabs-container').each(pootTabsHere.poot);
	}
};
$(pootTabsHere.init);
// End of PootTabs

// Start test chamber infobox flicker
infoboxFlicker = {
	setOn:function(infobox, isOn) {
		if(isOn) {
			infobox.removeClass('testchamber-off');
		} else {
			infobox.addClass('testchamber-off');
		}
	},
	setDisplay1:function(infobox, isOn) {
		if(isOn) {
			infobox.removeClass('testchamber-display1-off');
		} else {
			infobox.addClass('testchamber-display1-off');
		}
	},
	setDisplay2:function(infobox, isOn) {
		if(isOn) {
			infobox.removeClass('testchamber-display2-off');
		} else {
			infobox.addClass('testchamber-display2-off');
		}
	},
	flicker:function() { // Step 0: Start off
		var infobox = $(this);
		infoboxFlicker.setOn(infobox, false);
		infoboxFlicker.setDisplay1(infobox, false);
		infoboxFlicker.setDisplay2(infobox, false);
		setTimeout(function() { // Step 1: Switch on, no details
			infoboxFlicker.setOn(infobox, true);
			setTimeout(function() { // Step 2: Switch back off
				infoboxFlicker.setOn(infobox, false);
				setTimeout(function() { // Step 3: Switch back on, still no details
					infoboxFlicker.setOn(infobox, true);
					setTimeout(function() { // Step 4: Display top half
						infoboxFlicker.setDisplay1(infobox, true);
						setTimeout(function() { // Step 5: Display bottom half
							infoboxFlicker.setDisplay2(infobox, true);
						}, 200);
					}, 200);
				}, 340);
			}, 66);
		}, 1000);
	},
	init:function() {
		$('.testchamber').each(infoboxFlicker.flicker);
	}
};
$(infoboxFlicker.init);
// End test chamber infobox flicker

// Start OldAperture infobox hover code
oldApertureInfobox = {
	mouseIn: function() {
		$(this).children('.old-aperture-active').css('display', 'block');
		$(this).children('.old-aperture-inactive').css('display', 'none');
	},
	mouseOut: function() {
		if(!$(this).hasClass('old-aperture-location-active')) {
			$(this).children('.old-aperture-active').css('display', 'none');
			$(this).children('.old-aperture-inactive').css('display', 'block');
		}
	},
	init: function() {
		$('.old-aperture-location').hover(oldApertureInfobox.mouseIn, oldApertureInfobox.mouseOut);
	}
};
$(oldApertureInfobox.init);
// End OldAperture infobox hover code

// Fancy diffs
var fancyDiffs = {
	isBigDiff: false,
	isBigDiffThreshold: 72,
	toggle: function(element) {
		var expanded = element.hasClass('diff-expanded');
		var contents = element.parent().children('.diff-contents');
		if(expanded) { // Just collapse then
			element.removeClass('diff-expanded');
			if(fancyDiffs.isBigDiff) {
				contents.hide();
			} else {
				contents.slideUp('fast');
			}
		} else if(element.hasClass('diff-data-loaded')) { // Stuff is already loaded, expand
			element.addClass('diff-expanded');
			contents.slideDown('fast');
		} else if(!element.hasClass('diff-data-requested')) { // Stuff is not loaded
			element.addClass('diff-data-requested');
			var fileName = element.find('span').text().replace(/^\s+|\s+$/g);
			var patchName = element.closest('.diffname');
			var diffName = mw.config.get('wgPageName');
			if(patchName && patchName.length && patchName.attr('class')) {
				diffName = patchName.attr('class').substr(9);
			}
			$.get('/w/?title=Template:PatchDiff/' + encodeURIComponent(diffName.replace(/^Template:PatchDiff\//, '')) + '/' + encodeURIComponent(fileName) + '&action=raw', function(data) {
				contents.html(data);
				if(fancyDiffs.isBigDiff) {
					contents.show();
				} else {
					contents.slideDown('fast');
				}
				element.removeClass('diff-data-requested').addClass('diff-data-loaded').addClass('diff-expanded');
			});
		}
		
	},
	init: function() {
		var diffText = $('.diff-name-text');
		if(diffText.length) {
			// Preload leetle gif
			$('body').append($('<img/>').attr('src', 'https://i2.theportalwiki.net/img/4/43/Patch_diff_loading.gif').css('display', 'none'));
			diffText.find('span').each(function() {
				$(this).text($(this).find('a').text().replace(/^\s+|\s+$/g));
			});
			diffText.click(function() {
				fancyDiffs.toggle($(this));
				return false;
			});
			fancyDiffs.isBigDiff = $('.diff-file').length > fancyDiffs.isBigDiffThreshold;
		}
	}
};
$(fancyDiffs.init);

// Lightbox stuff
var lightboxStuff = {
	settings: {
		imageLoading: 'https://i2.theportalwiki.net/img/5/56/Lightbox_loading.gif',
		imageBtnClose: 'https://i2.theportalwiki.net/img/e/e2/Lightbox_button_close.gif',
		imageBtnPrev: 'https://i2.theportalwiki.net/img/c/c8/Lightbox_button_previous.gif',
		imageBtnNext: 'https://i2.theportalwiki.net/img/9/9e/Lightbox_button_next.gif',
		imageBlank: 'https://i2.theportalwiki.net/img/f/f6/Lightbox_blank.gif',
	},
	init: function() {
		var galleryIndex = 0;
		var galleryBuckets = {};
		$('.pwiki-gallery').each(function() {
			var gID = 'pwiki-gallery-' + galleryIndex.toString();
			$(this).attr('id', gID);
			galleryBuckets[gID] = null;
			galleryIndex++;
		});
		$('.lightboxed').each(function() {
			var gallery = $(this).closest('.pwiki-gallery');
			if(gallery.length) {
				// In gallery
				$(this).attr('data-title', '<p>' + $(this).attr('title') + '</p>' + $(this).attr('data-title'));
				var gID = gallery.attr('id');
				if(galleryBuckets[gID] == null) {
					galleryBuckets[gID] = $(this);
				} else {
					galleryBuckets[gID] = galleryBuckets[gID].add($(this));
				}
			} else {
				// Not in gallery (separate Lightbox)
				var thumb = $(this).closest('.thumbinner');
				if(thumb.length) {
					var caption = thumb.children('.thumbcaption');
					if(caption.length) {
						$(this).attr('data-title', '<p>' + caption.html().replace(/<div[^<>]*class="magnify"[^<>]*>[\s\S]*<\/div>/i, '').replace(/^\s+|\s+$/g, '') + '</p>' + $(this).attr('data-title'));
					}
				}
				$(this).lightBox(lightboxStuff.settings);
			}
		});
		for(var gID in galleryBuckets) {
			galleryBuckets[gID].lightBox(lightboxStuff.settings);
		}
	}
};
$(lightboxStuff.init);

// Audio player thing
var audioPlayer = {
	idCount: 0,
	init: function() {
		$('.audio-player').each(function() {
			var theDiv = $(this);
			var newID = 'audio-id-' + audioPlayer.idCount.toString();
			audioPlayer.idCount++;
			theDiv.attr('id', newID);
			theDiv.children('a').click(function() {
				theDiv.html('');
				jwplayer(newID).setup({
					flashplayer: '/w/extensions/MediawikiPlayer/player.swf',
					height: '24',
					controlbar: 'bottom',
					width: '400',
					allowfullscreen: 'true',
					backcolor: 'ffffff',
					file: theDiv.attr('data-url'),
					autostart: true
				});
				return false;
			});
		});
	}
};
$(audioPlayer.init);

// Page-specific JavaScript/CSS
var pageScripts = {
	pagesJS: [],
	pagesCSS: ['User:MogDog66', 'Portal_Wiki:Donate', 'User:Headquarter8302'],
	suffixJS: '/Page.js',
	suffixCSS: '/Page.css',
	init: function() {
		for(var i in pageScripts.pagesJS) {
			if(mw.config.get('wgPageName') == pageScripts.pagesJS[i]) {
				mw.loader.load(mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName') + pageScripts.suffixJS) + '&ctype=text/javascript&action=raw');
			}
		}
		for(var i in pageScripts.pagesCSS) {
			if(mw.config.get('wgPageName') == pageScripts.pagesCSS[i]) {
				mw.loader.load(mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName') + pageScripts.suffixCSS) + '&ctype=text/css&action=raw', 'text/css');
			}
		}
	}
};
$(pageScripts.init);

// 3D model viewer
var viewer3d = {
	dragging: null,
	draggingFrameX: 0,
	draggingFrameY: 0,
	viewers: [],
	frameThresholdX: 10,
	frameThresholdY: 128,
	realMod: function(x, y) {
		return ((x % y) + y) % y;
	},
	init: function() {
		$('.viewer-3d').each(viewer3d.bind);
		$(document).mouseup(viewer3d.release);
		$(document).mousemove(viewer3d.move);
	},
	bind: function() {
		var v = $(this);
		var num = viewer3d.viewers.length;
		var allModels = [];
		var modelID = 0;
		var viewerSize = 0;
		while(true) {
			var modelMap = v.find('.viewer-3d-map-' + modelID);
			var urlNode = v.find('.viewer-3d-url-' + modelID);
			if(!modelMap.length || !urlNode.length) break;
			var url = $('<div/>').html(urlNode.text()).text();
			var framesS = $('<div/>').html(modelMap.text()).text().replace(/^\s+|\s+$/g).split(/,/g);
			var frameMap = [];
			var heightMap = [];
			var leftCropMap = [];
			var totalW = parseInt(framesS[0]);
			var maxFrameW = parseInt(framesS[1]);
			var totalH = parseInt(framesS[2]);
			var verticalSteps = parseInt(framesS[3]);
			var midVertical = Math.floor(verticalSteps / 2);
			for(var f = 4; f < framesS.length; f += 3) {
				frameMap.push(parseInt(framesS[f]));
				heightMap.push(parseInt(framesS[f + 1]));
				leftCropMap.push(parseInt(framesS[f + 2]));
			}
			allModels.push({
				imageURL: url,
				map: frameMap,
				cropMap: leftCropMap,
				totalWidth: totalW,
				totalHeight: totalH,
				maxFrameWidth: maxFrameW,
				xStep: verticalSteps
			});
			viewerSize = Math.max(viewerSize, totalH, maxFrameW);
			modelID++;
		}
		if(!modelID) return;
		var overlayNode = $('<div class="viewer-3d-overlay"></div>');
		var frameN = v.find('.viewer-3d-frame');
		v.find('img').detach();
		var klasses = v.attr('class').split(/ /g);
		var startFrame = 0;
		for(var k in klasses) {
			if(klasses[k].substr(0, 11) == 'startframe-') {
				startFrame = Math.max(0, parseInt(klasses[k].substr(11)));
			}
		}
		var viewer = {
			node: v,
			frameX: startFrame,
			frameY: midVertical,
			models: allModels,
			currentModel: -1,
			frameNode: frameN,
			width: viewerSize,
			height: viewerSize,
			mouseX: 0,
			mouseY: 0,
			overlay: overlayNode
		};
		viewer3d.viewers.push(viewer);
		v.hover(viewer3d.hover, viewer3d.unhover).mousedown(viewer3d.drag).append(overlayNode).attr('data-id', num).css({
			width: viewer.width + 'px',
			height: viewer.height + 'px'
		});
		frameN.mousedown(viewer3d.drag).attr('data-id', num).css('height', viewer.height + 'px');
		viewer3d.changeVersion(viewer, 0);
	},
	getCurrentModel: function(v) {
		return v.models[v.currentModel];
	},
	changeVersion: function(v, version) {
		version = Math.max(0, Math.min(v.models.length - 1, version));
		if(v.currentModel == version) return;
		v.currentModel = version;
		v.frameNode.css('background', 'url(' + viewer3d.getCurrentModel(v).imageURL + ') top left no-repeat');
		viewer3d.display(v, v.frameX, v.frameY);
	},
	hover: function(e) {
		var v = viewer3d.getViewer(this);
		if(viewer3d.dragging != v) {
			v.overlay.animate({'opacity': '1'}, 'fast');
		}
	},
	unhover: function(e) {
		var v = viewer3d.getViewer(this);
		if(viewer3d.dragging != v) {
			v.overlay.animate({'opacity': '0.5'}, 'fast');
		}
	},
	drag: function(e) {
		var v = viewer3d.getViewer(this);
		v.mouseX = e.pageX;
		v.mouseY = e.pageY;
		viewer3d.dragging = v;
		draggingFrameX = v.frameX;
		draggingFrameY = v.frameY;
		return false;
	},
	release: function() {
		var v = viewer3d.dragging;
		viewer3d.dragging = null;
		if(v != null) {
			v.frameX = viewer3d.draggingFrameX;
			v.frameY = viewer3d.draggingFrameY;
			v.overlay.animate({'opacity': '0.5'}, 'fast');
		}
		viewer3d.draggingFrameX = 0;
		viewer3d.draggingFrameY = 0;
	},
	getViewer: function(node) {
		return viewer3d.viewers[parseInt($(node).attr('data-id'))];
	},
	display: function(v, frameX, frameY) {
		var model = viewer3d.getCurrentModel(v);
		var frameID = viewer3d.realMod(frameX * model.xStep + frameY, model.map.length);
		var frameOffset = model.map[frameID];
		var frameWidth = 0;
		if(frameID == model.map.length - 1) {
			frameWidth = model.totalWidth - frameOffset;
		} else {
			frameWidth = model.map[frameID + 1] - frameOffset;
		}
		v.frameNode.css({
			backgroundPosition: (-frameOffset - frameID) + 'px 0px',
			left: Math.round((v.width - model.maxFrameWidth) / 2.0 + model.cropMap[frameID]) + 'px',
			top: Math.round((v.height - model.totalHeight) / 2) + 'px',
			width: frameWidth + 'px',
			height: model.totalHeight + 'px'
		});
	},
	move: function(e) {
		if(viewer3d.dragging == null) {
			return;
		}
		var v = viewer3d.dragging;
		var model = viewer3d.getCurrentModel(v);
		var mouseDeltaX = e.pageX - v.mouseX;
		var mouseDeltaY = e.pageY - v.mouseY;
		var frameDeltaX = Math.round(mouseDeltaX / viewer3d.frameThresholdX);
		var frameDeltaY = -Math.round(mouseDeltaY / viewer3d.frameThresholdY);
		viewer3d.draggingFrameX = v.frameX + frameDeltaX;
		viewer3d.draggingFrameY = Math.max(0, Math.min(model.xStep - 1, v.frameY + frameDeltaY));
		viewer3d.display(v, viewer3d.draggingFrameX, viewer3d.draggingFrameY);
	}
};
$(viewer3d.init);
var selector3d = {
	bind: function() {
		var viewer = viewer3d.getViewer($(this).find('.viewer-3d'));
		var keepGoing = true;
		var modelVariant = 0;
		var selector;
		while(keepGoing) {
			selector = $(this).find('.selector-' + modelVariant);
			if(selector.length) {
				selector.attr('data-variant', modelVariant).click(function() {
					viewer3d.changeVersion(viewer, parseInt($(this).attr('data-variant')));
					return false;
				});
			}
			modelVariant++;
			keepGoing = selector.length;
		}
	},
	init: function() {
		$('.viewer-3d-multi').each(selector3d.bind);
	}
};
$(selector3d.init);

// Google Analytics/Flattr; do not track if user is on Tor.
if(location.host.indexOf('.onion') == -1) {
	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', 'UA-22928841-2']);
	_gaq.push(['_trackPageview']);
	_gaq.push(['_trackPageLoadTime']);
	(function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	})();
}