aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoachim Tingvold <joachim@tingvold.com>2015-04-01 03:42:56 +0200
committerroot <root@einstein.tg15.gathering.org>2015-04-01 03:42:56 +0200
commit14e0453b2e74e7a93a092a2cfec46dabbcd2ab65 (patch)
treecae83c79299f8bcaf1226f650321c2a0502ae0e4
parent132fc7e577c591caa290b3d7f44700ef77f2b3f7 (diff)
Changes for streampage for TG15
-rw-r--r--web/stream.gathering.org/event.vlc3
-rwxr-xr-xweb/stream.gathering.org/generate_vlc.pl (renamed from web/stream.gathering.org/pre-tg15/stream.pl)175
-rwxr-xr-xweb/stream.gathering.org/index.pl24
-rw-r--r--web/stream.gathering.org/index.tmpl56
-rw-r--r--web/stream.gathering.org/noccam.vlc3
-rwxr-xr-xweb/stream.gathering.org/pre-tg15/fix_count.pl31
-rw-r--r--web/stream.gathering.org/pre-tg15/ios/PLACEHOLDER0
-rw-r--r--web/stream.gathering.org/pre-tg15/ios/event.m3u816
-rw-r--r--web/stream.gathering.org/pre-tg15/ios/stream.m3u88
-rw-r--r--web/stream.gathering.org/pre-tg15/jwplayer.js1
-rw-r--r--web/stream.gathering.org/pre-tg15/player.swfbin98583 -> 0 bytes
-rw-r--r--web/stream.gathering.org/pre-tg15/singularity.pngbin19719 -> 0 bytes
-rwxr-xr-xweb/stream.gathering.org/pre-tg15/streamstats-fast.pl15
-rw-r--r--web/stream.gathering.org/pre-tg15/streamstats.cpp217
-rw-r--r--web/stream.gathering.org/pre-tg15/streamstats.html81
-rwxr-xr-xweb/stream.gathering.org/pre-tg15/streamstats.pl116
-rw-r--r--web/stream.gathering.org/pre-tg15/style.css1960
-rw-r--r--web/stream.gathering.org/pre-tg15/superawesomeness.css24
-rwxr-xr-xweb/stream.gathering.org/pre-tg15/test.pl70
-rw-r--r--web/stream.gathering.org/pre-tg15/test.tmpl31
-rw-r--r--web/stream.gathering.org/resources/css/core.css65
-rw-r--r--web/stream.gathering.org/resources/images/vlc.pngbin0 -> 2668 bytes
-rw-r--r--web/stream.gathering.org/southcam.vlc3
-rw-r--r--web/streamlib/stream/config.pm19
24 files changed, 228 insertions, 2690 deletions
diff --git a/web/stream.gathering.org/event.vlc b/web/stream.gathering.org/event.vlc
new file mode 100644
index 0000000..a1c2780
--- /dev/null
+++ b/web/stream.gathering.org/event.vlc
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF:-1,TG15 Unicasted Event HD (720p50 H.264) 6Mbit/s
+http://cubemap.tg15.gathering.org/event.ts
diff --git a/web/stream.gathering.org/pre-tg15/stream.pl b/web/stream.gathering.org/generate_vlc.pl
index 9415389..4d14ebe 100755
--- a/web/stream.gathering.org/pre-tg15/stream.pl
+++ b/web/stream.gathering.org/generate_vlc.pl
@@ -1,87 +1,88 @@
-#!/usr/bin/perl -I /srv/streamlib
-
-use warnings;
-use strict;
-
-use stream;
-use stream::config;
-use CGI;
-my $client = CGI->new;
-
-my $stream = $client->param('stream');
-my $interlaced = $client->param('interlaced');
-my $delivery = $client->param('delivery');
-
-my $v4net = $stream::config::v4net;
-my $v6net = $stream::config::v6net;
-my $multicast_ip = $stream::config::multicast;
-my $tg = $stream::config::tg;
-my $base_url = $stream::config::vlc_base_host;
-my %streams = %stream::config::streams;
-
-
-
-#default
-if (not defined $delivery) {
- $delivery = "multicast";
-}
-
-if((not defined $stream) or (not defined $delivery)) {
- print $client->header();
- die "No stream and/or delivery method, robots unhappy :/\n";
-}
-
-my $url = "";
-my $port_del = "";
-my $port_str = "";
-my $extinf = "";
-my $url_path = "";
-
-my $clip = $client->remote_addr();
-
-if (exists($streams{$stream})) {
- my $is_multicast = 0;
- # add force is_ip_local in check?
- $is_multicast = 1 if (exists($streams{$stream}->{has_multicast}) && $delivery eq "multicast");
-
- if ($is_multicast) {
- $port_del = 20;
- $extinf .= "Multicasted";
- $url = $streams{$stream}->{multicast_ip};
- } else {
- #$port_del = 80;
- $extinf .= "Unicasted";
- $url = $base_url;
- $url_path = $streams{$stream}->{url};
- }
-
- $port_del = $streams{$stream}->{preport} if (defined($streams{$stream}->{preport}));
- $port_str = $streams{$stream}->{port};
- $extinf .= " $streams{$stream}->{title}";
-
-} else {
- &error("No stream and/or delivery method, robots unhappy :-/");
-}
-
-#print out new file
-print $client->header(-type => "application/vlc",
- "-Content-disposition" => "attachment; filename=tg-".$delivery."-".$stream.".vlc"
-);
-
-print "#EXTM3U\n";
-print "#EXTINF:-1,TG$tg $extinf\n";
-if(defined $interlaced && $interlaced == 1) {
- print "#EXTVLCOPT:deinterlace=1\n";
- print "#EXTVLCOPT:deinterlace-mode=linear\n";
-}
-if ($port_str == 80) {
- print "$url$url_path\n";
-} else {
- print "$url:$port_del$port_str$url_path\n";
-}
-
-sub error($) {
- my $message = shift;
- print $client->header();
- die($message."\n");
-}
+#!/usr/bin/perl -I /srv/streamlib
+
+use warnings;
+use strict;
+
+use stream;
+use stream::config;
+use CGI;
+my $client = CGI->new;
+
+my $stream = $client->param('stream');
+my $interlaced = $client->param('interlaced');
+my $delivery = $client->param('delivery');
+
+my $v4net = $stream::config::v4net;
+my $v6net = $stream::config::v6net;
+my $multicast_ip = $stream::config::multicast;
+my $tg = $stream::config::tg;
+my $base_url = $stream::config::vlc_base_host;
+my %streams = %stream::config::streams;
+
+
+
+#default
+if (not defined $delivery) {
+ $delivery = "multicast";
+}
+
+if((not defined $stream) or (not defined $delivery)) {
+ print $client->header();
+ die "No stream and/or delivery method, robots unhappy :/\n";
+}
+
+my $url = "";
+my $port_del = "";
+my $port_str = "";
+my $extinf = "";
+my $url_path = "";
+
+my $clip = $client->remote_addr();
+
+if (exists($streams{$stream})) {
+ my $is_multicast = 0;
+ # add force is_ip_local in check?
+ $is_multicast = 1 if (exists($streams{$stream}->{has_multicast}) && $delivery eq "multicast");
+
+ if ($is_multicast) {
+ $port_del = 20;
+ $extinf .= "Multicasted";
+ $url = $streams{$stream}->{multicast_ip};
+ } else {
+ #$port_del = 80;
+ $extinf .= "Unicasted";
+ $url = $base_url;
+ $url_path = $streams{$stream}->{url};
+ $url_path =~ s/.flv/.ts/;
+ }
+
+ $port_del = $streams{$stream}->{preport} if (defined($streams{$stream}->{preport}));
+ $port_str = $streams{$stream}->{port};
+ $extinf .= " $streams{$stream}->{title}";
+
+} else {
+ &error("No stream and/or delivery method, robots unhappy :-/");
+}
+
+#print out new file
+print $client->header(-type => "application/vlc",
+ "-Content-disposition" => "attachment; filename=tg-".$delivery."-".$stream.".vlc"
+);
+
+print "#EXTM3U\n";
+print "#EXTINF:-1,TG$tg $extinf\n";
+if(defined $interlaced && $interlaced == 1) {
+ print "#EXTVLCOPT:deinterlace=1\n";
+ print "#EXTVLCOPT:deinterlace-mode=linear\n";
+}
+if ($port_str == 80) {
+ print "$url$url_path\n";
+} else {
+ print "$url:$port_del$port_str$url_path\n";
+}
+
+sub error($) {
+ my $message = shift;
+ print $client->header();
+ die($message."\n");
+}
diff --git a/web/stream.gathering.org/index.pl b/web/stream.gathering.org/index.pl
index 3eabd7a..fda33c3 100755
--- a/web/stream.gathering.org/index.pl
+++ b/web/stream.gathering.org/index.pl
@@ -60,28 +60,20 @@ sub loop_webcams() {
my @s = ();
foreach my $name (sort { $streams{$a}->{priority} <=> $streams{$b}->{priority} } keys %streams) {
if ($streams{$name}->{type} eq $_[0] && $streams{$name}->{online}) {
- my $title_link = "http://stream.tg$tg.gathering.org/stream.pl?delivery=%s&stream=${name}&interlaced=%s";
- my $multicast_link = $streams{$name}->{has_multicast} ? "multicast" : "unicast";
- $multicast_link = "unicast" if ($force_unicast == 1 || not $is_local);
+ my $vlc_url = "http://stream.tg$tg.gathering.org/generate_vlc.pl?delivery=%s&stream=${name}&interlaced=%s";
+ my $multicast = $streams{$name}->{has_multicast} ? "multicast" : "unicast";
+ $multicast = "unicast" if ($force_unicast == 1 || not $is_local);
+
+ my $vlc_link = sprintf($vlc_url, $multicast, $streams{$name}->{interlaced});
+ my $href_link = '<a class="stream-link-content" href="#" onclick="swapVideo(\'' . $streams{$name}->{url} . '\');">';
- if ($streams{$name}->{external}) {
- $title_link = $streams{$name}->{url};
- } else {
- $title_link = sprintf($title_link, $multicast_link, $streams{$name}->{interlaced});
- }
my %hash = (
- 'title_link' => $title_link,
+ 'href' => $href_link,
'title' => $streams{$name}->{title},
'quality' => $streams{$name}->{quality},
'type' => $streams{$name}->{type},
+ 'vlc_link' => $vlc_link,
);
- if ($multicast_link eq "multicast") {
- $hash{'is_multicast'} .= 1;
- my $unicast_link = $title_link;
- $unicast_link=~s/multicast/unicast/g;
- $hash{'unicast_link'} .= $unicast_link;
- }
- $hash{'description'} .= $streams{$name}->{description} if exists($streams{$name}->{description});
push(@s, \%hash);
}
}
diff --git a/web/stream.gathering.org/index.tmpl b/web/stream.gathering.org/index.tmpl
index c834da9..e1e6a2f 100644
--- a/web/stream.gathering.org/index.tmpl
+++ b/web/stream.gathering.org/index.tmpl
@@ -38,14 +38,36 @@
window.location = '/?url=' + window.btoa(url);
}
- function float() {
- $("#floater").animate({top: '-=20px'}, "slow");
- $("#floater").animate({top: '+=20px'}, "slow");
- float();
+ var _float = true;
+
+ function animateFloat() {
+ if(_float) {
+ $("#floater").animate({top: '-=20px'}, "slow");
+ $("#floater").animate({top: '+=20px'}, "slow", animateFloat);
+ }
+ }
+
+ function toggleAnimation() {
+ $('#bubble').stop().fadeOut( 400 );
+ if(_float) {
+ _float = false;
+ $("#floater").delay(800).animate({top: '172px'}, "slow");
+ } else {
+ _float = true;
+ animateFloat();
+ }
}
$(document).ready(function() {
- float();
+ $("#floater").click(function() {
+ toggleAnimation();
+ });
+ $("#bubble").click(function() {
+ toggleAnimation();
+ });
+
+ //animateFloat();
+ //$( "#bubble" ).delay( 5000 ).fadeOut( 400 );
});
</script>
@@ -59,6 +81,17 @@
background-image: url('/resources/images/pixel-white.png');
background-size: cover;
}
+
+ #bubble {
+ position: absolute;
+ visibility: hidden;
+ top: 62px;
+ right: 170px;
+ width: 200px;
+ height: 25px;
+ color: #000000;
+ cursor: pointer;
+ }
</style>
</head>
@@ -67,7 +100,12 @@
<h1>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</h1>
</div>
<div id="floater">
-
+
+ </div>
+ <div id="bubble">
+ <div class="bubble">
+ If you hate me, click me!
+ </div>
</div>
<div class="section">
<div class="container">
@@ -94,8 +132,9 @@
<TMPL_LOOP NAME="STREAMS">
<div class="stream-item">
<img class="stream-icon" src="img/icon_<TMPL_VAR NAME=QUALITY>.png" />
+ <a href="<TMPL_VAR NAME=VLC_LINK>"><img class="stream-icon" src="/resources/images/vlc.png" /></a>
<img class="stream-icon" src="img/icon_<TMPL_VAR NAME=TYPE>.png" />
- <a class="stream-link-content" href="<TMPL_VAR NAME=TITLE_LINK>"><TMPL_VAR NAME=TITLE></a>
+ <TMPL_VAR NAME=HREF><TMPL_VAR NAME=TITLE></a>
</div>
</TMPL_LOOP>
@@ -104,8 +143,9 @@
<TMPL_LOOP NAME="CAMSTREAMS">
<div class="stream-item">
<img class="stream-icon" src="img/icon_<TMPL_VAR NAME=QUALITY>.png" />
+ <a href="<TMPL_VAR NAME=VLC_LINK>"><img class="stream-icon" src="/resources/images/vlc.png" /></a>
<img class="stream-icon" src="img/icon_<TMPL_VAR NAME=TYPE>.png" />
- <a class="stream-link-content" href="#" onclick="swapVideo('<TMPL_VAR NAME=TITLE_LINK>');"><TMPL_VAR NAME=TITLE></a>
+ <TMPL_VAR NAME=HREF><TMPL_VAR NAME=TITLE></a>
</div>
</TMPL_LOOP>
</div>
diff --git a/web/stream.gathering.org/noccam.vlc b/web/stream.gathering.org/noccam.vlc
new file mode 100644
index 0000000..e1bbf42
--- /dev/null
+++ b/web/stream.gathering.org/noccam.vlc
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF:-1,TG15 Unicasted NOC Webcam HD (720p H.264) 3Mbit/s
+http://cubemap.tg15.gathering.org/noccam.flv
diff --git a/web/stream.gathering.org/pre-tg15/fix_count.pl b/web/stream.gathering.org/pre-tg15/fix_count.pl
deleted file mode 100755
index aaaf42e..0000000
--- a/web/stream.gathering.org/pre-tg15/fix_count.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/perl
-
-my $lines = {};
-
-open LOG, "<", "/home/techserver/count_datacube.log"
- or die "count_datacube.log: $!";
-
-while (<LOG>) {
- chomp;
- my ($date, $port, $proto, $audience, $count) = split /\s+/;
- my $key = $port . ' ' . $proto . ' ' . $audience;
- $lines->{$date}{$key} = $count;
-}
-
-close LOG;
-
-my $last_date = undef;
-for my $date (sort keys %$lines) {
- for my $key (keys %{$lines->{$date}}) {
- if (defined($last_date) && !exists($lines->{$last_date}{$key})) {
- $lines->{$last_date}{$key} = $lines->{$date}{$key};
- }
- }
- $last_date = $date;
-}
-
-for my $date (sort keys %$lines) {
- for my $key (sort keys %{$lines->{$date}}) {
- print "$date $key " . $lines->{$date}{$key} . "\n";
- }
-}
diff --git a/web/stream.gathering.org/pre-tg15/ios/PLACEHOLDER b/web/stream.gathering.org/pre-tg15/ios/PLACEHOLDER
deleted file mode 100644
index e69de29..0000000
--- a/web/stream.gathering.org/pre-tg15/ios/PLACEHOLDER
+++ /dev/null
diff --git a/web/stream.gathering.org/pre-tg15/ios/event.m3u8 b/web/stream.gathering.org/pre-tg15/ios/event.m3u8
deleted file mode 100644
index 11152d3..0000000
--- a/web/stream.gathering.org/pre-tg15/ios/event.m3u8
+++ /dev/null
@@ -1,16 +0,0 @@
-#EXTM3U
-#EXT-X-TARGETDURATION:5
-#EXT-X-VERSION:3
-#EXT-X-ALLOW-CACHE:NO
-#EXT-X-MEDIA-SEQUENCE:27432
-#EXTINF:4.97,
-http://stream.tg13.gathering.org/ios/event-00027432.ts
-#EXTINF:4.04,
-http://stream.tg13.gathering.org/ios/event-00027433.ts
-#EXTINF:3.99,
-http://stream.tg13.gathering.org/ios/event-00027434.ts
-#EXTINF:3.97,
-http://stream.tg13.gathering.org/ios/event-00027435.ts
-#EXTINF:3.74,
-http://stream.tg13.gathering.org/ios/event-00027436.ts
-#EXT-X-ENDLIST
diff --git a/web/stream.gathering.org/pre-tg15/ios/stream.m3u8 b/web/stream.gathering.org/pre-tg15/ios/stream.m3u8
deleted file mode 100644
index d3d46a6..0000000
--- a/web/stream.gathering.org/pre-tg15/ios/stream.m3u8
+++ /dev/null
@@ -1,8 +0,0 @@
-#EXTM3U
-#EXT-X-TARGETDURATION:5
-#EXT-X-VERSION:3
-#EXT-X-ALLOW-CACHE:NO
-#EXT-X-MEDIA-SEQUENCE:1
-#EXTINF:3.84,
-http://stream.tg13.gathering.org/ios/stream-00000001.ts
-#EXT-X-ENDLIST
diff --git a/web/stream.gathering.org/pre-tg15/jwplayer.js b/web/stream.gathering.org/pre-tg15/jwplayer.js
deleted file mode 100644
index 41ade50..0000000
--- a/web/stream.gathering.org/pre-tg15/jwplayer.js
+++ /dev/null
@@ -1 +0,0 @@
-var jwplayer=function(a){if(jwplayer.api){return jwplayer.api.selectPlayer(a)}};var $jw=jwplayer;jwplayer.version="5.5.1641";jwplayer.vid=document.createElement("video");jwplayer.audio=document.createElement("audio");jwplayer.source=document.createElement("source");(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(f,e,c){var d;if(window.XMLHttpRequest){d=new XMLHttpRequest()}else{d=new ActiveXObject("Microsoft.XMLHTTP")}d.onreadystatechange=function(){if(d.readyState===4){if(d.status===200){if(e){e(d)}}else{if(c){c(f)}}}};d.open("GET",f,true);d.send(null);return d};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;if(d.file&&d.file.toLowerCase().indexOf("youtube.com")>-1){d.provider="youtube"}if(d.streamer&&d.streamer.toLowerCase().indexOf("rtmp://")==0){d.provider="rtmp"}if(e.type){d.provider=e.type.toLowerCase()}else{if(e.provider){d.provider=e.provider.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(){return(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]!="undefined")||(typeof window.ActiveXObject!="undefined")};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.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};b.utils.getYouTubeId=function(c){c.indexOf("youtube.com">0)};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"}})(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].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].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};a.utils.animations.transformOrigin=function(c,d){c.style.webkitTransformOrigin=d;c.style.MozTransformOrigin=d;c.style.OTransformOrigin=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"},f4p:{html5:"video/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"},mkv:{html5:"video/x-matroska"},mp4:{html5:"video/mp4",flash:"video"},rbs:{flash:"sound"},sdp:{html5:"application/sdp",flash:"video"},vp6:{html5:"video/x-vp6"},aac:{html5:"audio/aac",flash:"video"},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"}}})(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""}})(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(g,e,d){if(c[g]){c[g].registerPlugin(g,e,d)}else{a.utils.log("A plugin ("+g+") was registered with the player that was not loaded. Please check your configuration.");for(var f in b){b[f].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="http://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 l=a.utils.getPluginName(b);return d+"/"+a.version.split(".")[0]+"/"+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 k=0;for(plugin in g){if(g[plugin].getStatus()==a.utils.loaderstatus.LOADING){k++}}if(k==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);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 q={};var c=[];var h=undefined;var k=false;var i=[];var o=b.utils.getOuterHTML(d);var p={};var m=0;var j={};this.getBuffer=function(){return this.callInternal("jwGetBuffer")};this.getContainer=function(){return this.container};function e(r){return function(w,s,t,u){var v;if(s){j[w]=s;v="jwplayer('"+r+"').callback('"+w+"')"}else{if(!s&&j[w]){delete j[w]}}h.jwDockSetButton(w,v,t,u)}}this.getPlugin=function(s){var r=this.callInternal;if(s=="dock"){return{setButton:e(this.id)}}return this.plugins[s]};this.callback=function(r){if(j[r]){return j[r]()}};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 s=this.callInternal("jwGetPlaylist");for(var r=0;r<s.length;r++){if(s[r].index===undefined){s[r].index=r}}return s};this.getPlaylistItem=function(r){if(r===undefined){r=this.getCurrentItem()}return this.getPlaylist()[r]};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(r){if(r===undefined){this.callInternal("jwSetFullscreen",!this.callInternal("jwGetFullscreen"))}else{this.callInternal("jwSetFullscreen",r)}return this};this.setMute=function(r){if(r===undefined){this.callInternal("jwSetMute",!this.callInternal("jwGetMute"))}else{this.callInternal("jwSetMute",r)}return this};this.lock=function(){return this};this.unlock=function(){return this};this.load=function(r){this.callInternal("jwLoad",r);return this};this.playlistItem=function(r){this.callInternal("jwPlaylistItem",r);return this};this.playlistPrev=function(){this.callInternal("jwPlaylistPrev");return this};this.playlistNext=function(){this.callInternal("jwPlaylistNext");return this};this.resize=function(s,r){if(this.renderingMode=="html5"){h.jwResize(s,r)}else{this.container.width=s;this.container.height=r}return this};this.play=function(r){if(typeof r=="undefined"){r=this.getState();if(r==b.api.events.state.PLAYING||r==b.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPlay",r)}return this};this.pause=function(r){if(typeof r=="undefined"){r=this.getState();if(r==b.api.events.state.PLAYING||r==b.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPause",r)}return this};this.stop=function(){this.callInternal("jwStop");return this};this.seek=function(r){this.callInternal("jwSeek",r);return this};this.setVolume=function(r){this.callInternal("jwSetVolume",r);return this};this.onBufferChange=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER,r)};this.onBufferFull=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL,r)};this.onError=function(r){return this.eventListener(b.api.events.JWPLAYER_ERROR,r)};this.onFullscreen=function(r){return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN,r)};this.onMeta=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_META,r)};this.onMute=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE,r)};this.onPlaylist=function(r){return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED,r)};this.onPlaylistItem=function(r){return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM,r)};this.onReady=function(r){return this.eventListener(b.api.events.API_READY,r)};this.onResize=function(r){return this.eventListener(b.api.events.JWPLAYER_RESIZE,r)};this.onComplete=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE,r)};this.onTime=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME,r)};this.onVolume=function(r){return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME,r)};this.onBuffer=function(r){return this.stateListener(b.api.events.state.BUFFERING,r)};this.onPause=function(r){return this.stateListener(b.api.events.state.PAUSED,r)};this.onPlay=function(r){return this.stateListener(b.api.events.state.PLAYING,r)};this.onIdle=function(r){return this.stateListener(b.api.events.state.IDLE,r)};this.remove=function(){l={};i=[];if(b.utils.getOuterHTML(this.container)!=o){b.api.destroyPlayer(this.id,o)}};this.setup=function(s){if(b.embed){var r=this.id;this.remove();var t=b(r);t.config=s;return new b.embed(t)}return this};this.registerPlugin=function(t,s,r){b.plugins.registerPlugin(t,s,r)};this.setPlayer=function(r,s){h=r;this.renderingMode=s};this.stateListener=function(r,s){if(!q[r]){q[r]=[];this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE,g(r))}q[r].push(s);return this};function g(r){return function(t){var s=t.newstate,v=t.oldstate;if(s==r){var u=q[s];if(u){for(var w=0;w<u.length;w++){if(typeof u[w]=="function"){u[w].call(this,{oldstate:v,newstate:s})}}}}}}this.addInternalListener=function(r,s){r.jwAddEventListener(s,'function(dat) { jwplayer("'+this.id+'").dispatchEvent("'+s+'", dat); }')};this.eventListener=function(r,s){if(!l[r]){l[r]=[];if(h&&k){this.addInternalListener(h,r)}}l[r].push(s);return this};this.dispatchEvent=function(t){if(l[t]){var s=f(t,arguments[1]);for(var r=0;r<l[t].length;r++){if(typeof l[t][r]=="function"){l[t][r].call(this,s)}}}};function f(t,r){var v=b.utils.extend({},r);if(t==b.api.events.JWPLAYER_FULLSCREEN&&!v.fullscreen){v.fullscreen=v.message=="true"?true:false;delete v.message}else{if(typeof v.data=="object"){v=b.utils.extend(v,v.data);delete v.data}}var s=["position","duration","offset"];for(var u in s){if(v[s[u]]){v[s[u]]=Math.round(v[s[u]]*1000)/1000}}return v}this.callInternal=function(s,r){if(k){if(typeof h!="undefined"&&typeof h[s]=="function"){if(r!==undefined){return(h[s])(r)}else{return(h[s])()}}return null}else{i.push({method:s,parameters:r})}};this.playerReady=function(t){k=true;if(!h){this.setPlayer(document.getElementById(t.id))}this.container=document.getElementById(this.id);for(var r in l){this.addInternalListener(h,r)}this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM,function(u){if(u.index!==undefined){m=u.index}p={}});this.eventListener(b.api.events.JWPLAYER_MEDIA_META,function(u){b.utils.extend(p,u.metadata)});this.dispatchEvent(b.api.events.API_READY);while(i.length>0){var s=i.shift();this.callInternal(s.method,s.parameters)}};this.getItemMeta=function(){return p};this.getCurrentItem=function(){return m};function n(t,v,u){var r=[];if(!v){v=0}if(!u){u=t.length-1}for(var s=v;s<=u;s++){r.push(t[s])}return r}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_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 b(){return[{type:"flash",src:"/jwplayer/player.swf"},{type:"html5"},{type:"download"}]}function d(h){var g=h.toLowerCase();var f=["left","right","top","bottom"];for(var e=0;e<f.length;e++){if(g==f[e]){return true}}return false}function c(f){var e=false;e=(f instanceof Array)||(typeof f=="object"&&!f.position&&!f.size);return e}a.embed.config=function(f,p){var o=a.utils.extend({},f);var m;if(c(o.playlist)){m=o.playlist;delete o.playlist}for(var i in o){if(i.indexOf(".")>-1){var q=i.split(".");var r=o;for(var e=0;e<q.length;e++){if(e==q.length-1){if(a.utils.typeOf(r)=="object"){r[q[e]]=o[i];delete o[i]}}else{if(r[q[e]]===undefined){r[q[e]]={}}r=r[q[e]]}}}}if(typeof o.plugins=="string"){var g=o.plugins.split(",");if(typeof o.plugins!="object"){o.plugins={}}for(var k=0;k<g.length;k++){var l=a.utils.getPluginName(g[k]);if(typeof o[l]=="object"){o.plugins[g[k]]=o[l];delete o[l]}else{o.plugins[g[k]]={}}}}var j=["playlist","dock","controlbar"];for(var n=0;n<j.length;n++){if(typeof o[j[n]]=="string"){if(!o.components[j[n]]){o.components[j[n]]={}}o.components[j[n]].position=o[j[n]];delete o[j[n]]}else{if(o[j[n]]){o.components[j[n]]=o[j[n]];delete o[j[n]]}}if(typeof o[j[n]+"size"]!="undefined"){if(!o.components[j[n]]){o.components[j[n]]={}}o.components[j[n]].size=o[j[n]+"size"];delete o[j[n]+"size"]}}if(typeof o.icons!="undefined"){if(!o.components.display){o.components.display={}}o.components.display.icons=o.icons;delete o.icons}if(o.players){o.modes=o.players;delete o.players}var h;if(o.flashplayer&&!o.modes){h=b();h[0].src=o.flashplayer;delete o.flashplayer}else{if(o.modes){if(typeof o.modes=="string"){h=b();h[0].src=o.modes}else{if(o.modes instanceof Array){h=o.modes}else{if(typeof o.modes=="object"&&o.modes.type){h=[o.modes]}}}delete o.modes}else{h=b()}}o.modes=h;if(m){o.playlist=m}return o}})(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(g,h,l,f,j){function m(o,n,p){var q=document.createElement("param");q.setAttribute("name",n);q.setAttribute("value",p);o.appendChild(q)}function k(o,p,n){return function(q){if(n){document.getElementById(j.id+"_wrapper").appendChild(p)}var s=document.getElementById(j.id).getPluginConfig("display");o.resize(s.width,s.height);var r={left:s.x,top:s.y};a.utils.css(p,r)}}function e(p){if(!p){return{}}var r={};for(var o in p){var n=p[o];for(var q in n){r[o+"."+q]=n[q]}}return r}function i(q,p){if(q[p]){var s=q[p];for(var o in s){var n=s[o];if(typeof n=="string"){if(!q[o]){q[o]=n}}else{for(var r in n){if(!q[o+"."+r]){q[o+"."+r]=n[r]}}}}delete q[p]}}function c(q){if(!q){return{}}var t={},s=[];for(var n in q){var p=a.utils.getPluginName(n);var o=q[n];s.push(n);for(var r in o){t[p+"."+r]=o[r]}}t.plugins=s.join(",");return t}function d(p){var n=p.netstreambasepath?"":"netstreambasepath="+encodeURIComponent(window.location.href)+"&";for(var o in p){n+=o+"="+encodeURIComponent(p[o])+"&"}return n.substring(0,n.length-1)}function b(n){return function(p){if(n.playlist){this.load(n.playlist)}else{if(n.levels){var o=this.getPlaylistItem(0);if(!o){o=n}if(!o.image){o.image=n.image}if(!o.levels){o.levels=n.levels}this.load(o)}}}}this.embed=function(){if(l.levels||l.playlist){j.onReady(b(l))}l.id=j.id;var y;if(g.id+"_wrapper"==g.parentNode.id){y=document.getElementById(g.id+"_wrapper")}else{y=document.createElement("div");y.id=g.id+"_wrapper";a.utils.wrap(g,y);y.style.position="relative"}var q=a.utils.extend({},l);var o=f.setupPlugins(j,q,k);if(o.length>0){a.utils.extend(q,c(o.plugins))}else{delete q.plugins}var n=q.width;var w=q.height;var r=["height","width","levels","playlist","modes","events"];for(var u=0;u<r.length;u++){delete q[r[u]]}var p="opaque";if(q.wmode){p=q.wmode}i(q,"components");i(q,"providers");var x="#000000";var t;if(a.utils.isIE()){var v='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="'+x+'" width="'+n+'" height="'+w+'" id="'+g.id+'" name="'+g.id+'">';v+='<param name="movie" value="'+h.src+'">';v+='<param name="allowfullscreen" value="true">';v+='<param name="allowscriptaccess" value="always">';v+='<param name="seamlesstabbing" value="true">';v+='<param name="wmode" value="'+p+'">';v+='<param name="flashvars" value="'+d(q)+'">';v+="</object>";a.utils.setOuterHTML(g,v);t=document.getElementById(g.id)}else{var s=document.createElement("object");s.setAttribute("type","application/x-shockwave-flash");s.setAttribute("data",h.src);s.setAttribute("width",n);s.setAttribute("height",w);s.setAttribute("bgcolor","#000000");s.setAttribute("id",g.id);s.setAttribute("name",g.id);m(s,"allowfullscreen","true");m(s,"allowscriptaccess","always");m(s,"seamlesstabbing","true");m(s,"wmode",p);m(s,"flashvars",d(q));g.parentNode.replaceChild(s,g);t=s}j.container=t;j.setPlayer(t,"flash")};this.supportsConfig=function(){if(a.utils.hasFlash()){if(l){var o=a.utils.getFirstPlaylistItemFromConfig(l);if(typeof o.file=="undefined"&&typeof o.levels=="undefined"){return true}else{if(o.file){return flashCanPlay(o.file,o.provider)}else{if(o.levels&&o.levels.length){for(var n=0;n<o.levels.length;n++){if(o.levels[n].file&&flashCanPlay(o.levels[n].file,o.provider)){return true}}}}}}else{return true}}return false};flashCanPlay=function(n,p){var o=["video","http","sound","image"];if(p&&(o.toString().indexOf(p<0))){return true}var q=a.utils.extension(n);if(!q){return true}if(a.utils.extensionmap[q]!==undefined&&a.utils.extensionmap[q].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"){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:"http://l.longtailvideo.com/"+k+"/",file:"logo.png",link:"http://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("http://")===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(j,L){var i=j;var A=a.utils.extend({},b,i.skin.getComponentSettings("controlbar"),L);if(A.position==a.html5.view.positions.NONE||typeof a.html5.view.positions[A.position]=="undefined"){return}if(a.utils.mapLength(i.skin.getComponentLayout("controlbar"))>0){A.layout=i.skin.getComponentLayout("controlbar")}var P;var I;var O;var B;var t="none";var f;var h;var Q;var e;var d;var w;var s;var J={};var n=false;var c={};function H(){O=0;B=0;I=0;if(!n){var V={height:i.skin.getSkinElement("controlbar","background").height,backgroundColor:A.backgroundcolor};P=document.createElement("div");P.id=i.id+"_jwplayer_controlbar";_css(P,V)}v("capLeft","left",false,P);var W={position:"absolute",height:i.skin.getSkinElement("controlbar","background").height,left:i.skin.getSkinElement("controlbar","capLeft").width,zIndex:0};N("background",P,W,"img");if(i.skin.getSkinElement("controlbar","background")){J.background.src=i.skin.getSkinElement("controlbar","background").src}W.zIndex=1;N("elements",P,W);v("capRight","right",false,P)}this.getDisplayElement=function(){return P};this.resize=function(X,V){a.utils.cancelAnimation(P);document.getElementById(i.id).onmousemove=x;d=X;w=V;x();var W=u();D({id:i.id,duration:Q,position:h});r({id:i.id,bufferPercent:e});return W};function o(){var W=["timeSlider","volumeSlider","timeSliderRail","volumeSliderRail"];for(var X in W){var V=W[X];if(typeof J[V]!="undefined"){c[V]=J[V].getBoundingClientRect()}}}function x(){a.utils.cancelAnimation(P);if(g()){a.utils.fadeTo(P,1,0,1,0)}else{a.utils.fadeTo(P,0,0.1,1,2)}}function g(){if(i.jwGetState()==a.api.events.state.IDLE||i.jwGetState()==a.api.events.state.PAUSED){if(A.idlehide){return false}return true}if(i.jwGetFullscreen()){return false}if(A.position==a.html5.view.positions.OVER){return false}return true}function N(Z,Y,X,V){var W;if(!n){if(!V){V="div"}W=document.createElement(V);J[Z]=W;W.id=P.id+"_"+Z;Y.appendChild(W)}else{W=document.getElementById(P.id+"_"+Z)}if(X!==undefined){_css(W,X)}return W}function G(){U(A.layout.left);U(A.layout.right,-1);U(A.layout.center)}function U(Y,V){var Z=Y.position=="right"?"right":"left";var X=a.utils.extend([],Y.elements);if(V!==undefined){X.reverse()}for(var W=0;W<X.length;W++){z(X[W],Z)}}function E(){return I++}function z(Z,ab){var Y,W,X,V,ad;switch(Z.name){case"play":v("playButton",ab,false);v("pauseButton",ab,true);K("playButton","jwPlay");K("pauseButton","jwPause");break;case"divider":v("divider"+E(),ab,true,undefined,undefined,Z.width);break;case"prev":v("prevButton",ab,true);K("prevButton","jwPlaylistPrev");break;case"next":v("nextButton",ab,true);K("nextButton","jwPlaylistNext");break;case"elapsed":v("elapsedText",ab,true);break;case"time":W=i.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:i.skin.getSkinElement("controlbar","timeSliderCapLeft").width;X=i.skin.getSkinElement("controlbar","timeSliderCapRight")===undefined?0:i.skin.getSkinElement("controlbar","timeSliderCapRight").width;Y=ab=="left"?W:X;V=i.skin.getSkinElement("controlbar","timeSliderRail").width+W+X;ad={height:i.skin.getSkinElement("controlbar","background").height,position:"absolute",top:0,width:V};ad[ab]=ab=="left"?O:B;var aa=N("timeSlider",J.elements,ad);v("timeSliderCapLeft",ab,true,aa,ab=="left"?0:Y);v("timeSliderRail",ab,false,aa,Y);v("timeSliderBuffer",ab,false,aa,Y);v("timeSliderProgress",ab,false,aa,Y);v("timeSliderThumb",ab,false,aa,Y);v("timeSliderCapRight",ab,true,aa,ab=="right"?0:Y);M("time");break;case"fullscreen":v("fullscreenButton",ab,false);v("normalscreenButton",ab,true);K("fullscreenButton","jwSetFullscreen",true);K("normalscreenButton","jwSetFullscreen",false);break;case"volume":W=i.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:i.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;X=i.skin.getSkinElement("controlbar","volumeSliderCapRight")===undefined?0:i.skin.getSkinElement("controlbar","volumeSliderCapRight").width;Y=ab=="left"?W:X;V=i.skin.getSkinElement("controlbar","volumeSliderRail").width+W+X;ad={height:i.skin.getSkinElement("controlbar","background").height,position:"absolute",top:0,width:V};ad[ab]=ab=="left"?O:B;var ac=N("volumeSlider",J.elements,ad);v("volumeSliderCapLeft",ab,true,ac,ab=="left"?0:Y);v("volumeSliderRail",ab,true,ac,Y);v("volumeSliderProgress",ab,false,ac,Y);v("volumeSliderCapRight",ab,true,ac,ab=="right"?0:Y);M("volume");break;case"mute":v("muteButton",ab,false);v("unmuteButton",ab,true);K("muteButton","jwSetMute",true);K("unmuteButton","jwSetMute",false);break;case"duration":v("durationText",ab,true);break}}function v(X,aa,W,ac,Y,V){if((i.skin.getSkinElement("controlbar",X)!==undefined||X.indexOf("Text")>0||X.indexOf("divider")===0)&&!(X.indexOf("divider")===0&&s.indexOf("divider")===0)){s=X;var Z={height:i.skin.getSkinElement("controlbar","background").height,position:"absolute",display:"block",top:0};if((X.indexOf("next")===0||X.indexOf("prev")===0)&&i.jwGetPlaylist().length<2){W=false;Z.display="none"}var ad;if(X.indexOf("Text")>0){X.innerhtml="00:00";Z.font=A.fontsize+"px/"+(i.skin.getSkinElement("controlbar","background").height+1)+"px "+A.font;Z.color=A.fontcolor;Z.textAlign="center";Z.fontWeight=A.fontweight;Z.fontStyle=A.fontstyle;Z.cursor="default";ad=14+3*A.fontsize}else{if(X.indexOf("divider")===0){if(V){if(!isNaN(parseInt(V))){ad=parseInt(V)}}else{Z.background="url("+i.skin.getSkinElement("controlbar","divider").src+") repeat-x center left";ad=i.skin.getSkinElement("controlbar","divider").width}}else{Z.background="url("+i.skin.getSkinElement("controlbar",X).src+") repeat-x center left";ad=i.skin.getSkinElement("controlbar",X).width}}if(aa=="left"){Z.left=isNaN(Y)?O:Y;if(W){O+=ad}}else{if(aa=="right"){Z.right=isNaN(Y)?B:Y;if(W){B+=ad}}}if(a.utils.typeOf(ac)=="undefined"){ac=J.elements}Z.width=ad;if(n){_css(J[X],Z)}else{var ab=N(X,ac,Z);if(i.skin.getSkinElement("controlbar",X+"Over")!==undefined){ab.onmouseover=function(ae){ab.style.backgroundImage=["url(",i.skin.getSkinElement("controlbar",X+"Over").src,")"].join("")};ab.onmouseout=function(ae){ab.style.backgroundImage=["url(",i.skin.getSkinElement("controlbar",X).src,")"].join("")}}}}}function C(){i.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED,y);i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER,r);i.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE,p);i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME,D);i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE,T);i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME,k);i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE,F)}function y(){H();G();u();R()}function R(){D({id:i.id,duration:i.jwGetDuration(),position:0});r({id:i.id,bufferProgress:0});T({id:i.id,mute:i.jwGetMute()});p({id:i.id,newstate:a.api.events.state.IDLE});k({id:i.id,volume:i.jwGetVolume()})}function K(X,Y,W){if(n){return}if(i.skin.getSkinElement("controlbar",X)!==undefined){var V=J[X];if(V!==null){_css(V,{cursor:"pointer"});if(Y=="fullscreen"){V.onmouseup=function(Z){Z.stopPropagation();i.jwSetFullscreen(!i.jwGetFullscreen())}}else{V.onmouseup=function(Z){Z.stopPropagation();if(W!==null){i[Y](W)}else{i[Y]()}}}}}}function M(V){if(n){return}var W=J[V+"Slider"];_css(J.elements,{cursor:"pointer"});_css(W,{cursor:"pointer"});W.onmousedown=function(X){t=V};W.onmouseup=function(X){X.stopPropagation();S(X.pageX)};W.onmousemove=function(X){if(t=="time"){f=true;var Y=X.pageX-c[V+"Slider"].left-window.pageXOffset;_css(J.timeSliderThumb,{left:Y})}}}function S(W){f=false;var V;if(t=="time"){V=W-c.timeSliderRail.left+window.pageXOffset;var Y=V/c.timeSliderRail.width*Q;if(Y<0){Y=0}else{if(Y>Q){Y=Q-3}}i.jwSeek(Y);if(i.jwGetState()!=a.api.events.state.PLAYING){i.jwPlay()}}else{if(t=="volume"){V=W-c.volumeSliderRail.left-window.pageXOffset;var X=Math.round(V/c.volumeSliderRail.width*100);if(X<0){X=0}else{if(X>100){X=100}}if(i.jwGetMute()){i.jwSetMute(false)}i.jwSetVolume(X)}}t="none"}function r(W){if(W.bufferPercent!==null){e=W.bufferPercent}var X=c.timeSliderRail.width;var V=isNaN(Math.round(X*e/100))?0:Math.round(X*e/100);_css(J.timeSliderBuffer,{width:V})}function T(V){if(V.mute){_hide(J.muteButton);_show(J.unmuteButton);_hide(J.volumeSliderProgress)}else{_show(J.muteButton);_hide(J.unmuteButton);_show(J.volumeSliderProgress)}}function p(V){if(V.newstate==a.api.events.state.BUFFERING||V.newstate==a.api.events.state.PLAYING){_show(J.pauseButton);_hide(J.playButton)}else{_hide(J.pauseButton);_show(J.playButton)}x();if(V.newstate==a.api.events.state.IDLE){_hide(J.timeSliderBuffer);_hide(J.timeSliderProgress);_hide(J.timeSliderThumb);D({id:i.id,duration:i.jwGetDuration(),position:0})}else{_show(J.timeSliderBuffer);if(V.newstate!=a.api.events.state.BUFFERING){_show(J.timeSliderProgress);_show(J.timeSliderThumb)}}}function F(V){r({bufferPercent:0});D(a.utils.extend(V,{position:0,duration:Q}))}function D(Y){if(Y.position!==null){h=Y.position}if(Y.duration!==null){Q=Y.duration}var W=(h===Q===0)?0:h/Q;var V=isNaN(Math.round(c.timeSliderRail.width*W))?0:Math.round(c.timeSliderRail.width*W);var X=V;J.timeSliderProgress.style.width=V+"px";if(!f){if(J.timeSliderThumb){J.timeSliderThumb.style.left=X+"px"}}if(J.durationText){J.durationText.innerHTML=m(Q)}if(J.elapsedText){J.elapsedText.innerHTML=m(h)}}function m(V){str="00:00";if(V>0){str=Math.floor(V/60)<10?"0"+Math.floor(V/60)+":":Math.floor(V/60)+":";str+=Math.floor(V%60)<10?"0"+Math.floor(V%60):Math.floor(V%60)}return str}function l(){var Y,W;var X=document.getElementById(P.id+"_elements").childNodes;for(var V in document.getElementById(P.id+"_elements").childNodes){if(isNaN(parseInt(V,10))){continue}if(X[V].id.indexOf(P.id+"_divider")===0&&W.id.indexOf(P.id+"_divider")===0){X[V].style.display="none"}else{if(X[V].id.indexOf(P.id+"_divider")===0&&Y.style.display!="none"){X[V].style.display="block"}}if(X[V].style.display!="none"){W=X[V]}Y=X[V]}}function u(){l();if(i.jwGetFullscreen()){_show(J.normalscreenButton);_hide(J.fullscreenButton)}else{_hide(J.normalscreenButton);_show(J.fullscreenButton)}var W={width:d};var V={};if(A.position==a.html5.view.positions.OVER||i.jwGetFullscreen()){W.left=A.margin;W.width-=2*A.margin;W.top=w-i.skin.getSkinElement("controlbar","background").height-A.margin;W.height=i.skin.getSkinElement("controlbar","background").height}else{W.left=0}V.left=i.skin.getSkinElement("controlbar","capLeft").width;V.width=W.width-i.skin.getSkinElement("controlbar","capLeft").width-i.skin.getSkinElement("controlbar","capRight").width;var X=i.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:i.skin.getSkinElement("controlbar","timeSliderCapLeft").width;_css(J.timeSliderRail,{width:(V.width-O-B),left:X});if(J.timeSliderCapRight!==undefined){_css(J.timeSliderCapRight,{left:X+(V.width-O-B)})}_css(P,W);_css(J.elements,V);_css(J.background,V);o();return W}function k(Z){if(J.volumeSliderRail!==undefined){var X=isNaN(Z.volume/100)?1:Z.volume/100;var Y=parseInt(J.volumeSliderRail.style.width.replace("px",""),10);var V=isNaN(Math.round(Y*X))?0:Math.round(Y*X);var aa=parseInt(J.volumeSliderRail.style.right.replace("px",""),10);var W=i.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:i.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;_css(J.volumeSliderProgress,{width:V,left:W});if(J.volumeSliderCapLeft!==undefined){_css(J.volumeSliderCapLeft,{left:0})}}}function q(){H();G();o();n=true;C();R();P.style.opacity=A.idlehide?0:1}q();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.getMedia().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({})};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:_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()){v();g("muteIcon")}else{v();_hide(d.display_iconBackground);_hide(d.display_icon)}break}}return this}})(jwplayer);(function(a){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;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:"http://l.longtailvideo.com/html5/",file:"logo.png",link:"http://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("http://")===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,D){var H={abort:t,canplay:m,canplaythrough:m,durationchange:q,emptied:t,ended:m,error:l,loadeddata:q,loadedmetadata:q,loadstart:m,pause:m,play:K,playing:m,progress:A,ratechange:t,seeked:m,seeking:m,stalled:m,suspend:m,timeupdate:K,volumechange:t,waiting:m,canshowcurrentframe:t,dataunavailable:t,empty:t,load:e,loadedfirstframe:t};var I=new a.html5.eventdispatcher();a.utils.extend(this,I);var h=f;var x=D;var E;var G;var d=a.api.events.state.IDLE;var B=null;var n;var g=0;var z=false;var r=false;var M;var L;var i=[];var N;var C=false;function v(){return d}function e(O){}function t(O){}function m(O){if(c[O.type]){s(c[O.type])}}function s(O){if(C){return}if(n){O=a.api.events.state.IDLE}if(O==a.api.events.state.PAUSED&&d==a.api.events.state.IDLE){return}if(O==a.api.events.state.PLAYING&&d==a.api.events.state.IDLE){s(a.api.events.state.BUFFERING);I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:h.buffer});y();return}if(d!=O){var P=d;h.state=O;d=O;var Q=false;if(O==a.api.events.state.IDLE){p();if(h.position>=h.duration&&(h.position||h.duration)){Q=true}if(x.style.display!="none"&&!h.config.chromeless){x.style.display="none"}}I.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE,{oldstate:P,newstate:O});if(Q){I.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE)}}n=false}function q(O){var P={height:O.target.videoHeight,width:O.target.videoWidth,duration:Math.round(O.target.duration*10)/10};if(h.duration===0||isNaN(h.duration)){h.duration=Math.round(O.target.duration*10)/10}h.playlist[h.item]=a.utils.extend(h.playlist[h.item],P);I.sendEvent(a.api.events.JWPLAYER_MEDIA_META,{metadata:P})}function K(P){if(n){return}if(P!==undefined&&P.target!==undefined){if(h.duration===0||isNaN(h.duration)){h.duration=Math.round(P.target.duration*10)/10}if(!z&&x.readyState>0){s(a.api.events.state.PLAYING)}if(d==a.api.events.state.PLAYING){if(!z&&x.readyState>0){z=true;try{x.currentTime=h.playlist[h.item].start}catch(O){}x.volume=h.volume/100;x.muted=h.mute}h.position=Math.round(P.target.currentTime*10)/10;I.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME,{position:P.target.currentTime,duration:P.target.duration})}}A(P)}function y(){if(E===false&&d==a.api.events.state.BUFFERING){I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);E=true}}function F(){var O=(i[i.length-1]-i[0])/i.length;N=setTimeout(function(){if(!G){A({lengthComputable:true,loaded:1,total:1})}},O*10)}function A(Q){var P,O;if(Q!==undefined&&Q.lengthComputable&&Q.total){o();P=Q.loaded/Q.total*100;O=P/100*(h.duration-x.currentTime);if(50<P&&!G){clearTimeout(N);F()}}else{if((x.buffered!==undefined)&&(x.buffered.length>0)){maxBufferIndex=0;if(maxBufferIndex>=0){P=x.buffered.end(maxBufferIndex)/x.duration*100;O=x.buffered.end(maxBufferIndex)-x.currentTime}}}y();if(!G){if(P==100&&G===false){G=true}if(P!==null&&(P>h.buffer)){h.buffer=Math.round(P);I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:Math.round(P)})}}}function w(){if(B===null){B=setInterval(function(){K()},100)}}function p(){clearInterval(B);B=null}function l(Q){var P="There was an error: ";if((Q.target.error&&Q.target.tagName.toLowerCase()=="video")||Q.target.parentNode.error&&Q.target.parentNode.tagName.toLowerCase()=="video"){var O=Q.target.error===undefined?Q.target.parentNode.error:Q.target.error;switch(O.code){case O.MEDIA_ERR_ABORTED:P="You aborted the video playback: ";break;case O.MEDIA_ERR_NETWORK:P="A network error caused the video download to fail part-way: ";break;case O.MEDIA_ERR_DECODE:P="The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";break;case O.MEDIA_ERR_SRC_NOT_SUPPORTED:P="The video could not be loaded, either because the server or network failed or because the format is not supported: ";break;default:P="An unknown error occurred: ";break}}else{if(Q.target.tagName.toLowerCase()=="source"){L--;if(L>0){return}P="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();P+=j();C=true;I.sendEvent(a.api.events.JWPLAYER_ERROR,{error:P});return}function j(){var Q="";for(var P in M.levels){var O=M.levels[P];var R=x.ownerDocument.createElement("source");Q+=a.utils.getAbsolutePath(O.file);if(P<(M.levels.length-1)){Q+=", "}}return Q}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(E){s(a.api.events.state.PLAYING)}}};this.pause=function(){x.pause();s(a.api.events.state.PAUSED)};this.seek=function(O){if(!(h.duration===0||isNaN(h.duration))&&!(h.position===0||isNaN(h.position))){x.currentTime=O;x.play()}};function u(){x.pause();p();h.position=0;n=true;s(a.api.events.state.IDLE)}this.stop=u;this.volume=function(O){x.volume=O/100;h.volume=O;I.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME,{volume:Math.round(O)})};this.mute=function(O){x.muted=O;h.mute=O;I.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE,{mute:O})};this.resize=function(P,O){if(false){b(x,{width:P,height:O})}I.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE,{fullscreen:h.fullscreen,width:P,hieght:O})};this.fullscreen=function(O){if(O===true){this.resize("100%","100%")}else{this.resize(h.config.width,h.config.height)}};this.load=function(O){J(O);I.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);E=false;G=false;z=false;if(!h.config.chromeless&&!r){i=[];o();s(a.api.events.state.BUFFERING);setTimeout(function(){K()},25)}};function o(){var O=new Date().getTime();i.push(O)}this.hasChrome=function(){return r};function J(V){h.duration=V.duration;r=false;M=V;var Q=document.createElement("video");Q.preload="none";C=false;L=0;for(var P=0;P<V.levels.length;P++){var O=V.levels[P];if(a.utils.isYouTube(O.file)){delete Q;k(O.file);return}var R;if(O.type===undefined){var U=a.utils.extension(O.file);if(a.utils.extensionmap[U]!==undefined&&a.utils.extensionmap[U].html5!==undefined){R=a.utils.extensionmap[U].html5}}else{R=O.type}if(!R||Q.canPlayType(R)){var T=x.ownerDocument.createElement("source");T.src=a.utils.getAbsolutePath(O.file);if(R&&!a.utils.isLegacyAndroid()){T.type=R}L++;Q.appendChild(T)}}if(L===0){C=true;I.sendEvent(a.api.events.JWPLAYER_ERROR,{error:"The video could not be loaded because the format is not supported by your browser: "+j()})}if(h.config.chromeless){Q.poster=a.utils.getAbsolutePath(V.image);Q.controls="controls"}Q.style.top=x.style.top;Q.style.left=x.style.left;Q.style.width=x.style.width;Q.style.height=x.style.height;Q.style.zIndex=x.style.zIndex;Q.onload=e;Q.volume=0;x.parentNode.replaceChild(Q,x);Q.id=x.id;x=Q;for(var S in H){x.addEventListener(S,function(W){if(W.target.parentNode!==null){H[W.type](W)}},true)}}function k(S){var P=document.createElement("object");S=["http://www.youtube.com/v/",S.replace(/^[^v]+v.(.{11}).*/,"$1"),"&amp;hl=en_US&amp;fs=1&autoplay=1"].join("");var V={movie:S,allowFullScreen:"true",allowscriptaccess:"always"};for(var O in V){var T=document.createElement("param");T.name=O;T.value=V[O];P.appendChild(T)}var U=document.createElement("embed");var Q={src:S,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 R in Q){U[R]=Q[R]}P.appendChild(U);P.style.position=x.style.position;P.style.top=x.style.top;P.style.left=x.style.left;P.style.width=document.getElementById(f.id).style.width;P.style.height=document.getElementById(f.id).style.height;P.style.zIndex=2147483000;x.parentNode.replaceChild(P,x);P.id=x.id;x=P;r=true}this.embed=J;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"]}_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.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(a){a.html5.playlistitem=function(c){var b={author:"",date:"",description:"",image:"",link:"",mediaid:"",tags:"",title:"",provider:"",file:"",streamer:"",duration:-1,start:0,currentLevel:-1,levels:[]};for(var d in b){if(c[d]!==undefined){b[d]=c[d]}}if(b.levels.length===0){b.levels[0]=new a.html5.playlistitemlevel(b)}return b}})(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,k){var j={};var e=document.createElement("div");b.parentNode.replaceChild(e,b);e.id=b.id;j.version=a.version;j.id=e.id;var i=new a.html5.model(j,e,k);var g=new a.html5.view(j,e,i);var h=new a.html5.controller(j,e,i,g);j.skin=new a.html5.skin();j.jwPlay=function(l){if(typeof l=="undefined"){d()}else{if(l.toString().toLowerCase()=="true"){h.play()}else{h.pause()}}};j.jwPause=function(l){if(typeof l=="undefined"){d()}else{if(l.toString().toLowerCase()=="true"){h.pause()}else{h.play()}}};function d(){if(i.state==a.api.events.state.PLAYING||i.state==a.api.events.state.BUFFERING){h.pause()}else{h.play()}}j.jwStop=h.stop;j.jwSeek=h.seek;j.jwPlaylistItem=h.item;j.jwPlaylistNext=h.next;j.jwPlaylistPrev=h.prev;j.jwResize=h.resize;j.jwLoad=h.load;function f(l){return function(){return i[l]}}j.jwGetItem=f("item");j.jwGetPosition=f("position");j.jwGetDuration=f("duration");j.jwGetBuffer=f("buffer");j.jwGetWidth=f("width");j.jwGetHeight=f("height");j.jwGetFullscreen=f("fullscreen");j.jwSetFullscreen=h.setFullscreen;j.jwGetVolume=f("volume");j.jwSetVolume=h.setVolume;j.jwGetMute=f("mute");j.jwSetMute=h.setMute;j.jwGetStretching=f("stretching");j.jwGetState=f("state");j.jwGetVersion=function(){return j.version};j.jwGetPlaylist=function(){return i.playlist};j.jwAddEventListener=h.addEventListener;j.jwRemoveEventListener=h.removeEventListener;j.jwSendEvent=h.sendEvent;j.jwDockSetButton=function(o,l,m,n){if(i.plugins.object.dock&&i.plugins.object.dock.setButton){i.plugins.object.dock.setButton(o,l,m,n)}};j.jwGetLevel=function(){};j.jwGetBandwidth=function(){};j.jwGetLockState=function(){};j.jwLock=function(){};j.jwUnlock=function(){};function c(n,m,l){return function(){n.loadPlaylist(n.config,true);n.setupPlugins();m.setup(n.getMedia().getDisplayElement());var o={id:j.id,version:j.version};l.sendEvent(a.api.events.JWPLAYER_READY,o);if(playerReady!==undefined){playerReady(o)}if(window[n.config.playerReady]!==undefined){window[n.config.playerReady](o)}n.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED,{playlist:n.playlist});l.item(n.item)}}if(i.config.chromeless){setTimeout(c(i,g,h),25)}else{j.skin.load(i.config.skin,c(i,g,h))}return j}})(jwplayer); \ No newline at end of file
diff --git a/web/stream.gathering.org/pre-tg15/player.swf b/web/stream.gathering.org/pre-tg15/player.swf
deleted file mode 100644
index 6cdfd72..0000000
--- a/web/stream.gathering.org/pre-tg15/player.swf
+++ /dev/null
Binary files differ
diff --git a/web/stream.gathering.org/pre-tg15/singularity.png b/web/stream.gathering.org/pre-tg15/singularity.png
deleted file mode 100644
index 3a13cdf..0000000
--- a/web/stream.gathering.org/pre-tg15/singularity.png
+++ /dev/null
Binary files differ
diff --git a/web/stream.gathering.org/pre-tg15/streamstats-fast.pl b/web/stream.gathering.org/pre-tg15/streamstats-fast.pl
deleted file mode 100755
index f4caa24..0000000
--- a/web/stream.gathering.org/pre-tg15/streamstats-fast.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /usr/bin/perl
-use strict;
-use warnings;
-use POSIX;
-use CGI qw(fatalsToBrowser);
-
-my $port_spec = CGI::param('port');
-my $proto_spec = CGI::param('proto');
-my $audience_spec = CGI::param('audience');
-
-print CGI::header(-type=>'image/png');
-
-# I'm sure this is really safe
-system("/srv/stream.tg13.gathering.org/fix_count.pl | /srv/stream.tg13.gathering.org/streamstats - $port_spec $proto_spec $audience_spec");
-#system("/srv/stream.tg13.gathering.org/streamstats", "/home/techserver/cleaned_datacube.log", $port_spec, $proto_spec, $audience_spec);
diff --git a/web/stream.gathering.org/pre-tg15/streamstats.cpp b/web/stream.gathering.org/pre-tg15/streamstats.cpp
deleted file mode 100644
index e81419f..0000000
--- a/web/stream.gathering.org/pre-tg15/streamstats.cpp
+++ /dev/null
@@ -1,217 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <stdlib.h>
-
-using namespace std;
-
-map<string, string> port_desc = {
- { "3013", "main (3013)" },
- { "3014", "main-sd (3014)" },
- { "3015", "webcam (3015)" },
- { "3016", "webcam-south (3016)" },
- { "3017", "webcam-south-transcode (3017)" },
- { "3018", "webcam-fisheye (3018)" },
- { "5013", "main-transcode (5013)" },
- { "5015", "webcam-transcode (5015)" },
-};
-
-struct Spec {
- set<string> incl;
- bool compare;
-};
-
-Spec parse_spec(const string &spec)
-{
- Spec ret;
- ret.compare = false;
-
- if (spec == "compare") {
- ret.compare = true;
- return ret;
- }
- if (spec == "dontcare") {
- return ret;
- }
-
- const char *ptr = spec.c_str();
- if (strncmp(ptr, "compare:", 8) == 0) {
- ptr += 8;
- ret.compare = true;
- }
-
- for ( ;; ) {
- const char *end = strchr(ptr, ',');
- if (end == NULL) {
- ret.incl.insert(ptr);
- break;
- } else {
- ret.incl.insert(string(ptr, end));
- ptr = end + 1;
- }
- }
-
- return ret;
-}
-
-bool filter(const string &entry, const Spec &spec)
-{
- if (spec.incl.empty()) {
- return false;
- }
- return spec.incl.count(entry) == 0;
-}
-
-vector<string> get_stream_id(const string& port, const string &proto, const string &audience,
- const Spec& port_spec, const Spec &proto_spec, const Spec &audience_spec)
-{
- vector<string> keys;
- if (port_spec.compare) {
- if (port_desc.count(port)) {
- keys.push_back(port_desc[port]);
- } else {
- char buf[256];
- sprintf(buf, "___%s___", port.c_str());
- keys.push_back(buf);
- }
- }
- if (proto_spec.compare) {
- keys.push_back(proto);
- }
- if (audience_spec.compare) {
- keys.push_back(audience);
- }
- return keys;
-}
-
-string get_stream_desc(const vector<string> &stream_id)
-{
- string ret;
- for (int i = 0; i < stream_id.size(); ++i) {
- if (i != 0) {
- ret += ",";
- }
- ret += stream_id[i];
- }
- return ret;
-}
-
-int main(int argc, char **argv)
-{
- Spec port_spec = parse_spec(argv[2]);
- Spec proto_spec = parse_spec(argv[3]);
- Spec audience_spec = parse_spec(argv[4]);
-
- map<string, map<vector<string>, int> > lines;
- map<vector<string>, int> stream_ids;
- vector<string> stream_descs;
-
- // Parse the log.
- FILE *fp;
- if (strcmp(argv[1], "-") == 0) {
- fp = stdin;
- } else {
- fp = fopen(argv[1], "r");
- }
- while (!feof(fp)) {
- char buf[1024];
- fgets(buf, 1024, fp);
-
- if (buf == NULL) {
- break;
- }
- char *ptr = strchr(buf, '\n');
- if (ptr != NULL) {
- *ptr = 0;
- }
-
- char *date = strtok(buf, " ");
- char *port = strtok(NULL, " ");
- char *proto = strtok(NULL, " ");
- char *audience = strtok(NULL, " ");
- char *count = strtok(NULL, " ");
-
- if (date == NULL || port == NULL || proto == NULL || audience == NULL || count == NULL) {
- continue;
- }
-
- if (filter(port, port_spec)) {
- continue;
- }
- if (filter(proto, proto_spec)) {
- continue;
- }
- if (filter(audience, audience_spec)) {
- continue;
- }
-
- vector<string> stream_id = get_stream_id(port, proto, audience, port_spec, proto_spec, audience_spec);
- if (stream_ids.count(stream_id) == 0) {
- int stream_id_num = stream_ids.size();
- stream_ids.insert(make_pair(stream_id, stream_id_num));
- stream_descs.push_back(get_stream_desc(stream_id));
- }
- lines[date][stream_id] += atoi(count);
- }
- fclose(fp);
-
- // Output.
- char *data_file = tempnam(NULL, "data");
- FILE *datafp = fopen(data_file, "w");
- if (datafp == NULL) {
- perror(data_file);
- exit(1);
- }
-
- vector<int> cols(stream_ids.size());
- for (auto& it : lines) {
- const string& date = it.first;
-
- for (const auto& it2 : stream_ids) {
- const vector<string>& stream_id = it2.first;
- int stream_id_num = it2.second;
-
- cols[stream_id_num] = it.second[stream_id]; // note: might zero-initialize
- }
- fprintf(datafp, "%s", date.c_str());
- for (int i = 0; i < cols.size(); ++i) {
- fprintf(datafp, " %d", cols[i]);
- }
- fprintf(datafp, "\n");
- }
- fclose(datafp);
-
- // Make gnuplot script.
- char *plot_file = tempnam(NULL, "plot");
- FILE *plotfp = fopen(plot_file, "w");
- if (plotfp == NULL) {
- perror(plot_file);
- exit(1);
- }
-
- fprintf(plotfp, "set terminal png\n");
- fprintf(plotfp, "set xdata time\n");
- fprintf(plotfp, "set timefmt \"20%%y-%%m-%%d-%%H:%%M:%%S\"\n");
- fprintf(plotfp, "set xtics axis \"2000-00-00-01:00:00\"\n");
- fprintf(plotfp, "set format x \"%%H\"\n");
-
- fprintf(plotfp, "plot");
- for (int i = 0; i < cols.size(); ++i) {
- if (i == 0) {
- fprintf(plotfp, " ");
- } else {
- fprintf(plotfp, ",");
- }
- fprintf(plotfp, "\"%s\" using 1:%d title \"%s\" with lines", data_file, i + 2, stream_descs[i].c_str());
- }
- fprintf(plotfp, "\n");
-
- fclose(plotfp);
-
- char buf[1024];
- sprintf(buf, "gnuplot < %s", plot_file);
- system(buf);
-}
diff --git a/web/stream.gathering.org/pre-tg15/streamstats.html b/web/stream.gathering.org/pre-tg15/streamstats.html
deleted file mode 100644
index 5d6adc7..0000000
--- a/web/stream.gathering.org/pre-tg15/streamstats.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
- <head>
- <script>
- function construct_url(name, choices) {
- // port
- var url = name + '=';
- if (document.getElementById('split_' + name).checked) {
- url += 'compare:';
- }
- var choices_so_far = 0;
- for (var i = 0; i < choices.length; ++i) {
- var check = document.getElementById(name + '_' + choices[i]);
- if (!check.checked) {
- continue;
- }
- if (choices_so_far++ != 0) {
- url += ',';
- }
- url += choices[i];
- }
- return url;
- }
-
- function update() {
- var url = 'http://stream.tg13.gathering.org/streamstats-fast.pl?';
- url += construct_url('port', [ 3013, 3014, 3015, 3016, 3017, 3018, 5013, 5015 ]);
- url += '&' + construct_url('proto', [ 'IPv4', 'IPv6' ]);
- url += '&' + construct_url('audience', [ 'internal', 'external' ]);
-
- document.getElementById('graph').src = url;
- }
- </script>
- </head>
- <body>
- <table>
- <tr>
- <th>Ports:</th>
- <td>
- <label><input type="checkbox" id="port_3013" checked="checked" onchange="update();" /> 3013 (Main)</label><br />
- <label><input type="checkbox" id="port_3014" checked="checked" onchange="update();" /> 3014 (Main SD)</label><br />
- <label><input type="checkbox" id="port_3015" checked="checked" onchange="update();" /> 3015 (Webcam)</label><br />
- <label><input type="checkbox" id="port_3016" checked="checked" onchange="update();" /> 3016 (Webcam south)</label><br />
- <label><input type="checkbox" id="port_3017" checked="checked" onchange="update();" /> 3017 (Webcam south transcode)</label><br />
- <label><input type="checkbox" id="port_3018" checked="checked" onchange="update();" /> 3018 (Fisheye)</label><br />
- <label><input type="checkbox" id="port_5013" checked="checked" onchange="update();" /> 5013 (Main LQ/Flash)</label><br />
- <label><input type="checkbox" id="port_5015" checked="checked" onchange="update();" /> 5015 (Webcam LQ/Flash)</label>
- </td>
- <td>
- <label><input type="checkbox" id="split_port" onchange="update();" /> Split</label>
- </td>
- </tr>
- <tr>
- <th>Protocol:</th>
- <td>
- <label><input type="checkbox" id="proto_IPv4" checked="checked" onchange="update();" /> IPv4</label><br />
- <label><input type="checkbox" id="proto_IPv6" checked="checked" onchange="update();" /> IPv6</label><br />
- </td>
- <td>
- <label><input type="checkbox" id="split_proto" onchange="update();" /> Split</label>
- </td>
- </tr>
- <tr>
- <th>Audience:</th>
- <td>
- <label><input type="checkbox" id="audience_internal" checked="checked" onchange="update();" /> Internal</label><br />
- <label><input type="checkbox" id="audience_external" checked="checked" onchange="update();" /> External</label><br />
- </td>
- <td>
- <label><input type="checkbox" id="split_audience" onchange="update();" /> Split</label>
- </td>
- </tr>
- <tr>
- <td colspan="3">
- <input type="button" value="Update display" onclick="update();" />
- </td>
- </tr>
- </table>
- <p><img src="" id="graph" /></p>
- <script>update();</script>
- </body>
-</html>
diff --git a/web/stream.gathering.org/pre-tg15/streamstats.pl b/web/stream.gathering.org/pre-tg15/streamstats.pl
deleted file mode 100755
index e4c20f9..0000000
--- a/web/stream.gathering.org/pre-tg15/streamstats.pl
+++ /dev/null
@@ -1,116 +0,0 @@
-#! /usr/bin/perl
-use strict;
-use warnings;
-use POSIX;
-use CGI qw(fatalsToBrowser);
-
-my %port_spec = prepare_spec(CGI::param('port'));
-my %proto_spec = prepare_spec(CGI::param('proto'));
-my %audience_spec = prepare_spec(CGI::param('audience'));
-
-#open LOG, "<", "/home/techserver/count_datacube.log"
-open LOG, "-|", "/home/techserver/fix_count.pl"
-#open LOG, "<", "/home/techserver/cleaned_datacube.log"
- or die "count_datacube.log: $!";
-
-our %desc = (
- 3013 => 'main (3013)',
- 3014 => 'main-sd (3014)',
- 3015 => 'webcam (3015)',
- 3016 => 'webcam-south (3016)',
- 3017 => 'webcam-south-transcode (3017)',
- 3018 => 'webcam-fisheye (3018)',
- 5013 => 'main-transcode (5013)',
- 5015 => 'webcam-transcode (5015)',
-);
-
-my $lines = {};
-my %streams = ();
-
-while (<LOG>) {
- chomp;
- my ($date, $port, $proto, $audience, $count) = split /\s+/;
- next if (filter($port, $proto, $audience));
- my $stream_id = get_stream_id($port, $proto, $audience);
- $streams{$stream_id} = 1;
- $lines->{$date}{$stream_id} += $count;
-}
-
-close LOG;
-
-print CGI::header(-type=>'image/png');
-
-my $tmpfile = POSIX::tmpnam();
-open GRAPH, ">", $tmpfile
- or die "$tmpfile: $!";
-for my $date (sort keys %$lines) {
- my @cols = ();
- for my $stream (keys %streams) {
- push @cols, ($lines->{$date}{$stream} // "0");
- }
- print GRAPH "$date ", join(' ', @cols), "\n";
-}
-close GRAPH;
-
-my $tmpfile2 = POSIX::tmpnam();
-open GNUPLOT, ">", $tmpfile2
- or die "$tmpfile2: $!";
-print GNUPLOT "set terminal png\n";
-print GNUPLOT "set xdata time\n";
-print GNUPLOT "set timefmt \"20%y-%m-%d-%H:%M:%S\"\n";
-print GNUPLOT "set xtics axis \"2000-00-00-01:00:00\"\n";
-print GNUPLOT "set format x \"%H\"\n";
-
-my @plots = ();
-my $idx = 2;
-for my $stream (keys %streams) {
- push @plots, "\"$tmpfile\" using 1:$idx title \"$stream\" with lines";
- ++$idx;
-}
-print GNUPLOT "plot ", join(', ', @plots);
-
-# \"$tmpfile\" using 0:2 with lines, \"$tmpfile\" using 0:3 with lines\n";
-close GNUPLOT;
-
-system("gnuplot < $tmpfile2");
-
-sub prepare_spec {
- my $spec = shift;
- return () if ($spec eq 'compare' || $spec eq 'dontcare');
- $spec =~ s/^compare://;
-
- my %ret = ();
- for my $s (split /,/, $spec) {
- $ret{$s} = 1;
- }
- return %ret;
-}
-
-sub filter {
- my ($port, $proto, $audience) = @_;
- return 1 if (filter_list(\%port_spec, $port));
- return 1 if (filter_list(\%proto_spec, $proto));
- return 1 if (filter_list(\%audience_spec, $audience));
- return 0;
-}
-
-sub filter_list {
- my ($spec, $candidate) = @_;
- return 0 if ((scalar keys %$spec) == 0);
- return !exists($spec->{$candidate});
-}
-
-sub get_stream_id {
- my ($port, $proto, $audience) = @_;
- my @keys = ();
- if (CGI::param('port') =~ /^compare/) {
- if (exists($desc{$port})) {
- push @keys, $desc{$port};
- } else {
- push @keys, "___" . $port . "___";
- }
- }
- push @keys, $proto if (CGI::param('proto') =~ /^compare/);
- push @keys, $audience if (CGI::param('audience') =~ /^compare/);
- return join(',', @keys);
-}
diff --git a/web/stream.gathering.org/pre-tg15/style.css b/web/stream.gathering.org/pre-tg15/style.css
deleted file mode 100644
index 0d21d45..0000000
--- a/web/stream.gathering.org/pre-tg15/style.css
+++ /dev/null
@@ -1,1960 +0,0 @@
-•/* http://meyerweb.com/eric/tools/css/reset/
- v2.0 | 20110126
- License: none (public domain)
-*/
-
-html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
-}
-/* HTML5 display-role reset for older browsers */
-article, aside, details, figcaption, figure,
-footer, header, hgroup, menu, nav, section {
- display: block;
-}
-body {
- line-height: 1.5;
-}
-ol, ul {
- list-style: none;
-}
-blockquote, q {
- quotes: none;
-}
-blockquote:before, blockquote:after,
-q:before, q:after {
- content: '';
- content: none;
-}
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-/* @override http://www.gathering.org/tg12/files/content/design/css/typography.css */
-
-/* Generic
------------------------------------------------------- */
-html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
- font-family: Arial, Sans-Serif;
- font-weight: 400;
-}
-body {
- font-size: 15px;
- line-height: 20px;
- color: #777;
-}
-/* Headings
------------------------------------------------------- */
-h1, h2, h3, h4, h5, h6 { font-weight: bold; color: #404040; }
-h1 { font-size: 45px; line-height: 50px; margin-bottom: 15px; }
-h2 { font-size: 25px; line-height: 31px; margin-bottom: 12px;}
-h3 { font-size: 20px; line-height: 26px; }
-h4 { font-size: 16px; line-height: 22px; }
-h5 { font-size: 15px; line-height: 20px; }
-h6 { font-size: 12px; line-height: 17px; }
-
-/* Text 'n stuff
------------------------------------------------------- */
-p { margin: 0 0 20px 0; }
-.page p {
- margin: 0 0 0.8em 0 !important;
-}
-blockquote {
- margin: 20px;
- padding: 0 0 0 40px;
- color: #555;
- font-style: italic;
- color: #888;
- position: relative;
-}
-blockquote p::before {
- position: absolute;
- top: 50px;
- margin-left: -60px;
- content: "\201D";
- font-size: 150px;
- font-style: normal;
- color: #b20f15;
-}
-blockquote p {
- display: block;
- margin-left: 40px !important;
-}
-blockquote small::before {
- content: "\2013";
- margin: 5px;
-}
-blockquote small {
- font-size: 13px;
- margin-left: -55px;
-}
-strong { font-weight: bold; }
-
-ul {
- margin: 0 0 20px 10px;
- list-style-type: none;
- position: relative;
-}
-ul.submenu ul {
- margin-bottom: 0px;
-}
-ul li:before {
- content: "\2022";
- position: absolute;
- left: -17px;
- width: 15px;
- text-align: right;
- color: #b20f15;
- font-size: 13px;
- line-height: 21px;
-}
-i, em { font-style: italic; }
-
-ol {
- margin: 0 0 20px 15px;
- list-style-type: none;
- position: relative;
- counter-reset: section;
-}
-ol > li {
- counter-increment: section;
-}
-ol > li:before {
- content: counter(section);
- position: absolute;
- left: -30px;
- width: 23px;
- text-align: right;
- color: #b20f15;
- font-size: 12px;
- line-height: 22px;
-}
-dl dt { font-weight: bold; }
-dd { margin: 0 0 0 20px; }
-
-a { color: #b20f15; text-decoration: none; }
-a:hover { color: #c3027b; }
-code, pre {
- padding: 0 3px 2px;
- font-family: Menlo, Monaco, "Courier New", monospace;
- font-size: 12px;
- color: #8F8F8F;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- background-color: #F8F8F8;
- border: 1px solid #C0C4C5;
-}
-code {
- padding: 3px 4px;
- color: #b20f15;
-}
-pre {
- display: block;
- padding: 8.5px;
- margin: 0 0 9px;
- line-height: 18px;
- white-space: pre;
- white-space: pre-wrap;
- word-break: break-all;
-}
-table {
- margin-bottom: 20px;
-}
-th, td {
- padding: 4px 5px;
-}
-td, th {
- border-left: 1px solid #E2E2E2;
-}
-tr td:first-child, tr th:first-child {
- border: none;
-}
-tr td {
- text-align: right;
-}
-th {
- font-weight: bold;
- vertical-align: bottom;
-}
-th, td {
- min-width: 100px;
-}
-th p, td p {
- margin: 0;
-}
-tbody tr:nth-child(even) td, thead tr th {
- background-color: #F2F2F2;
-}
-hr {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- border: 0;
- color: #D5D5D5;
- background-color: #D5D5D5;
- height: 1px;
-}
-.visible-phone {
- display: none;
-}
-.title-container h2 {
- font-family: Tahoma, Geneva, sans-serif;
- font-size: 26px;
- margin-bottom: 5px;
- line-height: normal;
-}
-h2.size13 { font-size: 13px; }
-h2.size14 { font-size: 14px; }
-h2.size15 { font-size: 15px; }
-h2.size16 { font-size: 16px; }
-h2.size17 { font-size: 17px; }
-h2.size18 { font-size: 18px; }
-h2.size19 { font-size: 19px; }
-h2.size20 { font-size: 20px; }
-h2.size21 { font-size: 21px; }
-h2.size22 { font-size: 22px; }
-h2.size23 { font-size: 23px; }
-h2.size24 { font-size: 24px; }
-h2.size25 { font-size: 25px; }
-h2.size26 { font-size: 26px; }
-h2.size27 { font-size: 27px; }
-h2.size28 { font-size: 28px; }
-h2.size29 { font-size: 29px; }
-h2.size30 { font-size: 30px; }
-h2.size31 { font-size: 31px; }
-h2.size32 { font-size: 32px; }
-h2.size33 { font-size: 33px; }
-h2.size34 { font-size: 34px; }
-h2.size35 { font-size: 35px; }
-h2.size36 { font-size: 36px; }
-h2.size37 { font-size: 37px; }
-h2.size38 { font-size: 38px; }
-h2.size39 { font-size: 39px; }
-h2.size40 { font-size: 40px; }
-h2.size41 { font-size: 41px; }
-h2.size42 { font-size: 42px; }
-h2.size43 { font-size: 43px; }
-h2.size44 { font-size: 44px; }
-h2.size45 { font-size: 45px; }
-h2.size46 { font-size: 46px; }
-h2.size47 { font-size: 47px; }
-h2.size48 { font-size: 48px; }
-h2.size49 { font-size: 49px; }
-h2.size50 { font-size: 50px; }
-h2.size51 { font-size: 51px; }
-h2.size52 { font-size: 52px; }
-h2.size53 { font-size: 53px; }
-h2.size54 { font-size: 54px; }
-h2.size55 { font-size: 55px; }
-h2.size56 { font-size: 56px; }
-h2.size57 { font-size: 57px; }
-h2.size58 { font-size: 58px; }
-h2.size59 { font-size: 59px; }
-h2.size60 { font-size: 60px; }
-h2.size61 { font-size: 61px; }
-h2.size62 { font-size: 62px; }
-h2.size63 { font-size: 63px; }
-h2.size64 { font-size: 64px; }
-h2.size65 { font-size: 65px; }
-h2.size66 { font-size: 66px; }
-h2.size67 { font-size: 67px; }
-h2.size68 { font-size: 68px; }
-h2.size69 { font-size: 69px; }
-h2.size70 { font-size: 70px; }
-h2.size71 { font-size: 71px; }
-h2.size72 { font-size: 72px; }
-h2.size73 { font-size: 73px; }
-h2.size74 { font-size: 74px; }
-h2.size75 { font-size: 75px; }
-h2.size76 { font-size: 76px; }
-h2.size77 { font-size: 77px; }
-h2.size78 { font-size: 78px; }
-h2.size79 { font-size: 79px; }
-h2.size80 { font-size: 80px; }
-h2.size81 { font-size: 81px; }
-h2.size82 { font-size: 82px; }
-h2.size83 { font-size: 83px; }
-h2.size84 { font-size: 84px; }
-h2.size85 { font-size: 85px; }
-h2.size86 { font-size: 86px; }
-h2.size87 { font-size: 87px; }
-h2.size88 { font-size: 88px; }
-h2.size89 { font-size: 89px; }
-h2.size90 { font-size: 90px; }
-h2.size91 { font-size: 91px; }
-h2.size92 { font-size: 92px; }
-h2.size93 { font-size: 93px; }
-h2.size94 { font-size: 94px; }
-h2.size95 { font-size: 95px; }
-h2.size96 { font-size: 96px; }
-h2.size97 { font-size: 97px; }
-h2.size98 { font-size: 98px; }
-h2.size99 { font-size: 99px; }
-h2.size100 { font-size: 100px; }
-
-.cite:before {
- content: "\201C";
-}
-.cite:after {
- content: "\201D";
-}
-.cite > .cite:before {
- content: "\2018";
-}
-.cite > .cite:after {
- content: "\2019";
-}
-.bullet:before {
- content: "\2022";
-}
-.dash:after {
- content: "\2013";
-}
-.hellip:after {
- content: "\2026";
-}
-.cite:lang(no):before {
- content: "\00AB";
-}
-.cite:lang(no):after {
- content: "\00BB";
-}
-/* Meta thingy
------------------------------------------------------- */
-.breadcrumbs span.delimiter:before {
- content: "\25BA";
- margin-right: 8px;
- font-size: 8px;
- position: relative;
- top: -2px;
- margin: 0 5px 0 3px;
- color: #b20f15;
-}
-.breadcrumbs {
- font-size: 12px;
- margin-bottom: 10px;
-}
-.summary,
-.summary p {
- font-size: 16px;
- line-height: 22px;
- font-weight: 600 !important;
- margin-bottom: 10px;
-}
-.metainfo { margin: 10px 0; }
-.byline, .meta {
- color: #888;
- display: block;
- font-size: 12px;
- margin-bottom: 0.8em;
-}
-.byline span.delimiter:before {
- content: "\2022";
- margin-right: 8px;
- font-size: 8px;
- position: relative;
- top: -2px;
- margin: 0 5px 0 5px;
- color: #b20f15;
-}
-.phototext {
- margin-top: 5px;
- line-height: 18px;
-}
-.photoline {
- margin-top: 5px;
- font-style: italic;
- font-size: 12px;
- float: right;
-}
-.page h1 { margin-top: 10px; }
-.vignette {
- background-color: #6e6e6e;
- margin-top: 5px;
- margin-bottom: 5px;
- height: 8px;
- position: relative;
-}
-.vignette span {
- line-height: 19px;
-}
-div.page .vignette {
- margin-bottom: 10px;
-}
-div.page .span11 img {
- max-width: 488px;
- height: auto;
-}
-.vignette > span {
- text-transform: lowercase;
- color: #6e6e6e;
- display: block;
- margin-left: 15px;
- background-color: white;
- position: absolute;
- top: -6px;
- font-size: 12px;
- padding: 0 3px 0 3px;
- font-weight: 500;
-}
-div.news33.category-news:nth-child(3n) {
- clear: left;
-}
-div.portal > h1 {
- font-size: 20px;
- padding: 0 10px;
- color: white;
-}
-h1.portal-creative {
- background-color: #ec008c;
-}
-h1.portal-game {
- background-color: #fba51e;
-}
-h1.portal-entertainmentlectures {
- background-color: #819700;
-}
-div.portal > div.row {
- margin-bottom: 40px;
-}
-div.category-news h2 a {
- color: black;
-}
-/*
- * CSS for The Gathering 2013.
- * Copyright KANDU and contributors
- */
-
-/* HTML & BODY
------------------------------------------------------- */
-body {
- //background: url('/tg13/files/content/design/images/background.jpg') no-repeat;
- background-position: top center;
-}
-
-html, body {
- height:100%;
-}
-body.iframe {
- background-image: none;
- height: auto;
-}
-
-/* Generic styles
------------------------------------------------------- */
-
-.hidden { display: none; }
-menu { margin: 0; padding: 0; }
-
-/* Containers and rows
------------------------------------------------------- */
-.container {
- width: 1320px;
- margin: 0 auto;
- zoom: 1;
-}
-
-.content {
- width: 840px;
-}
-
-.container:before,
-.container:after {
- zoom: 1;
-}
-.container:before,
-.container:after,
-.content:before,
-.content:after,
-.row:before,
-.row:after {
- display: table;
- line-height: 0;
- content: "";
-}
-.container:after,
-.row:after {
- clear: both;
-}
-.row {
- margin-left: -40px;
-}
-
-/* Main structure
------------------------------------------------------- */
-header, header > div.container {
-}
-header {
- margin-bottom: 40px;
-}
-header > div.container {
-}
-header > div.container .inner {
- float: left;
- width: 830px;
-}
-footer a, footer, footer p, footer h4 {
- color: #2d4f9e;
-}
-footer a:hover {
- color: #fff;
-}
-header a {
- color: #c3027b;
-}
-header a:hover {
- color: #860050;
-}
-header > div.container .logo {
- float: left;
- width: 250px;
-}
-header .left, header .left > div {
- float: right;
-}
-header .right {
- margin-left: 10px;
- float: right;
- width: 180px;
-}
-header .when {
- background-color: #5a0037;
- padding: 10px;
- color: white;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
- font-size: 11px;
- line-height: 12px;
- width: 110px;
- text-align: center;
-}
-header .when-phone .when {
- width: 120px;
-}
-header .when-phone {
- float: right;
-}
-header .language {
- margin-top: 10px;
- line-height: 25px;
- font-weight: 300;
- margin-right: 10px;
- padding-right: 10px;
- border-right: 1px solid white;
- font-size: 12px;
-}
-header ul.promo-menu {
- padding-top: 40px;
- margin: 0 0 0 15px;
-}
-header ul.promo-menu a {
- font-weight: bold;
- font-size: 13px;
-}
-header ul li:before {
- margin-top: 2px;
- content: "\25A0";
- position: absolute;
- left: -15px;
- width: 10px;
- text-align: right;
- color: #860050;
- font-size: 18px;
- line-height: 13px;
-}
-header .language a {
- color: white;
-}
-header .language a:hover {
- color: #2d4f9e;
-}
-footer {
- margin-top: 80px;
- background-color: #abdcff;
- background-image: url('/tg13/files/content/design/images/footerbg.jpg');
- background-repeat: no-repeat;
- background-position: center bottom;
-}
-footer > div.container {
- padding: 0px 0px 150px 0px;
-}
-.footer-about {
- margin-bottom: 40px;
- height: 100px;
- position: relative;
-}
-.footer-about > span {
- position: absolute !important;
- bottom: 0; left: 0;
-}
-footer > div.container > div.row {
- margin-top: 80px;
-}
-footer ul {
- margin: 0;
-}
-footer h4 {
- margin-bottom: 20px;
-}
-footer div.full-span2 > iframe {
- margin: 20px 0px;
-}
-footer a {
- line-height: 25px;
-}
-footer ul li::before {
- content: "";
-}
-footer div.row {
- margin-left: -20px;
-}
-footer div.row div.row {
- margin-left: -40px;
-}
-.footnote p {
- font-size: 13px;
-}
-.full-span9 { width: 1360px; }
-.full-span8 { width: 1280px; }
-.full-span7 { width: 1115px; }
-.full-span6 { width: 950px; }
-.full-span5 { width: 785px; }
-.full-span4 { width: 620px; }
-.full-span3 { width: 455px; }
-.full-span2 { width: 290px; }
-.full-span1 { width: 125px; }
-.content, .sidebar {
- float: left;
-}
-.content {
- margin: 0 40px 0 40px;
-}
-.sidebar {
- width: 200px;
-}
-.sidebar.sponsor img {
- width: 200px;
-}
-.sidebar.sponsor img,
-.sidebar.sponsor > div.vignette {
- margin-bottom: 20px;
-}
-.sidebar.sponsor img {
- filter: grayscale(100%);
- -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%);
- -ms-filter: grayscale(100%); -o-filter: grayscale(100%);
- filter: url(/tg13/files/content/design/css/filters.svg#grayscale);
- filter: gray;
- -webkit-filter: grayscale(1);
-}
-.sidebar.sponsor img:hover {
- filter: none;
- -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%);
- -ms-filter: grayscale(0%); -o-filter: grayscale(0%);
-}
-.fb-comments, .fb-comments *, .fb_iframe_widget, .fb_iframe_widget * {width: 100% !important;}
-.span4 iframe {
- width: 100%;
-}
-div.comments_header {
- padding:8px;
- background-color: #b1b1b1;
- color: white;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- margin-bottom: 10px;
- margin-top: 10px;
-}
-div.comments_header > div {
- float: left;
- margin-right: 8px;
- content:url('/tg13/files/content/design/images/info.png');
-}
-div.comments_header h4 {
- line-height: 34px;
- color: white;
-}
-div.comments_header p {
- clear: both;
- margin: 8px 0 0 0 !important;
- font-size: 12px;
- line-height: 15px;
-}
-.media-page {
- margin-left: 40px;
-}
-.videoWrapper, #mediaspace {
- position: relative;
- padding-bottom: 56.25%; /* 16:9 */
- padding-top: 25px;
- height: 0;
- margin-bottom: 0.8em;
-}
-.videoWrapper iframe, #mediaspace embed {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.stream-icon {
- float: left;
- margin-right: 10px;
-}
-.stream-link { margin-bottom: 8px;}
-#galleria {
- width: 840px;
-}
-
-/* Menu & Sidebar
------------------------------------------------------- */
-
-menu {
- list-style: none;
-}
-menu a {
- color: #777;
-}
-menu a:hover, li[class^="menu-"] a:hover {
- color: black;
-}
-li.menu-creative a, li.menu-creative span, li.menu-creative + menu.sub-menu a, li.menu-creative + menu.submenu span {
- color: #ec008c;
-}
-li.menu-game a, li.menu-game span, li.menu-game + menu.sub-menu a, li.menu-game + menu.submenu span {
- color: #fba51e;
-}
-li.menu-tickets a, li.menu-tickets span, li.menu-tickets + menu.sub-menu a, li.menu-tickets + menu.submenu span {
- color: #b20f15;
-}
-li.menu-guide a, li.menu-guide span, li.menu-guide + menu.sub-menu a, li.menu-guide + menu.submenu span {
- color: #034ea2;
-}
-li.menu-entertainment-lectures a, li.menu-entertainment-lectures span, li.menu-entertainment-lectures + menu.sub-menu a, li.menu-entertainment-lectures + menu.submenu span {
- color: #819700;
-}
-menu.top-menu > li {
- margin-bottom: 10px;
-}
-
-div.top-menu-text > span {
- color: #7595af;
- font-size: 23px;
- font-weight: bold;
- display: table-row;
- line-height: 23px;
-}
-div.top-menu-text > span.help-text {
- font-weight: normal;
- font-size: 14px;
- display: table-row;
- color: #a3a3a3;
- line-height: 15px;
-}
-div.top-menu-text {
- height: 38px;
- padding: 6px 0 6px 0;
- margin: 0 0 0 56px;
-}
-div.top-menu-icon {
- width: 50px;
- height: 50px;
- float: left;
- background-color: #bfd4e5;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
-}
-menu.top-menu a:hover div.top-menu-text > span,
-menu.top-menu a:hover div.top-menu-text > span.help-text {
- color: #27448b;
-}
-menu.top-menu a:hover div.top-menu-icon {
- background-color: #3d6db3;
-}
-div.top-menu-icon.icon-schedule {
- background-image: url('/tg13/files/content/design/images/schedule.png');
-}
-div.top-menu-icon.icon-tgtv {
- background-image: url('/tg13/files/content/design/images/tgtv.png');
-}
-div.top-menu-icon.icon-tng {
- background-image: url('/tg13/files/content/design/images/tng.png');
-}
-div.top-menu-icon.icon-forum {
- background-image: url('/tg13/files/content/design/images/forum.png');
-}
-div.top-menu-icon.icon-compo {
- background-image: url('/tg13/files/content/design/images/compo.png');
-}
-div.top-menu-icon.icon-news {
- background-image: url('/tg13/files/content/design/images/news.png');
-}
-menu.section-menu {
- margin-top: 40px;
- margin-left: 15px;
-}
-menu.section-menu li {
- margin-bottom: 15px;
-}
-menu.sub-menu {
- margin-bottom: 20px;
- margin-left: 15px;
-}
-span.menu-expand {
- display: block;
- float: left;
- margin-left: -15px;
- cursor: pointer;
-}
-
-/* Graphical Elements
------------------------------------------------------- */
-/* Language
------------------------------------------------------- */
-/* Search
------------------------------------------------------- */
-.search input {
- vertical-align: top;
- line-height: 1;
-}
-.search input[type="search"] {
- -webkit-appearance: none;
- box-sizing:content-box;
- padding: 0;
- padding-left: 3px;
- margin: 0;
- margin-top: 10px;
- border: none;
- color: #9dbfd9;
- height: 25px;
- width: 200px;
- font-size: 12px;
- font-style: italic;
- border-radius: 3px;
- line-height: 15px;
-}
-.search input:focus {
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- outline: 0;
-}
-input[type=search]::-webkit-search-decoration {
- -webkit-appearance:none;
-}
-input::-webkit-input-placeholder,
-isindex::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder,
-input::-moz-placeholder,
-textarea::-moz-placeholder {
- font-style: italic;
- color: silver;
-}
-/* News
------------------------------------------------------- */
-.news { position: relative; }
-
-.news100, .clearer, .span19 { width: 840px; }
-.span18 { width: 796px; }
-.span17 { width: 752px; }
-.span16 { width: 708px; }
-.span15 { width: 664px; }
-.news75, .span14 { width: 620px; }
-.span13 { width: 576px; }
-.news66, .span-two-third { width: 547px; }
-.span12 { width: 532px; }
-.span11 { width: 488px; }
-.span10 { width: 444px; }
-.news50, .span9 { width: 400px; }
-.span8 { width: 356px; }
-.span7 { width: 312px; }
-.span6 { width: 268px; }
-.news33, .span-one-third { width: 253px; }
-.span5 { width: 224px; }
-.news25, .span4 { width: 180px; }
-.span3 { width: 136px; }
-.span2 { width: 92px; }
-.span1 { width: 48px; }
-.clearer { clear: both; margin: 0px 0px 0px 40px !important; }
-
-div[class^="news"] > span,
-div[class^="full-span"] > span,
-div[class^="span"] > span {
- position: relative;
- display: block;
-}
-div[class^="news"] p,
-div[class^="full-span"] p,
-div[class^="span"] p {
- margin: 0;
-}
-.article {
- float: left;
- margin: 0px 0px 40px 40px;
-}
-.article a,
-.article a:hover {
- text-decoration: none;
- color: #777;
-}
-
-.news_img_100 {
- width: 100%;
- margin: 20px 0 10px 0;
-}
-img.news_img_right {
- width: 50%;
- float: right;
- margin: 0 0 20px 40px;
-}
-.span2.social-news div {
- margin-bottom: 10px;
-}
-.icon-more > a {
- float: right;
- font-size: 13px;
- margin-right: 21px;
-}
-.icon-more {
- position: relative;
-}
-.icon-more > a::after {
- margin-top: 2px;
- padding-left: 3px;
- padding-top: 2px;
- padding-bottom: 1px;
- margin-left: 5px;
- position: absolute;
- content: "\25BA";
- color: white;
- background-color: black;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- border-radius: 8px;
- width: 13px;
- height: 13px;
- font-size: 11px;
- line-height: 11px;
-}
-
-/* Page
------------------------------------------------------- */
-.page {
- float: left;
- margin: 0px 0px 40px 40px;
-}
-.page .page {
- margin-left: 0px;
-}
-.page .page.news33 {
- margin-left: 40px;
-}
-div.news-portal-header {
- width: 840px;
- margin-left: 40px !important;
-}
-div[class^="full-span"],
-.page div[class^="news"],
-.page div[class^="span"]{
- float: left;
- margin-left: 40px;
-}
-.page h3 a,
-.page li a {
- border: none;
-}
-.page-right {
- float: right;
- clear: right;
- margin-bottom: 40px;
- margin-left: 40px;
-}
-.page-right a {
- border: none;
-}
-.page-sidebar {
- margin-left: 40px;
-}
-.page-right h3,
-.page-sidebar h3 {
- border-bottom: solid 4px #c0c4c5;
- position: relative;
- margin: 0 0 10px 0;
-}
-.page-sidebar .meta {
- text-transform: uppercase;
- font-size: 10px;
-}
-.page-sidebar {
- position: relative;
-}
-.related-news {
- margin-bottom: 8px;
-}
-.img-container {
- margin-bottom: -5px;
-}
-.img-container a {
- display:block;
-}
-/* Article skins
------------------------------------------------------- */
-div.article.skin-important {
- background-color: black;
- color: white;
-}
-div.article.skin-important {
- padding-bottom: 40px;
-}
-div.article.skin-important > div[class^="news"] > span.content-container,
-div.article.skin-important > div[class^="news"] > span.title-container {
- margin-left: 40px;
- margin-right: 40px;
-}
-div.article.skin-important > div[class^="news"] > span.title-container {
- padding-top: 40px;
-}
-div.article.skin-important p,
-div.article.skin-important h2,
-div.article.skin-important a,
-div.article.skin-important a:hover,
-div.article.skin-important a:visited {
- color: white;
-}
-div.article.skin-game .vignette,
-div.article.skin-creative .vignette,
-div.article.skin-entertainment .vignette {
- background-color: #000;
- margin: 5px 0 5px 0;
- height: 8px;
- position: relative;
-}
-div.article.skin-game .vignette span,
-div.article.skin-creative .vignette span,
-div.article.skin-entertainment .vignette span {
- text-transform: lowercase;
- color: #000;
- display: block;
- margin-left: 15px;
- background-color: white;
- position: absolute;
- top: -6px;
- font-size: 12px;
- padding: 0 3px 0 3px;
- font-weight: 500;
-}
-div.article.skin-game .vignette,
-div.vignette.category-game {
- background-color: #fba51e;
-}
-div.article.skin-creative .vignette,
-div.vignette.category-creative {
- background-color: #ec008c;
-}
-div.article.skin-entertainment .vignette,
-div.vignette.category-entertainmentlectures {
- background-color: #819700;
-}
-div.article.skin-game .vignette span,
-div.vignette.category-game span{
- color: #fba51e;
-}
-div.article.skin-creative .vignette span,
-div.vignette.category-creative span{
- color: #ec008c;
-}
-div.article.skin-entertainment .vignette span,
-div.vignette.category-entertainmentlectures span{
- color: #819700;
-}
-div.article.skin-info {
- background-color: #E6E7E8;
- padding-bottom: 40px;
-}
-div.article.skin-info > div[class^="news"] > span.content-container,
-div.article.skin-info > div[class^="news"] > span.title-container {
- margin-left: 40px;
- margin-right: 40px;
-}
-div.article.skin-info > div[class^="news"] > span.title-container {
- padding-top: 40px;
-}
-div.article.skin-important > div[class^="news"] > span.img-container,
-div.article.skin-info > div[class^="news"] > span.img-container {
- margin-bottom: -25px;
-}
-
-/* Modal
------------------------------------------------------- */
-.modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- background-color: #000000;
-}
-.modal-backdrop.fade {
- opacity: 0;
-}
-.modal-backdrop {
- opacity: 0.8;
- filter: alpha(opacity=80);
-}
-.modal-c {
- width: 800px;
-}
-.modal {
- position: absolute;
- top: 206px;
- z-index: 1050;
- width: 800px;
- margin: 0 auto;
- background-color: #ffffff;
- -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
- -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
- box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding-box;
- background-clip: padding-box;
-}
-.modal-body {
- padding: 20px;
- padding-top: 10px;
-}
-.modal-body .modal-form {
- margin-bottom: 0;
-}
-.right {
- float: right;
-}
-
-/* Video
------------------------------------------------------ */
-
-.video h2 {
- margin-top: 10px;
- margin-bottom: 5px;
-}
-.tags span {
- margin-left: 5px;
- padding: 3px 4px;
- border: 1px solid #DDD;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-.tags span:hover {
- background-color: whiteSmoke;
-}
-.tags span:hover a {
- color: black;
-}
-.tags span a {
- color: #07A430;
- border-bottom: none !important;
-}
-.tags span a:hover {
- border-bottom: none !important;
-}
-.tags {
- margin-bottom: 20px;
-}
-
-/* Buttons
------------------------------------------------------ */
-.btn.stage,
-.btn.stage.active,
-.btn.stage:hover,
-.btn.game,
-.btn.game.active,
-.btn.game:hover,
-.btn.creative,
-.btn.creative.active,
-.btn.creative:hover,
-.btn.auditorium,
-.btn.auditorium.active,
-.btn.auditorium:hover {
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- color: white;
-}
-.btn.stage {
- background-color: #ff7800;
- background-image: -moz-linear-gradient(top, #ff7800, #db4d00);
- background-image: -ms-linear-gradient(top, #ff7800, #db4d00);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff7800), to(#db4d00));
- background-image: -webkit-linear-gradient(top, #ff7800, #db4d00);
- background-image: -o-linear-gradient(top, #ff7800, #db4d00);
- background-image: linear-gradient(top, #ff7800, #db4d00);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff7800', endColorstr='#db4d00', GradientType=0);
- border-color: #db4d00 #db4d00 #ca4900;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.btn.stage:hover,
-.btn.stage:active,
-.btn.stage.active,
-.btn.stage.disabled,
-.btn.stage[disabled] {
- background-color: #db4d00;
-}
-.btn.stage:active, .btn.stage.active {
- background-color: #e65a99 \9;
-}
-.btn.game {
- background-color: #49afcd;
- background-image: -moz-linear-gradient(top, #009cff, #0078c4);
- background-image: -ms-linear-gradient(top, #009cff, #0078c4);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#009cff), to(#0078c4));
- background-image: -webkit-linear-gradient(top, #009cff, #0078c4);
- background-image: -o-linear-gradient(top, #009cff, #0078c4);
- background-image: linear-gradient(top, #009cff, #0078c4);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#009cff', endColorstr='#0078c4', GradientType=0);
- border-color: #0078c4 #0078c4 #0062a0;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.btn.game:hover,
-.btn.game:active,
-.btn.game.active,
-.btn.game.disabled,
-.btn.game[disabled] {
- background-color: #0078c4;
-}
-.btn.game:active, .btn.game.active {
- background-color: #0089e0 \9;
-}
-.btn.auditorium {
- background-color: #49afcd;
- background-image: -moz-linear-gradient(top, #f33183, #dc0c64);
- background-image: -ms-linear-gradient(top, #f33183, #dc0c64);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f33183), to(#dc0c64));
- background-image: -webkit-linear-gradient(top, #f33183, #dc0c64);
- background-image: -o-linear-gradient(top, #f33183, #dc0c64);
- background-image: linear-gradient(top, #f33183, #dc0c64);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f33183', endColorstr='#dc0c64', GradientType=0);
- border-color: #dc0c64 #dc0c64 #bb004f;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.btn.auditorium:hover,
-.btn.auditorium:active,
-.btn.auditorium.active,
-.btn.auditorium.disabled,
-.btn.auditorium[disabled] {
- background-color: #dc0c64;
-}
-.btn.auditorium:active, .btn.auditorium.active {
- background-color: #e81f74 \9;
-}
-.btn.creative {
- background-color: #009997;
- background-image: -moz-linear-gradient(top, #009997, #007170);
- background-image: -ms-linear-gradient(top, #009997, #007170);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#009997), to(#007170));
- background-image: -webkit-linear-gradient(top, #009997, #007170);
- background-image: -o-linear-gradient(top, #009997, #007170);
- background-image: linear-gradient(top, #009997, #007170);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#009997', endColorstr='#007170', GradientType=0);
- border-color: #007170 #007170 #004e4d;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.btn.creative:hover,
-.btn.creative:active,
-.btn.creative.active,
-.btn.creative.disabled,
-.btn.creative[disabled] {
- background-color: #007170;
-}
-.btn.creative:active, .btn.creative.active {
- background-color: #007f7d \9;
-}
-.btn {
- display: inline-block;
- padding: 4px 10px 4px;
- font-size: 13px;
- line-height: 18px;
- color: #333;
- text-align: center;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
- background-color: #FAFAFA;
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), color-stop(25%, white), to(#E6E6E6));
- background-image: -webkit-linear-gradient(white, white 25%, #E6E6E6);
- background-image: -moz-linear-gradient(top, white, white 25%, #E6E6E6);
- background-image: -ms-linear-gradient(white, white 25%, #E6E6E6);
- background-image: -o-linear-gradient(white, white 25%, #E6E6E6);
- background-image: linear-gradient(white, white 25%, #E6E6E6);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
- border: 1px solid #CCC;
- border-bottom-color: #BBB;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- cursor: pointer;
-}
-.btn:first-child {
- *margin-left: 0;
-}
-.btn:hover {
- color: #333333;
- text-decoration: none;
- background-color: #e6e6e6;
- background-position: 0 -15px;
- -webkit-transition: background-position 0.1s linear;
- -moz-transition: background-position 0.1s linear;
- -ms-transition: background-position 0.1s linear;
- -o-transition: background-position 0.1s linear;
- transition: background-position 0.1s linear;
-}
-.btn:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-.btn.active, .btn:active {
- background-image: none;
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- background-color: #e6e6e6;
- background-color: #d9d9d9 \9;
- color: rgba(0, 0, 0, 0.5);
- outline: 0;
-}
-.btn-group {
- position: relative;
- *zoom: 1;
- *margin-left: .3em;
-}
-.btn-group:before, .btn-group:after {
- display: table;
- content: "";
-}
-.btn-group:after {
- clear: both;
-}
-.btn-group:first-child {
- *margin-left: 0;
-}
-.btn-group + .btn-group {
- margin-left: 5px;
-}
-.btn-group .btn {
- position: relative;
- float: left;
- margin-left: -1px;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-.btn-group .btn:first-child {
- margin-left: 0;
- -webkit-border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
- border-top-left-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
- border-bottom-left-radius: 4px;
-}
-.btn-group .btn:last-child, .btn-group .dropdown-toggle {
- -webkit-border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
- border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- border-bottom-right-radius: 4px;
-}
-.btn-group .btn.large:first-child {
- margin-left: 0;
- -webkit-border-top-left-radius: 6px;
- -moz-border-radius-topleft: 6px;
- border-top-left-radius: 6px;
- -webkit-border-bottom-left-radius: 6px;
- -moz-border-radius-bottomleft: 6px;
- border-bottom-left-radius: 6px;
-}
-.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {
- -webkit-border-top-right-radius: 6px;
- -moz-border-radius-topright: 6px;
- border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 6px;
- -moz-border-radius-bottomright: 6px;
- border-bottom-right-radius: 6px;
-}
-.btn-group .btn:hover,
-.btn-group .btn:focus,
-.btn-group .btn:active,
-.btn-group .btn.active {
- z-index: 2;
-}
-.page a.btn,
-.page a.btn::hover {
- border-bottom: 1px solid #CCC;
-}
-
-/* Schedule
------------------------------------------------------- */
-a.stage {
- color: white;
- background-color: #819700;
-}
-a.game {
- color: white;
- background-color: #fba51e;
-}
-a.auditorium {
- color: black;
- background-color: #d8e600;
-}
-a.creative {
- color: white;
- background-color: #ec008c;
-}
-a.agora {
- color: white;
- background-color: #2e4f9e;
-}
-a.remove-filter {
- color: white;
- background-color: #CCC;
-}
-.filterLink {
- padding: 3px 6px;
- margin-right: 5px;
- line-height: 28px;
-}
-.calendar .stage {
- color: #819700;
- font-size: 25px;
-}
-.calendar .game {
- color: #fba51e;
- font-size: 25px;
-}
-.calendar .auditorium {
- color: #d8e600;
- font-size: 25px;
-}
-.calendar .creative {
- color: #ec008c;
- font-size: 25px;
-}
-.calendar .agora {
- color: #2e4f9e;
- font-size: 25px;
-}
-.calendar tr td {
- text-align: left;
-}
-.calendar td, .calendar td {
- min-width: 0;
-}
-.calendar tbody tr:nth-child(even) td {
- background-color: transparent;
-}
-.calendar tbody tr.odd td {
- background-color: #F2F2F2;
-}
-/* Responsive
------------------------------------------------------- */
-@media (max-width: 1320px) {
- footer {
- width: 1320px;
- }
-}
-@media (max-width: 1094px) {
- div.news-portal-header {
- width: 630px;
- margin-left: 30px !important;
- }
- .news100, .clearer, .span19 { width: 630px; }
- .span18 { width: 597px; }
- .span17 { width: 564px; }
- .span16 { width: 531px; }
- .span15 { width: 498px; }
- .news75, .span14 { width: 465px; }
- .span13 { width: 432px; }
- .news66, .span-two-third { width: 410px; }
- .span12 { width: 399px; }
- .span11 { width: 366px; }
- .span10 { width: 333px; }
- .news50, .span9 { width: 300px; }
- .span8 { width: 267px; }
- .span7 { width: 234px; }
- .span6 { width: 201px; }
- .news33, .span-one-third { width: 190px; }
- .span5 { width: 168px; }
- .news25, .span4 { width: 135px; }
- .span3 { width: 102px; }
- .span2 { width: 69px; }
- .span1 { width: 36px; }
- .clearer { margin: 0px 0px 0px 30px !important; }
- .full-span9 { width: 1094px; }
- .full-span8 { width: 1034x; }
- .full-span7 { width: 901px; }
- .full-span6 { width: 768px; }
- .full-span5 { width: 635px; }
- .full-span4 { width: 502px; }
- .full-span3 { width: 369px; }
- .full-span2 { width: 236px; }
- .full-span1 { width: 103px; }
- .img-container.news100 img { width: 630px; height: auto; }
- .img-container.news75 img { width: 465px; height: auto; }
- .img-container.news66 img { width: 410px; height: auto; }
- .img-container.news50 img { width: 300px; height: auto; }
- .img-container.news33 img { width: 190px; height: auto; }
- .img-container.news25 img { width: 135px; height: auto; }
- .title-container h2 {
- margin-bottom: 4px;
- font-size: 19px;
- }
- h2.size13 { font-size: 9px; }
- h2.size14 { font-size: 10px; }
- h2.size15 { font-size: 11px; }
- h2.size16 { font-size: 12px; }
- h2.size17 { font-size: 12px; }
- h2.size18 { font-size: 13px; }
- h2.size19 { font-size: 14px; }
- h2.size20 { font-size: 15px; }
- h2.size21 { font-size: 15px; }
- h2.size22 { font-size: 16px; }
- h2.size23 { font-size: 17px; }
- h2.size24 { font-size: 18px; }
- h2.size25 { font-size: 18px; }
- h2.size26 { font-size: 19px; }
- h2.size27 { font-size: 20px; }
- h2.size28 { font-size: 21px; }
- h2.size29 { font-size: 21px; }
- h2.size30 { font-size: 22px; }
- h2.size31 { font-size: 23px; }
- h2.size32 { font-size: 24px; }
- h2.size33 { font-size: 24px; }
- h2.size34 { font-size: 25px; }
- h2.size35 { font-size: 26px; }
- h2.size36 { font-size: 27px; }
- h2.size37 { font-size: 27px; }
- h2.size38 { font-size: 28px; }
- h2.size39 { font-size: 29px; }
- h2.size40 { font-size: 30px; }
- h2.size41 { font-size: 30px; }
- h2.size42 { font-size: 31px; }
- h2.size43 { font-size: 32px; }
- h2.size44 { font-size: 33px; }
- h2.size45 { font-size: 33px; }
- h2.size46 { font-size: 34px; }
- h2.size47 { font-size: 35px; }
- h2.size48 { font-size: 36px; }
- h2.size49 { font-size: 36px; }
- h2.size50 { font-size: 37px; }
- h2.size51 { font-size: 38px; }
- h2.size52 { font-size: 39px; }
- h2.size53 { font-size: 39px; }
- h2.size54 { font-size: 40px; }
- h2.size55 { font-size: 41px; }
- h2.size56 { font-size: 42px; }
- h2.size57 { font-size: 42px; }
- h2.size58 { font-size: 43px; }
- h2.size59 { font-size: 44px; }
- h2.size60 { font-size: 45px; }
- h2.size61 { font-size: 45px; }
- h2.size62 { font-size: 46px; }
- h2.size63 { font-size: 47px; }
- h2.size64 { font-size: 48px; }
- h2.size65 { font-size: 48px; }
- h2.size66 { font-size: 49px; }
- h2.size67 { font-size: 50px; }
- h2.size68 { font-size: 51px; }
- h2.size69 { font-size: 51px; }
- h2.size70 { font-size: 52px; }
- h2.size71 { font-size: 53px; }
- h2.size72 { font-size: 54px; }
- h2.size73 { font-size: 54px; }
- h2.size74 { font-size: 55px; }
- h2.size75 { font-size: 56px; }
- h2.size76 { font-size: 57px; }
- h2.size77 { font-size: 57px; }
- h2.size78 { font-size: 58px; }
- h2.size79 { font-size: 59px; }
- h2.size80 { font-size: 60px; }
- h2.size81 { font-size: 60px; }
- h2.size82 { font-size: 61px; }
- h2.size83 { font-size: 62px; }
- h2.size84 { font-size: 63px; }
- h2.size85 { font-size: 63px; }
- h2.size86 { font-size: 64px; }
- h2.size87 { font-size: 65px; }
- h2.size88 { font-size: 66px; }
- h2.size89 { font-size: 66px; }
- h2.size90 { font-size: 67px; }
- h2.size91 { font-size: 68px; }
- h2.size92 { font-size: 69px; }
- h2.size93 { font-size: 69px; }
- h2.size94 { font-size: 70px; }
- h2.size95 { font-size: 71px; }
- h2.size96 { font-size: 72px; }
- h2.size97 { font-size: 72px; }
- h2.size98 { font-size: 73px; }
- h2.size99 { font-size: 74px; }
- h2.size100 { font-size: 75px; }
- .content-container p {
- font-size: 12px !important;
- line-height: 14px !important;
- font-weight: 300;
- }
- .article, .page, .page-right {
- margin: 0px 0px 30px 30px;
- }
- .page div[class^="news"],
- div[class^="full-span"],
- .page div[class^="span"]{
- margin-left: 30px;
- }
- .content {
- width: 630px;
- margin: 0 30px 0 30px;
- }
- .row {
- margin-left: -30px;
- }
- footer div.row {
- margin-left: -15px;
- }
- .container, footer {
- width: 1094px;
- }
- .sidebar {
- width: 202px;
- }
- .img-container {
- margin-bottom: 4px;
- }
- div[class^="news"] p,
- div[class^="full-span"] p,
- div[class^="span"] p {
- line-height: 18px;
- }
- div.article.skin-important {
- padding-bottom: 30px;
- }
- div.article.skin-important > div[class^="news"] > span.content-container,
- div.article.skin-important > div[class^="news"] > span.title-*,
- div.article.skin-info > div[class^="news"] > span.content-container,
- div.article.skin-info > div[class^="news"] > span.title-container {
- margin-left: 30px;
- margin-right: 30px;
- }
- div.article.skin-important > div[class^="news"] > span.title-container,
- div.article.skin-info > div[class^="news"] > span.title-container {
- padding-top: 30px;
- }
- .row.news .page img {
- width: 100%;
- }
- header > div.container .inner {
- width: 640px;
- }
- div.page .span11 img {
- max-width: 366px;
- height: auto;
- }
- footer div.row div.row {
- margin-left: -30px;
- }
- div.content > div.row > div.page > img {
- width: 630px;
- height: auto;
- }
- div.content > div.row.news > iframe.full {
- width: 630px;
- margin-left: 30px;
- }
- #galleria {
- width: 630px;
- }
- .media-page {
- margin-left: 30px;
- }
-}
-@media (max-width: 767px) {
- .media-page {
- margin-left: 0px;
- }
- div.page.news33.category-news {
- margin-bottom: 40px;
- }
- div.news-portal-header {
- width: 100%;
- margin-left: 0px !important;
- }
- .img-container.news100 img,
- .img-container.news75 img,
- .img-container.news66 img,
- .img-container.news50 img,
- .img-container.news33 img,
- .img-container.news25 img,
- div.page .span11 img {
- width: 100%;
- height: auto;
- }
- .img-container { width: 100%; }
- .img-container a { display:block; width: 100%; }
- div[class^="news"],
- div[class^="span"],
- div[class^="full-span"],
- .page div[class^="news"],
- .page div[class^="span"],
- .clearer, .content, .container, .sidebar, .page, header > div.container .inner, footer {
- width: auto;
- float: none;
- clear: both;
- }
- .content {
- margin: 0px 20px 20px 20px;
- }
- div.article.skin-important {
- padding-bottom: 20px;
- }
- div.article {
- width: 100% !important;
- margin-left: 0;
- }
- .row.news {
- margin-left: 0;
- }
- div.article.skin-important > div[class^="news"] > span.content-container,
- div.article.skin-important > div[class^="news"] > span.title-container,
- div.article.skin-info > div[class^="news"] > span.content-container,
- div.article.skin-info > div[class^="news"] > span.title-container {
- width: auto;
- margin-left: 10px;
- margin-right: 10px;
- }
- div.article.skin-important > div[class^="news"] > span.title-container,
- div.article.skin-info > div[class^="news"] > span.title-container {
- padding-top: 20px;
- }
- .content > div[class^="news"],
- div[class^="span"] {
- margin: 0 0 0 20px;
- }
- h2[class^="size"] {
- font-size: 15px;
- }
- .sidebar {
- margin: 0 20px 20px 20px;
- }
- header, footer {
- padding: 0 20px 20px 20px;
- }
- .sidebar.sponsor a {
- margin: 0 10px 10px 0;
- float: left;
- }
- .sidebar.sponsor div.vignette {
- clear: both;
- }
- .footnote > div {
- width: auto;
- display: block;
- text-align: center;
- }
- footer div[class^="full-span"] {
- margin-bottom: 20px;
- }
- .social-news > div {
- float: left;
- margin-right: 20px;
- }
- menu.top-menu {
- height: 100px;
- }
- menu.top-menu li {
- width: 45%;
- float: left;
- background-color: #bfd4e5;
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- }
- menu.top-menu li > a {
- color: white;
- }
- menu.top-menu .top-menu-text {
- text-align: center;
- margin: 0;
- }
- menu.top-menu .top-menu-text > span:first-child {
- display: block;
- font-size: 15px;
- line-height: 38px;
- }
- menu.top-menu > li:nth-child(odd) {
- margin-right: 10%;
- }
- div.top-menu-icon {
- display: none;
- }
- .hidden-phone {
- display: none;
- }
- .visible-phone {
- display: block;
- }
- menu.section-menu {
- margin: 20px 0px 0px;
- padding: 60px 10px 10px;
- background-color: #555;
- border-radius: 5px;
- color: white;
- }
- menu.section-menu li {
- padding: 6px;
- border-radius: 5px;
- }
- menu.section-menu a, menu.section-menu a:hover {
- color: white;
- }
- div.top-menu-text > span.help-text {
- display: none;
- }
- th, td {
- min-width: 0px;
- }
- .section-menu-button {
- float: right;
- margin-bottom: 15px;
- }
- .section-menu-button a {
- width: 70px;
- height: 50px;
- line-height: 50px;
- display: block;
- text-align: center;
- border-radius: 5px;
- background-color: #555;
- color: white;
- }
- .section-menu-button a:hover, menu.section-menu li:hover {
- background-color: #6f6f6f;
- }
- h1 { font-size: 25px; line-height: 30px; margin-bottom: 10px; }
- h2 { font-size: 20px; line-height: 25px; margin-bottom: 8px;}
- h3 { font-size: 15px; line-height: 20px; }
- h4 { font-size: 12px; line-height: 17px; }
- h5 { font-size: 12px; line-height: 17px; }
- h6 { font-size: 12px; line-height: 17px; }
- .row.news .page {
- margin: 0px;
- }
- header {
- margin-bottom: 0px;
- }
- menu.top-menu a:hover div.top-menu-text > span, menu.top-menu a:hover div.top-menu-text > span.help-text, div.top-menu-text > span {
- color: white;
- }
- div.logo {
- width: 132px;
- }
- div.logo img {
- height: 100px;
- }
- div.inner div.when {
- display: none;
- }
- div.inner div.right {
- float: left;
- }
- footer > div.container > div.row {
- margin-top: 30px;
- }
- div[class^="full-span"] {
- margin: 0px 0px 0px 15px;
- }
- footer .search input[type="search"]{
- width: 100%;
- }
- footer .language {
- text-align: center;
- }
- footer > div.container {
- padding: 0px 0px 90px 0px;
- }
- header ul.promo-menu {
- padding-top: 20px;
- }
- footer div.row div.row {
- margin-left: -20px;
- }
- div.content > div.row > div.page > img {
- width: 100%;
- height: auto;
- }
- div.content > div.row.news > iframe.full {
- width: 100%;
- margin-left: 0px;
- }
- #galleria {
- width: 100%;
- }
- div.calendar table,
- div.calendar table thead,
- div.calendar table tbody,
- div.calendar table th,
- div.calendar table td,
- div.calendar table tr {
- display: block;
- }
- div.calendar table thead tr {
- position: absolute;
- top: -9999px;
- left: -9999px;
- }
- div.calendar table td {
- border: none;
- border-bottom: 1px solid #CCC;
- position: relative;
- padding-left: 20%;
- white-space: normal;
- text-align: left;
- }
- div.calendar table td:before {
- position: absolute;
- top: 6px;
- left: 6px;
- width: 45%;
- padding-right: 10px;
- white-space: nowrap;
- text-align:left;
- font-weight: bold;
- content: attr(data-title);
- }
- .filterLink {
- clear: right;
- display: block;
- text-align: center;
- }
- li.menu-creative a, li.menu-creative span, li.menu-creative + menu.sub-menu a, li.menu-creative + menu.submenu span,
- li.menu-game a, li.menu-game span, li.menu-game + menu.sub-menu a, li.menu-game + menu.submenu span,
- li.menu-tickets a, li.menu-tickets span, li.menu-tickets + menu.sub-menu a, li.menu-tickets + menu.submenu span,
- li.menu-guide a, li.menu-guide span, li.menu-guide + menu.sub-menu a, li.menu-guide + menu.submenu span,
- li.menu-entertainment-lectures a, li.menu-entertainment-lectures span, li.menu-entertainment-lectures + menu.sub-menu a, li.menu-entertainment-lectures + menu.submenu span {
- color: white;
- }
-}
diff --git a/web/stream.gathering.org/pre-tg15/superawesomeness.css b/web/stream.gathering.org/pre-tg15/superawesomeness.css
deleted file mode 100644
index b8c5545..0000000
--- a/web/stream.gathering.org/pre-tg15/superawesomeness.css
+++ /dev/null
@@ -1,24 +0,0 @@
-* { font-family: 'Open Sans', sans-serif;
-
-}
-
-body {
- background: #fff; color: #000; opacity: 1;
-}
-
-#spaceship { background: url('singularity.png'); width: 237px; height: 200px;position:absolute; top: 0; right: 0;z-index: -1}
-
-@media screen and (max-width: 1145px) { /* Min iPad size*/
- #spaceship {
- background: #fff;
- }
-}
-
-
-/* #innhold { position: absolute; left:0px ; top: 50px; margin: 0 50px 0 50px; z-index: 9; width: 520px; }*/
-#innhold { width: 480px; }
-footer { clear: both; width:480px; }
-a { color: #000; }
-h4 { margin: 0; margin-top: 35px;}
-p { margin: 0; padding: 0; }
-li { margin-bottom: 14px; }
diff --git a/web/stream.gathering.org/pre-tg15/test.pl b/web/stream.gathering.org/pre-tg15/test.pl
deleted file mode 100755
index 3b440d5..0000000
--- a/web/stream.gathering.org/pre-tg15/test.pl
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/perl -I /srv/streamlib
-use warnings;
-use strict;
-use CGI;
-use Geo::IP;
-use NetAddr::IP;
-use Net::IP;
-# apt-get install libnet-ip-perl libnetaddr-ip-perl
-use HTML::Template;
-use stream;
-use stream::config;
-
-my $client = CGI->new;
-
-my $v4net = $stream::config::v4net;
-my $v6net = $stream::config::v6net;
-my $tg = $stream::config::tg;
-my $tg_full = $stream::config::tg_full;
-my %streams = %stream::config::streams;
-
-my $force_unicast = $client->param('forceunicast');
-
-my $location = undef;
-
-print $client->header();
-
-my $clip = $client->remote_addr();
-my $template = HTML::Template->new(filename => 'test.tmpl');
-my $is_local = &is_ip_local($clip, $v4net, $v6net);
-
-my @streams = &html_local_test();
-$template->param(TG => $tg);
-$template->param(TG_FULL => $tg_full);
-$template->param(STREAMS => \@streams);
-print $template->output();
-
-
-sub html_local_test() {
- my @s = ();
- foreach my $name (sort { $streams{$a}->{priority} <=> $streams{$b}->{priority} } keys %streams) {
- my $title_link = "http://stream.tg$tg.gathering.org/stream.pl?delivery=%s&stream=${name}&interlaced=%s";
- my $multicast_link = $streams{$name}->{has_multicast} ? "multicast" : "unicast";
- $multicast_link = "unicast" if ($force_unicast == 1 || not $is_local);
-
- if ($streams{$name}->{external}) {
- $title_link = $streams{$name}->{url};
- } else {
- $title_link = sprintf($title_link, $multicast_link, $streams{$name}->{interlaced});
- }
- my %hash = (
- 'title_link' => $title_link,
- 'title' => $streams{$name}->{title},
- 'source' => $streams{$name}->{source},
- 'quality' => $streams{$name}->{quality},
- 'location' => $streams{$name}->{location},
- 'type' => $streams{$name}->{type},
- 'delivery' => $multicast_link,
- );
- if ($multicast_link eq "multicast") {
- $hash{'is_multicast'} .= 1;
- my $unicast_link = $title_link;
- $unicast_link=~s/multicast/unicast/g;
- $hash{'unicast_link'} .= $unicast_link;
- }
- $hash{'description'} .= $streams{$name}->{description} if exists($streams{$name}->{description});
- push(@s, \%hash);
-
- }
- return @s;
-}
diff --git a/web/stream.gathering.org/pre-tg15/test.tmpl b/web/stream.gathering.org/pre-tg15/test.tmpl
deleted file mode 100644
index fe88674..0000000
--- a/web/stream.gathering.org/pre-tg15/test.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
-<html>
-<head>
- <title>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</title>
- <link rel="stylesheet" type="text/css" href="style.css" media="all">
-</head>
-<body>
- <div id="innhold">
- <h1>The Gathering <TMPL_VAR NAME=TG_FULL> Streams</h1>
- <TMPL_LOOP NAME="STREAMS">
- <div class="stream-link">
- <div class="stream-icon"><img src="img/icon_<TMPL_VAR NAME=QUALITY>.png" /> <img src="img/icon_<TMPL_VAR NAME=TYPE>.png" /> <TMPL_IF NAME=LOCATION><img src="img/icon_<TMPL_VAR NAME=LOCATION>.png"></TMPL_IF></div>
- <div class="stream-link-content">
- <a href="<TMPL_VAR NAME=TITLE_LINK>"><TMPL_VAR NAME=TITLE></a><br>
- Source: <TMPL_VAR NAME=SOURCE><br>
- Delivery: <TMPL_VAR NAME=delivery> <TMPL_IF NAME=IS_MULTICAST>(<a href='<TMPL_VAR NAME=UNICAST_LINK>'>problems? try unicast vlc link here</a>)</TMPL_IF>
- </div>
- </div>
- </TMPL_LOOP>
- <div id="map">
- <img src="img/cam-map.png">
- </div>
-
- </div>
-
- <p>Problems with the non game streams? The easiest way to get hold of us is on IRC (EFNet); one of ViD, Rockj and Sesse should be available if there's too much traffic on #tg to be heard.</p>
- <p><a href="http://stream.tg<TMPL_VAR NAME="TG">.gathering.org">http://stream.tg<TMPL_VAR NAME="TG">.gathering.org</a></p>
-
-</body>
-</html>
-
-
diff --git a/web/stream.gathering.org/resources/css/core.css b/web/stream.gathering.org/resources/css/core.css
index 5a7a6f0..536cb89 100644
--- a/web/stream.gathering.org/resources/css/core.css
+++ b/web/stream.gathering.org/resources/css/core.css
@@ -3,6 +3,19 @@ body {
color: #FFFFFF;
}
+*:fullscreen {
+ position:fixed;
+ top:0;
+ right:0;
+ bottom:0;
+ left:0;
+ margin:0;
+ box-sizing: border-box;
+ width:100%;
+ height:100%;
+ object-fit: contain;
+}
+
.button {
font-weight: bold;
color: #333;
@@ -66,6 +79,8 @@ body {
}
.stream-icon {
+ width: 51px;
+ height: 52px;
display: inline-block;
}
@@ -90,6 +105,48 @@ body {
padding-top: 50px;
}
+.bubble
+{
+ position: relative;
+ width: 100%;
+ height: 100%;
+ padding: 0px;
+ background: #FFFFFF;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ border: #7F7F7F solid 2px;
+ padding: 10px;
+}
+
+ .bubble:after
+ {
+ content: '';
+ position: absolute;
+ border-style: solid;
+ border-width: 16px 12px 0;
+ border-color: #FFFFFF transparent;
+ display: block;
+ width: 0;
+ z-index: 1;
+ bottom: -15px;
+ left: 130px;
+ }
+
+ .bubble:before
+ {
+ content: '';
+ position: absolute;
+ border-style: solid;
+ border-width: 17px 13px 0;
+ border-color: #7F7F7F transparent;
+ display: block;
+ width: 0;
+ z-index: 0;
+ bottom: -19px;
+ left: 129px;
+ }
+
/* Bigger than 550 */
@media (min-width: 550px) {
.section {
@@ -110,6 +167,8 @@ body {
.videoframe {
margin-left: -160px;
}
+ .videoframe:-webkit-full-screen { margin-left: 0px; }
+ .videoframe:-moz-full-screen { margin-left: 0px; }
}
/* Bigger than 920 */
@@ -132,6 +191,8 @@ body {
.videoframe {
margin-left: -250px;
}
+ .videoframe:-webkit-full-screen { margin-left: 0px; }
+ .videoframe:-moz-full-screen { margin-left: 0px; }
}
/* Bigger than 1200 */
@@ -152,6 +213,8 @@ body {
.videoframe {
margin-left: -350px;
}
+ .videoframe:-webkit-full-screen { margin-left: 0px; }
+ .videoframe:-moz-full-screen { margin-left: 0px; }
}
/* Bigger than 1600 */
@@ -174,4 +237,6 @@ body {
.videoframe {
margin-left: -480px;
}
+ .videoframe:-webkit-full-screen { margin-left: 0px; }
+ .videoframe:-moz-full-screen { margin-left: 0px; }
} \ No newline at end of file
diff --git a/web/stream.gathering.org/resources/images/vlc.png b/web/stream.gathering.org/resources/images/vlc.png
new file mode 100644
index 0000000..129ab76
--- /dev/null
+++ b/web/stream.gathering.org/resources/images/vlc.png
Binary files differ
diff --git a/web/stream.gathering.org/southcam.vlc b/web/stream.gathering.org/southcam.vlc
new file mode 100644
index 0000000..e20970c
--- /dev/null
+++ b/web/stream.gathering.org/southcam.vlc
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF:-1,TG15 Unicasted South Webcam HD (720p H.264) 3Mbit/s
+http://cubemap.tg15.gathering.org/southcam.flv
diff --git a/web/streamlib/stream/config.pm b/web/streamlib/stream/config.pm
index 918e555..934c99d 100644
--- a/web/streamlib/stream/config.pm
+++ b/web/streamlib/stream/config.pm
@@ -6,7 +6,7 @@ use NetAddr::IP;
our $v4net = NetAddr::IP->new("151.216.128.0/17");
our $v6net = NetAddr::IP->new("2a02:ed02::/32");
our $multicast = "udp://\@233.191.12.1";
-our $video_url = "http://wat.gathering.org:9094/southcam.flv";
+our $video_url = "http://cubemap.tg15.gathering.org/event.flv";
our $tg = 15;
our $tg_full = 2015;
@@ -23,13 +23,14 @@ our %streams = (
'quality' => 'hd',
'priority' => 20,
'port' => 80,
- 'url' => '/event.ts',
- 'online' => 0,
+ 'url' => 'http://cubemap.tg15.gathering.org/event.flv',
+ 'online' => 1,
+ 'external' => 1,
'interlaced' => 0,
'has_multicast' => 0,
'multicast_ip' => 'udp://@[ff7e:a40:2a02:ed02:ffff::15]:2015',
'source' => 'Event',
- 'title' => 'Event HD (720p50)'
+ 'title' => 'Event HD (720p50 H.264) 6Mbit/s'
},
# 'creativia-hd' => {
# 'type' => 'event',
@@ -86,15 +87,15 @@ our %streams = (
'type' => 'camera',
'quality' => 'hd',
'priority' => 40,
- 'url' => "http://wat.gathering.org:9094/southcam.flv", # <-- In use (Need to rebuild row 67 in index.pl)
- 'port' => 80,
+ 'url' => "http://cubemap.tg15.gathering.org/southcam.flv", # <-- In use (Need to rebuild row 67 in index.pl)
+ 'port' => 80,
'interlaced' => 0,
'has_multicast' => 0,
'external' => 1, # <-- In use (Need to rebuild row 67 in index.pl)
'online' => 1,
# 'multicast_ip' => "udp://@[ff7e:a40:2a02:ed02:ffff::16]",
'source' => 'Tech',
- 'title' => 'Webcam South (HD) (1920x1080 H.264) 10mbps',
+ 'title' => "Webcam South (HD) (720p H.264) 3Mbit/s",
},
'roofcam-raw' => {
@@ -115,7 +116,7 @@ our %streams = (
'type' => 'camera',
'quality' => 'hd',
'priority' => 130,
- 'url' => 'http://wat.gathering.org:9094/noccam.flv',
+ 'url' => 'http://cubemap.tg15.gathering.org/noccam.flv',
'port' => 80, # <-- Safe to remove
'external' => 1,
'has_multicast' => 0, # <-- Safe to remove
@@ -123,7 +124,7 @@ our %streams = (
'online' => 1,
'multicast_ip' => "udp://@[ff7e:a40:2a02:ed02:ffff::18]:2018",# <-- Safe to remove
'source' => "Tech", # <-- Safe to remove
- 'title' => "Webcam NOC (HD) (1280x720 H.264) 5mbps"
+ 'title' => "Webcam NOC (HD) (720p H.264) 3Mbit/s"
},
);