Archived
Cleanups and general styling
This commit is contained in:
1 parent
674a2138c0
commit
480f9d0816
67 files changed
+2098
-7552
No files matched your search
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"directory": "bower_components"
|
||||
}
|
||||
Executable → Regular
File mode changed.
@@ -0,0 +1,48 @@
|
||||
/* TODO concat, uglify, etc */
|
||||
module.exports = function(grunt) {
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
|
||||
tn2014: {
|
||||
// potential config here
|
||||
},
|
||||
autoprefixer: {
|
||||
dist: {
|
||||
files: {
|
||||
'css/style.css': 'css/style.css',
|
||||
}
|
||||
},
|
||||
},
|
||||
sass: {
|
||||
options: {
|
||||
includePaths: ['bower_components/foundation/scss']
|
||||
},
|
||||
dist: {
|
||||
options: {
|
||||
outputStyle: 'compressed'
|
||||
},
|
||||
files: {
|
||||
'css/style.css': 'scss/style.scss'
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
sass: {
|
||||
files: ['scss/**/*.scss'],
|
||||
tasks: ['sass', 'autoprefixer'],
|
||||
},
|
||||
livereload: {
|
||||
files: ['**/*.php', 'css/style.css', '**/*.js'],
|
||||
options: {
|
||||
livereload: true
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// load all grunt tasks
|
||||
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
|
||||
|
||||
grunt.registerTask('build', ['sass']);
|
||||
grunt.registerTask('default', ['build','watch']);
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "tn2014",
|
||||
"dependencies": {
|
||||
"foundation": "zurb/bower-foundation",
|
||||
"underscore": "latest"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# Require any additional compass plugins here.
|
||||
require 'ninesixty'
|
||||
|
||||
# Set this to the root of your project when deployed:
|
||||
http_path = "/"
|
||||
css_dir = "stylesheets"
|
||||
sass_dir = "sass"
|
||||
images_dir = "images"
|
||||
javascripts_dir = "javascripts"
|
||||
|
||||
# You can select your preferred output style here (can be overridden via the command line):
|
||||
# output_style = :expanded or :nested or :compact or :compressed
|
||||
|
||||
# To enable relative paths to assets via compass helper functions. Uncomment:
|
||||
# relative_assets = true
|
||||
|
||||
# To disable debugging comments that display the original location of your selectors. Uncomment:
|
||||
line_comments = false
|
||||
|
||||
|
||||
# If you prefer the indented syntax, you might want to regenerate this
|
||||
# project again passing --syntax sass, or you can uncomment this:
|
||||
# preferred_syntax = :sass
|
||||
# and then run:
|
||||
# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
|
||||
@@ -0,0 +1 @@
|
||||
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,progress,video{display:inline-block;vertical-align:baseline;}audio:not([controls]){display:none;height:0;}[hidden],template{display:none;}a{background:transparent;}a:active,a:hover{outline:0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}h1{font-size:2em;margin:0.67em 0;}mark{background:#ff0;color:#000;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:1em 40px;}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0;}pre{overflow:auto;}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{overflow:visible;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}input{line-height:normal;}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}textarea{overflow:auto;}optgroup{font-weight:bold;}table{border-collapse:collapse;border-spacing:0;}td,th{padding:0;}meta.foundation-version{font-family:"/5.2.2/";}meta.foundation-mq-small{font-family:"/only screen/";width:0em;}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em;}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em;}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em;}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em;}meta.foundation-data-attribute-namespace{font-family:false;}html,body{height:100%;}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html,body{font-size:100%;}body{background:#fff;color:#222;padding:0;margin:0;font-family:Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1;position:relative;cursor:default;}a:hover{cursor:pointer;}img{max-width:100%;height:auto;}img{-ms-interpolation-mode:bicubic;}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none !important;}.left{float:left !important;}.right{float:right !important;}.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{content:" ";display:table;}.clearfix:after{clear:both;}.hide{display:none;}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}img{display:inline-block;vertical-align:middle;}textarea{height:auto;min-height:50px;}select{width:100%;}.row{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:90rem;*zoom:1;}.row:before,.row:after{content:" ";display:table;}.row:after{clear:both;}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0;}.row.collapse .row{margin-left:0;margin-right:0;}.row .row{width:auto;margin-left:-0.9375rem;margin-right:-0.9375rem;margin-top:0;margin-bottom:0;max-width:none;*zoom:1;}.row .row:before,.row .row:after{content:" ";display:table;}.row .row:after{clear:both;}.row .row.collapse{width:auto;margin:0;max-width:none;*zoom:1;}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table;}.row .row.collapse:after{clear:both;}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left;}@media only screen{.small-push-0{position:relative;left:0%;right:auto;}.small-pull-0{position:relative;right:0%;left:auto;}.small-push-1{position:relative;left:8.33333%;right:auto;}.small-pull-1{position:relative;right:8.33333%;left:auto;}.small-push-2{position:relative;left:16.66667%;right:auto;}.small-pull-2{position:relative;right:16.66667%;left:auto;}.small-push-3{position:relative;left:25%;right:auto;}.small-pull-3{position:relative;right:25%;left:auto;}.small-push-4{position:relative;left:33.33333%;right:auto;}.small-pull-4{position:relative;right:33.33333%;left:auto;}.small-push-5{position:relative;left:41.66667%;right:auto;}.small-pull-5{position:relative;right:41.66667%;Line truncated
|
||||
Executable → Regular
File mode changed.
@@ -1,22 +0,0 @@
|
||||
<header class="entry-meta">
|
||||
<?php
|
||||
$post->neuf_event_venue = get_post_meta(get_the_ID(), '_neuf_events_venue',true);
|
||||
$ticket = get_post_meta(get_the_id(), '_neuf_events_bs_url',true);
|
||||
if ( 'Annet' != $post->neuf_event_venue ) {
|
||||
?>
|
||||
<?php } ?>
|
||||
<h1 class="entry-title"><?php the_title(); ?></h1>
|
||||
|
||||
|
||||
<span class="event-date"><?php echo ucfirst( date_i18n( 'l j. F' , get_post_meta(get_the_ID() , '_neuf_events_starttime' , true ) ) ); ?></span>
|
||||
<br />
|
||||
<span class="meta-prep meta-prep-event-time"><?php _e( 'Kl:' , 'neuf' ); ?></span>
|
||||
<span class="event-time"><?php echo date_i18n( 'G.i' , get_post_meta( get_the_ID() , '_neuf_events_starttime' , true ) ); ?></span>
|
||||
<span class="meta-sep meta-sep-event-price"> - </span>
|
||||
<span class="meta-prep meta-prep-price">CC: </span>
|
||||
<span class="price"><?php echo ($price = neuf_get_price( $post )) ? $price : "Gratis"; ?></span>
|
||||
<span class="meta-prep meta-prep-price"><?php echo $ticket ? ' <a href="'.$ticket.'">Kjøp billett</a>' : ""; ?></span>
|
||||
<br />
|
||||
<span class="venue"><?php echo $post->neuf_event_venue; ?></span>
|
||||
</header> <!-- .entry-meta-->
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<div class="entry-meta">
|
||||
<?php
|
||||
$post->neuf_event_venue = get_post_meta(get_the_id(), '_neuf_events_venue',true);
|
||||
$ticket = get_post_meta(get_the_id(), '_neuf_events_bs_url',true);
|
||||
if ( 'Annet' != $post->neuf_event_venue ) {
|
||||
?>
|
||||
<span class="venue"><?php echo $post->neuf_event_venue; ?></span>
|
||||
<?php } ?>
|
||||
|
||||
<div class="time-price">
|
||||
<span class="event-date"><?php echo ucfirst( date_i18n( 'l j. F' , get_post_meta(get_the_ID() , '_neuf_events_starttime' , true ) ) ); ?></span>
|
||||
<span class="meta-prep meta-prep-event-time"><br /><?php _e( 'Kl:' , 'neuf' ); ?></span>
|
||||
<span class="event-time"><?php echo date_i18n( 'G.i' , get_post_meta( get_the_ID() , '_neuf_events_starttime' , true ) ); ?></span>
|
||||
<span class="meta-sep meta-sep-event-price"> - </span>
|
||||
<span class="meta-prep meta-prep-price">CC: </span>
|
||||
<span class="meta-prep meta-prep-ticket"><?php echo $ticket ? ' <a href="'.$ticket.'">Kjøp billett</a>' : ""; ?></span>
|
||||
<span class="price"><?php echo ($price = neuf_get_price( $post )) ? $price : "Gratis"; ?></span>
|
||||
</div> <!-- .time-price -->
|
||||
</div> <!-- .entry-meta-->
|
||||
|
||||
Executable → Regular
File mode changed.
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* flowplayer.js 3.2.6. The Flowplayer API
|
||||
*
|
||||
* Copyright 2009-2011 Flowplayer Oy
|
||||
*
|
||||
* This file is part of Flowplayer.
|
||||
*
|
||||
* Flowplayer is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Flowplayer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Flowplayer. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Date: 2011-02-04 05:45:28 -0500 (Fri, 04 Feb 2011)
|
||||
* Revision: 614
|
||||
*/
|
||||
(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)}function i(q,p,o){if(typeof p!="object"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!="function"){q[r]=s}})}return q}function n(s){var q=s.indexOf(".");if(q!=-1){var p=s.slice(0,q)||"*";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return"_"+(""+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t=="string"){t={url:t}}i(this,t,true);m(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var v="on"+this;if(v.indexOf("*")!=-1){v=v.slice(0,v.length-1);var w="onBefore"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x=="number"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v=="onLoad"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v=="onCuepoint"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o=="function"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w=="function"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;if(t){i(s,t)}m(r,function(v,w){if(typeof w=="function"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z=="function"){x=z;z=500}if(typeof y=="string"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display="block";q._api().fp_showPlugin(p);return o},hide:function(){this.display="none";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x=="function"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w=="onUpdate"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=""+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D==="undefined"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)=="_"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height="0px"}if(w.isLoaded()){v.style.height="0px"}return w},show:function(){q.style.height=A+"px";if(w.isLoaded()){v.style.height=o+"px"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent("onBeforeLoad")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=""}if(J){J.cached=true;j(x,"onLoad",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)}return w}if(u.replace(/\s/g,"")!==""){if(w._fireEvent("onBeforeUnload")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent("onUnload")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}rLine truncated
|
||||
Binary file not shown.
Binary file not shown.
Executable → Regular
+14
-6
@@ -1,20 +1,28 @@
|
||||
|
||||
<footer id="site-footer">
|
||||
<div id="footer-container">
|
||||
<div id="footer-about" class="grid_4 alpha">
|
||||
<div id="footer-about">
|
||||
<h2><a href="om-oss/" class="black">Teater Neuf</a></h2>
|
||||
<p>Teater Neuf - Studentteatret i Oslo er Norges eldste studentteater, og ønsker å tilby studentene både kunstnerisk utvikling og lavterskelmoro ved siden av pensum. Vi holder til på Det Norske Studentersamfund og har i tillegg til fire forestillinger per semester og én storproduksjon i året, også ukentlige aktiviteter, workshops, interne fester og mer. Teater Neuf er et prosjektbasert teater, noe som vil si at vi ikke har en fast gruppe skuespillere, regissører, scenografer o.l, men er åpne for hvem som helst å bli med og å komme med prosjektbeskrivelser til nye forestillinger eller annet på teateret. Klikk deg videre på sidene våre for å registrere deg og for å lese mer om Teateret og hva som skjer!</p>
|
||||
<!-- TODO: Move to Theme -> Customize -->
|
||||
<p>Teater Neuf - Studentteatret i Oslo er <em>Norges eldste studentteater</em>, tilbyr studenter både kunstnerisk utvikling og lavterskelmoro ved siden av pensum.
|
||||
Vi holder til på Det Norske Studentersamfund og har i tillegg til fire forestillinger per semester og én storproduksjon i året, også ukentlige aktiviteter, workshops, interne fester og mer.</p>
|
||||
<ul>
|
||||
<li class="social-icon"><a id="facebook-icon" href="http://facebook.com/teaterneuf" target="_blank"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/img/facebook.png" /></a></li>
|
||||
<li class="social-icon"><a id="twitter-icon" href="http://twitter.com/teater_neuf" target="_blank"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/img/twitter.png" /></a></li>
|
||||
</ul>
|
||||
</div> <!-- #footer-about -->
|
||||
</div>
|
||||
|
||||
<div id="kolofon" class="grid_12">
|
||||
<div id="kolofon-text">Teater Neuf, Det Norske Studentersamfund | Slemdalsveien 15, 0369 Oslo | Webdesign av <a href="http://edb.neuf.no">EDB-gjengen</a> og Designerne i <a href="http://studentersamfundet.no/association/kommunikasjonsavdelingen/">KAK</a>.</div>
|
||||
<div id="kolofon">
|
||||
<div id="kolofon-text">Teater Neuf, <a href="http://studentersamfundet.no">Det Norske Studentersamfund</a>
|
||||
</div>
|
||||
</div> <!-- #kolofon -->
|
||||
|
||||
<!-- Google Analytics -->
|
||||
<!-- end Google Analytics -->
|
||||
</div>
|
||||
</footer> <!-- #site-footer -->
|
||||
<div class="credits-wrap">
|
||||
<div class="credits">Laget med <span class="love" title="kærlighed">♥</span> av <a href="http://kak.studentersamfundet.no/" title="Kommunikasjonsavdelingen">KAK</a></div>
|
||||
</div>
|
||||
|
||||
<?php wp_footer(); ?>
|
||||
|
||||
|
||||
Executable → Regular
File mode changed.
@@ -5,11 +5,8 @@ add_theme_support( 'automatic-feed-links' );
|
||||
|
||||
$content_width = 770;
|
||||
|
||||
add_image_size( 'two-column-thumb' , 170 , 69 , true );
|
||||
add_image_size( 'four-column-thumb' , 370 , 150 , true );
|
||||
add_image_size( 'six-column-promo' , 570 , 322 , true );
|
||||
add_image_size( 'six-column-slim' , 570 , 161 , true );
|
||||
add_image_size( 'association-thumb' , 270 , 250, false );
|
||||
|
||||
/**
|
||||
* Register navigation menus.
|
||||
@@ -183,41 +180,6 @@ function neuf_doctitle() {
|
||||
echo $doctitle;
|
||||
} // end neuf_doctitle
|
||||
|
||||
/**
|
||||
* Should return true if the file displaying the current page is defined as part of the given section.
|
||||
*
|
||||
* @todo Do we need this in a WordPress theme? misund 2012-12-18
|
||||
*/
|
||||
function is_in_section($section) {
|
||||
switch ($section) {
|
||||
case 'program':
|
||||
if ( in_array(get_requested_file(),array('prog','konsepter','konsept','booking','vis')) )
|
||||
return true;
|
||||
break;
|
||||
case 'foreninger':
|
||||
if ( in_array(get_requested_file(),array('foreninger')) )
|
||||
return true;
|
||||
break;
|
||||
case 'forum':
|
||||
if ( substr($_SERVER['REQUEST_URI'],1,5) == 'forum' )
|
||||
return true;
|
||||
break;
|
||||
case 'inside':
|
||||
if ( substr($_SERVER['REQUEST_URI'],1,6) == 'inside' || in_array(get_requested_file(),array('aktive')) )
|
||||
return true;
|
||||
break;
|
||||
case 'nyheter':
|
||||
if ( in_array(get_requested_file(),array('nyheter','nyhet')) )
|
||||
return true;
|
||||
break;
|
||||
case 'forside':
|
||||
if ( !( is_in_section('program') || is_in_section('foreninger') || is_in_section('medlem') || is_in_section('forum') || is_in_section('inside') || is_in_section('nyheter') ) )
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -269,24 +231,6 @@ function neuf_maybe_display_gallery() {
|
||||
echo do_shortcode( '[gallery]' );
|
||||
}
|
||||
|
||||
function neuf_event_format_date($timestamp) {
|
||||
return date_i18n('d/n', intval($timestamp));
|
||||
}
|
||||
|
||||
/**
|
||||
* Takes 2 date strings in $format.
|
||||
*
|
||||
* Returns the difference in days * 2, for use in
|
||||
* a grid based layout on the program page.
|
||||
*/
|
||||
function neuf_event_day_gap_size($current_day,$previous_day) {
|
||||
$format = '%Y-%m-%d';
|
||||
$prev = new DateTime($previous_day);
|
||||
$cur = new DateTime($current_day);
|
||||
$diff = $prev->diff($cur)->d;
|
||||
return ($diff - 1) * 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Trims $text down to $length words.
|
||||
* If $text is truncated, then "[..]" is appended.
|
||||
|
||||
Executable → Regular
+23
-37
@@ -1,46 +1,32 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="no" lang="no">
|
||||
<head>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<?php neuf_doctitle(); ?>
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
<link rel="alternate" type="application/rss+xml" href="<?php bloginfo('url'); ?>/feed/" title="Det Norske Studentersamfund (nyheter)" />
|
||||
<link rel="alternate" type="application/rss+xml" href="http://studentersamfundet.no/syndikering/kommende-program/" title="Det Norske Studentersamfund (kommende program)" />
|
||||
|
||||
<?php neuf_doctitle(); ?>
|
||||
<link href="<?php bloginfo( 'stylesheet_directory' ); ?>/css/style.css" rel="stylesheet" type="text/css" />
|
||||
<link href='//fonts.googleapis.com/css?family=Arvo:700,400italic' rel='stylesheet' type='text/css'>
|
||||
<?php wp_head(); ?>
|
||||
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
</head>
|
||||
|
||||
<?php // @todo Make sure our feeds work properly :) ?>
|
||||
<link rel="alternate" type="application/rss+xml" href="<?php bloginfo('url'); ?>/feed/" title="Det Norske Studentersamfund (nyheter)" />
|
||||
<link rel="alternate" type="application/rss+xml" href="http://studentersamfundet.no/syndikering/kommende-program/" title="Det Norske Studentersamfund (kommende program)" />
|
||||
<link href="<?php bloginfo( 'stylesheet_url' ); ?>" rel="stylesheet" type="text/css" />
|
||||
<link href='http://fonts.googleapis.com/css?family=Arvo:700,400italic' rel='stylesheet' type='text/css'>
|
||||
<?php wp_head(); ?>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body <?php neuf_body_class(); ?>>
|
||||
<div id="ribbon"><a href="http://studentersamfundet.no"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/img/ribbon.gif" /></a></div>
|
||||
<div id="fb-root"></div>
|
||||
<header id="site-header">
|
||||
<div id="header-container">
|
||||
<div class="site-title">
|
||||
<a href="<?php bloginfo('url') ?>/" title="<?php bloginfo('name') ?>" rel="home" class="logo"><?php bloginfo('name') ?></a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<body <?php neuf_body_class(); ?>>
|
||||
<div id="fb-root"></div>
|
||||
<script>(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/nb_NO/all.js#xfbml=1&appId=220213643760";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
||||
<div id="site-topbar"><a href="http://studentersamfundet.no/" title="Det Norske Studentersamfund" class="logo">Det Norske Studentersamfund</a></div>
|
||||
<header id="site-header">
|
||||
<div id="header-container" class="container_12" style="margin-left:auto;margin-right:auto">
|
||||
|
||||
<div id="access"><a href="#content">Gå direkte til innholdet</a></div>
|
||||
|
||||
<div class="site-title grid_7">
|
||||
<a href="<?php bloginfo('url') ?>/" title="<?php bloginfo('name') ?>" rel="home" class="logo"><?php bloginfo('name') ?></a>
|
||||
</span>
|
||||
</div>
|
||||
<?php get_template_part( 'menu' ); ?>
|
||||
|
||||
<?php get_template_part( 'menu' ); ?>
|
||||
|
||||
</div>
|
||||
</header><!-- #site-header -->
|
||||
</div>
|
||||
</header><!-- #site-header -->
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="no" lang="no">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<?php neuf_doctitle(); ?>
|
||||
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
|
||||
<?php // @todo Make sure our feeds work properly :) ?>
|
||||
<link rel="alternate" type="application/rss+xml" href="<?php bloginfo('url'); ?>/feed/" title="Det Norske Studentersamfund (nyheter)" />
|
||||
<link rel="alternate" type="application/rss+xml" href="http://studentersamfundet.no/syndikering/kommende-program/" title="Det Norske Studentersamfund (kommende program)" />
|
||||
<link href="<?php bloginfo( 'stylesheet_url' ); ?>" rel="stylesheet" type="text/css" />
|
||||
<link href='http://fonts.googleapis.com/css?family=Arvo:700,400italic' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<?php wp_head(); ?>
|
||||
</head>
|
||||
|
||||
<body <?php neuf_body_class(); ?>>
|
||||
<div id="fb-root"></div>
|
||||
<script>(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/nb_NO/all.js#xfbml=1&appId=220213643760";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
||||
|
||||
<div id="site-topbar"><a href="http://studentersamfundet.no/" title="Det Norske Studentersamfund" class="logo">Det Norske Studentersamfund</a></div>
|
||||
<header id="site-header">
|
||||
<div id="header-container" class="container_12" style="margin-left:auto;margin-right:auto">
|
||||
<div id="access"><a href="#content">Gå direkte til innholdet</a></div>
|
||||
<div class="site-title grid_6"><span><a rel="home" title="Teater Neuf" href="https://teaterneuf.no/"> Teater Neuf
|
||||
</a></span></div>
|
||||
</div>
|
||||
<nav id="menu" class="grid_6"> </nav>
|
||||
<!-- #menu -->
|
||||
</header><!-- #site-header -->
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
Executable → Regular
File mode changed.
@@ -1,42 +0,0 @@
|
||||
$(document).ready( function() {
|
||||
/* Urlize */
|
||||
jQuery.fn.urlize = function( base ) {
|
||||
var x = this.html();
|
||||
list = x.match( /\b(http:\/\/|www\.|http:\/\/www\.)[^ ]{2,100}\b/g );
|
||||
if ( list ) {
|
||||
for ( i = 0; i < list.length; i++ ) {
|
||||
x = x.replace( list[i], "<a target='_blank' href='" + list[i] + "'>"+ list[i] + "</a>" );
|
||||
}
|
||||
this.html(x);
|
||||
}
|
||||
};
|
||||
|
||||
/* Flickr */
|
||||
var flickr_limit = 10;
|
||||
/*
|
||||
* Feed alternatives.
|
||||
* $url = "http://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=" . $tag;
|
||||
* $url = "http://api.flickr.com/services/feeds/groups_pool.gne?format=json&id=" . $groupid;
|
||||
* $url = "http://api.flickr.com/services/feeds/groups_pool.gne?id=1292860@N21&lang=en-us&format=json";
|
||||
*/
|
||||
var flickr_feed_url = 'http://api.flickr.com/services/feeds/photos_public.gne?id=48351899@N07&tags=betong&format=json&jsoncallback=?';
|
||||
$.getJSON(flickr_feed_url, function(result) {
|
||||
var html = "";
|
||||
|
||||
$.each(result.items, function(i, item) {
|
||||
var sourceSquare = (item.media.m).replace("_m.jpg", "_s.jpg");
|
||||
|
||||
html += '<li><a href="' + item.link + '" target="_blank">';
|
||||
html += '<img title="' + item.title + '" src="' + sourceSquare;
|
||||
html += '" alt="'; html += item.title + '" />';
|
||||
html += '</a></li>';
|
||||
|
||||
if(parseInt(i) == flickr_limit - 1) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
$("#flickr_feed").html(html);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,92 +0,0 @@
|
||||
function addTwitter() {
|
||||
/* Twitter feed in footer. */
|
||||
var feed = 'https://twitter.com/statuses/user_timeline/dns1813.json?count=10&include_rts=1&callback=?';
|
||||
var retweet_url = 'http://twitter.com/intent/retweet?tweet_id=';
|
||||
var reply_url = 'http://twitter.com/intent/tweet?in_reply_to=';
|
||||
var tweet_url = 'https://twitter.com/dns1813/status/';
|
||||
|
||||
var count = 2; // Done this way to ensure at least 2 tweets in allways.
|
||||
$.getJSON(feed, function(results) {
|
||||
jQuery.each(results, function(i) {
|
||||
if (count-- > 0) {
|
||||
var id = results[i].id_str;
|
||||
/* relative tweet time */
|
||||
/* Format tweet */
|
||||
jQuery('#twitter_feed').append('<p><span class="tweet_text">' + results[i].text + '</span><br /><a href="' + tweet_url + id + '">*</a> • <a href="'+ reply_url + id +'">svar</a> • <a href="'+ retweet_url + id +'">retweet</a></p>');
|
||||
}
|
||||
});
|
||||
|
||||
if( !results ) {
|
||||
$('#twitter_feed').html("Ikke svar fra Twitter.");
|
||||
}
|
||||
/* Make links of tweet text */
|
||||
jQuery('.tweet_text').each(function(i) {
|
||||
jQuery(this).urlize();
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
function addVimeo() {
|
||||
var username = 'ostvn';
|
||||
var feed_url = "http://vimeo.com/api/v2/" + username + "/videos.json?callback=?";
|
||||
|
||||
$.getJSON(feed_url, function(videos) {
|
||||
var latest = videos[0];
|
||||
var latest_video = '<iframe src="http://player.vimeo.com/video/' + latest['id'] + '?title=0&byline=0&portrait=0" width="570" height="321" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen>\n</iframe>';
|
||||
var description = '<h2><a href="http://ostv.no/">OSTV</a></h2>\n<h3>' + latest['title'] + '</h3>\n<p>' + truncate(latest['description'], 40) + '</p>';
|
||||
|
||||
$("#ostv-latest-description").html(description);
|
||||
$("#ostv-latest-video").html(latest_video);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncate text down to length words.
|
||||
* If text is truncated, then "[..]" is appended.
|
||||
*/
|
||||
function truncate(text, length) {
|
||||
org_length = text.length;
|
||||
text = text.split(" "); // word boundary
|
||||
text = text.slice(0, length);
|
||||
text = text.join(" ");
|
||||
if(org_length != text.length) {
|
||||
return text + " [...]";
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
/* events */
|
||||
var events = $('#events');
|
||||
var articles = events.find('article').each(function(){
|
||||
$(this).hover(function(){
|
||||
$(this).find('header.info').children().slideDown('fast');
|
||||
},
|
||||
function(){
|
||||
$(this).find('header.info').find('.price').slideUp('fast');
|
||||
$(this).find('header.info').find('.venue').slideUp('fast');
|
||||
$(this).find('header.info').find('.type').slideUp('fast');
|
||||
});
|
||||
});
|
||||
|
||||
/*
|
||||
* Eventslider in header.
|
||||
* Doc: http://jquery.malsup.com/cycle/options.html
|
||||
*/
|
||||
$('#slider')
|
||||
.cycle({
|
||||
fx: 'fade',
|
||||
speed: 'fast',
|
||||
timeout: 8000,
|
||||
next: '#nextLink',
|
||||
prev: '#prevLink',
|
||||
pager: '#slidernav',
|
||||
pauseOnPagerHover: 1,
|
||||
pagerAnchorBuilder: function(index, DOMelement) {
|
||||
return '<a href="#" class="element' + index + '"><span class="circle"></span></a>';
|
||||
},
|
||||
});
|
||||
|
||||
addTwitter();
|
||||
addVimeo();
|
||||
});
|
||||
-220
@@ -1,220 +0,0 @@
|
||||
/*! HTML5 Shiv vpre3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
|
||||
;(function(window, document) {
|
||||
|
||||
/** Preset options */
|
||||
var options = window.html5 || {};
|
||||
|
||||
/** Used to skip problem elements */
|
||||
var reSkip = /^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i;
|
||||
|
||||
/** Not all elements can be cloned in IE (this list can be shortend) **/
|
||||
var saveClones = /^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i;
|
||||
|
||||
/** Detect whether the browser supports default html5 styles */
|
||||
var supportsHtml5Styles;
|
||||
|
||||
/** Detect whether the browser supports unknown elements */
|
||||
var supportsUnknownElements;
|
||||
|
||||
(function() {
|
||||
var a = document.createElement('a');
|
||||
|
||||
a.innerHTML = '<xyz></xyz>';
|
||||
|
||||
//if the hidden property is implemented we can assume, that the browser supports HTML5 Styles | this fails in Chrome 8
|
||||
supportsHtml5Styles = ('hidden' in a);
|
||||
//if we are part of Modernizr, we do an additional test to solve the Chrome 8 fail
|
||||
if(supportsHtml5Styles && typeof injectElementWithStyles == 'function'){
|
||||
injectElementWithStyles('#modernizr{}', function(node){
|
||||
node.hidden = true;
|
||||
supportsHtml5Styles = (window.getComputedStyle ?
|
||||
getComputedStyle(node, null) :
|
||||
node.currentStyle).display == 'none';
|
||||
});
|
||||
}
|
||||
|
||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
||||
// assign a false positive if unable to shiv
|
||||
try {
|
||||
(document.createElement)('a');
|
||||
} catch(e) {
|
||||
return true;
|
||||
}
|
||||
var frag = document.createDocumentFragment();
|
||||
return (
|
||||
typeof frag.cloneNode == 'undefined' ||
|
||||
typeof frag.createDocumentFragment == 'undefined' ||
|
||||
typeof frag.createElement == 'undefined'
|
||||
);
|
||||
}());
|
||||
|
||||
}());
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Creates a style sheet with the given CSS text and adds it to the document.
|
||||
* @private
|
||||
* @param {Document} ownerDocument The document.
|
||||
* @param {String} cssText The CSS text.
|
||||
* @returns {StyleSheet} The style element.
|
||||
*/
|
||||
function addStyleSheet(ownerDocument, cssText) {
|
||||
var p = ownerDocument.createElement('p'),
|
||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
||||
|
||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of `html5.elements` as an array.
|
||||
* @private
|
||||
* @returns {Array} An array of shived element node names.
|
||||
*/
|
||||
function getElements() {
|
||||
var elements = html5.elements;
|
||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
|
||||
* @private
|
||||
* @param {Document|DocumentFragment} ownerDocument The document.
|
||||
*/
|
||||
function shivMethods(ownerDocument) {
|
||||
var cache = {},
|
||||
docCreateElement = ownerDocument.createElement,
|
||||
docCreateFragment = ownerDocument.createDocumentFragment,
|
||||
frag = docCreateFragment();
|
||||
|
||||
ownerDocument.createElement = function(nodeName) {
|
||||
//abort shiv
|
||||
if(!html5.shivMethods){
|
||||
return docCreateElement(nodeName);
|
||||
}
|
||||
|
||||
var node;
|
||||
|
||||
if(cache[nodeName]){
|
||||
node = cache[nodeName].cloneNode();
|
||||
} else if(saveClones.test(nodeName)){
|
||||
node = (cache[nodeName] = docCreateElement(nodeName)).cloneNode();
|
||||
} else {
|
||||
node = docCreateElement(nodeName);
|
||||
}
|
||||
|
||||
// Avoid adding some elements to fragments in IE < 9 because
|
||||
// * Attributes like `name` or `type` cannot be set/changed once an element
|
||||
// is inserted into a document/fragment
|
||||
// * Link elements with `src` attributes that are inaccessible, as with
|
||||
// a 403 response, will cause the tab/window to crash
|
||||
// * Script elements appended to fragments will execute when their `src`
|
||||
// or `text` property is set
|
||||
return node.canHaveChildren && !reSkip.test(nodeName) ? frag.appendChild(node) : node;
|
||||
};
|
||||
|
||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
||||
'var n=f.cloneNode(),c=n.createElement;' +
|
||||
'h.shivMethods&&(' +
|
||||
// unroll the `createElement` calls
|
||||
getElements().join().replace(/\w+/g, function(nodeName) {
|
||||
docCreateElement(nodeName);
|
||||
frag.createElement(nodeName);
|
||||
return 'c("' + nodeName + '")';
|
||||
}) +
|
||||
');return n}'
|
||||
)(html5, frag);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Shivs the given document.
|
||||
* @memberOf html5
|
||||
* @param {Document} ownerDocument The document to shiv.
|
||||
* @returns {Document} The shived document.
|
||||
*/
|
||||
function shivDocument(ownerDocument) {
|
||||
var shived;
|
||||
if (ownerDocument.documentShived) {
|
||||
return ownerDocument;
|
||||
}
|
||||
if (html5.shivCSS && !supportsHtml5Styles) {
|
||||
shived = !!addStyleSheet(ownerDocument,
|
||||
// corrects block display not defined in IE6/7/8/9
|
||||
'article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}' +
|
||||
// corrects audio display not defined in IE6/7/8/9
|
||||
'audio{display:none}' +
|
||||
// corrects canvas and video display not defined in IE6/7/8/9
|
||||
'canvas,video{display:inline-block;*display:inline;*zoom:1}' +
|
||||
// corrects 'hidden' attribute and audio[controls] display not present in IE7/8/9
|
||||
'[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}' +
|
||||
// adds styling not present in IE6/7/8/9
|
||||
'mark{background:#FF0;color:#000}'
|
||||
);
|
||||
}
|
||||
if (!supportsUnknownElements) {
|
||||
shived = !shivMethods(ownerDocument);
|
||||
}
|
||||
if (shived) {
|
||||
ownerDocument.documentShived = shived;
|
||||
}
|
||||
return ownerDocument;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* The `html5` object is exposed so that more elements can be shived and
|
||||
* existing shiving can be detected on iframes.
|
||||
* @type Object
|
||||
* @example
|
||||
*
|
||||
* // options can be changed before the script is included
|
||||
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
|
||||
*/
|
||||
var html5 = {
|
||||
|
||||
/**
|
||||
* An array or space separated string of node names of the elements to shiv.
|
||||
* @memberOf html5
|
||||
* @type Array|String
|
||||
*/
|
||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
|
||||
|
||||
/**
|
||||
* A flag to indicate that the HTML5 style sheet should be inserted.
|
||||
* @memberOf html5
|
||||
* @type Boolean
|
||||
*/
|
||||
'shivCSS': !(options.shivCSS === false),
|
||||
|
||||
/**
|
||||
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
|
||||
* methods should be overwritten.
|
||||
* @memberOf html5
|
||||
* @type Boolean
|
||||
*/
|
||||
'shivMethods': !(options.shivMethods === false),
|
||||
|
||||
/**
|
||||
* A string to describe the type of `html5` object ("default" or "default print").
|
||||
* @memberOf html5
|
||||
* @type String
|
||||
*/
|
||||
'type': 'default',
|
||||
|
||||
// shivs the document according to the specified `html5` object options
|
||||
'shivDocument': shivDocument
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
// expose html5
|
||||
window.html5 = html5;
|
||||
|
||||
// shiv the document
|
||||
shivDocument(document);
|
||||
|
||||
}(this, document));
|
||||
@@ -1,4 +0,0 @@
|
||||
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
|
||||
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;iLine truncated
|
||||
f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.cLine truncated
|
||||
{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacitLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
-97
@@ -1,97 +0,0 @@
|
||||
// Knockout JavaScript library v2.0.0
|
||||
// (c) Steven Sanderson - http://knockoutjs.com/
|
||||
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
|
||||
(function(window,undefined){
|
||||
function c(a){throw a;}var l=void 0,m=!0,o=null,p=!1,r=window.ko={};r.b=function(a,b){for(var d=a.split("."),e=window,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=b};r.l=function(a,b,d){a[b]=d};
|
||||
r.a=new function(){function a(a,e){if("INPUT"!=a.tagName||!a.type)return p;if("click"!=e.toLowerCase())return p;var b=a.type.toLowerCase();return"checkbox"==b||"radio"==b}var b=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,d={},e={};d[/Firefox\/2/i.test(navigator.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];d.MouseEvents="click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave".split(",");for(var f in d){var h=d[f];if(h.length)for(var g=0,i=h.length;g<i;g++)e[h[g]]=
|
||||
f}var j=function(){for(var a=3,e=document.createElement("div"),b=e.getElementsByTagName("i");e.innerHTML="<\!--[if gt IE "+ ++a+"]><i></i><![endif]--\>",b[0];);return 4<a?a:l}();return{Ba:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],n:function(a,e){for(var b=0,f=a.length;b<f;b++)e(a[b])},k:function(a,e){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(a,e);for(var b=0,f=a.length;b<f;b++)if(a[b]===e)return b;return-1},Wa:function(a,e,b){for(var f=0,d=
|
||||
a.length;f<d;f++)if(e.call(b,a[f]))return a[f];return o},ca:function(a,e){var b=r.a.k(a,e);0<=b&&a.splice(b,1)},ya:function(a){for(var a=a||[],e=[],b=0,f=a.length;b<f;b++)0>r.a.k(e,a[b])&&e.push(a[b]);return e},ba:function(a,e){for(var a=a||[],b=[],f=0,d=a.length;f<d;f++)b.push(e(a[f]));return b},aa:function(a,e){for(var a=a||[],b=[],f=0,d=a.length;f<d;f++)e(a[f])&&b.push(a[f]);return b},J:function(a,e){for(var b=0,f=e.length;b<f;b++)a.push(e[b]);return a},extend:function(a,e){for(var b in e)e.hasOwnProperty(b)&&
|
||||
(a[b]=e[b]);return a},U:function(a){for(;a.firstChild;)r.removeNode(a.firstChild)},oa:function(a,e){r.a.U(a);e&&r.a.n(e,function(e){a.appendChild(e)})},Ja:function(a,e){var b=a.nodeType?[a]:a;if(0<b.length){for(var f=b[0],d=f.parentNode,h=0,g=e.length;h<g;h++)d.insertBefore(e[h],f);h=0;for(g=b.length;h<g;h++)r.removeNode(b[h])}},La:function(a,e){0<=navigator.userAgent.indexOf("MSIE 6")?a.setAttribute("selected",e):a.selected=e},z:function(a){return(a||"").replace(b,"")},Db:function(a,e){for(var b=
|
||||
[],f=(a||"").split(e),d=0,h=f.length;d<h;d++){var g=r.a.z(f[d]);""!==g&&b.push(g)}return b},Cb:function(a,e){a=a||"";return e.length>a.length?p:a.substring(0,e.length)===e},hb:function(a){for(var e=Array.prototype.slice.call(arguments,1),b="return ("+a+")",f=0;f<e.length;f++)e[f]&&"object"==typeof e[f]&&(b="with(sc["+f+"]) { "+b+" } ");return(new Function("sc",b))(e)},fb:function(a,e){if(e.compareDocumentPosition)return 16==(e.compareDocumentPosition(a)&16);for(;a!=o;){if(a==e)return m;a=a.parentNode}return p},
|
||||
ga:function(a){return r.a.fb(a,document)},s:function(e,b,f){if("undefined"!=typeof jQuery){if(a(e,b))var d=f,f=function(a,e){var b=this.checked;if(e)this.checked=e.Ya!==m;d.call(this,a);this.checked=b};jQuery(e).bind(b,f)}else"function"==typeof e.addEventListener?e.addEventListener(b,f,p):"undefined"!=typeof e.attachEvent?e.attachEvent("on"+b,function(a){f.call(e,a)}):c(Error("Browser doesn't support addEventListener or attachEvent"))},sa:function(b,f){(!b||!b.nodeType)&&c(Error("element must be a DOM node when calling triggerEvent"));
|
||||
if("undefined"!=typeof jQuery){var d=[];a(b,f)&&d.push({Ya:b.checked});jQuery(b).trigger(f,d)}else if("function"==typeof document.createEvent)"function"==typeof b.dispatchEvent?(d=document.createEvent(e[f]||"HTMLEvents"),d.initEvent(f,m,m,window,0,0,0,0,0,p,p,p,p,0,b),b.dispatchEvent(d)):c(Error("The supplied element doesn't support dispatchEvent"));else if("undefined"!=typeof b.fireEvent){if("click"==f&&"INPUT"==b.tagName&&("checkbox"==b.type.toLowerCase()||"radio"==b.type.toLowerCase()))b.checked=
|
||||
b.checked!==m;b.fireEvent("on"+f)}else c(Error("Browser doesn't support triggering events"))},d:function(a){return r.V(a)?a():a},eb:function(a,e){return 0<=r.a.k((a.className||"").split(/\s+/),e)},Qa:function(a,e,b){var f=r.a.eb(a,e);if(b&&!f)a.className=(a.className||"")+" "+e;else if(f&&!b){for(var b=(a.className||"").split(/\s+/),f="",d=0;d<b.length;d++)b[d]!=e&&(f+=b[d]+" ");a.className=r.a.z(f)}},outerHTML:function(a){if(j===l){var e=a.outerHTML;if("string"==typeof e)return e}e=window.document.createElement("div");
|
||||
e.appendChild(a.cloneNode(m));return e.innerHTML},Ma:function(a,e){var b=r.a.d(e);if(b===o||b===l)b="";"innerText"in a?a.innerText=b:a.textContent=b;if(9<=j)a.innerHTML=a.innerHTML},yb:function(a,e){for(var a=r.a.d(a),e=r.a.d(e),b=[],f=a;f<=e;f++)b.push(f);return b},X:function(a){for(var e=[],b=0,f=a.length;b<f;b++)e.push(a[b]);return e},ob:6===j,pb:7===j,Ca:function(a,e){for(var b=r.a.X(a.getElementsByTagName("INPUT")).concat(r.a.X(a.getElementsByTagName("TEXTAREA"))),f="string"==typeof e?function(a){return a.name===
|
||||
e}:function(a){return e.test(a.name)},d=[],h=b.length-1;0<=h;h--)f(b[h])&&d.push(b[h]);return d},vb:function(a){return"string"==typeof a&&(a=r.a.z(a))?window.JSON&&window.JSON.parse?window.JSON.parse(a):(new Function("return "+a))():o},qa:function(a){("undefined"==typeof JSON||"undefined"==typeof JSON.stringify)&&c(Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"));
|
||||
return JSON.stringify(r.a.d(a))},wb:function(a,e,b){var b=b||{},f=b.params||{},d=b.includeFields||this.Ba,h=a;if("object"==typeof a&&"FORM"==a.tagName)for(var h=a.action,g=d.length-1;0<=g;g--)for(var j=r.a.Ca(a,d[g]),i=j.length-1;0<=i;i--)f[j[i].name]=j[i].value;var e=r.a.d(e),u=document.createElement("FORM");u.style.display="none";u.action=h;u.method="post";for(var y in e)a=document.createElement("INPUT"),a.name=y,a.value=r.a.qa(r.a.d(e[y])),u.appendChild(a);for(y in f)a=document.createElement("INPUT"),
|
||||
a.name=y,a.value=f[y],u.appendChild(a);document.body.appendChild(u);b.submitter?b.submitter(u):u.submit();setTimeout(function(){u.parentNode.removeChild(u)},0)}}};r.b("ko.utils",r.a);
|
||||
r.a.n([["arrayForEach",r.a.n],["arrayFirst",r.a.Wa],["arrayFilter",r.a.aa],["arrayGetDistinctValues",r.a.ya],["arrayIndexOf",r.a.k],["arrayMap",r.a.ba],["arrayPushAll",r.a.J],["arrayRemoveItem",r.a.ca],["extend",r.a.extend],["fieldsIncludedWithJsonPost",r.a.Ba],["getFormFields",r.a.Ca],["postJson",r.a.wb],["parseJson",r.a.vb],["registerEventHandler",r.a.s],["stringifyJson",r.a.qa],["range",r.a.yb],["toggleDomNodeCssClass",r.a.Qa],["triggerEvent",r.a.sa],["unwrapObservable",r.a.d]],function(a){r.b("ko.utils."+
|
||||
a[0],a[1])});Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,d=Array.prototype.slice.call(arguments),a=d.shift();return function(){return b.apply(a,d.concat(Array.prototype.slice.call(arguments)))}});
|
||||
r.a.e=new function(){var a=0,b="__ko__"+(new Date).getTime(),d={};return{get:function(a,b){var d=r.a.e.getAll(a,p);return d===l?l:d[b]},set:function(a,b,d){d===l&&r.a.e.getAll(a,p)===l||(r.a.e.getAll(a,m)[b]=d)},getAll:function(e,f){var h=e[b];if(!(h&&"null"!==h)){if(!f)return;h=e[b]="ko"+a++;d[h]={}}return d[h]},clear:function(a){var f=a[b];f&&(delete d[f],a[b]=o)}}};r.b("ko.utils.domData",r.a.e);r.b("ko.utils.domData.clear",r.a.e.clear);
|
||||
r.a.A=new function(){function a(a,b){var h=r.a.e.get(a,d);h===l&&b&&(h=[],r.a.e.set(a,d,h));return h}function b(e){var b=a(e,p);if(b)for(var b=b.slice(0),d=0;d<b.length;d++)b[d](e);r.a.e.clear(e);"function"==typeof jQuery&&"function"==typeof jQuery.cleanData&&jQuery.cleanData([e])}var d="__ko_domNodeDisposal__"+(new Date).getTime();return{va:function(e,b){"function"!=typeof b&&c(Error("Callback must be a function"));a(e,m).push(b)},Ia:function(e,b){var h=a(e,p);h&&(r.a.ca(h,b),0==h.length&&r.a.e.set(e,
|
||||
d,l))},F:function(a){if(!(1!=a.nodeType&&9!=a.nodeType)){b(a);var f=[];r.a.J(f,a.getElementsByTagName("*"));for(var a=0,d=f.length;a<d;a++)b(f[a])}},removeNode:function(a){r.F(a);a.parentNode&&a.parentNode.removeChild(a)}}};r.F=r.a.A.F;r.removeNode=r.a.A.removeNode;r.b("ko.cleanNode",r.F);r.b("ko.removeNode",r.removeNode);r.b("ko.utils.domNodeDisposal",r.a.A);r.b("ko.utils.domNodeDisposal.addDisposeCallback",r.a.A.va);r.b("ko.utils.domNodeDisposal.removeDisposeCallback",r.a.A.Ia);
|
||||
r.a.ma=function(a){var b;if("undefined"!=typeof jQuery){if((b=jQuery.clean([a]))&&b[0]){for(a=b[0];a.parentNode&&11!==a.parentNode.nodeType;)a=a.parentNode;a.parentNode&&a.parentNode.removeChild(a)}}else{var d=r.a.z(a).toLowerCase();b=document.createElement("div");d=d.match(/^<(thead|tbody|tfoot)/)&&[1,"<table>","</table>"]||!d.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!d.indexOf("<td")||!d.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""];a="ignored<div>"+
|
||||
d[1]+a+d[2]+"</div>";for("function"==typeof window.innerShiv?b.appendChild(window.innerShiv(a)):b.innerHTML=a;d[0]--;)b=b.lastChild;b=r.a.X(b.lastChild.childNodes)}return b};r.a.Z=function(a,b){r.a.U(a);if(b!==o&&b!==l)if("string"!=typeof b&&(b=b.toString()),"undefined"!=typeof jQuery)jQuery(a).html(b);else for(var d=r.a.ma(b),e=0;e<d.length;e++)a.appendChild(d[e])};r.b("ko.utils.parseHtmlFragment",r.a.ma);r.b("ko.utils.setHtml",r.a.Z);
|
||||
r.r=function(){function a(){return(4294967296*(1+Math.random())|0).toString(16).substring(1)}function b(a,f){if(a)if(8==a.nodeType){var d=r.r.Ga(a.nodeValue);d!=o&&f.push({cb:a,tb:d})}else if(1==a.nodeType)for(var d=0,g=a.childNodes,i=g.length;d<i;d++)b(g[d],f)}var d={};return{ka:function(b){"function"!=typeof b&&c(Error("You can only pass a function to ko.memoization.memoize()"));var f=a()+a();d[f]=b;return"<\!--[ko_memo:"+f+"]--\>"},Ra:function(a,b){var h=d[a];h===l&&c(Error("Couldn't find any memo with ID "+
|
||||
a+". Perhaps it's already been unmemoized."));try{return h.apply(o,b||[]),m}finally{delete d[a]}},Sa:function(a,f){var d=[];b(a,d);for(var g=0,i=d.length;g<i;g++){var j=d[g].cb,k=[j];f&&r.a.J(k,f);r.r.Ra(d[g].tb,k);j.nodeValue="";j.parentNode&&j.parentNode.removeChild(j)}},Ga:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:o}}}();r.b("ko.memoization",r.r);r.b("ko.memoization.memoize",r.r.ka);r.b("ko.memoization.unmemoize",r.r.Ra);r.b("ko.memoization.parseMemoText",r.r.Ga);
|
||||
r.b("ko.memoization.unmemoizeDomNodeAndDescendants",r.r.Sa);r.Aa={throttle:function(a,b){a.throttleEvaluation=b;var d=o;return r.i({read:a,write:function(e){clearTimeout(d);d=setTimeout(function(){a(e)},b)}})},notify:function(a,b){a.equalityComparer="always"==b?function(){return p}:r.w.fn.equalityComparer;return a}};r.b("ko.extenders",r.Aa);r.Oa=function(a,b){this.da=a;this.bb=b;r.l(this,"dispose",this.v)};r.Oa.prototype.v=function(){this.nb=m;this.bb()};
|
||||
r.R=function(){this.u={};r.a.extend(this,r.R.fn);r.l(this,"subscribe",this.ra);r.l(this,"extend",this.extend);r.l(this,"getSubscriptionsCount",this.kb)};
|
||||
r.R.fn={ra:function(a,b,d){var d=d||"change",a=b?a.bind(b):a,e=new r.Oa(a,function(){r.a.ca(this.u[d],e)}.bind(this));this.u[d]||(this.u[d]=[]);this.u[d].push(e);return e},notifySubscribers:function(a,b){b=b||"change";this.u[b]&&r.a.n(this.u[b].slice(0),function(b){b&&b.nb!==m&&b.da(a)})},kb:function(){var a=0,b;for(b in this.u)this.u.hasOwnProperty(b)&&(a+=this.u[b].length);return a},extend:function(a){var b=this;if(a)for(var d in a){var e=r.Aa[d];"function"==typeof e&&(b=e(b,a[d]))}return b}};
|
||||
r.Ea=function(a){return"function"==typeof a.ra&&"function"==typeof a.notifySubscribers};r.b("ko.subscribable",r.R);r.b("ko.isSubscribable",r.Ea);r.T=function(){var a=[];return{Xa:function(b){a.push({da:b,za:[]})},end:function(){a.pop()},Ha:function(b){r.Ea(b)||c("Only subscribable things can act as dependencies");if(0<a.length){var d=a[a.length-1];0<=r.a.k(d.za,b)||(d.za.push(b),d.da(b))}}}}();var B={undefined:m,"boolean":m,number:m,string:m};
|
||||
r.w=function(a){function b(){if(0<arguments.length){if(!b.equalityComparer||!b.equalityComparer(d,arguments[0]))b.H(),d=arguments[0],b.G();return this}r.T.Ha(b);return d}var d=a;r.R.call(b);b.G=function(){b.notifySubscribers(d)};b.H=function(){b.notifySubscribers(d,"beforeChange")};r.a.extend(b,r.w.fn);r.l(b,"valueHasMutated",b.G);r.l(b,"valueWillMutate",b.H);return b};r.w.fn={B:r.w,equalityComparer:function(a,b){return a===o||typeof a in B?a===b:p}};
|
||||
r.V=function(a){return a===o||a===l||a.B===l?p:a.B===r.w?m:r.V(a.B)};r.P=function(a){return"function"==typeof a&&a.B===r.w?m:"function"==typeof a&&a.B===r.i&&a.lb?m:p};r.b("ko.observable",r.w);r.b("ko.isObservable",r.V);r.b("ko.isWriteableObservable",r.P);
|
||||
r.Q=function(a){0==arguments.length&&(a=[]);a!==o&&a!==l&&!("length"in a)&&c(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));var b=new r.w(a);r.a.extend(b,r.Q.fn);r.l(b,"remove",b.remove);r.l(b,"removeAll",b.zb);r.l(b,"destroy",b.fa);r.l(b,"destroyAll",b.ab);r.l(b,"indexOf",b.indexOf);r.l(b,"replace",b.replace);return b};
|
||||
r.Q.fn={remove:function(a){for(var b=this(),d=[],e="function"==typeof a?a:function(b){return b===a},f=0;f<b.length;f++){var h=b[f];e(h)&&(0===d.length&&this.H(),d.push(h),b.splice(f,1),f--)}d.length&&this.G();return d},zb:function(a){if(a===l){var b=this(),d=b.slice(0);this.H();b.splice(0,b.length);this.G();return d}return!a?[]:this.remove(function(b){return 0<=r.a.k(a,b)})},fa:function(a){var b=this(),d="function"==typeof a?a:function(b){return b===a};this.H();for(var e=b.length-1;0<=e;e--)d(b[e])&&
|
||||
(b[e]._destroy=m);this.G()},ab:function(a){return a===l?this.fa(function(){return m}):!a?[]:this.fa(function(b){return 0<=r.a.k(a,b)})},indexOf:function(a){var b=this();return r.a.k(b,a)},replace:function(a,b){var d=this.indexOf(a);0<=d&&(this.H(),this()[d]=b,this.G())}};r.a.n("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){r.Q.fn[a]=function(){var b=this();this.H();b=b[a].apply(b,arguments);this.G();return b}});
|
||||
r.a.n(["slice"],function(a){r.Q.fn[a]=function(){var b=this();return b[a].apply(b,arguments)}});r.b("ko.observableArray",r.Q);function C(a,b){a&&"object"==typeof a?b=a:(b=b||{},b.read=a||b.read);"function"!=typeof b.read&&c("Pass a function that returns the value of the dependentObservable");return b}
|
||||
r.i=function(a,b,d){function e(){r.a.n(q,function(a){a.v()});q=[]}function f(){var a=g.throttleEvaluation;a&&0<=a?(clearTimeout(v),v=setTimeout(h,a)):h()}function h(){if(j&&"function"==typeof d.disposeWhen&&d.disposeWhen())g.v();else{try{e();r.T.Xa(function(a){q.push(a.ra(f))});var a=d.read.call(d.owner||b);g.notifySubscribers(i,"beforeChange");i=a}finally{r.T.end()}g.notifySubscribers(i);j=m}}function g(){if(0<arguments.length)"function"===typeof d.write?d.write.apply(d.owner||b,arguments):c("Cannot write a value to a dependentObservable unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");
|
||||
else return j||h(),r.T.Ha(g),i}var i,j=p,d=C(a,d),k="object"==typeof d.disposeWhenNodeIsRemoved?d.disposeWhenNodeIsRemoved:o,n=o;if(k){n=function(){g.v()};r.a.A.va(k,n);var t=d.disposeWhen;d.disposeWhen=function(){return!r.a.ga(k)||"function"==typeof t&&t()}}var q=[],v=o;g.jb=function(){return q.length};g.lb="function"===typeof d.write;g.v=function(){k&&r.a.A.Ia(k,n);e()};r.R.call(g);r.a.extend(g,r.i.fn);d.deferEvaluation!==m&&h();r.l(g,"dispose",g.v);r.l(g,"getDependenciesCount",g.jb);return g};
|
||||
r.i.fn={B:r.i};r.i.B=r.w;r.b("ko.dependentObservable",r.i);r.b("ko.computed",r.i);
|
||||
(function(){function a(e,f,h){h=h||new d;e=f(e);if(!("object"==typeof e&&e!==o&&e!==l&&!(e instanceof Date)))return e;var g=e instanceof Array?[]:{};h.save(e,g);b(e,function(b){var d=f(e[b]);switch(typeof d){case "boolean":case "number":case "string":case "function":g[b]=d;break;case "object":case "undefined":var k=h.get(d);g[b]=k!==l?k:a(d,f,h)}});return g}function b(a,b){if(a instanceof Array)for(var d=0;d<a.length;d++)b(d);else for(d in a)b(d)}function d(){var a=[],b=[];this.save=function(d,g){var i=
|
||||
r.a.k(a,d);0<=i?b[i]=g:(a.push(d),b.push(g))};this.get=function(d){d=r.a.k(a,d);return 0<=d?b[d]:l}}r.Pa=function(b){0==arguments.length&&c(Error("When calling ko.toJS, pass the object you want to convert."));return a(b,function(a){for(var b=0;r.V(a)&&10>b;b++)a=a();return a})};r.toJSON=function(a){a=r.Pa(a);return r.a.qa(a)}})();r.b("ko.toJS",r.Pa);r.b("ko.toJSON",r.toJSON);
|
||||
r.h={q:function(a){return"OPTION"==a.tagName?a.__ko__hasDomDataOptionValue__===m?r.a.e.get(a,r.c.options.la):a.getAttribute("value"):"SELECT"==a.tagName?0<=a.selectedIndex?r.h.q(a.options[a.selectedIndex]):l:a.value},S:function(a,b){if("OPTION"==a.tagName)switch(typeof b){case "string":r.a.e.set(a,r.c.options.la,l);"__ko__hasDomDataOptionValue__"in a&&delete a.__ko__hasDomDataOptionValue__;a.value=b;break;default:r.a.e.set(a,r.c.options.la,b),a.__ko__hasDomDataOptionValue__=m,a.value="number"===typeof b?
|
||||
b:""}else if("SELECT"==a.tagName)for(var d=a.options.length-1;0<=d;d--){if(r.h.q(a.options[d])==b){a.selectedIndex=d;break}}else{if(b===o||b===l)b="";a.value=b}}};r.b("ko.selectExtensions",r.h);r.b("ko.selectExtensions.readValue",r.h.q);r.b("ko.selectExtensions.writeValue",r.h.S);
|
||||
r.j=function(){function a(a,e){for(var d=o;a!=d;)d=a,a=a.replace(b,function(a,b){return e[b]});return a}var b=/\@ko_token_(\d+)\@/g,d=/^[\_$a-z][\_$a-z0-9]*(\[.*?\])*(\.[\_$a-z][\_$a-z0-9]*(\[.*?\])*)*$/i,e=["true","false"];return{D:[],Y:function(b){var e=r.a.z(b);if(3>e.length)return[];"{"===e.charAt(0)&&(e=e.substring(1,e.length-1));for(var b=[],d=o,i,j=0;j<e.length;j++){var k=e.charAt(j);if(d===o)switch(k){case '"':case "'":case "/":d=j,i=k}else if(k==i&&"\\"!==e.charAt(j-1)){k=e.substring(d,j+
|
||||
1);b.push(k);var n="@ko_token_"+(b.length-1)+"@",e=e.substring(0,d)+n+e.substring(j+1),j=j-(k.length-n.length),d=o}}i=d=o;for(var t=0,q=o,j=0;j<e.length;j++){k=e.charAt(j);if(d===o)switch(k){case "{":d=j;q=k;i="}";break;case "(":d=j;q=k;i=")";break;case "[":d=j,q=k,i="]"}k===q?t++:k===i&&(t--,0===t&&(k=e.substring(d,j+1),b.push(k),n="@ko_token_"+(b.length-1)+"@",e=e.substring(0,d)+n+e.substring(j+1),j-=k.length-n.length,d=o))}i=[];e=e.split(",");d=0;for(j=e.length;d<j;d++)t=e[d],q=t.indexOf(":"),
|
||||
0<q&&q<t.length-1?(k=t.substring(q+1),i.push({key:a(t.substring(0,q),b),value:a(k,b)})):i.push({unknown:a(t,b)});return i},ia:function(a){for(var b="string"===typeof a?r.j.Y(a):a,g=[],a=[],i,j=0;i=b[j];j++)if(0<g.length&&g.push(","),i.key){var k;a:{k=i.key;var n=r.a.z(k);switch(n.length&&n.charAt(0)){case "'":case '"':break a;default:k="'"+n+"'"}}i=i.value;g.push(k);g.push(":");g.push(i);n=r.a.z(i);if(0<=r.a.k(e,r.a.z(n).toLowerCase())?0:n.match(d)!==o)0<a.length&&a.push(", "),a.push(k+" : function(__ko_value) { "+
|
||||
i+" = __ko_value; }")}else i.unknown&&g.push(i.unknown);b=g.join("");0<a.length&&(b=b+", '_ko_property_writers' : { "+a.join("")+" } ");return b},rb:function(a,b){for(var e=0;e<a.length;e++)if(r.a.z(a[e].key)==b)return m;return p}}}();r.b("ko.jsonExpressionRewriting",r.j);r.b("ko.jsonExpressionRewriting.bindingRewriteValidators",r.j.D);r.b("ko.jsonExpressionRewriting.parseObjectLiteral",r.j.Y);r.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",r.j.ia);
|
||||
(function(){function a(a){return 8==a.nodeType&&(f?a.text:a.nodeValue).match(h)}function b(a){return 8==a.nodeType&&(f?a.text:a.nodeValue).match(g)}function d(e,d){for(var f=e,g=1,h=[];f=f.nextSibling;){if(b(f)&&(g--,0===g))return h;h.push(f);a(f)&&g++}d||c(Error("Cannot find closing comment tag to match: "+e.nodeValue));return o}function e(a,b){var e=d(a,b);return e?0<e.length?e[e.length-1].nextSibling:a.nextSibling:o}var f="<\!--test--\>"===document.createComment("test").text,h=f?/^<\!--\s*ko\s+(.*\:.*)\s*--\>$/:
|
||||
/^\s*ko\s+(.*\:.*)\s*$/,g=f?/^<\!--\s*\/ko\s*--\>$/:/^\s*\/ko\s*$/,i={ul:m,ol:m};r.f={C:{},childNodes:function(b){return a(b)?d(b):b.childNodes},ha:function(b){if(a(b))for(var b=r.f.childNodes(b),e=0,d=b.length;e<d;e++)r.removeNode(b[e]);else r.a.U(b)},oa:function(b,e){if(a(b)){r.f.ha(b);for(var d=b.nextSibling,f=0,g=e.length;f<g;f++)d.parentNode.insertBefore(e[f],d)}else r.a.oa(b,e)},xb:function(b,e){a(b)?b.parentNode.insertBefore(e,b.nextSibling):b.firstChild?b.insertBefore(e,b.firstChild):b.appendChild(e)},
|
||||
mb:function(b,e,d){a(b)?b.parentNode.insertBefore(e,d.nextSibling):d.nextSibling?b.insertBefore(e,d.nextSibling):b.appendChild(e)},nextSibling:function(d){return a(d)?e(d).nextSibling:d.nextSibling&&b(d.nextSibling)?l:d.nextSibling},ta:function(b){return(b=a(b))?b[1]:o},ib:function(a){if(r.f.ta(a)){var b;b=r.f.childNodes(a);for(var e=[],d=0,f=b.length;d<f;d++)r.a.A.F(b[d]),e.push(r.a.outerHTML(b[d]));b=String.prototype.concat.apply("",e);r.f.ha(a);(new r.m.I(a)).text(b)}},Fa:function(d){if(i[d.tagName.toLowerCase()]){var f=
|
||||
d.firstChild;if(f){do if(1===f.nodeType){var g;g=f.firstChild;var h=o;if(g){do if(h)h.push(g);else if(a(g)){var q=e(g,m);q?g=q:h=[g]}else b(g)&&(h=[g]);while(g=g.nextSibling)}if(g=h){h=f.nextSibling;for(q=0;q<g.length;q++)h?d.insertBefore(g[q],h):d.appendChild(g[q])}}while(f=f.nextSibling)}}}}})();r.L=function(){};
|
||||
r.a.extend(r.L.prototype,{nodeHasBindings:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind")!=o;case 8:return r.f.ta(a)!=o;default:return p}},getBindings:function(a,b){var d=this.getBindingsString(a,b);return d?this.parseBindingsString(d,b):o},getBindingsString:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind");case 8:return r.f.ta(a);default:return o}},parseBindingsString:function(a,b){try{var d=b.$data,e=" { "+r.j.ia(a)+" } ";return r.a.hb(e,d===o?window:
|
||||
d,b)}catch(f){c(Error("Unable to parse bindings.\nMessage: "+f+";\nBindings value: "+a))}}});r.L.instance=new r.L;r.b("ko.bindingProvider",r.L);
|
||||
(function(){function a(a,d){for(var h,g=d.childNodes[0];h=g;)g=r.f.nextSibling(h),b(a,h,p)}function b(b,f,h){var g=m,i=1==f.nodeType;i&&r.f.Fa(f);if(i&&h||r.L.instance.nodeHasBindings(f))g=d(f,o,b,h).Bb;i&&g&&a(b,f)}function d(a,b,d,g){function i(a){return function(){return n[a]}}function j(){return n}var k=0;r.f.ib(a);var n,t;new r.i(function(){var q=d&&d instanceof r.K?d:new r.K(r.a.d(d)),v=q.$data;g&&r.Na(a,q);if(n=("function"==typeof b?b():b)||r.L.instance.getBindings(a,q)){if(0===k){k=1;for(var s in n){var w=
|
||||
r.c[s];w&&8===a.nodeType&&!r.f.C[s]&&c(Error("The binding '"+s+"' cannot be used with virtual elements"));if(w&&"function"==typeof w.init&&(w=(0,w.init)(a,i(s),j,v,q))&&w.controlsDescendantBindings)t!==l&&c(Error("Multiple bindings ("+t+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),t=s}k=2}if(2===k)for(s in n)(w=r.c[s])&&"function"==typeof w.update&&(0,w.update)(a,i(s),j,v,q)}},o,{disposeWhenNodeIsRemoved:a});
|
||||
return{Bb:t===l}}r.c={};r.K=function(a,b){this.$data=a;b?(this.$parent=b.$data,this.$parents=(b.$parents||[]).slice(0),this.$parents.unshift(this.$parent),this.$root=b.$root):(this.$parents=[],this.$root=a)};r.K.prototype.createChildContext=function(a){return new r.K(a,this)};r.Na=function(a,b){if(2==arguments.length)r.a.e.set(a,"__ko_bindingContext__",b);else return r.a.e.get(a,"__ko_bindingContext__")};r.xa=function(a,b,h){1===a.nodeType&&r.f.Fa(a);return d(a,b,h,m)};r.Ta=function(b,d){1===d.nodeType&&
|
||||
a(b,d)};r.wa=function(a,d){d&&1!==d.nodeType&&8!==d.nodeType&&c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));d=d||window.document.body;b(a,d,m)};r.ea=function(a){switch(a.nodeType){case 1:case 8:var b=r.Na(a);if(b)return b;if(a.parentNode)return r.ea(a.parentNode)}};r.$a=function(a){return(a=r.ea(a))?a.$data:l};r.b("ko.bindingHandlers",r.c);r.b("ko.applyBindings",r.wa);r.b("ko.applyBindingsToDescendants",r.Ta);r.b("ko.applyBindingsToNode",
|
||||
r.xa);r.b("ko.contextFor",r.ea);r.b("ko.dataFor",r.$a)})();r.a.n(["click"],function(a){r.c[a]={init:function(b,d,e,f){return r.c.event.init.call(this,b,function(){var b={};b[a]=d();return b},e,f)}}});
|
||||
r.c.event={init:function(a,b,d,e){var f=b()||{},h;for(h in f)(function(){var f=h;"string"==typeof f&&r.a.s(a,f,function(a){var h,k=b()[f];if(k){var n=d();try{var t=r.a.X(arguments);t.unshift(e);h=k.apply(e,t)}finally{if(h!==m)a.preventDefault?a.preventDefault():a.returnValue=p}if(n[f+"Bubble"]===p)a.cancelBubble=m,a.stopPropagation&&a.stopPropagation()}})})()}};
|
||||
r.c.submit={init:function(a,b,d,e){"function"!=typeof b()&&c(Error("The value for a submit binding must be a function"));r.a.s(a,"submit",function(d){var h,g=b();try{h=g.call(e,a)}finally{if(h!==m)d.preventDefault?d.preventDefault():d.returnValue=p}})}};r.c.visible={update:function(a,b){var d=r.a.d(b()),e="none"!=a.style.display;if(d&&!e)a.style.display="";else if(!d&&e)a.style.display="none"}};
|
||||
r.c.enable={update:function(a,b){var d=r.a.d(b());if(d&&a.disabled)a.removeAttribute("disabled");else if(!d&&!a.disabled)a.disabled=m}};r.c.disable={update:function(a,b){r.c.enable.update(a,function(){return!r.a.d(b())})}};function D(a,b,d){d&&b!==r.h.q(a)&&r.h.S(a,b);b!==r.h.q(a)&&r.a.sa(a,"change")}
|
||||
r.c.value={init:function(a,b,d){var e=["change"],f=d().valueUpdate;f&&("string"==typeof f&&(f=[f]),r.a.J(e,f),e=r.a.ya(e));r.a.n(e,function(e){var f=p;r.a.Cb(e,"after")&&(f=m,e=e.substring(5));var i=f?function(a){setTimeout(a,0)}:function(a){a()};r.a.s(a,e,function(){i(function(){var e=b(),f=r.h.q(a);r.P(e)?e(f):(e=d(),e._ko_property_writers&&e._ko_property_writers.value&&e._ko_property_writers.value(f))})})})},update:function(a,b){var d=r.a.d(b()),e=r.h.q(a),f=d!=e;0===d&&0!==e&&"0"!==e&&(f=m);f&&
|
||||
(e=function(){r.h.S(a,d)},e(),"SELECT"==a.tagName&&setTimeout(e,0));"SELECT"==a.tagName&&0<a.length&&D(a,d,p)}};
|
||||
r.c.options={update:function(a,b,d){"SELECT"!=a.tagName&&c(Error("options binding applies only to SELECT elements"));var e=0==a.length,f=r.a.ba(r.a.aa(a.childNodes,function(a){return a.tagName&&"OPTION"==a.tagName&&a.selected}),function(a){return r.h.q(a)||a.innerText||a.textContent}),h=a.scrollTop;a.scrollTop=0;for(var g=r.a.d(b());0<a.length;)r.F(a.options[0]),a.remove(0);if(g){d=d();"number"!=typeof g.length&&(g=[g]);if(d.optionsCaption){var i=document.createElement("OPTION");r.a.Z(i,d.optionsCaption);
|
||||
r.h.S(i,l);a.appendChild(i)}for(var b=0,j=g.length;b<j;b++){var i=document.createElement("OPTION"),k="string"==typeof d.optionsValue?g[b][d.optionsValue]:g[b],k=r.a.d(k);r.h.S(i,k);var n=d.optionsText,k="function"==typeof n?n(g[b]):"string"==typeof n?g[b][n]:k;if(k===o||k===l)k="";r.a.Ma(i,k);a.appendChild(i)}g=a.getElementsByTagName("OPTION");b=i=0;for(j=g.length;b<j;b++)0<=r.a.k(f,r.h.q(g[b]))&&(r.a.La(g[b],m),i++);if(h)a.scrollTop=h;e&&"value"in d&&D(a,r.a.d(d.value),m)}}};r.c.options.la="__ko.optionValueDomData__";
|
||||
r.c.selectedOptions={Da:function(a){for(var b=[],a=a.childNodes,d=0,e=a.length;d<e;d++){var f=a[d];"OPTION"==f.tagName&&f.selected&&b.push(r.h.q(f))}return b},init:function(a,b,d){r.a.s(a,"change",function(){var a=b();r.P(a)?a(r.c.selectedOptions.Da(this)):(a=d(),a._ko_property_writers&&a._ko_property_writers.value&&a._ko_property_writers.value(r.c.selectedOptions.Da(this)))})},update:function(a,b){"SELECT"!=a.tagName&&c(Error("values binding applies only to SELECT elements"));var d=r.a.d(b());if(d&&
|
||||
"number"==typeof d.length)for(var e=a.childNodes,f=0,h=e.length;f<h;f++){var g=e[f];"OPTION"==g.tagName&&r.a.La(g,0<=r.a.k(d,r.h.q(g)))}}};r.c.text={update:function(a,b){r.a.Ma(a,b())}};r.c.html={init:function(){return{controlsDescendantBindings:m}},update:function(a,b){var d=r.a.d(b());r.a.Z(a,d)}};r.c.css={update:function(a,b){var d=r.a.d(b()||{}),e;for(e in d)if("string"==typeof e){var f=r.a.d(d[e]);r.a.Qa(a,e,f)}}};
|
||||
r.c.style={update:function(a,b){var d=r.a.d(b()||{}),e;for(e in d)if("string"==typeof e){var f=r.a.d(d[e]);a.style[e]=f||""}}};r.c.uniqueName={init:function(a,b){if(b())a.name="ko_unique_"+ ++r.c.uniqueName.Za,(r.a.ob||r.a.pb)&&a.mergeAttributes(document.createElement("<input name='"+a.name+"'/>"),p)}};r.c.uniqueName.Za=0;
|
||||
r.c.checked={init:function(a,b,d){r.a.s(a,"click",function(){var e;if("checkbox"==a.type)e=a.checked;else if("radio"==a.type&&a.checked)e=a.value;else return;var f=b();"checkbox"==a.type&&r.a.d(f)instanceof Array?(e=r.a.k(r.a.d(f),a.value),a.checked&&0>e?f.push(a.value):!a.checked&&0<=e&&f.splice(e,1)):r.P(f)?f()!==e&&f(e):(f=d(),f._ko_property_writers&&f._ko_property_writers.checked&&f._ko_property_writers.checked(e))});"radio"==a.type&&!a.name&&r.c.uniqueName.init(a,function(){return m})},update:function(a,
|
||||
b){var d=r.a.d(b());if("checkbox"==a.type)a.checked=d instanceof Array?0<=r.a.k(d,a.value):d;else if("radio"==a.type)a.checked=a.value==d}};r.c.attr={update:function(a,b){var d=r.a.d(b())||{},e;for(e in d)if("string"==typeof e){var f=r.a.d(d[e]);f===p||f===o||f===l?a.removeAttribute(e):a.setAttribute(e,f.toString())}}};
|
||||
r.c.hasfocus={init:function(a,b,d){function e(a){var e=b();a!=r.a.d(e)&&(r.P(e)?e(a):(e=d(),e._ko_property_writers&&e._ko_property_writers.hasfocus&&e._ko_property_writers.hasfocus(a)))}r.a.s(a,"focus",function(){e(m)});r.a.s(a,"focusin",function(){e(m)});r.a.s(a,"blur",function(){e(p)});r.a.s(a,"focusout",function(){e(p)})},update:function(a,b){var d=r.a.d(b());d?a.focus():a.blur();r.a.sa(a,d?"focusin":"focusout")}};
|
||||
r.c["with"]={o:function(a){return function(){var b=a();return{"if":b,data:b,templateEngine:r.p.M}}},init:function(a,b){return r.c.template.init(a,r.c["with"].o(b))},update:function(a,b,d,e,f){return r.c.template.update(a,r.c["with"].o(b),d,e,f)}};r.j.D["with"]=p;r.f.C["with"]=m;r.c["if"]={o:function(a){return function(){return{"if":a(),templateEngine:r.p.M}}},init:function(a,b){return r.c.template.init(a,r.c["if"].o(b))},update:function(a,b,d,e,f){return r.c.template.update(a,r.c["if"].o(b),d,e,f)}};
|
||||
r.j.D["if"]=p;r.f.C["if"]=m;r.c.ifnot={o:function(a){return function(){return{ifnot:a(),templateEngine:r.p.M}}},init:function(a,b){return r.c.template.init(a,r.c.ifnot.o(b))},update:function(a,b,d,e,f){return r.c.template.update(a,r.c.ifnot.o(b),d,e,f)}};r.j.D.ifnot=p;r.f.C.ifnot=m;
|
||||
r.c.foreach={o:function(a){return function(){var b=r.a.d(a());return!b||"number"==typeof b.length?{foreach:b,templateEngine:r.p.M}:{foreach:b.data,includeDestroyed:b.includeDestroyed,afterAdd:b.afterAdd,beforeRemove:b.beforeRemove,afterRender:b.afterRender,templateEngine:r.p.M}}},init:function(a,b){return r.c.template.init(a,r.c.foreach.o(b))},update:function(a,b,d,e,f){return r.c.template.update(a,r.c.foreach.o(b),d,e,f)}};r.j.D.foreach=p;r.f.C.foreach=m;r.b("ko.allowedVirtualElementBindings",r.f.C);
|
||||
r.t=function(){};r.t.prototype.renderTemplateSource=function(){c("Override renderTemplateSource")};r.t.prototype.createJavaScriptEvaluatorBlock=function(){c("Override createJavaScriptEvaluatorBlock")};r.t.prototype.makeTemplateSource=function(a){if("string"==typeof a){var b=document.getElementById(a);b||c(Error("Cannot find template with ID "+a));return new r.m.g(b)}if(1==a.nodeType||8==a.nodeType)return new r.m.I(a);c(Error("Unknown template type: "+a))};
|
||||
r.t.prototype.renderTemplate=function(a,b,d){return this.renderTemplateSource(this.makeTemplateSource(a),b,d)};r.t.prototype.isTemplateRewritten=function(a){return this.allowTemplateRewriting===p?m:this.W&&this.W[a]?m:this.makeTemplateSource(a).data("isRewritten")};r.t.prototype.rewriteTemplate=function(a,b){var d=this.makeTemplateSource(a),e=b(d.text());d.text(e);d.data("isRewritten",m);if("string"==typeof a)this.W=this.W||{},this.W[a]=m};r.b("ko.templateEngine",r.t);
|
||||
r.$=function(){function a(a,b,d){for(var a=r.j.Y(a),g=r.j.D,i=0;i<a.length;i++){var j=a[i].key;if(g.hasOwnProperty(j)){var k=g[j];"function"===typeof k?(j=k(a[i].value))&&c(Error(j)):k||c(Error("This template engine does not support the '"+j+"' binding within its templates"))}}a="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+r.j.ia(a)+" } })() })";return d.createJavaScriptEvaluatorBlock(a)+b}var b=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,
|
||||
d=/<\!--\s*ko\b\s*([\s\S]*?)\s*--\>/g;return{gb:function(a,b){b.isTemplateRewritten(a)||b.rewriteTemplate(a,function(a){return r.$.ub(a,b)})},ub:function(e,f){return e.replace(b,function(b,e,d,j,k,n,t){return a(t,e,f)}).replace(d,function(b,e){return a(e,"<\!-- ko --\>",f)})},Ua:function(a){return r.r.ka(function(b,d){b.nextSibling&&r.xa(b.nextSibling,a,d)})}}}();r.b("ko.templateRewriting",r.$);r.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",r.$.Ua);r.m={};r.m.g=function(a){this.g=a};
|
||||
r.m.g.prototype.text=function(){if(0==arguments.length)return"script"==this.g.tagName.toLowerCase()?this.g.text:this.g.innerHTML;var a=arguments[0];"script"==this.g.tagName.toLowerCase()?this.g.text=a:r.a.Z(this.g,a)};r.m.g.prototype.data=function(a){if(1===arguments.length)return r.a.e.get(this.g,"templateSourceData_"+a);r.a.e.set(this.g,"templateSourceData_"+a,arguments[1])};r.m.I=function(a){this.g=a};r.m.I.prototype=new r.m.g;
|
||||
r.m.I.prototype.text=function(){if(0==arguments.length)return r.a.e.get(this.g,"__ko_anon_template__");r.a.e.set(this.g,"__ko_anon_template__",arguments[0])};r.b("ko.templateSources",r.m);r.b("ko.templateSources.domElement",r.m.g);r.b("ko.templateSources.anonymousTemplate",r.m.I);
|
||||
(function(){function a(a,b,d){for(var g=0;node=a[g];g++)node.parentNode===b&&(1===node.nodeType||8===node.nodeType)&&d(node)}function b(a,b,h,g,i){var i=i||{},j=i.templateEngine||d;r.$.gb(h,j);h=j.renderTemplate(h,g,i);("number"!=typeof h.length||0<h.length&&"number"!=typeof h[0].nodeType)&&c("Template engine must return an array of DOM nodes");j=p;switch(b){case "replaceChildren":r.f.oa(a,h);j=m;break;case "replaceNode":r.a.Ja(a,h);j=m;break;case "ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+
|
||||
b))}j&&(r.ua(h,g),i.afterRender&&i.afterRender(h,g.$data));return h}var d;r.pa=function(a){a!=l&&!(a instanceof r.t)&&c("templateEngine must inherit from ko.templateEngine");d=a};r.ua=function(b,d){var h=r.a.J([],b),g=0<b.length?b[0].parentNode:o;a(h,g,function(a){r.wa(d,a)});a(h,g,function(a){r.r.Sa(a,[d])})};r.na=function(a,f,h,g,i){h=h||{};(h.templateEngine||d)==l&&c("Set a template engine before calling renderTemplate");i=i||"replaceChildren";if(g){var j=g.nodeType?g:0<g.length?g[0]:o;return new r.i(function(){var d=
|
||||
f&&f instanceof r.K?f:new r.K(r.a.d(f)),n="function"==typeof a?a(d.$data):a,d=b(g,i,n,d,h);"replaceNode"==i&&(g=d,j=g.nodeType?g:0<g.length?g[0]:o)},o,{disposeWhen:function(){return!j||!r.a.ga(j)},disposeWhenNodeIsRemoved:j&&"replaceNode"==i?j.parentNode:j})}return r.r.ka(function(b){r.na(a,f,h,b,"replaceNode")})};r.Ab=function(a,d,h,g,i){function j(a,b){var d=k(a);r.ua(b,d);h.afterRender&&h.afterRender(b,d.$data)}function k(a){return i.createChildContext(r.a.d(a))}return new r.i(function(){var i=
|
||||
r.a.d(d)||[];"undefined"==typeof i.length&&(i=[i]);i=r.a.aa(i,function(a){return h.includeDestroyed||a===l||a===o||!r.a.d(a._destroy)});r.a.Ka(g,i,function(d){var f="function"==typeof a?a(d):a;return b(o,"ignoreTargetNode",f,k(d),h)},h,j)},o,{disposeWhenNodeIsRemoved:g})};r.c.template={init:function(a,b){var d=r.a.d(b());"string"!=typeof d&&!d.name&&1==a.nodeType&&((new r.m.I(a)).text(a.innerHTML),r.a.U(a));return{controlsDescendantBindings:m}},update:function(a,b,d,g,i){b=r.a.d(b());g=m;"string"==
|
||||
typeof b?d=b:(d=b.name,"if"in b&&(g=g&&r.a.d(b["if"])),"ifnot"in b&&(g=g&&!r.a.d(b.ifnot)));var j=o;"object"===typeof b&&"foreach"in b?j=r.Ab(d||a,g&&b.foreach||[],b,a,i):g?(i="object"==typeof b&&"data"in b?i.createChildContext(r.a.d(b.data)):i,j=r.na(d||a,i,b,a)):r.f.ha(a);i=j;(b=r.a.e.get(a,"__ko__templateSubscriptionDomDataKey__"))&&"function"==typeof b.v&&b.v();r.a.e.set(a,"__ko__templateSubscriptionDomDataKey__",i)}};r.j.D.template=function(a){a=r.j.Y(a);return 1==a.length&&a[0].unknown?o:r.j.rb(a,
|
||||
"name")?o:"This template engine does not support anonymous templates nested within its templates"};r.f.C.template=m})();r.b("ko.setTemplateEngine",r.pa);r.b("ko.renderTemplate",r.na);
|
||||
r.a.N=function(a,b,d){if(d===l)return r.a.N(a,b,1)||r.a.N(a,b,10)||r.a.N(a,b,Number.MAX_VALUE);for(var a=a||[],b=b||[],e=a,f=b,h=[],g=0;g<=f.length;g++)h[g]=[];for(var g=0,i=Math.min(e.length,d);g<=i;g++)h[0][g]=g;g=1;for(i=Math.min(f.length,d);g<=i;g++)h[g][0]=g;for(var i=e.length,j,k=f.length,g=1;g<=i;g++){j=Math.max(1,g-d);for(var n=Math.min(k,g+d);j<=n;j++)h[j][g]=e[g-1]===f[j-1]?h[j-1][g-1]:Math.min(h[j-1][g]===l?Number.MAX_VALUE:h[j-1][g]+1,h[j][g-1]===l?Number.MAX_VALUE:h[j][g-1]+1)}d=a.length;
|
||||
e=b.length;f=[];g=h[e][d];if(g===l)h=o;else{for(;0<d||0<e;){i=h[e][d];k=0<e?h[e-1][d]:g+1;n=0<d?h[e][d-1]:g+1;j=0<e&&0<d?h[e-1][d-1]:g+1;if(k===l||k<i-1)k=g+1;if(n===l||n<i-1)n=g+1;j<i-1&&(j=g+1);k<=n&&k<j?(f.push({status:"added",value:b[e-1]}),e--):(n<k&&n<j?f.push({status:"deleted",value:a[d-1]}):(f.push({status:"retained",value:a[d-1]}),e--),d--)}h=f.reverse()}return h};r.b("ko.utils.compareArrays",r.a.N);
|
||||
(function(){function a(a){if(2<a.length){for(var b=a[0],f=a[a.length-1],h=[b];b!==f;){b=b.nextSibling;if(!b)return;h.push(b)}Array.prototype.splice.apply(a,[0,a.length].concat(h))}}function b(b,e,f,h){var g=[],b=r.i(function(){var b=e(f)||[];0<g.length&&(a(g),r.a.Ja(g,b),h&&h(f,b));g.splice(0,g.length);r.a.J(g,b)},o,{disposeWhenNodeIsRemoved:b,disposeWhen:function(){return 0==g.length||!r.a.ga(g[0])}});return{sb:g,i:b}}r.a.Ka=function(d,e,f,h,g){for(var e=e||[],h=h||{},i=r.a.e.get(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===
|
||||
l,j=r.a.e.get(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],k=r.a.ba(j,function(a){return a.Va}),n=r.a.N(k,e),e=[],t=0,q=[],k=[],v=o,s=0,w=n.length;s<w;s++)switch(n[s].status){case "retained":var x=j[t];e.push(x);0<x.O.length&&(v=x.O[x.O.length-1]);t++;break;case "deleted":j[t].i.v();a(j[t].O);r.a.n(j[t].O,function(a){q.push({element:a,index:s,value:n[s].value});v=a});t++;break;case "added":var x=n[s].value,z=b(d,f,x,g),u=z.sb;e.push({Va:n[s].value,O:u,i:z.i});for(var z=0,y=u.length;z<
|
||||
y;z++){var A=u[z];k.push({element:A,index:s,value:n[s].value});v==o?r.f.xb(d,A):r.f.mb(d,A,v);v=A}g&&g(x,u)}r.a.n(q,function(a){r.F(a.element)});f=p;if(!i){if(h.afterAdd)for(s=0;s<k.length;s++)h.afterAdd(k[s].element,k[s].index,k[s].value);if(h.beforeRemove){for(s=0;s<q.length;s++)h.beforeRemove(q[s].element,q[s].index,q[s].value);f=m}}f||r.a.n(q,function(a){r.removeNode(a.element)});r.a.e.set(d,"setDomNodeChildrenFromArrayMapping_lastMappingResult",e)}})();
|
||||
r.b("ko.utils.setDomNodeChildrenFromArrayMapping",r.a.Ka);r.p=function(){this.allowTemplateRewriting=p};r.p.prototype=new r.t;r.p.prototype.renderTemplateSource=function(a){a=a.text();return r.a.ma(a)};r.p.M=new r.p;r.pa(r.p.M);r.b("ko.nativeTemplateEngine",r.p);
|
||||
(function(){r.ja=function(){var a=this.qb=function(){if("undefined"==typeof jQuery||!jQuery.tmpl)return 0;try{if(0<=jQuery.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(a){}return 1}();this.renderTemplateSource=function(d,e,f){f=f||{};2>a&&c(Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."));var h=d.data("precompiled");h||(h=d.text()||"",h=jQuery.template(o,"{{ko_with $item.koBindingContext}}"+h+"{{/ko_with}}"),d.data("precompiled",h));
|
||||
d=[e.$data];e=jQuery.extend({koBindingContext:e},f.templateOptions);e=jQuery.tmpl(h,d,e);e.appendTo(document.createElement("div"));jQuery.fragments={};return e};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,b){document.write("<script type='text/html' id='"+a+"'>"+b+"<\/script>")};if(0<a)jQuery.tmpl.tag.ko_code={open:"__.push($1 || '');"},jQuery.tmpl.tag.ko_with={open:"with($1) {",close:"} "}};r.ja.prototype=new r.t;
|
||||
var a=new r.ja;0<a.qb&&r.pa(a);r.b("ko.jqueryTmplTemplateEngine",r.ja)})();
|
||||
})(window);
|
||||
@@ -1 +0,0 @@
|
||||
(function(){var a={months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiem:{AM:"AM",am:"am",PM:"PM",pm:"pm"},calendar:{sameDay:"[I dag klokken] LT",nextDay:"[I morgen klokken] LT",nextWeek:"dddd [klokken] LT",lastDay:"[I går klokken] LT",lastWeek:"[Forrige] dddd [klokken] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinal:function(a){return"."}};typeof module!="undefined"&&(module.exports=a),typeof window!="undefined"&&this.moment&&this.moment.lang&&this.moment.lang("nb",a)})();
|
||||
-2
@@ -1,2 +0,0 @@
|
||||
/* Moment.js | version : 1.4.0 | author : Tim Wood | license : MIT */
|
||||
(function(a,b){function r(a){this._d=a}function s(a,b){var c=a+"";while(c.length<b)c="0"+c;return c}function t(b,c,d,e){var f=typeof c=="string",g=f?{}:c,h,i,j,k;return f&&e&&(g[c]=+e),h=(g.ms||g.milliseconds||0)+(g.s||g.seconds||0)*1e3+(g.m||g.minutes||0)*6e4+(g.h||g.hours||0)*36e5,i=(g.d||g.days||0)+(g.w||g.weeks||0)*7,j=(g.M||g.months||0)+(g.y||g.years||0)*12,h&&b.setTime(+b+h*d),i&&b.setDate(b.getDate()+i*d),j&&(k=b.getDate(),b.setDate(1),b.setMonth(b.getMonth()+j*d),b.setDate(Math.min((new a(b.getFullYear(),b.getMonth()+1,0)).getDate(),k))),b}function u(a){return Object.prototype.toString.call(a)==="[object Array]"}function v(b){return new a(b[0],b[1]||0,b[2]||1,b[3]||0,b[4]||0,b[5]||0,b[6]||0)}function w(b,d){function u(d){var e,j;switch(d){case"M":return f+1;case"Mo":return f+1+q(f+1);case"MM":return s(f+1,2);case"MMM":return c.monthsShort[f];case"MMMM":return c.months[f];case"D":return g;case"Do":return g+q(g);case"DD":return s(g,2);case"DDD":return e=new a(h,f,g),j=new a(h,0,1),~~((e-j)/864e5+1.5);case"DDDo":return e=u("DDD"),e+q(e);case"DDDD":return s(u("DDD"),3);case"d":return i;case"do":return i+q(i);case"ddd":return c.weekdaysShort[i];case"dddd":return c.weekdays[i];case"w":return e=new a(h,f,g-i+5),j=new a(e.getFullYear(),0,4),~~((e-j)/864e5/7+1.5);case"wo":return e=u("w"),e+q(e);case"ww":return s(u("w"),2);case"YY":return s(h%100,2);case"YYYY":return h;case"a":return m>11?t.pm:t.am;case"A":return m>11?t.PM:t.AM;case"H":return m;case"HH":return s(m,2);case"h":return m%12||12;case"hh":return s(m%12||12,2);case"m":return n;case"mm":return s(n,2);case"s":return o;case"ss":return s(o,2);case"zz":case"z":return(b.toString().match(l)||[""])[0].replace(k,"");case"Z":return(p>0?"+":"-")+s(~~(Math.abs(p)/60),2)+":"+s(~~(Math.abs(p)%60),2);case"ZZ":return(p>0?"+":"-")+s(~~(10*Math.abs(p)/6),4);case"L":case"LL":case"LLL":case"LLLL":case"LT":return w(b,c.longDateFormat[d]);default:return d.replace(/(^\[)|(\\)|\]$/g,"")}}var e=new r(b),f=e.month(),g=e.date(),h=e.year(),i=e.day(),m=e.hours(),n=e.minutes(),o=e.seconds(),p=-e.zone(),q=c.ordinal,t=c.meridiem;return d.replace(j,u)}function x(b,d){function p(a,b){var d;switch(a){case"M":case"MM":e[1]=~~b-1;break;case"MMM":case"MMMM":for(d=0;d<12;d++)if(c.monthsParse[d].test(b)){e[1]=d;break}break;case"D":case"DD":case"DDD":case"DDDD":e[2]=~~b;break;case"YY":b=~~b,e[0]=b+(b>70?1900:2e3);break;case"YYYY":e[0]=~~Math.abs(b);break;case"a":case"A":l=b.toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":e[3]=~~b;break;case"m":case"mm":e[4]=~~b;break;case"s":case"ss":e[5]=~~b;break;case"Z":case"ZZ":h=!0,d=(b||"").match(o),d&&d[1]&&(f=~~d[1]),d&&d[2]&&(g=~~d[2]),d&&d[0]==="+"&&(f=-f,g=-g)}}var e=[0,0,1,0,0,0,0],f=0,g=0,h=!1,i=b.match(n),j=d.match(m),k,l;for(k=0;k<j.length;k++)p(j[k],i[k]);return l&&e[3]<12&&(e[3]+=12),l===!1&&e[3]===12&&(e[3]=0),e[3]+=f,e[4]+=g,h?new a(a.UTC.apply({},e)):v(e)}function y(a,b){var c=Math.min(a.length,b.length),d=Math.abs(a.length-b.length),e=0,f;for(f=0;f<c;f++)~~a[f]!==~~b[f]&&e++;return e+d}function z(a,b){var c,d=a.match(n),e=[],f=99,g,h,i;for(g=0;g<b.length;g++)h=x(a,b[g]),i=y(d,w(h,b[g]).match(n)),i<f&&(f=i,c=h);return c}function A(a,b,d){var e=c.relativeTime[a];return typeof e=="function"?e(b||1,!!d,a):e.replace(/%d/i,b||1)}function B(a,b){var c=d(Math.abs(a)/1e3),e=d(c/60),f=d(e/60),g=d(f/24),h=d(g/365),i=c<45&&["s",c]||e===1&&["m"]||e<45&&["mm",e]||f===1&&["h"]||f<22&&["hh",f]||g===1&&["d"]||g<=25&&["dd",g]||g<=45&&["M"]||g<345&&["MM",d(g/30)]||h===1&&["y"]||["yy",h];return i[2]=b,A.apply({},i)}function C(a,b){c.fn[a]=function(a){return a!=null?(this._d["set"+b](a),this):this._d["get"+b]()}}var c,d=Math.round,e={},f=typeof module!="undefined",g="months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),h,i=/^\/?Date\((\d+)/i,j=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|zz?|ZZ?|LT|LL?L?L?)/g,k=/[^A-Z]/g,l=/\([A-Za-z ]+\)|:[0-9]{2} [A-Z]{3} /g,m=/(\\)?(MM?M?M?|dd?d?d|DD?D?D?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|ZZ?|T)/g,n=/(\\)?([0-9]+|([a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+|([\+\-]\d\d:?\d\d))/gi,o=/([\+\-]|\d\d)/gi,p="1.4.0",q="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|");c=function(c,d){if(c===null)return null;var e,f;return c&&c._d instanceof a?e=new a(+c._d):d?u(d)?e=z(c,d):e=x(c,d):(f=i.exec(c),e=c===b?new a:f?new a(+f[1]):c instanceof a?c:u(c)?v(c):new a(c)),new r(e)},c.version=p,c.lang=function(a,b){var d,h,i,j=[];if(b){for(d=0;d<12;d++)j[d]=new RegExp("^"+b.months[d]+"|^"+b.monthsShort[d].replace(".",""),"i");b.monthsParse=b.monthsParse||j,e[a]=b}if(e[a])for(d=0;d<g.length;d++)h=g[d],c[h]=e[a][h]||c[h];else f&&(i=require("./lang/"+a),c.lang(a,i))},c.lang("en",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_FriLine truncated
|
||||
@@ -1,177 +0,0 @@
|
||||
$(document).ready(function () {
|
||||
function getEvents(programModel) {
|
||||
var params = {
|
||||
targetURL: "http://new.neuf.no/api/events/get_upcoming/",
|
||||
successCallback: parseProgramData,
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
console.log("Could not fetch calendar data!");
|
||||
console.log(jqXHR);
|
||||
console.log(textStatus);
|
||||
console.log(errorThrown);
|
||||
}
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: params.targetURL,
|
||||
type: "GET",
|
||||
dataType: "jsonp",
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
params.successCallback(data, programModel);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
params.errorCallback(jqXHR, textStatus, errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function dateToId(date) {
|
||||
return date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate()
|
||||
}
|
||||
|
||||
function weekToId(date) {
|
||||
return date.getFullYear() + "-" + date.getWeek();
|
||||
}
|
||||
|
||||
function parseProgramData(data, programModel) {
|
||||
var events = programModel.events();
|
||||
for (var i = 0; i < data.events.length; i++) {
|
||||
events.push(new Event(data.events[i]));
|
||||
}
|
||||
|
||||
_.each(events, function (event) {
|
||||
var day = programModel.days[dateToId(event.startTime)];
|
||||
if (day !== undefined) { //If the event date is past our program window we ignore it (or if it is a sunday)
|
||||
day.events.push(event);
|
||||
}
|
||||
});
|
||||
|
||||
var eventTypes = [];
|
||||
_.each(events, function(event) {
|
||||
eventTypes.push(event.eventType);
|
||||
});
|
||||
|
||||
_.each(_.uniq(eventTypes), function(eventTypeName) {
|
||||
var eventType = new EventType(eventTypeName);
|
||||
|
||||
eventType.checked.subscribe(function (newValue) {
|
||||
if (newValue) {
|
||||
programModel.checkedEvents.push(eventTypeName);
|
||||
}
|
||||
else {
|
||||
programModel.checkedEvents.remove(eventTypeName);
|
||||
}
|
||||
});
|
||||
programModel.eventTypes.push(eventType);
|
||||
});
|
||||
$('#load-spinner').hide();
|
||||
$('#content').fadeIn();
|
||||
}
|
||||
|
||||
var Event = function (rawEvent) {
|
||||
this.id = rawEvent.id;
|
||||
this.title = rawEvent.title;
|
||||
this.author = rawEvent.author;
|
||||
this.content = rawEvent.content;
|
||||
this.uri = rawEvent.uri;
|
||||
this.startTime = new Date(parseInt(rawEvent.custom_fields._neuf_events_starttime[0]) * 1000);
|
||||
this.time = this.startTime.toString("HH:mm");
|
||||
this.endTime = new Date(parseInt(rawEvent.custom_fields._neuf_events_endtime[0]) * 1000);
|
||||
this.venue = rawEvent.custom_fields._neuf_events_venue[0];
|
||||
this.thumbnailURI = rawEvent.attachments.length > 0 ? rawEvent.attachments[0].images["two-column-thumb"].url : undefined;
|
||||
this.eventType = rawEvent.event;
|
||||
}
|
||||
|
||||
var Week = function(id, days) {
|
||||
this.id = id;
|
||||
this.days = days
|
||||
}
|
||||
|
||||
var Day = function (id, dateAsHeader, events, programModel) {
|
||||
this.id = id;
|
||||
this.dateAsHeader = dateAsHeader;
|
||||
this.events = ko.observableArray(events);
|
||||
this.programModel = programModel;
|
||||
|
||||
var that = this;
|
||||
this.filteredEvents = ko.computed(function () {
|
||||
var checkedEvents = that.programModel.checkedEvents();
|
||||
|
||||
if (checkedEvents.length == 0) {
|
||||
return that.events();
|
||||
}
|
||||
|
||||
return ko.utils.arrayFilter(that.events(), function (event) {
|
||||
return _.contains(checkedEvents, event.eventType);
|
||||
});
|
||||
}, this);
|
||||
|
||||
this.hideElement = function(elem) {
|
||||
if (elem.nodeType === 1) $(elem).slideUp(function() { $(elem).remove(); })
|
||||
}
|
||||
}
|
||||
|
||||
var EventType = function(name) {
|
||||
this.name = name;
|
||||
this.checked = ko.observable(false);
|
||||
}
|
||||
|
||||
//Fill view model with empty days that will be filled as events are fetched from the server
|
||||
var programModel = {};
|
||||
|
||||
var days = {};
|
||||
//Next five weeks
|
||||
var nextWeeks = ko.observableArray();
|
||||
|
||||
var eventTypes = ko.observableArray();
|
||||
|
||||
programModel.events = ko.observableArray();
|
||||
programModel.checkedEvents = ko.observableArray();
|
||||
|
||||
for (var i = 0; i < 5; i = i + 1) {
|
||||
var week = Date.today().add(i).weeks();
|
||||
|
||||
//Make sure the week Date object is set to the monday of the current week
|
||||
if (!week.is().monday()) {
|
||||
week = week.previous().monday();
|
||||
}
|
||||
|
||||
var weekDays = ko.observableArray();
|
||||
for (var j = 0; j < 6; j = j + 1) { //Ignore sundays
|
||||
var thisDay;
|
||||
if (Date.today().is().monday()) {
|
||||
thisDay = Date.today().add(i).weeks().add(j).days();
|
||||
}
|
||||
else {
|
||||
thisDay = Date.today().previous().monday().add(i).weeks().add(j).days()
|
||||
}
|
||||
var dayId = dateToId(thisDay);
|
||||
var day = new Day(dayId, neuf.util.capitalize(thisDay.toString("dddd d/M")), [], programModel);
|
||||
weekDays.push(day);
|
||||
days[dayId] = day;
|
||||
}
|
||||
|
||||
nextWeeks.push(new Week(weekToId(week), weekDays));
|
||||
}
|
||||
|
||||
programModel.weeks = nextWeeks;
|
||||
programModel.eventTypes = eventTypes;
|
||||
programModel.days = days;
|
||||
|
||||
ko.bindingHandlers.fadeVisible = {
|
||||
init: function (element, valueAccessor) {
|
||||
// Initially set the element to be instantly visible/hidden depending on the value
|
||||
console.log("init");
|
||||
var value = valueAccessor();
|
||||
$(element).toggle(ko.utils.unwrapObservable(value)); // Use "unwrapObservable" so we can handle values that may or may not be observable
|
||||
},
|
||||
update: function (element, valueAccessor) {
|
||||
// Whenever the value subsequently changes, slowly fade the element in or out
|
||||
var value = valueAccessor();
|
||||
ko.utils.unwrapObservable(value) ? $(element).fadeIn() : $(element).fadeOut();
|
||||
console.log("teh");
|
||||
}
|
||||
}
|
||||
|
||||
ko.applyBindings(programModel);
|
||||
getEvents(programModel);
|
||||
});
|
||||
@@ -1,145 +0,0 @@
|
||||
/**
|
||||
* @version: 1.0 Alpha-1
|
||||
* @author: Coolite Inc. http://www.coolite.com/
|
||||
* @date: 2008-05-13
|
||||
* @copyright: Copyright (c) 2006-2008, Coolite Inc. (http://www.coolite.com/). All rights reserved.
|
||||
* @license: Licensed under The MIT License. See license.txt and http://www.datejs.com/license/.
|
||||
* @website: http://www.datejs.com/
|
||||
*/
|
||||
Date.CultureInfo={name:"nb-NO",englishName:"Norwegian, Bokmål (Norway)",nativeName:"norsk, bokmål (Norge)",dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],abbreviatedDayNames:["sø","ma","ti","on","to","fr","lø"],shortestDayNames:["sø","ma","ti","on","to","fr","lø"],firstLetterDayNames:["s","m","t","o","t","f","l"],monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],abbreviatedMonthNames:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],amDesignator:"",pmDesignator:"",firstDayOfWeek:1,twoDigitYearMax:2029,dateElementOrder:"dmy",formatPatterns:{shortDate:"dd.MM.yyyy",longDate:"d. MMMM yyyy",shortTime:"HH:mm",longTime:"HH:mm:ss",fullDateTime:"d. MMMM yyyy HH:mm:ss",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"d. MMMM",yearMonth:"MMMM yyyy"},regexPatterns:{jan:/^jan(uar)?/i,feb:/^feb(ruar)?/i,mar:/^mar(s)?/i,apr:/^apr(il)?/i,may:/^mai/i,jun:/^jun(i)?/i,jul:/^jul(i)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^okt(ober)?/i,nov:/^nov(ember)?/i,dec:/^des(ember)?/i,sun:/^søndag/i,mon:/^mandag/i,tue:/^tirsdag/i,wed:/^onsdag/i,thu:/^torsdag/i,fri:/^fredag/i,sat:/^lørdag/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|aft(er)?|from|hence)/i,subtract:/^(\-|bef(ore)?|ago)/i,yesterday:/^yes(terday)?/i,today:/^t(od(ay)?)?/i,tomorrow:/^tom(orrow)?/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^mn|min(ute)?s?/i,hour:/^h(our)?s?/i,week:/^w(eek)?s?/i,month:/^m(onth)?s?/i,day:/^d(ay)?s?/i,year:/^y(ear)?s?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a(?!u|p)|p)/i},timezones:[{name:"UTC",offset:"-000"},{name:"GMT",offset:"-000"},{name:"EST",offset:"-0500"},{name:"EDT",offset:"-0400"},{name:"CST",offset:"-0600"},{name:"CDT",offset:"-0500"},{name:"MST",offset:"-0700"},{name:"MDT",offset:"-0600"},{name:"PST",offset:"-0800"},{name:"PDT",offset:"-0700"}]};
|
||||
(function(){var $D=Date,$P=$D.prototype,$C=$D.CultureInfo,p=function(s,l){if(!l){l=2;}
|
||||
return("000"+s).slice(l*-1);};$P.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this;};$P.setTimeToNow=function(){var n=new Date();this.setHours(n.getHours());this.setMinutes(n.getMinutes());this.setSeconds(n.getSeconds());this.setMilliseconds(n.getMilliseconds());return this;};$D.today=function(){return new Date().clearTime();};$D.compare=function(date1,date2){if(isNaN(date1)||isNaN(date2)){throw new Error(date1+" - "+date2);}else if(date1 instanceof Date&&date2 instanceof Date){return(date1<date2)?-1:(date1>date2)?1:0;}else{throw new TypeError(date1+" - "+date2);}};$D.equals=function(date1,date2){return(date1.compareTo(date2)===0);};$D.getDayNumberFromName=function(name){var n=$C.dayNames,m=$C.abbreviatedDayNames,o=$C.shortestDayNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s||o[i].toLowerCase()==s){return i;}}
|
||||
return-1;};$D.getMonthNumberFromName=function(name){var n=$C.monthNames,m=$C.abbreviatedMonthNames,s=name.toLowerCase();for(var i=0;i<n.length;i++){if(n[i].toLowerCase()==s||m[i].toLowerCase()==s){return i;}}
|
||||
return-1;};$D.isLeapYear=function(year){return((year%4===0&&year%100!==0)||year%400===0);};$D.getDaysInMonth=function(year,month){return[31,($D.isLeapYear(year)?29:28),31,30,31,30,31,31,30,31,30,31][month];};$D.getTimezoneAbbreviation=function(offset){var z=$C.timezones,p;for(var i=0;i<z.length;i++){if(z[i].offset===offset){return z[i].name;}}
|
||||
return null;};$D.getTimezoneOffset=function(name){var z=$C.timezones,p;for(var i=0;i<z.length;i++){if(z[i].name===name.toUpperCase()){return z[i].offset;}}
|
||||
return null;};$P.clone=function(){return new Date(this.getTime());};$P.compareTo=function(date){return Date.compare(this,date);};$P.equals=function(date){return Date.equals(this,date||new Date());};$P.between=function(start,end){return this.getTime()>=start.getTime()&&this.getTime()<=end.getTime();};$P.isAfter=function(date){return this.compareTo(date||new Date())===1;};$P.isBefore=function(date){return(this.compareTo(date||new Date())===-1);};$P.isToday=function(){return this.isSameDay(new Date());};$P.isSameDay=function(date){return this.clone().clearTime().equals(date.clone().clearTime());};$P.addMilliseconds=function(value){this.setMilliseconds(this.getMilliseconds()+value);return this;};$P.addSeconds=function(value){return this.addMilliseconds(value*1000);};$P.addMinutes=function(value){return this.addMilliseconds(value*60000);};$P.addHours=function(value){return this.addMilliseconds(value*3600000);};$P.addDays=function(value){this.setDate(this.getDate()+value);return this;};$P.addWeeks=function(value){return this.addDays(value*7);};$P.addMonths=function(value){var n=this.getDate();this.setDate(1);this.setMonth(this.getMonth()+value);this.setDate(Math.min(n,$D.getDaysInMonth(this.getFullYear(),this.getMonth())));return this;};$P.addYears=function(value){return this.addMonths(value*12);};$P.add=function(config){if(typeof config=="number"){this._orient=config;return this;}
|
||||
var x=config;if(x.milliseconds){this.addMilliseconds(x.milliseconds);}
|
||||
if(x.seconds){this.addSeconds(x.seconds);}
|
||||
if(x.minutes){this.addMinutes(x.minutes);}
|
||||
if(x.hours){this.addHours(x.hours);}
|
||||
if(x.weeks){this.addWeeks(x.weeks);}
|
||||
if(x.months){this.addMonths(x.months);}
|
||||
if(x.years){this.addYears(x.years);}
|
||||
if(x.days){this.addDays(x.days);}
|
||||
return this;};var $y,$m,$d;$P.getWeek=function(){var a,b,c,d,e,f,g,n,s,w;$y=(!$y)?this.getFullYear():$y;$m=(!$m)?this.getMonth()+1:$m;$d=(!$d)?this.getDate():$d;if($m<=2){a=$y-1;b=(a/4|0)-(a/100|0)+(a/400|0);c=((a-1)/4|0)-((a-1)/100|0)+((a-1)/400|0);s=b-c;e=0;f=$d-1+(31*($m-1));}else{a=$y;b=(a/4|0)-(a/100|0)+(a/400|0);c=((a-1)/4|0)-((a-1)/100|0)+((a-1)/400|0);s=b-c;e=s+1;f=$d+((153*($m-3)+2)/5)+58+s;}
|
||||
g=(a+b)%7;d=(f+g-e)%7;n=(f+3-d)|0;if(n<0){w=53-((g-s)/5|0);}else if(n>364+s){w=1;}else{w=(n/7|0)+1;}
|
||||
$y=$m=$d=null;return w;};$P.getISOWeek=function(){$y=this.getUTCFullYear();$m=this.getUTCMonth()+1;$d=this.getUTCDate();return p(this.getWeek());};$P.setWeek=function(n){return this.moveToDayOfWeek(1).addWeeks(n-this.getWeek());};$D._validate=function(n,min,max,name){if(typeof n=="undefined"){return false;}else if(typeof n!="number"){throw new TypeError(n+" is not a Number.");}else if(n<min||n>max){throw new RangeError(n+" is not a valid value for "+name+".");}
|
||||
return true;};$D.validateMillisecond=function(value){return $D._validate(value,0,999,"millisecond");};$D.validateSecond=function(value){return $D._validate(value,0,59,"second");};$D.validateMinute=function(value){return $D._validate(value,0,59,"minute");};$D.validateHour=function(value){return $D._validate(value,0,23,"hour");};$D.validateDay=function(value,year,month){return $D._validate(value,1,$D.getDaysInMonth(year,month),"day");};$D.validateMonth=function(value){return $D._validate(value,0,11,"month");};$D.validateYear=function(value){return $D._validate(value,0,9999,"year");};$P.set=function(config){if($D.validateMillisecond(config.millisecond)){this.addMilliseconds(config.millisecond-this.getMilliseconds());}
|
||||
if($D.validateSecond(config.second)){this.addSeconds(config.second-this.getSeconds());}
|
||||
if($D.validateMinute(config.minute)){this.addMinutes(config.minute-this.getMinutes());}
|
||||
if($D.validateHour(config.hour)){this.addHours(config.hour-this.getHours());}
|
||||
if($D.validateMonth(config.month)){this.addMonths(config.month-this.getMonth());}
|
||||
if($D.validateYear(config.year)){this.addYears(config.year-this.getFullYear());}
|
||||
if($D.validateDay(config.day,this.getFullYear(),this.getMonth())){this.addDays(config.day-this.getDate());}
|
||||
if(config.timezone){this.setTimezone(config.timezone);}
|
||||
if(config.timezoneOffset){this.setTimezoneOffset(config.timezoneOffset);}
|
||||
if(config.week&&$D._validate(config.week,0,53,"week")){this.setWeek(config.week);}
|
||||
return this;};$P.moveToFirstDayOfMonth=function(){return this.set({day:1});};$P.moveToLastDayOfMonth=function(){return this.set({day:$D.getDaysInMonth(this.getFullYear(),this.getMonth())});};$P.moveToNthOccurrence=function(dayOfWeek,occurrence){var shift=0;if(occurrence>0){shift=occurrence-1;}
|
||||
else if(occurrence===-1){this.moveToLastDayOfMonth();if(this.getDay()!==dayOfWeek){this.moveToDayOfWeek(dayOfWeek,-1);}
|
||||
return this;}
|
||||
return this.moveToFirstDayOfMonth().addDays(-1).moveToDayOfWeek(dayOfWeek,+1).addWeeks(shift);};$P.moveToDayOfWeek=function(dayOfWeek,orient){var diff=(dayOfWeek-this.getDay()+7*(orient||+1))%7;return this.addDays((diff===0)?diff+=7*(orient||+1):diff);};$P.moveToMonth=function(month,orient){var diff=(month-this.getMonth()+12*(orient||+1))%12;return this.addMonths((diff===0)?diff+=12*(orient||+1):diff);};$P.getOrdinalNumber=function(){return Math.ceil((this.clone().clearTime()-new Date(this.getFullYear(),0,1))/86400000)+1;};$P.getTimezone=function(){return $D.getTimezoneAbbreviation(this.getUTCOffset());};$P.setTimezoneOffset=function(offset){var here=this.getTimezoneOffset(),there=Number(offset)*-6/10;return this.addMinutes(there-here);};$P.setTimezone=function(offset){return this.setTimezoneOffset($D.getTimezoneOffset(offset));};$P.hasDaylightSavingTime=function(){return(Date.today().set({month:0,day:1}).getTimezoneOffset()!==Date.today().set({month:6,day:1}).getTimezoneOffset());};$P.isDaylightSavingTime=function(){return(this.hasDaylightSavingTime()&&new Date().getTimezoneOffset()===Date.today().set({month:6,day:1}).getTimezoneOffset());};$P.getUTCOffset=function(){var n=this.getTimezoneOffset()*-10/6,r;if(n<0){r=(n-10000).toString();return r.charAt(0)+r.substr(2);}else{r=(n+10000).toString();return"+"+r.substr(1);}};$P.getElapsed=function(date){return(date||new Date())-this;};if(!$P.toISOString){$P.toISOString=function(){function f(n){return n<10?'0'+n:n;}
|
||||
return'"'+this.getUTCFullYear()+'-'+
|
||||
f(this.getUTCMonth()+1)+'-'+
|
||||
f(this.getUTCDate())+'T'+
|
||||
f(this.getUTCHours())+':'+
|
||||
f(this.getUTCMinutes())+':'+
|
||||
f(this.getUTCSeconds())+'Z"';};}
|
||||
$P._toString=$P.toString;$P.toString=function(format){var x=this;if(format&&format.length==1){var c=$C.formatPatterns;x.t=x.toString;switch(format){case"d":return x.t(c.shortDate);case"D":return x.t(c.longDate);case"F":return x.t(c.fullDateTime);case"m":return x.t(c.monthDay);case"r":return x.t(c.rfc1123);case"s":return x.t(c.sortableDateTime);case"t":return x.t(c.shortTime);case"T":return x.t(c.longTime);case"u":return x.t(c.universalSortableDateTime);case"y":return x.t(c.yearMonth);}}
|
||||
var ord=function(n){switch(n*1){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};return format?format.replace(/(\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S)/g,function(m){if(m.charAt(0)==="\\"){return m.replace("\\","");}
|
||||
x.h=x.getHours;switch(m){case"hh":return p(x.h()<13?(x.h()===0?12:x.h()):(x.h()-12));case"h":return x.h()<13?(x.h()===0?12:x.h()):(x.h()-12);case"HH":return p(x.h());case"H":return x.h();case"mm":return p(x.getMinutes());case"m":return x.getMinutes();case"ss":return p(x.getSeconds());case"s":return x.getSeconds();case"yyyy":return p(x.getFullYear(),4);case"yy":return p(x.getFullYear());case"dddd":return $C.dayNames[x.getDay()];case"ddd":return $C.abbreviatedDayNames[x.getDay()];case"dd":return p(x.getDate());case"d":return x.getDate();case"MMMM":return $C.monthNames[x.getMonth()];case"MMM":return $C.abbreviatedMonthNames[x.getMonth()];case"MM":return p((x.getMonth()+1));case"M":return x.getMonth()+1;case"t":return x.h()<12?$C.amDesignator.substring(0,1):$C.pmDesignator.substring(0,1);case"tt":return x.h()<12?$C.amDesignator:$C.pmDesignator;case"S":return ord(x.getDate());default:return m;}}):this._toString();};}());
|
||||
(function(){var $D=Date,$P=$D.prototype,$C=$D.CultureInfo,$N=Number.prototype;$P._orient=+1;$P._nth=null;$P._is=false;$P._same=false;$P._isSecond=false;$N._dateElement="day";$P.next=function(){this._orient=+1;return this;};$D.next=function(){return $D.today().next();};$P.last=$P.prev=$P.previous=function(){this._orient=-1;return this;};$D.last=$D.prev=$D.previous=function(){return $D.today().last();};$P.is=function(){this._is=true;return this;};$P.same=function(){this._same=true;this._isSecond=false;return this;};$P.today=function(){return this.same().day();};$P.weekday=function(){if(this._is){this._is=false;return(!this.is().sat()&&!this.is().sun());}
|
||||
return false;};$P.at=function(time){return(typeof time==="string")?$D.parse(this.toString("d")+" "+time):this.set(time);};$N.fromNow=$N.after=function(date){var c={};c[this._dateElement]=this;return((!date)?new Date():date.clone()).add(c);};$N.ago=$N.before=function(date){var c={};c[this._dateElement]=this*-1;return((!date)?new Date():date.clone()).add(c);};var dx=("sunday monday tuesday wednesday thursday friday saturday").split(/\s/),mx=("january february march april may june july august september october november december").split(/\s/),px=("Millisecond Second Minute Hour Day Week Month Year").split(/\s/),pxf=("Milliseconds Seconds Minutes Hours Date Week Month FullYear").split(/\s/),nth=("final first second third fourth fifth").split(/\s/),de;$P.toObject=function(){var o={};for(var i=0;i<px.length;i++){o[px[i].toLowerCase()]=this["get"+pxf[i]]();}
|
||||
return o;};$D.fromObject=function(config){config.week=null;return Date.today().set(config);};var df=function(n){return function(){if(this._is){this._is=false;return this.getDay()==n;}
|
||||
if(this._nth!==null){if(this._isSecond){this.addSeconds(this._orient*-1);}
|
||||
this._isSecond=false;var ntemp=this._nth;this._nth=null;var temp=this.clone().moveToLastDayOfMonth();this.moveToNthOccurrence(n,ntemp);if(this>temp){throw new RangeError($D.getDayName(n)+" does not occur "+ntemp+" times in the month of "+$D.getMonthName(temp.getMonth())+" "+temp.getFullYear()+".");}
|
||||
return this;}
|
||||
return this.moveToDayOfWeek(n,this._orient);};};var sdf=function(n){return function(){var t=$D.today(),shift=n-t.getDay();if(n===0&&$C.firstDayOfWeek===1&&t.getDay()!==0){shift=shift+7;}
|
||||
return t.addDays(shift);};};for(var i=0;i<dx.length;i++){$D[dx[i].toUpperCase()]=$D[dx[i].toUpperCase().substring(0,3)]=i;$D[dx[i]]=$D[dx[i].substring(0,3)]=sdf(i);$P[dx[i]]=$P[dx[i].substring(0,3)]=df(i);}
|
||||
var mf=function(n){return function(){if(this._is){this._is=false;return this.getMonth()===n;}
|
||||
return this.moveToMonth(n,this._orient);};};var smf=function(n){return function(){return $D.today().set({month:n,day:1});};};for(var j=0;j<mx.length;j++){$D[mx[j].toUpperCase()]=$D[mx[j].toUpperCase().substring(0,3)]=j;$D[mx[j]]=$D[mx[j].substring(0,3)]=smf(j);$P[mx[j]]=$P[mx[j].substring(0,3)]=mf(j);}
|
||||
var ef=function(j){return function(){if(this._isSecond){this._isSecond=false;return this;}
|
||||
if(this._same){this._same=this._is=false;var o1=this.toObject(),o2=(arguments[0]||new Date()).toObject(),v="",k=j.toLowerCase();for(var m=(px.length-1);m>-1;m--){v=px[m].toLowerCase();if(o1[v]!=o2[v]){return false;}
|
||||
if(k==v){break;}}
|
||||
return true;}
|
||||
if(j.substring(j.length-1)!="s"){j+="s";}
|
||||
return this["add"+j](this._orient);};};var nf=function(n){return function(){this._dateElement=n;return this;};};for(var k=0;k<px.length;k++){de=px[k].toLowerCase();$P[de]=$P[de+"s"]=ef(px[k]);$N[de]=$N[de+"s"]=nf(de);}
|
||||
$P._ss=ef("Second");var nthfn=function(n){return function(dayOfWeek){if(this._same){return this._ss(arguments[0]);}
|
||||
if(dayOfWeek||dayOfWeek===0){return this.moveToNthOccurrence(dayOfWeek,n);}
|
||||
this._nth=n;if(n===2&&(dayOfWeek===undefined||dayOfWeek===null)){this._isSecond=true;return this.addSeconds(this._orient);}
|
||||
return this;};};for(var l=0;l<nth.length;l++){$P[nth[l]]=(l===0)?nthfn(-1):nthfn(l);}}());
|
||||
(function(){Date.Parsing={Exception:function(s){this.message="Parse error at '"+s.substring(0,10)+" ...'";}};var $P=Date.Parsing;var _=$P.Operators={rtoken:function(r){return function(s){var mx=s.match(r);if(mx){return([mx[0],s.substring(mx[0].length)]);}else{throw new $P.Exception(s);}};},token:function(s){return function(s){return _.rtoken(new RegExp("^\s*"+s+"\s*"))(s);};},stoken:function(s){return _.rtoken(new RegExp("^"+s));},until:function(p){return function(s){var qx=[],rx=null;while(s.length){try{rx=p.call(this,s);}catch(e){qx.push(rx[0]);s=rx[1];continue;}
|
||||
break;}
|
||||
return[qx,s];};},many:function(p){return function(s){var rx=[],r=null;while(s.length){try{r=p.call(this,s);}catch(e){return[rx,s];}
|
||||
rx.push(r[0]);s=r[1];}
|
||||
return[rx,s];};},optional:function(p){return function(s){var r=null;try{r=p.call(this,s);}catch(e){return[null,s];}
|
||||
return[r[0],r[1]];};},not:function(p){return function(s){try{p.call(this,s);}catch(e){return[null,s];}
|
||||
throw new $P.Exception(s);};},ignore:function(p){return p?function(s){var r=null;r=p.call(this,s);return[null,r[1]];}:null;},product:function(){var px=arguments[0],qx=Array.prototype.slice.call(arguments,1),rx=[];for(var i=0;i<px.length;i++){rx.push(_.each(px[i],qx));}
|
||||
return rx;},cache:function(rule){var cache={},r=null;return function(s){try{r=cache[s]=(cache[s]||rule.call(this,s));}catch(e){r=cache[s]=e;}
|
||||
if(r instanceof $P.Exception){throw r;}else{return r;}};},any:function(){var px=arguments;return function(s){var r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
|
||||
try{r=(px[i].call(this,s));}catch(e){r=null;}
|
||||
if(r){return r;}}
|
||||
throw new $P.Exception(s);};},each:function(){var px=arguments;return function(s){var rx=[],r=null;for(var i=0;i<px.length;i++){if(px[i]==null){continue;}
|
||||
try{r=(px[i].call(this,s));}catch(e){throw new $P.Exception(s);}
|
||||
rx.push(r[0]);s=r[1];}
|
||||
return[rx,s];};},all:function(){var px=arguments,_=_;return _.each(_.optional(px));},sequence:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;if(px.length==1){return px[0];}
|
||||
return function(s){var r=null,q=null;var rx=[];for(var i=0;i<px.length;i++){try{r=px[i].call(this,s);}catch(e){break;}
|
||||
rx.push(r[0]);try{q=d.call(this,r[1]);}catch(ex){q=null;break;}
|
||||
s=q[1];}
|
||||
if(!r){throw new $P.Exception(s);}
|
||||
if(q){throw new $P.Exception(q[1]);}
|
||||
if(c){try{r=c.call(this,r[1]);}catch(ey){throw new $P.Exception(r[1]);}}
|
||||
return[rx,(r?r[1]:s)];};},between:function(d1,p,d2){d2=d2||d1;var _fn=_.each(_.ignore(d1),p,_.ignore(d2));return function(s){var rx=_fn.call(this,s);return[[rx[0][0],r[0][2]],rx[1]];};},list:function(p,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return(p instanceof Array?_.each(_.product(p.slice(0,-1),_.ignore(d)),p.slice(-1),_.ignore(c)):_.each(_.many(_.each(p,_.ignore(d))),px,_.ignore(c)));},set:function(px,d,c){d=d||_.rtoken(/^\s*/);c=c||null;return function(s){var r=null,p=null,q=null,rx=null,best=[[],s],last=false;for(var i=0;i<px.length;i++){q=null;p=null;r=null;last=(px.length==1);try{r=px[i].call(this,s);}catch(e){continue;}
|
||||
rx=[[r[0]],r[1]];if(r[1].length>0&&!last){try{q=d.call(this,r[1]);}catch(ex){last=true;}}else{last=true;}
|
||||
if(!last&&q[1].length===0){last=true;}
|
||||
if(!last){var qx=[];for(var j=0;j<px.length;j++){if(i!=j){qx.push(px[j]);}}
|
||||
p=_.set(qx,d).call(this,q[1]);if(p[0].length>0){rx[0]=rx[0].concat(p[0]);rx[1]=p[1];}}
|
||||
if(rx[1].length<best[1].length){best=rx;}
|
||||
if(best[1].length===0){break;}}
|
||||
if(best[0].length===0){return best;}
|
||||
if(c){try{q=c.call(this,best[1]);}catch(ey){throw new $P.Exception(best[1]);}
|
||||
best[1]=q[1];}
|
||||
return best;};},forward:function(gr,fname){return function(s){return gr[fname].call(this,s);};},replace:function(rule,repl){return function(s){var r=rule.call(this,s);return[repl,r[1]];};},process:function(rule,fn){return function(s){var r=rule.call(this,s);return[fn.call(this,r[0]),r[1]];};},min:function(min,rule){return function(s){var rx=rule.call(this,s);if(rx[0].length<min){throw new $P.Exception(s);}
|
||||
return rx;};}};var _generator=function(op){return function(){var args=null,rx=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments);}else if(arguments[0]instanceof Array){args=arguments[0];}
|
||||
if(args){for(var i=0,px=args.shift();i<px.length;i++){args.unshift(px[i]);rx.push(op.apply(null,args));args.shift();return rx;}}else{return op.apply(null,arguments);}};};var gx="optional not ignore cache".split(/\s/);for(var i=0;i<gx.length;i++){_[gx[i]]=_generator(_[gx[i]]);}
|
||||
var _vector=function(op){return function(){if(arguments[0]instanceof Array){return op.apply(null,arguments[0]);}else{return op.apply(null,arguments);}};};var vx="each any all".split(/\s/);for(var j=0;j<vx.length;j++){_[vx[j]]=_vector(_[vx[j]]);}}());(function(){var $D=Date,$P=$D.prototype,$C=$D.CultureInfo;var flattenAndCompact=function(ax){var rx=[];for(var i=0;i<ax.length;i++){if(ax[i]instanceof Array){rx=rx.concat(flattenAndCompact(ax[i]));}else{if(ax[i]){rx.push(ax[i]);}}}
|
||||
return rx;};$D.Grammar={};$D.Translator={hour:function(s){return function(){this.hour=Number(s);};},minute:function(s){return function(){this.minute=Number(s);};},second:function(s){return function(){this.second=Number(s);};},meridian:function(s){return function(){this.meridian=s.slice(0,1).toLowerCase();};},timezone:function(s){return function(){var n=s.replace(/[^\d\+\-]/g,"");if(n.length){this.timezoneOffset=Number(n);}else{this.timezone=s.toLowerCase();}};},day:function(x){var s=x[0];return function(){this.day=Number(s.match(/\d+/)[0]);};},month:function(s){return function(){this.month=(s.length==3)?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(s)/4:Number(s)-1;};},year:function(s){return function(){var n=Number(s);this.year=((s.length>2)?n:(n+(((n+2000)<$C.twoDigitYearMax)?2000:1900)));};},rday:function(s){return function(){switch(s){case"yesterday":this.days=-1;break;case"tomorrow":this.days=1;break;case"today":this.days=0;break;case"now":this.days=0;this.now=true;break;}};},finishExact:function(x){x=(x instanceof Array)?x:[x];for(var i=0;i<x.length;i++){if(x[i]){x[i].call(this);}}
|
||||
var now=new Date();if((this.hour||this.minute)&&(!this.month&&!this.year&&!this.day)){this.day=now.getDate();}
|
||||
if(!this.year){this.year=now.getFullYear();}
|
||||
if(!this.month&&this.month!==0){this.month=now.getMonth();}
|
||||
if(!this.day){this.day=1;}
|
||||
if(!this.hour){this.hour=0;}
|
||||
if(!this.minute){this.minute=0;}
|
||||
if(!this.second){this.second=0;}
|
||||
if(this.meridian&&this.hour){if(this.meridian=="p"&&this.hour<12){this.hour=this.hour+12;}else if(this.meridian=="a"&&this.hour==12){this.hour=0;}}
|
||||
if(this.day>$D.getDaysInMonth(this.year,this.month)){throw new RangeError(this.day+" is not a valid value for days.");}
|
||||
var r=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);if(this.timezone){r.set({timezone:this.timezone});}else if(this.timezoneOffset){r.set({timezoneOffset:this.timezoneOffset});}
|
||||
return r;},finish:function(x){x=(x instanceof Array)?flattenAndCompact(x):[x];if(x.length===0){return null;}
|
||||
for(var i=0;i<x.length;i++){if(typeof x[i]=="function"){x[i].call(this);}}
|
||||
var today=$D.today();if(this.now&&!this.unit&&!this.operator){return new Date();}else if(this.now){today=new Date();}
|
||||
var expression=!!(this.days&&this.days!==null||this.orient||this.operator);var gap,mod,orient;orient=((this.orient=="past"||this.operator=="subtract")?-1:1);if(!this.now&&"hour minute second".indexOf(this.unit)!=-1){today.setTimeToNow();}
|
||||
if(this.month||this.month===0){if("year day hour minute second".indexOf(this.unit)!=-1){this.value=this.month+1;this.month=null;expression=true;}}
|
||||
if(!expression&&this.weekday&&!this.day&&!this.days){var temp=Date[this.weekday]();this.day=temp.getDate();if(!this.month){this.month=temp.getMonth();}
|
||||
this.year=temp.getFullYear();}
|
||||
if(expression&&this.weekday&&this.unit!="month"){this.unit="day";gap=($D.getDayNumberFromName(this.weekday)-today.getDay());mod=7;this.days=gap?((gap+(orient*mod))%mod):(orient*mod);}
|
||||
if(this.month&&this.unit=="day"&&this.operator){this.value=(this.month+1);this.month=null;}
|
||||
if(this.value!=null&&this.month!=null&&this.year!=null){this.day=this.value*1;}
|
||||
if(this.month&&!this.day&&this.value){today.set({day:this.value*1});if(!expression){this.day=this.value*1;}}
|
||||
if(!this.month&&this.value&&this.unit=="month"&&!this.now){this.month=this.value;expression=true;}
|
||||
if(expression&&(this.month||this.month===0)&&this.unit!="year"){this.unit="month";gap=(this.month-today.getMonth());mod=12;this.months=gap?((gap+(orient*mod))%mod):(orient*mod);this.month=null;}
|
||||
if(!this.unit){this.unit="day";}
|
||||
if(!this.value&&this.operator&&this.operator!==null&&this[this.unit+"s"]&&this[this.unit+"s"]!==null){this[this.unit+"s"]=this[this.unit+"s"]+((this.operator=="add")?1:-1)+(this.value||0)*orient;}else if(this[this.unit+"s"]==null||this.operator!=null){if(!this.value){this.value=1;}
|
||||
this[this.unit+"s"]=this.value*orient;}
|
||||
if(this.meridian&&this.hour){if(this.meridian=="p"&&this.hour<12){this.hour=this.hour+12;}else if(this.meridian=="a"&&this.hour==12){this.hour=0;}}
|
||||
if(this.weekday&&!this.day&&!this.days){var temp=Date[this.weekday]();this.day=temp.getDate();if(temp.getMonth()!==today.getMonth()){this.month=temp.getMonth();}}
|
||||
if((this.month||this.month===0)&&!this.day){this.day=1;}
|
||||
if(!this.orient&&!this.operator&&this.unit=="week"&&this.value&&!this.day&&!this.month){return Date.today().setWeek(this.value);}
|
||||
if(expression&&this.timezone&&this.day&&this.days){this.day=this.days;}
|
||||
return(expression)?today.add(this):today.set(this);}};var _=$D.Parsing.Operators,g=$D.Grammar,t=$D.Translator,_fn;g.datePartDelimiter=_.rtoken(/^([\s\-\.\,\/\x27]+)/);g.timePartDelimiter=_.stoken(":");g.whiteSpace=_.rtoken(/^\s*/);g.generalDelimiter=_.rtoken(/^(([\s\,]|at|@|on)+)/);var _C={};g.ctoken=function(keys){var fn=_C[keys];if(!fn){var c=$C.regexPatterns;var kx=keys.split(/\s+/),px=[];for(var i=0;i<kx.length;i++){px.push(_.replace(_.rtoken(c[kx[i]]),kx[i]));}
|
||||
fn=_C[keys]=_.any.apply(null,px);}
|
||||
return fn;};g.ctoken2=function(key){return _.rtoken($C.regexPatterns[key]);};g.h=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2]|[1-9])/),t.hour));g.hh=_.cache(_.process(_.rtoken(/^(0[0-9]|1[0-2])/),t.hour));g.H=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3]|[0-9])/),t.hour));g.HH=_.cache(_.process(_.rtoken(/^([0-1][0-9]|2[0-3])/),t.hour));g.m=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.minute));g.mm=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.minute));g.s=_.cache(_.process(_.rtoken(/^([0-5][0-9]|[0-9])/),t.second));g.ss=_.cache(_.process(_.rtoken(/^[0-5][0-9]/),t.second));g.hms=_.cache(_.sequence([g.H,g.m,g.s],g.timePartDelimiter));g.t=_.cache(_.process(g.ctoken2("shortMeridian"),t.meridian));g.tt=_.cache(_.process(g.ctoken2("longMeridian"),t.meridian));g.z=_.cache(_.process(_.rtoken(/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/),t.timezone));g.zz=_.cache(_.process(_.rtoken(/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/),t.timezone));g.zzz=_.cache(_.process(g.ctoken2("timezone"),t.timezone));g.timeSuffix=_.each(_.ignore(g.whiteSpace),_.set([g.tt,g.zzz]));g.time=_.each(_.optional(_.ignore(_.stoken("T"))),g.hms,g.timeSuffix);g.d=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1]|\d)/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.dd=_.cache(_.process(_.each(_.rtoken(/^([0-2]\d|3[0-1])/),_.optional(g.ctoken2("ordinalSuffix"))),t.day));g.ddd=g.dddd=_.cache(_.process(g.ctoken("sun mon tue wed thu fri sat"),function(s){return function(){this.weekday=s;};}));g.M=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d|\d)/),t.month));g.MM=_.cache(_.process(_.rtoken(/^(1[0-2]|0\d)/),t.month));g.MMM=g.MMMM=_.cache(_.process(g.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),t.month));g.y=_.cache(_.process(_.rtoken(/^(\d\d?)/),t.year));g.yy=_.cache(_.process(_.rtoken(/^(\d\d)/),t.year));g.yyy=_.cache(_.process(_.rtoken(/^(\d\d?\d?\d?)/),t.year));g.yyyy=_.cache(_.process(_.rtoken(/^(\d\d\d\d)/),t.year));_fn=function(){return _.each(_.any.apply(null,arguments),_.not(g.ctoken2("timeContext")));};g.day=_fn(g.d,g.dd);g.month=_fn(g.M,g.MMM);g.year=_fn(g.yyyy,g.yy);g.orientation=_.process(g.ctoken("past future"),function(s){return function(){this.orient=s;};});g.operator=_.process(g.ctoken("add subtract"),function(s){return function(){this.operator=s;};});g.rday=_.process(g.ctoken("yesterday tomorrow today now"),t.rday);g.unit=_.process(g.ctoken("second minute hour day week month year"),function(s){return function(){this.unit=s;};});g.value=_.process(_.rtoken(/^\d\d?(st|nd|rd|th)?/),function(s){return function(){this.value=s.replace(/\D/g,"");};});g.expression=_.set([g.rday,g.operator,g.value,g.unit,g.orientation,g.ddd,g.MMM]);_fn=function(){return _.set(arguments,g.datePartDelimiter);};g.mdy=_fn(g.ddd,g.month,g.day,g.year);g.ymd=_fn(g.ddd,g.year,g.month,g.day);g.dmy=_fn(g.ddd,g.day,g.month,g.year);g.date=function(s){return((g[$C.dateElementOrder]||g.mdy).call(this,s));};g.format=_.process(_.many(_.any(_.process(_.rtoken(/^(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),function(fmt){if(g[fmt]){return g[fmt];}else{throw $D.Parsing.Exception(fmt);}}),_.process(_.rtoken(/^[^dMyhHmstz]+/),function(s){return _.ignore(_.stoken(s));}))),function(rules){return _.process(_.each.apply(null,rules),t.finishExact);});var _F={};var _get=function(f){return _F[f]=(_F[f]||g.format(f)[0]);};g.formats=function(fx){if(fx instanceof Array){var rx=[];for(var i=0;i<fx.length;i++){rx.push(_get(fx[i]));}
|
||||
return _.any.apply(null,rx);}else{return _get(fx);}};g._formats=g.formats(["\"yyyy-MM-ddTHH:mm:ssZ\"","yyyy-MM-ddTHH:mm:ssZ","yyyy-MM-ddTHH:mm:ssz","yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mmZ","yyyy-MM-ddTHH:mmz","yyyy-MM-ddTHH:mm","ddd, MMM dd, yyyy H:mm:ss tt","ddd MMM d yyyy HH:mm:ss zzz","MMddyyyy","ddMMyyyy","Mddyyyy","ddMyyyy","Mdyyyy","dMyyyy","yyyy","Mdyy","dMyy","d"]);g._start=_.process(_.set([g.date,g.time,g.expression],g.generalDelimiter,g.whiteSpace),t.finish);g.start=function(s){try{var r=g._formats.call({},s);if(r[1].length===0){return r;}}catch(e){}
|
||||
return g._start.call({},s);};$D._parse=$D.parse;$D.parse=function(s){var r=null;if(!s){return null;}
|
||||
if(s instanceof Date){return s;}
|
||||
try{r=$D.Grammar.start.call({},s.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"));}catch(e){return null;}
|
||||
return((r[1].length===0)?r[0]:null);};$D.getParseFunction=function(fx){var fn=$D.Grammar.formats(fx);return function(s){var r=null;try{r=fn.call({},s);}catch(e){return null;}
|
||||
return((r[1].length===0)?r[0]:null);};};$D.parseExact=function(s,fx){return $D.getParseFunction(fx)(s);};}());
|
||||
@@ -1,25 +0,0 @@
|
||||
if (typeof Object.create !== 'function') {
|
||||
Object.create = function (o) {
|
||||
function F() {}
|
||||
F.prototype = o;
|
||||
return new F();
|
||||
};
|
||||
}
|
||||
|
||||
neuf = {};
|
||||
|
||||
neuf.util = {
|
||||
capitalize: function (string) {
|
||||
return string.charAt(0).toUpperCase() + string.slice(1);
|
||||
}
|
||||
}
|
||||
/*
|
||||
neuf.util.extend = function(o1, o2) {
|
||||
for(var key in o2) {
|
||||
if(o2.hasOwnProperty(key)) {
|
||||
o1[key] = o2[key];
|
||||
}
|
||||
}
|
||||
|
||||
return o1;
|
||||
}*/
|
||||
@@ -1,296 +0,0 @@
|
||||
function intersection(a1, a2) {
|
||||
return a1.filter(function(n) {
|
||||
if (a2.indexOf(n) == -1)
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
function getImageDir() {
|
||||
var a = $("#image-dir");
|
||||
return a.attr('href');
|
||||
}
|
||||
|
||||
function getImages() {
|
||||
var imageDir = getImageDir();
|
||||
var imageMap = {
|
||||
'default' : imageDir+'tilesvisning.png',
|
||||
'debatt' : imageDir+'ikon_debatt-50x50.png',
|
||||
'fest' : imageDir+'ikon_fest-50x50.png',
|
||||
'film' : imageDir+'ikon_film-50x50.png',
|
||||
'foredrag' : imageDir+'ikon_foredrag-50x50.png',
|
||||
'konsert' : imageDir+'ikon_konsert-50x50.png',
|
||||
'quiz' : imageDir+'ikon_quiz-50x50.png',
|
||||
'teater' : imageDir+'ikon_teater-50x50.png'
|
||||
}
|
||||
|
||||
return imageMap;
|
||||
}
|
||||
|
||||
function toggleActive(mode) {
|
||||
tiles = $(".view-mode.tiles");
|
||||
list = $(".view-mode.list");
|
||||
if(mode == "list") {
|
||||
list.addClass('marked');
|
||||
tiles.removeClass('marked');
|
||||
} else if(mode == "tiles") {
|
||||
tiles.addClass('marked');
|
||||
list.removeClass('marked');
|
||||
}
|
||||
}
|
||||
|
||||
function showTiles() {
|
||||
tiles = $("#program_tiles");
|
||||
list = $("#program_list");
|
||||
|
||||
tiles.removeClass("hidden");
|
||||
list.addClass("hidden");
|
||||
}
|
||||
|
||||
function showList() {
|
||||
tiles = $("#program_tiles");
|
||||
list = $("#program_list");
|
||||
|
||||
tiles.addClass("hidden");
|
||||
list.removeClass("hidden");
|
||||
|
||||
}
|
||||
|
||||
function events_update(checkboxes) {
|
||||
var month_selector = ".month";
|
||||
var week_selector = ".program-6days";
|
||||
var day_selector = ".day";
|
||||
var days = $(day_selector);
|
||||
|
||||
days.children("p, td:nth-child(4)").each(function() {
|
||||
var classes = $(this).attr('class').replace('hidden', '').split(' ');
|
||||
var visible_classes = intersection(checkboxes, classes);
|
||||
|
||||
if (visible_classes.length < 1) {
|
||||
$(this).addClass('hidden');
|
||||
} else {
|
||||
$(this).removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
/* Hide all days that don't have visible events. Show those that have. */
|
||||
days.each(function(index) {
|
||||
var hide = true;
|
||||
var events = $(this).children("p, td:nth-child(4)");
|
||||
|
||||
events.each(function(index) {
|
||||
if (! $(this).hasClass('hidden')) {
|
||||
hide = false;
|
||||
}
|
||||
});
|
||||
|
||||
if (hide) {
|
||||
$(this).addClass('hidden');
|
||||
} else {
|
||||
$(this).removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
/* Hide all weeks that don't have visible days, show those that have: */
|
||||
$(week_selector).each(function(index) {
|
||||
var hide = true;
|
||||
var days = $(this).children("div .day");
|
||||
|
||||
days.each(function(index) {
|
||||
if (! $(this).hasClass('hidden')) {
|
||||
hide = false;
|
||||
}
|
||||
});
|
||||
|
||||
if (hide) {
|
||||
$(this).addClass('hidden');
|
||||
} else {
|
||||
$(this).removeClass('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
/* Hide all months that don't have visible days, show those that have: */
|
||||
$(month_selector).each(function(index) {
|
||||
var hide = true;
|
||||
var days = $(this).nextUntil(month_selector);
|
||||
|
||||
days.each(function(index) {
|
||||
if ($(this).hasClass('day') && ! $(this).hasClass('hidden')) {
|
||||
hide = false;
|
||||
}
|
||||
});
|
||||
|
||||
if (hide) {
|
||||
$(this).addClass('hidden');
|
||||
$(this).next().addClass('hidden');
|
||||
} else {
|
||||
$(this).removeClass('hidden');
|
||||
$(this).next().removeClass('hidden');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fix_alternating_rows() {
|
||||
var alt_status = false;
|
||||
$(".table").find("tbody").children(".day").each(function() {
|
||||
if (!$(this).hasClass('hidden')) {
|
||||
if (alt_status) {
|
||||
$(this).addClass('alt');
|
||||
} else {
|
||||
$(this).removeClass('alt');
|
||||
}
|
||||
alt_status = !alt_status;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function find_checked_boxes() {
|
||||
var checked_boxes = new Array();
|
||||
var unchecked_boxes = new Array();
|
||||
|
||||
var boxes = $(".category-chooser-item-input");
|
||||
boxes.each(function() {
|
||||
var box = $(this);
|
||||
if (box.is(":checked")) {
|
||||
$(this).siblings('img').each(function() {
|
||||
$(this).removeClass('unchecked');
|
||||
$(this).addClass('checked');
|
||||
});
|
||||
checked_boxes.push(box.val());
|
||||
} else {
|
||||
$(this).siblings('img').each(function() {
|
||||
$(this).removeClass('checked');
|
||||
$(this).addClass('unchecked');
|
||||
});
|
||||
unchecked_boxes.push(box.val());
|
||||
}
|
||||
});
|
||||
|
||||
if (checked_boxes.length > 0) {
|
||||
return checked_boxes;
|
||||
} else {
|
||||
/* If none are checked, then all images are opaque: */
|
||||
$(".category-chooser-item-img").each(function() {
|
||||
$(this).removeClass('unchecked');
|
||||
$(this).addClass('checked');
|
||||
});
|
||||
return unchecked_boxes;
|
||||
}
|
||||
}
|
||||
|
||||
/* When page is loaded: */
|
||||
$(window).load(function(){
|
||||
form_id = "#program-category-chooser";
|
||||
|
||||
/* Find all categories used by events: */
|
||||
var categories = {};
|
||||
|
||||
$(".day p").each(function() {
|
||||
var classes = $(this).attr("class").split(" ");
|
||||
|
||||
for (var id in classes) {
|
||||
categories[classes[id]] = true;
|
||||
}
|
||||
});
|
||||
|
||||
/* Sort categories alphabetically: */
|
||||
var sorted_categories = new Array();
|
||||
for (var category in categories) {
|
||||
sorted_categories.push(category);
|
||||
}
|
||||
sorted_categories.sort();
|
||||
|
||||
/* Restore checkbox status from cache: */
|
||||
var cached_checked_boxes = sessionStorage.checked_boxes;
|
||||
|
||||
/* Get available images: */
|
||||
var image_map = getImages();
|
||||
|
||||
/* Create checkboxes: */
|
||||
for (var index in sorted_categories) {
|
||||
var category = sorted_categories[index];
|
||||
var img_source = image_map[category.toLowerCase()];
|
||||
img_source = img_source ? img_source : image_map['default'];
|
||||
|
||||
isChecked = cached_checked_boxes != null ?
|
||||
(cached_checked_boxes.indexOf(category) != -1) :
|
||||
false;
|
||||
element = ('<div class="category-chooser-item '+category+'">'
|
||||
+'<label for="'+category+'">'
|
||||
+'<input class="category-chooser-item-input hidden" id="'+category+'" '
|
||||
+'type="checkbox" '
|
||||
+'name="category" '
|
||||
+(isChecked ? ' checked="true" ' : '')
|
||||
+'value="'+category
|
||||
+'" />'
|
||||
+'<img class="category-chooser-item-img unchecked"'
|
||||
+'src="'+img_source+'">'
|
||||
+'</img>'
|
||||
+'<span class="category-chooser-item-label">'
|
||||
+category
|
||||
+'</span>'
|
||||
+'</label>'
|
||||
+'</div>');
|
||||
$(form_id).append(element);
|
||||
}
|
||||
|
||||
/* Register checkboxes: */
|
||||
var checkboxes = $(".category-chooser-item-input");
|
||||
checkboxes.each(function(){
|
||||
$(this).change(function(){
|
||||
events_update(find_checked_boxes());
|
||||
fix_alternating_rows();
|
||||
});
|
||||
});
|
||||
events_update(find_checked_boxes());
|
||||
fix_alternating_rows();
|
||||
|
||||
/* Shall we use tiles or list? */
|
||||
var list = "true" === sessionStorage.useList;
|
||||
var tiles = "true" === sessionStorage.useTiles;
|
||||
|
||||
if (list) {
|
||||
showList();
|
||||
toggleActive("list");
|
||||
} else if (tiles) {
|
||||
showTiles();
|
||||
toggleActive("tiles");
|
||||
} else {
|
||||
/* default view:*/
|
||||
showList();
|
||||
toggleActive("list");
|
||||
}
|
||||
|
||||
/* Only now can we really show them*/
|
||||
/*$("#program-style-selector").removeClass('hidden');*/
|
||||
$("#program_tiles").removeAttr('style');
|
||||
$("#program_list").removeAttr('style');
|
||||
|
||||
$("#load-spinner").addClass('hidden');
|
||||
$("#content").removeClass('hidden');
|
||||
});
|
||||
|
||||
/* When user leaves the page: */
|
||||
$(window).unload(function() {
|
||||
|
||||
/* Find out what categories were chosen when user left the page: */
|
||||
var checked_boxes = new Array();
|
||||
|
||||
$('.category-chooser-item-input').each(function() {
|
||||
if ($(this).is(":checked")) {
|
||||
checked_boxes.push($(this).val());
|
||||
}
|
||||
});
|
||||
|
||||
if (checked_boxes.length > 0) {
|
||||
sessionStorage.setItem('checked_boxes', checked_boxes);
|
||||
} else {
|
||||
sessionStorage.setItem('checked_boxes', null);
|
||||
}
|
||||
|
||||
/* Find what view the user was using last (tiles/list): */
|
||||
var tiles = $("#program_tiles");
|
||||
var hasUsedList = tiles.hasClass('hidden');
|
||||
sessionStorage.setItem('useList', hasUsedList);
|
||||
sessionStorage.setItem('useTiles', !hasUsedList);
|
||||
});
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
// Underscore.js 1.3.1
|
||||
// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
|
||||
// Underscore is freely distributable under the MIT license.
|
||||
// Portions of Underscore are inspired or borrowed from Prototype,
|
||||
// Oliver Steele's Functional, and John Resig's Micro-Templating.
|
||||
// For all details and documentation:
|
||||
// http://documentcloud.github.com/underscore
|
||||
(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source==
|
||||
c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c,
|
||||
h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each=
|
||||
b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a==
|
||||
null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=
|
||||
function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e=
|
||||
e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck=
|
||||
function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})});
|
||||
return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,
|
||||
c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest=
|
||||
b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]);
|
||||
return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,
|
||||
d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g};
|
||||
var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,
|
||||
c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true:
|
||||
a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};
|
||||
b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments,
|
||||
1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};
|
||||
b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};
|
||||
b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a),
|
||||
function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+
|
||||
u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]=
|
||||
function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=
|
||||
true;return this};m.prototype.value=function(){return this._wrapped}}).call(this);
|
||||
@@ -1,999 +0,0 @@
|
||||
// Underscore.js 1.3.1
|
||||
// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
|
||||
// Underscore is freely distributable under the MIT license.
|
||||
// Portions of Underscore are inspired or borrowed from Prototype,
|
||||
// Oliver Steele's Functional, and John Resig's Micro-Templating.
|
||||
// For all details and documentation:
|
||||
// http://documentcloud.github.com/underscore
|
||||
|
||||
(function() {
|
||||
|
||||
// Baseline setup
|
||||
// --------------
|
||||
|
||||
// Establish the root object, `window` in the browser, or `global` on the server.
|
||||
var root = this;
|
||||
|
||||
// Save the previous value of the `_` variable.
|
||||
var previousUnderscore = root._;
|
||||
|
||||
// Establish the object that gets returned to break out of a loop iteration.
|
||||
var breaker = {};
|
||||
|
||||
// Save bytes in the minified (but not gzipped) version:
|
||||
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
|
||||
|
||||
// Create quick reference variables for speed access to core prototypes.
|
||||
var slice = ArrayProto.slice,
|
||||
unshift = ArrayProto.unshift,
|
||||
toString = ObjProto.toString,
|
||||
hasOwnProperty = ObjProto.hasOwnProperty;
|
||||
|
||||
// All **ECMAScript 5** native function implementations that we hope to use
|
||||
// are declared here.
|
||||
var
|
||||
nativeForEach = ArrayProto.forEach,
|
||||
nativeMap = ArrayProto.map,
|
||||
nativeReduce = ArrayProto.reduce,
|
||||
nativeReduceRight = ArrayProto.reduceRight,
|
||||
nativeFilter = ArrayProto.filter,
|
||||
nativeEvery = ArrayProto.every,
|
||||
nativeSome = ArrayProto.some,
|
||||
nativeIndexOf = ArrayProto.indexOf,
|
||||
nativeLastIndexOf = ArrayProto.lastIndexOf,
|
||||
nativeIsArray = Array.isArray,
|
||||
nativeKeys = Object.keys,
|
||||
nativeBind = FuncProto.bind;
|
||||
|
||||
// Create a safe reference to the Underscore object for use below.
|
||||
var _ = function(obj) { return new wrapper(obj); };
|
||||
|
||||
// Export the Underscore object for **Node.js**, with
|
||||
// backwards-compatibility for the old `require()` API. If we're in
|
||||
// the browser, add `_` as a global object via a string identifier,
|
||||
// for Closure Compiler "advanced" mode.
|
||||
if (typeof exports !== 'undefined') {
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
exports = module.exports = _;
|
||||
}
|
||||
exports._ = _;
|
||||
} else {
|
||||
root['_'] = _;
|
||||
}
|
||||
|
||||
// Current version.
|
||||
_.VERSION = '1.3.1';
|
||||
|
||||
// Collection Functions
|
||||
// --------------------
|
||||
|
||||
// The cornerstone, an `each` implementation, aka `forEach`.
|
||||
// Handles objects with the built-in `forEach`, arrays, and raw objects.
|
||||
// Delegates to **ECMAScript 5**'s native `forEach` if available.
|
||||
var each = _.each = _.forEach = function(obj, iterator, context) {
|
||||
if (obj == null) return;
|
||||
if (nativeForEach && obj.forEach === nativeForEach) {
|
||||
obj.forEach(iterator, context);
|
||||
} else if (obj.length === +obj.length) {
|
||||
for (var i = 0, l = obj.length; i < l; i++) {
|
||||
if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return;
|
||||
}
|
||||
} else {
|
||||
for (var key in obj) {
|
||||
if (_.has(obj, key)) {
|
||||
if (iterator.call(context, obj[key], key, obj) === breaker) return;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Return the results of applying the iterator to each element.
|
||||
// Delegates to **ECMAScript 5**'s native `map` if available.
|
||||
_.map = _.collect = function(obj, iterator, context) {
|
||||
var results = [];
|
||||
if (obj == null) return results;
|
||||
if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
|
||||
each(obj, function(value, index, list) {
|
||||
results[results.length] = iterator.call(context, value, index, list);
|
||||
});
|
||||
if (obj.length === +obj.length) results.length = obj.length;
|
||||
return results;
|
||||
};
|
||||
|
||||
// **Reduce** builds up a single result from a list of values, aka `inject`,
|
||||
// or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.
|
||||
_.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {
|
||||
var initial = arguments.length > 2;
|
||||
if (obj == null) obj = [];
|
||||
if (nativeReduce && obj.reduce === nativeReduce) {
|
||||
if (context) iterator = _.bind(iterator, context);
|
||||
return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);
|
||||
}
|
||||
each(obj, function(value, index, list) {
|
||||
if (!initial) {
|
||||
memo = value;
|
||||
initial = true;
|
||||
} else {
|
||||
memo = iterator.call(context, memo, value, index, list);
|
||||
}
|
||||
});
|
||||
if (!initial) throw new TypeError('Reduce of empty array with no initial value');
|
||||
return memo;
|
||||
};
|
||||
|
||||
// The right-associative version of reduce, also known as `foldr`.
|
||||
// Delegates to **ECMAScript 5**'s native `reduceRight` if available.
|
||||
_.reduceRight = _.foldr = function(obj, iterator, memo, context) {
|
||||
var initial = arguments.length > 2;
|
||||
if (obj == null) obj = [];
|
||||
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
|
||||
if (context) iterator = _.bind(iterator, context);
|
||||
return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
|
||||
}
|
||||
var reversed = _.toArray(obj).reverse();
|
||||
if (context && !initial) iterator = _.bind(iterator, context);
|
||||
return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator);
|
||||
};
|
||||
|
||||
// Return the first value which passes a truth test. Aliased as `detect`.
|
||||
_.find = _.detect = function(obj, iterator, context) {
|
||||
var result;
|
||||
any(obj, function(value, index, list) {
|
||||
if (iterator.call(context, value, index, list)) {
|
||||
result = value;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
};
|
||||
|
||||
// Return all the elements that pass a truth test.
|
||||
// Delegates to **ECMAScript 5**'s native `filter` if available.
|
||||
// Aliased as `select`.
|
||||
_.filter = _.select = function(obj, iterator, context) {
|
||||
var results = [];
|
||||
if (obj == null) return results;
|
||||
if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);
|
||||
each(obj, function(value, index, list) {
|
||||
if (iterator.call(context, value, index, list)) results[results.length] = value;
|
||||
});
|
||||
return results;
|
||||
};
|
||||
|
||||
// Return all the elements for which a truth test fails.
|
||||
_.reject = function(obj, iterator, context) {
|
||||
var results = [];
|
||||
if (obj == null) return results;
|
||||
each(obj, function(value, index, list) {
|
||||
if (!iterator.call(context, value, index, list)) results[results.length] = value;
|
||||
});
|
||||
return results;
|
||||
};
|
||||
|
||||
// Determine whether all of the elements match a truth test.
|
||||
// Delegates to **ECMAScript 5**'s native `every` if available.
|
||||
// Aliased as `all`.
|
||||
_.every = _.all = function(obj, iterator, context) {
|
||||
var result = true;
|
||||
if (obj == null) return result;
|
||||
if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);
|
||||
each(obj, function(value, index, list) {
|
||||
if (!(result = result && iterator.call(context, value, index, list))) return breaker;
|
||||
});
|
||||
return result;
|
||||
};
|
||||
|
||||
// Determine if at least one element in the object matches a truth test.
|
||||
// Delegates to **ECMAScript 5**'s native `some` if available.
|
||||
// Aliased as `any`.
|
||||
var any = _.some = _.any = function(obj, iterator, context) {
|
||||
iterator || (iterator = _.identity);
|
||||
var result = false;
|
||||
if (obj == null) return result;
|
||||
if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
|
||||
each(obj, function(value, index, list) {
|
||||
if (result || (result = iterator.call(context, value, index, list))) return breaker;
|
||||
});
|
||||
return !!result;
|
||||
};
|
||||
|
||||
// Determine if a given value is included in the array or object using `===`.
|
||||
// Aliased as `contains`.
|
||||
_.include = _.contains = function(obj, target) {
|
||||
var found = false;
|
||||
if (obj == null) return found;
|
||||
if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;
|
||||
found = any(obj, function(value) {
|
||||
return value === target;
|
||||
});
|
||||
return found;
|
||||
};
|
||||
|
||||
// Invoke a method (with arguments) on every item in a collection.
|
||||
_.invoke = function(obj, method) {
|
||||
var args = slice.call(arguments, 2);
|
||||
return _.map(obj, function(value) {
|
||||
return (_.isFunction(method) ? method || value : value[method]).apply(value, args);
|
||||
});
|
||||
};
|
||||
|
||||
// Convenience version of a common use case of `map`: fetching a property.
|
||||
_.pluck = function(obj, key) {
|
||||
return _.map(obj, function(value){ return value[key]; });
|
||||
};
|
||||
|
||||
// Return the maximum element or (element-based computation).
|
||||
_.max = function(obj, iterator, context) {
|
||||
if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj);
|
||||
if (!iterator && _.isEmpty(obj)) return -Infinity;
|
||||
var result = {computed : -Infinity};
|
||||
each(obj, function(value, index, list) {
|
||||
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||
computed >= result.computed && (result = {value : value, computed : computed});
|
||||
});
|
||||
return result.value;
|
||||
};
|
||||
|
||||
// Return the minimum element (or element-based computation).
|
||||
_.min = function(obj, iterator, context) {
|
||||
if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj);
|
||||
if (!iterator && _.isEmpty(obj)) return Infinity;
|
||||
var result = {computed : Infinity};
|
||||
each(obj, function(value, index, list) {
|
||||
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||
computed < result.computed && (result = {value : value, computed : computed});
|
||||
});
|
||||
return result.value;
|
||||
};
|
||||
|
||||
// Shuffle an array.
|
||||
_.shuffle = function(obj) {
|
||||
var shuffled = [], rand;
|
||||
each(obj, function(value, index, list) {
|
||||
if (index == 0) {
|
||||
shuffled[0] = value;
|
||||
} else {
|
||||
rand = Math.floor(Math.random() * (index + 1));
|
||||
shuffled[index] = shuffled[rand];
|
||||
shuffled[rand] = value;
|
||||
}
|
||||
});
|
||||
return shuffled;
|
||||
};
|
||||
|
||||
// Sort the object's values by a criterion produced by an iterator.
|
||||
_.sortBy = function(obj, iterator, context) {
|
||||
return _.pluck(_.map(obj, function(value, index, list) {
|
||||
return {
|
||||
value : value,
|
||||
criteria : iterator.call(context, value, index, list)
|
||||
};
|
||||
}).sort(function(left, right) {
|
||||
var a = left.criteria, b = right.criteria;
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
}), 'value');
|
||||
};
|
||||
|
||||
// Groups the object's values by a criterion. Pass either a string attribute
|
||||
// to group by, or a function that returns the criterion.
|
||||
_.groupBy = function(obj, val) {
|
||||
var result = {};
|
||||
var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; };
|
||||
each(obj, function(value, index) {
|
||||
var key = iterator(value, index);
|
||||
(result[key] || (result[key] = [])).push(value);
|
||||
});
|
||||
return result;
|
||||
};
|
||||
|
||||
// Use a comparator function to figure out at what index an object should
|
||||
// be inserted so as to maintain order. Uses binary search.
|
||||
_.sortedIndex = function(array, obj, iterator) {
|
||||
iterator || (iterator = _.identity);
|
||||
var low = 0, high = array.length;
|
||||
while (low < high) {
|
||||
var mid = (low + high) >> 1;
|
||||
iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid;
|
||||
}
|
||||
return low;
|
||||
};
|
||||
|
||||
// Safely convert anything iterable into a real, live array.
|
||||
_.toArray = function(iterable) {
|
||||
if (!iterable) return [];
|
||||
if (iterable.toArray) return iterable.toArray();
|
||||
if (_.isArray(iterable)) return slice.call(iterable);
|
||||
if (_.isArguments(iterable)) return slice.call(iterable);
|
||||
return _.values(iterable);
|
||||
};
|
||||
|
||||
// Return the number of elements in an object.
|
||||
_.size = function(obj) {
|
||||
return _.toArray(obj).length;
|
||||
};
|
||||
|
||||
// Array Functions
|
||||
// ---------------
|
||||
|
||||
// Get the first element of an array. Passing **n** will return the first N
|
||||
// values in the array. Aliased as `head`. The **guard** check allows it to work
|
||||
// with `_.map`.
|
||||
_.first = _.head = function(array, n, guard) {
|
||||
return (n != null) && !guard ? slice.call(array, 0, n) : array[0];
|
||||
};
|
||||
|
||||
// Returns everything but the last entry of the array. Especcialy useful on
|
||||
// the arguments object. Passing **n** will return all the values in
|
||||
// the array, excluding the last N. The **guard** check allows it to work with
|
||||
// `_.map`.
|
||||
_.initial = function(array, n, guard) {
|
||||
return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));
|
||||
};
|
||||
|
||||
// Get the last element of an array. Passing **n** will return the last N
|
||||
// values in the array. The **guard** check allows it to work with `_.map`.
|
||||
_.last = function(array, n, guard) {
|
||||
if ((n != null) && !guard) {
|
||||
return slice.call(array, Math.max(array.length - n, 0));
|
||||
} else {
|
||||
return array[array.length - 1];
|
||||
}
|
||||
};
|
||||
|
||||
// Returns everything but the first entry of the array. Aliased as `tail`.
|
||||
// Especially useful on the arguments object. Passing an **index** will return
|
||||
// the rest of the values in the array from that index onward. The **guard**
|
||||
// check allows it to work with `_.map`.
|
||||
_.rest = _.tail = function(array, index, guard) {
|
||||
return slice.call(array, (index == null) || guard ? 1 : index);
|
||||
};
|
||||
|
||||
// Trim out all falsy values from an array.
|
||||
_.compact = function(array) {
|
||||
return _.filter(array, function(value){ return !!value; });
|
||||
};
|
||||
|
||||
// Return a completely flattened version of an array.
|
||||
_.flatten = function(array, shallow) {
|
||||
return _.reduce(array, function(memo, value) {
|
||||
if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value));
|
||||
memo[memo.length] = value;
|
||||
return memo;
|
||||
}, []);
|
||||
};
|
||||
|
||||
// Return a version of the array that does not contain the specified value(s).
|
||||
_.without = function(array) {
|
||||
return _.difference(array, slice.call(arguments, 1));
|
||||
};
|
||||
|
||||
// Produce a duplicate-free version of the array. If the array has already
|
||||
// been sorted, you have the option of using a faster algorithm.
|
||||
// Aliased as `unique`.
|
||||
_.uniq = _.unique = function(array, isSorted, iterator) {
|
||||
var initial = iterator ? _.map(array, iterator) : array;
|
||||
var result = [];
|
||||
_.reduce(initial, function(memo, el, i) {
|
||||
if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) {
|
||||
memo[memo.length] = el;
|
||||
result[result.length] = array[i];
|
||||
}
|
||||
return memo;
|
||||
}, []);
|
||||
return result;
|
||||
};
|
||||
|
||||
// Produce an array that contains the union: each distinct element from all of
|
||||
// the passed-in arrays.
|
||||
_.union = function() {
|
||||
return _.uniq(_.flatten(arguments, true));
|
||||
};
|
||||
|
||||
// Produce an array that contains every item shared between all the
|
||||
// passed-in arrays. (Aliased as "intersect" for back-compat.)
|
||||
_.intersection = _.intersect = function(array) {
|
||||
var rest = slice.call(arguments, 1);
|
||||
return _.filter(_.uniq(array), function(item) {
|
||||
return _.every(rest, function(other) {
|
||||
return _.indexOf(other, item) >= 0;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// Take the difference between one array and a number of other arrays.
|
||||
// Only the elements present in just the first array will remain.
|
||||
_.difference = function(array) {
|
||||
var rest = _.flatten(slice.call(arguments, 1));
|
||||
return _.filter(array, function(value){ return !_.include(rest, value); });
|
||||
};
|
||||
|
||||
// Zip together multiple lists into a single array -- elements that share
|
||||
// an index go together.
|
||||
_.zip = function() {
|
||||
var args = slice.call(arguments);
|
||||
var length = _.max(_.pluck(args, 'length'));
|
||||
var results = new Array(length);
|
||||
for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i);
|
||||
return results;
|
||||
};
|
||||
|
||||
// If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),
|
||||
// we need this function. Return the position of the first occurrence of an
|
||||
// item in an array, or -1 if the item is not included in the array.
|
||||
// Delegates to **ECMAScript 5**'s native `indexOf` if available.
|
||||
// If the array is large and already in sort order, pass `true`
|
||||
// for **isSorted** to use binary search.
|
||||
_.indexOf = function(array, item, isSorted) {
|
||||
if (array == null) return -1;
|
||||
var i, l;
|
||||
if (isSorted) {
|
||||
i = _.sortedIndex(array, item);
|
||||
return array[i] === item ? i : -1;
|
||||
}
|
||||
if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item);
|
||||
for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i;
|
||||
return -1;
|
||||
};
|
||||
|
||||
// Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.
|
||||
_.lastIndexOf = function(array, item) {
|
||||
if (array == null) return -1;
|
||||
if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item);
|
||||
var i = array.length;
|
||||
while (i--) if (i in array && array[i] === item) return i;
|
||||
return -1;
|
||||
};
|
||||
|
||||
// Generate an integer Array containing an arithmetic progression. A port of
|
||||
// the native Python `range()` function. See
|
||||
// [the Python documentation](http://docs.python.org/library/functions.html#range).
|
||||
_.range = function(start, stop, step) {
|
||||
if (arguments.length <= 1) {
|
||||
stop = start || 0;
|
||||
start = 0;
|
||||
}
|
||||
step = arguments[2] || 1;
|
||||
|
||||
var len = Math.max(Math.ceil((stop - start) / step), 0);
|
||||
var idx = 0;
|
||||
var range = new Array(len);
|
||||
|
||||
while(idx < len) {
|
||||
range[idx++] = start;
|
||||
start += step;
|
||||
}
|
||||
|
||||
return range;
|
||||
};
|
||||
|
||||
// Function (ahem) Functions
|
||||
// ------------------
|
||||
|
||||
// Reusable constructor function for prototype setting.
|
||||
var ctor = function(){};
|
||||
|
||||
// Create a function bound to a given object (assigning `this`, and arguments,
|
||||
// optionally). Binding with arguments is also known as `curry`.
|
||||
// Delegates to **ECMAScript 5**'s native `Function.bind` if available.
|
||||
// We check for `func.bind` first, to fail fast when `func` is undefined.
|
||||
_.bind = function bind(func, context) {
|
||||
var bound, args;
|
||||
if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
|
||||
if (!_.isFunction(func)) throw new TypeError;
|
||||
args = slice.call(arguments, 2);
|
||||
return bound = function() {
|
||||
if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
|
||||
ctor.prototype = func.prototype;
|
||||
var self = new ctor;
|
||||
var result = func.apply(self, args.concat(slice.call(arguments)));
|
||||
if (Object(result) === result) return result;
|
||||
return self;
|
||||
};
|
||||
};
|
||||
|
||||
// Bind all of an object's methods to that object. Useful for ensuring that
|
||||
// all callbacks defined on an object belong to it.
|
||||
_.bindAll = function(obj) {
|
||||
var funcs = slice.call(arguments, 1);
|
||||
if (funcs.length == 0) funcs = _.functions(obj);
|
||||
each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });
|
||||
return obj;
|
||||
};
|
||||
|
||||
// Memoize an expensive function by storing its results.
|
||||
_.memoize = function(func, hasher) {
|
||||
var memo = {};
|
||||
hasher || (hasher = _.identity);
|
||||
return function() {
|
||||
var key = hasher.apply(this, arguments);
|
||||
return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));
|
||||
};
|
||||
};
|
||||
|
||||
// Delays a function for the given number of milliseconds, and then calls
|
||||
// it with the arguments supplied.
|
||||
_.delay = function(func, wait) {
|
||||
var args = slice.call(arguments, 2);
|
||||
return setTimeout(function(){ return func.apply(func, args); }, wait);
|
||||
};
|
||||
|
||||
// Defers a function, scheduling it to run after the current call stack has
|
||||
// cleared.
|
||||
_.defer = function(func) {
|
||||
return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
|
||||
};
|
||||
|
||||
// Returns a function, that, when invoked, will only be triggered at most once
|
||||
// during a given window of time.
|
||||
_.throttle = function(func, wait) {
|
||||
var context, args, timeout, throttling, more;
|
||||
var whenDone = _.debounce(function(){ more = throttling = false; }, wait);
|
||||
return function() {
|
||||
context = this; args = arguments;
|
||||
var later = function() {
|
||||
timeout = null;
|
||||
if (more) func.apply(context, args);
|
||||
whenDone();
|
||||
};
|
||||
if (!timeout) timeout = setTimeout(later, wait);
|
||||
if (throttling) {
|
||||
more = true;
|
||||
} else {
|
||||
func.apply(context, args);
|
||||
}
|
||||
whenDone();
|
||||
throttling = true;
|
||||
};
|
||||
};
|
||||
|
||||
// Returns a function, that, as long as it continues to be invoked, will not
|
||||
// be triggered. The function will be called after it stops being called for
|
||||
// N milliseconds.
|
||||
_.debounce = function(func, wait) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this, args = arguments;
|
||||
var later = function() {
|
||||
timeout = null;
|
||||
func.apply(context, args);
|
||||
};
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
};
|
||||
};
|
||||
|
||||
// Returns a function that will be executed at most one time, no matter how
|
||||
// often you call it. Useful for lazy initialization.
|
||||
_.once = function(func) {
|
||||
var ran = false, memo;
|
||||
return function() {
|
||||
if (ran) return memo;
|
||||
ran = true;
|
||||
return memo = func.apply(this, arguments);
|
||||
};
|
||||
};
|
||||
|
||||
// Returns the first function passed as an argument to the second,
|
||||
// allowing you to adjust arguments, run code before and after, and
|
||||
// conditionally execute the original function.
|
||||
_.wrap = function(func, wrapper) {
|
||||
return function() {
|
||||
var args = [func].concat(slice.call(arguments, 0));
|
||||
return wrapper.apply(this, args);
|
||||
};
|
||||
};
|
||||
|
||||
// Returns a function that is the composition of a list of functions, each
|
||||
// consuming the return value of the function that follows.
|
||||
_.compose = function() {
|
||||
var funcs = arguments;
|
||||
return function() {
|
||||
var args = arguments;
|
||||
for (var i = funcs.length - 1; i >= 0; i--) {
|
||||
args = [funcs[i].apply(this, args)];
|
||||
}
|
||||
return args[0];
|
||||
};
|
||||
};
|
||||
|
||||
// Returns a function that will only be executed after being called N times.
|
||||
_.after = function(times, func) {
|
||||
if (times <= 0) return func();
|
||||
return function() {
|
||||
if (--times < 1) { return func.apply(this, arguments); }
|
||||
};
|
||||
};
|
||||
|
||||
// Object Functions
|
||||
// ----------------
|
||||
|
||||
// Retrieve the names of an object's properties.
|
||||
// Delegates to **ECMAScript 5**'s native `Object.keys`
|
||||
_.keys = nativeKeys || function(obj) {
|
||||
if (obj !== Object(obj)) throw new TypeError('Invalid object');
|
||||
var keys = [];
|
||||
for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;
|
||||
return keys;
|
||||
};
|
||||
|
||||
// Retrieve the values of an object's properties.
|
||||
_.values = function(obj) {
|
||||
return _.map(obj, _.identity);
|
||||
};
|
||||
|
||||
// Return a sorted list of the function names available on the object.
|
||||
// Aliased as `methods`
|
||||
_.functions = _.methods = function(obj) {
|
||||
var names = [];
|
||||
for (var key in obj) {
|
||||
if (_.isFunction(obj[key])) names.push(key);
|
||||
}
|
||||
return names.sort();
|
||||
};
|
||||
|
||||
// Extend a given object with all the properties in passed-in object(s).
|
||||
_.extend = function(obj) {
|
||||
each(slice.call(arguments, 1), function(source) {
|
||||
for (var prop in source) {
|
||||
obj[prop] = source[prop];
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
};
|
||||
|
||||
// Fill in a given object with default properties.
|
||||
_.defaults = function(obj) {
|
||||
each(slice.call(arguments, 1), function(source) {
|
||||
for (var prop in source) {
|
||||
if (obj[prop] == null) obj[prop] = source[prop];
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
};
|
||||
|
||||
// Create a (shallow-cloned) duplicate of an object.
|
||||
_.clone = function(obj) {
|
||||
if (!_.isObject(obj)) return obj;
|
||||
return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
|
||||
};
|
||||
|
||||
// Invokes interceptor with the obj, and then returns obj.
|
||||
// The primary purpose of this method is to "tap into" a method chain, in
|
||||
// order to perform operations on intermediate results within the chain.
|
||||
_.tap = function(obj, interceptor) {
|
||||
interceptor(obj);
|
||||
return obj;
|
||||
};
|
||||
|
||||
// Internal recursive comparison function.
|
||||
function eq(a, b, stack) {
|
||||
// Identical objects are equal. `0 === -0`, but they aren't identical.
|
||||
// See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.
|
||||
if (a === b) return a !== 0 || 1 / a == 1 / b;
|
||||
// A strict comparison is necessary because `null == undefined`.
|
||||
if (a == null || b == null) return a === b;
|
||||
// Unwrap any wrapped objects.
|
||||
if (a._chain) a = a._wrapped;
|
||||
if (b._chain) b = b._wrapped;
|
||||
// Invoke a custom `isEqual` method if one is provided.
|
||||
if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b);
|
||||
if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a);
|
||||
// Compare `[[Class]]` names.
|
||||
var className = toString.call(a);
|
||||
if (className != toString.call(b)) return false;
|
||||
switch (className) {
|
||||
// Strings, numbers, dates, and booleans are compared by value.
|
||||
case '[object String]':
|
||||
// Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
|
||||
// equivalent to `new String("5")`.
|
||||
return a == String(b);
|
||||
case '[object Number]':
|
||||
// `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for
|
||||
// other numeric values.
|
||||
return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);
|
||||
case '[object Date]':
|
||||
case '[object Boolean]':
|
||||
// Coerce dates and booleans to numeric primitive values. Dates are compared by their
|
||||
// millisecond representations. Note that invalid dates with millisecond representations
|
||||
// of `NaN` are not equivalent.
|
||||
return +a == +b;
|
||||
// RegExps are compared by their source patterns and flags.
|
||||
case '[object RegExp]':
|
||||
return a.source == b.source &&
|
||||
a.global == b.global &&
|
||||
a.multiline == b.multiline &&
|
||||
a.ignoreCase == b.ignoreCase;
|
||||
}
|
||||
if (typeof a != 'object' || typeof b != 'object') return false;
|
||||
// Assume equality for cyclic structures. The algorithm for detecting cyclic
|
||||
// structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
|
||||
var length = stack.length;
|
||||
while (length--) {
|
||||
// Linear search. Performance is inversely proportional to the number of
|
||||
// unique nested structures.
|
||||
if (stack[length] == a) return true;
|
||||
}
|
||||
// Add the first object to the stack of traversed objects.
|
||||
stack.push(a);
|
||||
var size = 0, result = true;
|
||||
// Recursively compare objects and arrays.
|
||||
if (className == '[object Array]') {
|
||||
// Compare array lengths to determine if a deep comparison is necessary.
|
||||
size = a.length;
|
||||
result = size == b.length;
|
||||
if (result) {
|
||||
// Deep compare the contents, ignoring non-numeric properties.
|
||||
while (size--) {
|
||||
// Ensure commutative equality for sparse arrays.
|
||||
if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Objects with different constructors are not equivalent.
|
||||
if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false;
|
||||
// Deep compare objects.
|
||||
for (var key in a) {
|
||||
if (_.has(a, key)) {
|
||||
// Count the expected number of properties.
|
||||
size++;
|
||||
// Deep compare each member.
|
||||
if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break;
|
||||
}
|
||||
}
|
||||
// Ensure that both objects contain the same number of properties.
|
||||
if (result) {
|
||||
for (key in b) {
|
||||
if (_.has(b, key) && !(size--)) break;
|
||||
}
|
||||
result = !size;
|
||||
}
|
||||
}
|
||||
// Remove the first object from the stack of traversed objects.
|
||||
stack.pop();
|
||||
return result;
|
||||
}
|
||||
|
||||
// Perform a deep comparison to check if two objects are equal.
|
||||
_.isEqual = function(a, b) {
|
||||
return eq(a, b, []);
|
||||
};
|
||||
|
||||
// Is a given array, string, or object empty?
|
||||
// An "empty" object has no enumerable own-properties.
|
||||
_.isEmpty = function(obj) {
|
||||
if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
|
||||
for (var key in obj) if (_.has(obj, key)) return false;
|
||||
return true;
|
||||
};
|
||||
|
||||
// Is a given value a DOM element?
|
||||
_.isElement = function(obj) {
|
||||
return !!(obj && obj.nodeType == 1);
|
||||
};
|
||||
|
||||
// Is a given value an array?
|
||||
// Delegates to ECMA5's native Array.isArray
|
||||
_.isArray = nativeIsArray || function(obj) {
|
||||
return toString.call(obj) == '[object Array]';
|
||||
};
|
||||
|
||||
// Is a given variable an object?
|
||||
_.isObject = function(obj) {
|
||||
return obj === Object(obj);
|
||||
};
|
||||
|
||||
// Is a given variable an arguments object?
|
||||
_.isArguments = function(obj) {
|
||||
return toString.call(obj) == '[object Arguments]';
|
||||
};
|
||||
if (!_.isArguments(arguments)) {
|
||||
_.isArguments = function(obj) {
|
||||
return !!(obj && _.has(obj, 'callee'));
|
||||
};
|
||||
}
|
||||
|
||||
// Is a given value a function?
|
||||
_.isFunction = function(obj) {
|
||||
return toString.call(obj) == '[object Function]';
|
||||
};
|
||||
|
||||
// Is a given value a string?
|
||||
_.isString = function(obj) {
|
||||
return toString.call(obj) == '[object String]';
|
||||
};
|
||||
|
||||
// Is a given value a number?
|
||||
_.isNumber = function(obj) {
|
||||
return toString.call(obj) == '[object Number]';
|
||||
};
|
||||
|
||||
// Is the given value `NaN`?
|
||||
_.isNaN = function(obj) {
|
||||
// `NaN` is the only value for which `===` is not reflexive.
|
||||
return obj !== obj;
|
||||
};
|
||||
|
||||
// Is a given value a boolean?
|
||||
_.isBoolean = function(obj) {
|
||||
return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
|
||||
};
|
||||
|
||||
// Is a given value a date?
|
||||
_.isDate = function(obj) {
|
||||
return toString.call(obj) == '[object Date]';
|
||||
};
|
||||
|
||||
// Is the given value a regular expression?
|
||||
_.isRegExp = function(obj) {
|
||||
return toString.call(obj) == '[object RegExp]';
|
||||
};
|
||||
|
||||
// Is a given value equal to null?
|
||||
_.isNull = function(obj) {
|
||||
return obj === null;
|
||||
};
|
||||
|
||||
// Is a given variable undefined?
|
||||
_.isUndefined = function(obj) {
|
||||
return obj === void 0;
|
||||
};
|
||||
|
||||
// Has own property?
|
||||
_.has = function(obj, key) {
|
||||
return hasOwnProperty.call(obj, key);
|
||||
};
|
||||
|
||||
// Utility Functions
|
||||
// -----------------
|
||||
|
||||
// Run Underscore.js in *noConflict* mode, returning the `_` variable to its
|
||||
// previous owner. Returns a reference to the Underscore object.
|
||||
_.noConflict = function() {
|
||||
root._ = previousUnderscore;
|
||||
return this;
|
||||
};
|
||||
|
||||
// Keep the identity function around for default iterators.
|
||||
_.identity = function(value) {
|
||||
return value;
|
||||
};
|
||||
|
||||
// Run a function **n** times.
|
||||
_.times = function (n, iterator, context) {
|
||||
for (var i = 0; i < n; i++) iterator.call(context, i);
|
||||
};
|
||||
|
||||
// Escape a string for HTML interpolation.
|
||||
_.escape = function(string) {
|
||||
return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/');
|
||||
};
|
||||
|
||||
// Add your own custom functions to the Underscore object, ensuring that
|
||||
// they're correctly added to the OOP wrapper as well.
|
||||
_.mixin = function(obj) {
|
||||
each(_.functions(obj), function(name){
|
||||
addToWrapper(name, _[name] = obj[name]);
|
||||
});
|
||||
};
|
||||
|
||||
// Generate a unique integer id (unique within the entire client session).
|
||||
// Useful for temporary DOM ids.
|
||||
var idCounter = 0;
|
||||
_.uniqueId = function(prefix) {
|
||||
var id = idCounter++;
|
||||
return prefix ? prefix + id : id;
|
||||
};
|
||||
|
||||
// By default, Underscore uses ERB-style template delimiters, change the
|
||||
// following template settings to use alternative delimiters.
|
||||
_.templateSettings = {
|
||||
evaluate : /<%([\s\S]+?)%>/g,
|
||||
interpolate : /<%=([\s\S]+?)%>/g,
|
||||
escape : /<%-([\s\S]+?)%>/g
|
||||
};
|
||||
|
||||
// When customizing `templateSettings`, if you don't want to define an
|
||||
// interpolation, evaluation or escaping regex, we need one that is
|
||||
// guaranteed not to match.
|
||||
var noMatch = /.^/;
|
||||
|
||||
// Within an interpolation, evaluation, or escaping, remove HTML escaping
|
||||
// that had been previously added.
|
||||
var unescape = function(code) {
|
||||
return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'");
|
||||
};
|
||||
|
||||
// JavaScript micro-templating, similar to John Resig's implementation.
|
||||
// Underscore templating handles arbitrary delimiters, preserves whitespace,
|
||||
// and correctly escapes quotes within interpolated code.
|
||||
_.template = function(str, data) {
|
||||
var c = _.templateSettings;
|
||||
var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' +
|
||||
'with(obj||{}){__p.push(\'' +
|
||||
str.replace(/\\/g, '\\\\')
|
||||
.replace(/'/g, "\\'")
|
||||
.replace(c.escape || noMatch, function(match, code) {
|
||||
return "',_.escape(" + unescape(code) + "),'";
|
||||
})
|
||||
.replace(c.interpolate || noMatch, function(match, code) {
|
||||
return "'," + unescape(code) + ",'";
|
||||
})
|
||||
.replace(c.evaluate || noMatch, function(match, code) {
|
||||
return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('";
|
||||
})
|
||||
.replace(/\r/g, '\\r')
|
||||
.replace(/\n/g, '\\n')
|
||||
.replace(/\t/g, '\\t')
|
||||
+ "');}return __p.join('');";
|
||||
var func = new Function('obj', '_', tmpl);
|
||||
if (data) return func(data, _);
|
||||
return function(data) {
|
||||
return func.call(this, data, _);
|
||||
};
|
||||
};
|
||||
|
||||
// Add a "chain" function, which will delegate to the wrapper.
|
||||
_.chain = function(obj) {
|
||||
return _(obj).chain();
|
||||
};
|
||||
|
||||
// The OOP Wrapper
|
||||
// ---------------
|
||||
|
||||
// If Underscore is called as a function, it returns a wrapped object that
|
||||
// can be used OO-style. This wrapper holds altered versions of all the
|
||||
// underscore functions. Wrapped objects may be chained.
|
||||
var wrapper = function(obj) { this._wrapped = obj; };
|
||||
|
||||
// Expose `wrapper.prototype` as `_.prototype`
|
||||
_.prototype = wrapper.prototype;
|
||||
|
||||
// Helper function to continue chaining intermediate results.
|
||||
var result = function(obj, chain) {
|
||||
return chain ? _(obj).chain() : obj;
|
||||
};
|
||||
|
||||
// A method to easily add functions to the OOP wrapper.
|
||||
var addToWrapper = function(name, func) {
|
||||
wrapper.prototype[name] = function() {
|
||||
var args = slice.call(arguments);
|
||||
unshift.call(args, this._wrapped);
|
||||
return result(func.apply(_, args), this._chain);
|
||||
};
|
||||
};
|
||||
|
||||
// Add all of the Underscore functions to the wrapper object.
|
||||
_.mixin(_);
|
||||
|
||||
// Add all mutator Array functions to the wrapper.
|
||||
each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
|
||||
var method = ArrayProto[name];
|
||||
wrapper.prototype[name] = function() {
|
||||
var wrapped = this._wrapped;
|
||||
method.apply(wrapped, arguments);
|
||||
var length = wrapped.length;
|
||||
if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0];
|
||||
return result(wrapped, this._chain);
|
||||
};
|
||||
});
|
||||
|
||||
// Add all accessor Array functions to the wrapper.
|
||||
each(['concat', 'join', 'slice'], function(name) {
|
||||
var method = ArrayProto[name];
|
||||
wrapper.prototype[name] = function() {
|
||||
return result(method.apply(this._wrapped, arguments), this._chain);
|
||||
};
|
||||
});
|
||||
|
||||
// Start chaining a wrapped Underscore object.
|
||||
wrapper.prototype.chain = function() {
|
||||
this._chain = true;
|
||||
return this;
|
||||
};
|
||||
|
||||
// Extracts the result from a wrapped and chained object.
|
||||
wrapper.prototype.value = function() {
|
||||
return this._wrapped;
|
||||
};
|
||||
|
||||
}).call(this);
|
||||
Executable → Regular
File mode changed.
Executable → Regular
File mode changed.
Executable → Regular
+3
-7
@@ -1,7 +1,3 @@
|
||||
<nav id="menu" class="grid_5">
|
||||
<?php wp_nav_menu( array( 'theme_location' => 'main-menu', 'container' => 'false' ) ); ?>
|
||||
<ul>
|
||||
<li class="social-icon"><a id="facebook-icon" href="http://facebook.com/teaterneuf" target="_blank"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/img/facebook.png" /></a></li>
|
||||
<li class="social-icon"><a id="twitter-icon" href="http://twitter.com/teater_neuf" target="_blank"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/img/twitter.png" /></a></li>
|
||||
</ul>
|
||||
</nav> <!-- #menu -->
|
||||
<nav id="menu" class="grid_5">
|
||||
<?php wp_nav_menu( array( 'theme_location' => 'main-menu', 'container' => 'false' ) ); ?>
|
||||
</nav> <!-- #menu -->
|
||||
Executable → Regular
File mode changed.
@@ -1,114 +0,0 @@
|
||||
<?php
|
||||
require( '../../../wp-load.php' );
|
||||
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-8 hours' ) ),
|
||||
'compare' => '>',
|
||||
'type' => 'numeric'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array( $meta_query ),
|
||||
'posts_per_page' => 4
|
||||
);
|
||||
$events = new WP_Query( $args );
|
||||
/* */
|
||||
define('SITE_ROOT', 'http://studentersamfunnet.no/');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="no" lang="no">
|
||||
|
||||
<head>
|
||||
<title>Ukesprogram for Det Norske Studentersamfund</title>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
<link href="<?php echo SITE_ROOT;?>css/weekprogrammail.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body style="font-family: verdana, sans-serif; font-size: 11px; border: none; letter-spacing: 1px; border: none;">
|
||||
<div id="all" style="width: 600px; border: none; margin: 0 auto;">
|
||||
|
||||
<?php
|
||||
/* TODO : add edit mode with js */
|
||||
?>
|
||||
<p>
|
||||
<img src="<?php echo SITE_ROOT;?>bilder/bannermail.png" alt="Det Norske Studentersamfund" border="0" />
|
||||
</p>
|
||||
|
||||
<?php
|
||||
/* three top stories */
|
||||
?>
|
||||
<table class="top">
|
||||
<tr style="background: #fff;">
|
||||
<?php $counter = 0;
|
||||
while ($events->have_posts() && $counter < 3) : $events->the_post(); ?>
|
||||
|
||||
<td id="<?php the_ID(); ?>" style="vertical-align: center;">
|
||||
<div>
|
||||
<h2 style="margin: 0px 3px; font-size: 14px;"><?php //echo $gig->name; ?></h2>
|
||||
<p style="margin: 0px 3px; font-style: italic;">
|
||||
<?php //echo strftime("%A %d. %B, %H:%M", strtotime($gig->time)); ?>
|
||||
</p>
|
||||
</div>
|
||||
<div style="margin-top: 5px; text-align: center; vertical-align: center; heigth: 250px;">
|
||||
<?php //if ($gig->picture): ?>
|
||||
<img src="<?php echo SITE_ROOT;?>imageResize.php?pic=bilder/program/DELETEME<?php //echo $gig->picture;?>&maxwidth=170" alt="" />
|
||||
<?php //endif; ?>
|
||||
</div>
|
||||
<div>
|
||||
<p style="margin: 5px 3px 0;">
|
||||
<?php //echo $gig->intro; ?>
|
||||
</p>
|
||||
<p style="margin: 5px 3px;">
|
||||
<a href="<?php the_permalink(); ?>">Les mer»</a>
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
<?php $counter++; ?>
|
||||
<?php endwhile; ?>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="clear"> </div>
|
||||
<div id="middle-section">
|
||||
<p id="middle-text">
|
||||
<?php //echo $prog->pretext; ?>
|
||||
</p>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<div id="concert-list">
|
||||
<table>
|
||||
<tr>
|
||||
|
||||
<?php
|
||||
/* TODO snipped week table with
|
||||
- day as header
|
||||
- 3 columns:
|
||||
- event picture
|
||||
- title with description and read more link.
|
||||
- event type, venue, time, price
|
||||
*/
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="end-section">
|
||||
<br />
|
||||
<p id="end-text"><?php //echo $prog->posttext; ?></p>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<div id="sponsors" style="text-align: center; border-top: 1px solid black;">
|
||||
<p>Vår samarbeidspartner:</p>
|
||||
<a href="http://www.akademika.no"><img style="margin: 12px; border: none;" src="<?php echo SITE_ROOT; ?>bilder/sponsorer/akademika.png" alt="Akademika" /></a>
|
||||
</div>
|
||||
<div id="about" style="text-align: center; border-top: 1px solid black;">
|
||||
<p>Det Norske Studentersamfund</p>
|
||||
<p><a href="<?php echo SITE_ROOT; ?>">www.studentersamfundet.no</a></p>
|
||||
<p>Chateau Neuf, Slemdalsveien 15, 0369 Oslo, tlf: 22 84 45 11</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "tn2014",
|
||||
"version": "0.1.0",
|
||||
"devDependencies": {
|
||||
"node-sass": "latest",
|
||||
"grunt": "latest",
|
||||
"grunt-autoprefixer": "latest",
|
||||
"grunt-contrib-watch": "latest",
|
||||
"grunt-sass": "latest",
|
||||
"matchdep": "latest"
|
||||
}
|
||||
}
|
||||
Executable → Regular
File mode changed.
@@ -1,53 +0,0 @@
|
||||
<?php get_header(); ?>
|
||||
<div id="content" class="container_12">
|
||||
|
||||
<?php while ( have_posts()) : the_post(); ?>
|
||||
|
||||
<div class="grid_12"><h1><?php the_title(); ?></h1><?php the_content(); ?></div>
|
||||
<?php endwhile; ?>
|
||||
|
||||
<div id="flowplayer" class="grid_8" style="background-color:black; color:white;margin-bottom:20px;">
|
||||
<!-- Stream URL -->
|
||||
<a href="http://porter.streaming.neuf.no:8800/live/" style="width:792px;height:432px;display:block;" id="player"></a>
|
||||
<script src="<?php bloginfo('stylesheet_directory'); ?>/flowplayer-3.2.6.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
flowplayer("player", "<?php bloginfo('stylesheet_directory');?>/flowplayer-3.2.7.swf");
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<div id="twitter-widget" class="grid_4">
|
||||
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<script>
|
||||
new TWTR.Widget({
|
||||
version: 2,
|
||||
type: 'search',
|
||||
search: '#dnsgf',
|
||||
interval: 30000,
|
||||
title: 'HashTag #dnsgf',
|
||||
subject: 'Generalforsamling våren 2012',
|
||||
width: 370,
|
||||
height: 400,
|
||||
theme: {
|
||||
shell: {
|
||||
background: '#8ec1da',
|
||||
color: '#ffffff'
|
||||
},
|
||||
tweets: {
|
||||
background: '#ffffff',
|
||||
color: '#444444',
|
||||
links: '#1985b5'
|
||||
}
|
||||
},
|
||||
features: {
|
||||
scrollbar: false,
|
||||
loop: false,
|
||||
live: true,
|
||||
behavior: 'default'
|
||||
}
|
||||
}).render().start();
|
||||
</script>
|
||||
</div> <!-- #twitter-widget -->
|
||||
</div>
|
||||
</div>
|
||||
<?php get_footer(); ?>
|
||||
@@ -1,174 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Displays the next event.
|
||||
*
|
||||
* Meant to be displayed on infoscreens (offsite).
|
||||
*
|
||||
* Output on
|
||||
* http://example.com/page-neste-arrangement/
|
||||
* http://example.com/page-neste-arrangement/?page=2
|
||||
* http://example.com/page-neste-arrangement/?page=3
|
||||
* etc
|
||||
*
|
||||
* Ref: http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
|
||||
*/
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-30 minutes' ) ),
|
||||
'compare' => '>',
|
||||
'type' => 'numeric'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array( $meta_query ),
|
||||
'posts_per_page' => 1,
|
||||
'orderby' => 'meta_value_num',
|
||||
'meta_key' => '_neuf_events_starttime',
|
||||
'order' => 'ASC'
|
||||
);
|
||||
|
||||
$args['offset'] = get_query_var( 'page' ) - 1 >= 0 ? get_query_var( 'page' ) - 1 : 0;
|
||||
|
||||
$events = new WP_Query( $args );
|
||||
|
||||
if ($events->have_posts() ) : while ( $events->have_posts() ) : $events->the_post();
|
||||
|
||||
$bg = wp_get_attachment_image_src( get_post_thumbnail_id() , 'extra-large' );
|
||||
$bg = $bg[0];
|
||||
|
||||
|
||||
$event_array = get_the_terms( $post->ID , 'event_type' );
|
||||
foreach ( $event_array as $event_type ) {
|
||||
$post->event_types[] = $event_type->name;
|
||||
$post->post_classes[] = 'event-type-' . $event_type->slug;
|
||||
}
|
||||
$post->event_types_comma = implode( ', ' , $post->event_types );
|
||||
|
||||
?>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Snart på Studentersamfundet</title>
|
||||
<link href='http://fonts.googleapis.com/css?family=Arvo:700,400italic' rel='stylesheet' type='text/css'>
|
||||
<style media="screen" type="text/css">
|
||||
/**
|
||||
* reset
|
||||
*/
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* styles
|
||||
*/
|
||||
html,body,#event {
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#event {
|
||||
width:100%;
|
||||
height:100%;
|
||||
background-size:cover;
|
||||
background-image:url('<?php echo $bg; ?>');
|
||||
background-position:center;
|
||||
background-attachment:static;
|
||||
color:white;
|
||||
text-shadow:black 0 0 14px;
|
||||
font-family:Arial,Helvetica,sans;
|
||||
}
|
||||
|
||||
#title,#timeplace,#price {
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
padding-bottom:30px;
|
||||
}
|
||||
#title {
|
||||
width:100%;
|
||||
text-align:center;
|
||||
}
|
||||
#timeplace {
|
||||
left:30px;
|
||||
}
|
||||
#price{
|
||||
right:30px;
|
||||
}
|
||||
h1 {
|
||||
max-width:60%;
|
||||
margin:auto;
|
||||
font-size:32px;
|
||||
font-family:Arvo;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="event">
|
||||
<div id="title">
|
||||
<small id="eventtypes"><?php echo( $post->event_types_comma ); ?></small>
|
||||
<h1><?php the_title(); ?></h1>
|
||||
</div>
|
||||
<div id="timeplace">
|
||||
<p id="loc"><?php echo( $post->neuf_event_venue = get_post_meta(get_the_ID(), '_neuf_events_venue',true) ); ?></p>
|
||||
<p id="time"><?php echo( ucfirst( date_i18n( 'l \k\l G.i' , $post->neuf_event_venue = get_post_meta(get_the_ID(), '_neuf_events_starttime',true) ) ) ); ?></p>
|
||||
</div>
|
||||
<div id="price">
|
||||
<p><?php echo ($price = neuf_get_price( $post )) ? $price : "Gratis"; ?></p>
|
||||
</div>
|
||||
</div> <!-- #event -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php endwhile; else: ?>
|
||||
|
||||
<html><head><title>Ingen flere arrangementer</title></head><body>
|
||||
<h1>Ingen flere arrangementer</h1><p>Bli aktiv i Studentersamfundet, og lag flere arrangementer.</p><p style="font-size:2em;">blimedlem@studentersamfundet.no</p>
|
||||
</body></html>
|
||||
|
||||
<?php endif; ?>
|
||||
Executable → Regular
File mode changed.
@@ -1,60 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Template Name: UIO Program feed
|
||||
*
|
||||
* This feed is syndicated to http://www.uio.no/livet-rundt-studiene/.
|
||||
*
|
||||
* What is important for this syndication, is that the start time of the events is included as pubDate elements.
|
||||
*/
|
||||
header('Content-type: application/rss+xml');
|
||||
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-8 hours' )), // start
|
||||
'type' => 'numeric',
|
||||
'compare' => '>'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array($meta_query),
|
||||
'posts_per_page' => 100,
|
||||
'orderby' => 'meta_value_num',
|
||||
'meta_key' => '_neuf_events_starttime',
|
||||
'order' => 'ASC'
|
||||
);
|
||||
|
||||
$events = new WP_Query( $args );
|
||||
|
||||
if (0)
|
||||
print('<?xml version="1.0" encoding="ISO-8859-1" ?>');
|
||||
|
||||
print('<?xml version="1.0" encoding="UTF-8" ?>');
|
||||
?>
|
||||
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
|
||||
<channel>
|
||||
|
||||
<title>Program - Det Norske Studentersamfund</title>
|
||||
<description><![CDATA[Program på Det Norske Studentersamfund]]></description>
|
||||
<link>http://studentersamfundet.no/program/</link>
|
||||
<atom:link href="http://studentersamfundet.no/syndikering/kommende-program/" rel="self" type="application/rss+xml" />
|
||||
|
||||
<?php
|
||||
if( $events->have_posts() ) : while ( $events->have_posts() ) : $events->the_post();
|
||||
?>
|
||||
<item>
|
||||
<title><?php echo( htmlspecialchars( get_the_title() ) ); ?></title>
|
||||
<description><?php echo("<![CDATA[" . get_the_excerpt() . "]]>"); ?></description>
|
||||
<link><?php the_permalink(); ?></link>
|
||||
<guid><?php the_permalink(); ?></guid>
|
||||
<content:encoded><?php echo("<![CDATA[" . get_the_content() . "]]>"); ?></content:encoded>
|
||||
<pubDate><?php echo ( date("D, d M Y H:i:s O", get_post_meta($post->ID, '_neuf_events_starttime', true ) ) ); ?></pubDate>
|
||||
|
||||
</item>
|
||||
<?php endwhile; endif; ?>
|
||||
|
||||
</channel>
|
||||
|
||||
</rss>
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Displays a calendar for the coming week, starting with today.
|
||||
*
|
||||
* Ref: http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
|
||||
*/
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-8 hours' ) ),
|
||||
'compare' => '>',
|
||||
'type' => 'numeric'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array( $meta_query ),
|
||||
'posts_per_page' => 25,
|
||||
'orderby' => 'meta_value_num',
|
||||
'meta_key' => '_neuf_events_starttime',
|
||||
'order' => 'ASC'
|
||||
);
|
||||
|
||||
$events = new WP_Query( $args );
|
||||
|
||||
if ( $events->have_posts() ) :
|
||||
$event_daycounter = 1;
|
||||
$newday = true;
|
||||
?>
|
||||
|
||||
<div id="program-3days" class="program grid_12">
|
||||
|
||||
<div class="day day-<?php echo $event_daycounter; ?> grid_4 alpha">
|
||||
|
||||
<?php while ( $events->have_posts() ) : $events->the_post(); ?>
|
||||
|
||||
<?php
|
||||
if ( isset( $event_current_day ) )
|
||||
$event_previous_day = $event_current_day;
|
||||
|
||||
$event_current_day = date_i18n( 'Y-m-d' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) );
|
||||
|
||||
if ( isset( $event_previous_day ) && $event_previous_day != $event_current_day ) {
|
||||
// New day
|
||||
$newday = true;
|
||||
|
||||
// We only want the first three days
|
||||
if ( $event_daycounter >= 4 )
|
||||
break;
|
||||
?>
|
||||
</div> <!-- .day -->
|
||||
|
||||
<div class="day day-<?php echo $event_daycounter; ?> grid_4<?php if ( 3 == $event_daycounter ) echo " omega" ?>">
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ( !isset( $event_previous_day ) || $event_previous_day != $event_current_day ) {
|
||||
$event_daycounter++;
|
||||
?>
|
||||
|
||||
<h2><?php echo ucfirst( date_i18n( 'l j/n' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) ) ); ?></h2>
|
||||
|
||||
<?php
|
||||
if( $newday && has_post_thumbnail() ) { ?>
|
||||
<a href="<?php the_permalink(); ?>" title="permanent lenke til <?php the_title(); ?>"><?php the_post_thumbnail( 'four-column-thumb' ); ?></a>
|
||||
<?php
|
||||
$newday = false;
|
||||
}
|
||||
} ?>
|
||||
|
||||
<p><?php echo date_i18n( 'H.i:' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) ); ?> <a href="<?php the_permalink(); ?>" title="permanent lenke til <?php the_title(); ?>"><?php echo the_title(); ?></a></p>
|
||||
|
||||
|
||||
<?php endwhile; // $events->have_posts(); ?>
|
||||
|
||||
</div> <!-- .day -->
|
||||
|
||||
</div> <!-- #program-3days -->
|
||||
|
||||
<?php endif; // $events->have_posts() ?>
|
||||
@@ -1,79 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Displays a calendar for the coming week, starting with today.
|
||||
*
|
||||
* Ref: http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
|
||||
*/
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-8 hours' ) ),
|
||||
'compare' => '>',
|
||||
'type' => 'numeric'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array( $meta_query ),
|
||||
'posts_per_page' => 50,
|
||||
'orderby' => 'meta_value_num',
|
||||
'meta_key' => '_neuf_events_starttime',
|
||||
'order' => 'ASC'
|
||||
);
|
||||
|
||||
$events = new WP_Query( $args );
|
||||
|
||||
if ( $events->have_posts() ) :
|
||||
$event_daycounter = 1;
|
||||
$newday = true;
|
||||
?>
|
||||
|
||||
<div id="program-6days" class="program grid_12">
|
||||
|
||||
<div class="day day-<?php echo $event_daycounter; ?> grid_2 alpha">
|
||||
|
||||
<?php while ( $events->have_posts() ) : $events->the_post(); ?>
|
||||
|
||||
<?php
|
||||
if ( isset( $event_current_day ) )
|
||||
$event_previous_day = $event_current_day;
|
||||
|
||||
$event_current_day = date_i18n( 'Y-m-d' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) );
|
||||
|
||||
if ( isset( $event_previous_day ) && $event_previous_day != $event_current_day ) {
|
||||
// New day
|
||||
$newday = true;
|
||||
if ( $event_daycounter >= 7 )
|
||||
break;
|
||||
?>
|
||||
</div> <!-- .day -->
|
||||
|
||||
<div class="day day-<?php echo $event_daycounter; ?> grid_2<?php if ( 6 == $event_daycounter ) echo " omega"; ?>">
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ( !isset( $event_previous_day ) || $event_previous_day != $event_current_day ) {
|
||||
$event_daycounter++;
|
||||
?>
|
||||
|
||||
<h2><?php echo ucfirst( date_i18n( 'l j/n' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) ) ); ?></h2>
|
||||
|
||||
<?php
|
||||
if( $newday && has_post_thumbnail() ) {
|
||||
the_post_thumbnail ('two-column-thumb' );
|
||||
$newday = false;
|
||||
}
|
||||
?>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<p><?php echo date_i18n( 'H.i:' , get_post_meta( $post->ID , '_neuf_events_starttime' , true ) ); ?> <a href="<?php the_permalink(); ?>" title="Permanent lenke til <?php the_title(); ?>"><?php echo the_title(); ?></a></p>
|
||||
|
||||
|
||||
<?php endwhile; // $events->have_posts(); ?>
|
||||
|
||||
</div> <!-- .day -->
|
||||
|
||||
</div> <!-- #program-6days -->
|
||||
|
||||
<?php endif; // $events->have_posts() ?>
|
||||
@@ -1,75 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
Template Name: Program feed
|
||||
*/
|
||||
|
||||
$meta_query = array(
|
||||
'key' => '_neuf_events_starttime',
|
||||
'value' => date( 'U' , strtotime( '-8 hours' ) ),
|
||||
'compare' => '>',
|
||||
'type' => 'numeric'
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'post_type' => 'event',
|
||||
'meta_query' => array( $meta_query ),
|
||||
'posts_per_page' => 25,
|
||||
'orderby' => 'meta_value_num',
|
||||
'meta_key' => '_neuf_events_starttime',
|
||||
'order' => 'ASC'
|
||||
);
|
||||
|
||||
$events = new WP_Query( $args );
|
||||
|
||||
|
||||
header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
|
||||
$more = 1;
|
||||
|
||||
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
|
||||
|
||||
<rss version="2.0"
|
||||
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
|
||||
<?php do_action('rss2_ns'); ?>
|
||||
>
|
||||
|
||||
<channel>
|
||||
<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
|
||||
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
|
||||
<link><?php bloginfo_rss('url') ?></link>
|
||||
<description><?php bloginfo_rss("description") ?></description>
|
||||
<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
|
||||
<language><?php echo get_option('rss_language'); ?></language>
|
||||
<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
|
||||
<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
|
||||
<?php do_action('rss2_head'); ?>
|
||||
<?php while( $events->have_posts()) : $events->the_post(); ?>
|
||||
<item>
|
||||
<title><?php the_title_rss() ?></title>
|
||||
<link><?php the_permalink_rss() ?></link>
|
||||
<comments><?php comments_link_feed(); ?></comments>
|
||||
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
|
||||
<dc:creator><?php the_author() ?></dc:creator>
|
||||
<?php the_category_rss('rss2') ?>
|
||||
|
||||
<guid isPermaLink="false"><?php the_guid(); ?></guid>
|
||||
<?php if (get_option('rss_use_excerpt')) : ?>
|
||||
<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
|
||||
<?php else : ?>
|
||||
<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
|
||||
<?php if ( strlen( $post->post_content ) > 0 ) : ?>
|
||||
<content:encoded><![CDATA[<?php the_content_feed('rss2') ?>]]></content:encoded>
|
||||
<?php else : ?>
|
||||
<content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php rss_enclosure(); ?>
|
||||
<?php do_action('rss2_item'); ?>
|
||||
</item>
|
||||
<?php endwhile; ?>
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,5 +0,0 @@
|
||||
/* Welcome to Compass. Use this file to write IE specific override styles.
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <!--[if IE]>
|
||||
* <link href="/stylesheets/ie.css" media="screen, projection" rel="stylesheet" type="text/css" />
|
||||
* <![endif]--> */
|
||||
@@ -1,3 +0,0 @@
|
||||
/* Welcome to Compass. Use this file to define print styles.
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <link href="/stylesheets/print.css" media="print" rel="stylesheet" type="text/css" /> */
|
||||
@@ -1,490 +0,0 @@
|
||||
/* Welcome to Compass.
|
||||
* In this file you should write your main styles. (or centralize your imports)
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
|
||||
|
||||
@import "compass/reset";
|
||||
@import "compass/utilities/general/clearfix";
|
||||
@import "compass/typography/lists";
|
||||
@import "compass/css3/text-shadow";
|
||||
@import "960/grid";
|
||||
|
||||
$main-color: #7650b3;
|
||||
$old-color: #a3626a;
|
||||
$alt-color: #2f2524;
|
||||
$link-color: lighten($main-color, 5%);
|
||||
|
||||
/*$ninesixty-columns (default: 12) controls the default number of grid columns
|
||||
$ninesixty-grid-width (default: 960px) controls the default overall grid width
|
||||
$ninesixty-gutter-width */
|
||||
$ninesixty-grid-width: 1200px;
|
||||
|
||||
body {
|
||||
/* Base styles */
|
||||
font: 14px Arial, sans-serif;
|
||||
line-height: 1.5em;
|
||||
|
||||
h1,h2,h3,h4 {
|
||||
font-family: Arvo, Georgia, serif;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
@include single-text-shadow(darken(#fff, 10%), 1px, 1px, 0);
|
||||
}
|
||||
h1 {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
h2,h3,h4 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
a {
|
||||
color: $link-color;
|
||||
text-decoration: none;
|
||||
@include single-text-shadow(darken(#fff, 5%), 1px, 1px, 0);
|
||||
|
||||
&:link { color: $link-color; }
|
||||
&:visited { color: $link-color; }
|
||||
&:hover { text-decoration: underline; }
|
||||
&:active { color: $link-color; }
|
||||
}
|
||||
ul {
|
||||
list-style: disc;
|
||||
padding-left: 25px;
|
||||
|
||||
li {
|
||||
display: list-item;
|
||||
}
|
||||
}
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
p {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#site-header {
|
||||
background-color: $main-color;
|
||||
min-width: 100%;
|
||||
height: 90px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 30px;
|
||||
|
||||
#header-container {
|
||||
@include grid_container;
|
||||
|
||||
.site-title {
|
||||
@include grid(6);
|
||||
|
||||
.logo {
|
||||
background: url('../img/teater_neuf_logo.png') no-repeat;
|
||||
display: inline-block;
|
||||
width: 185px;
|
||||
height: 120px;
|
||||
margin-top: 10px;
|
||||
text-indent: -9999px;
|
||||
position: relative;
|
||||
bottom: 10px;
|
||||
}
|
||||
}
|
||||
#menu {
|
||||
@include grid(6);
|
||||
@extend h2;
|
||||
position: relative;
|
||||
top: 36px;
|
||||
text-transform: uppercase;
|
||||
|
||||
a {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
|
||||
@include single-text-shadow(darken(#fff, 90%), 1px, 1px, 0);
|
||||
}
|
||||
|
||||
ul {
|
||||
@include inline-list;
|
||||
|
||||
ul {
|
||||
position: absolute;
|
||||
display: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
float: left;
|
||||
position: relative;
|
||||
|
||||
&:hover ul, &:focus ul {
|
||||
display:block;
|
||||
z-index: 9;
|
||||
color:rgba(255,255,255,1);
|
||||
background:darken($main-color, 10%);
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
height: 22px;
|
||||
padding: 0px 7px 7px;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #FFFFE1;
|
||||
position: relative;
|
||||
|
||||
&:hover, .current {
|
||||
color:rgba(255,255,255,1);
|
||||
background:darken($main-color, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.sub-menu li {
|
||||
position: relative;
|
||||
a {
|
||||
border: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
&.social-icon {
|
||||
a {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#facebook-icon {
|
||||
padding-left: 6px;
|
||||
}
|
||||
}
|
||||
&:first-child {
|
||||
padding-left: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#site-topbar {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-color: #E99835;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
z-index: 9999;
|
||||
text-align: center;
|
||||
|
||||
.logo {
|
||||
background: url('../img/dns_30px.png') no-repeat;
|
||||
display: inline-block;
|
||||
width: 271px;
|
||||
height: 100%;
|
||||
margin-top: 4px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
}
|
||||
#access {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#content {
|
||||
@include grid_container;
|
||||
@include clearfix;
|
||||
|
||||
#featured {
|
||||
@include grid(12);
|
||||
padding-bottom: 25px;
|
||||
a h1 {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#prevLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-right: 16px solid $main-color;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-right: 16px solid lighten($main-color, 20%);
|
||||
}
|
||||
}
|
||||
#nextLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-left: 16px solid $main-color;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-left: 16px solid lighten($main-color, 20%);
|
||||
}
|
||||
}
|
||||
#slidernav {
|
||||
display: inline-block;
|
||||
a {
|
||||
content: '';
|
||||
background: lighten($main-color, 20%);
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
z-index: 10;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
|
||||
&.activeSlide {
|
||||
background: $main-color;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#slider-buttons {
|
||||
position: relative;
|
||||
top: 350px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#slider {
|
||||
.featured-text {
|
||||
@include grid(6);
|
||||
@include alpha();
|
||||
height: 328px;
|
||||
|
||||
.entry-meta {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
color: #fff;
|
||||
@include single-text-shadow(darken(#fff, 90%), 1px, 1px, 0);
|
||||
background: darken(#fff, 40%);
|
||||
padding: 4px;
|
||||
|
||||
.datetime {
|
||||
@include grid(2);
|
||||
@include alpha();
|
||||
}
|
||||
.venue {
|
||||
@include grid(2);
|
||||
@include omega();
|
||||
}
|
||||
.price {
|
||||
@include grid(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
@include grid(6);
|
||||
@include omega();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#program-6days {
|
||||
@include grid(12);
|
||||
margin-top: 10px;
|
||||
|
||||
.day {
|
||||
@include grid(2);
|
||||
|
||||
&.alpha {
|
||||
@include alpha();
|
||||
|
||||
}
|
||||
&.omega {
|
||||
@include omega();
|
||||
}
|
||||
}
|
||||
}
|
||||
#digest-news {
|
||||
@include grid(12);
|
||||
margin-top: 10px;
|
||||
|
||||
h2 a {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.news-entry {
|
||||
@include grid(4);
|
||||
|
||||
&.alpha {
|
||||
@include alpha();
|
||||
}
|
||||
&.omega {
|
||||
@include omega();
|
||||
}
|
||||
.entry-meta {
|
||||
font-size: 12px;
|
||||
line-height: 1em;
|
||||
padding-bottom: 10px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
.body {
|
||||
@include grid(6);
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
@include grid(6);
|
||||
}
|
||||
|
||||
.hentry {
|
||||
}
|
||||
#social-sharing {
|
||||
margin-top: 10px;
|
||||
|
||||
.share-twitter {
|
||||
display: inline-block;
|
||||
}
|
||||
.share-facebook {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
bottom: 3px;
|
||||
}
|
||||
|
||||
}
|
||||
.byline {
|
||||
color: #aaa;
|
||||
|
||||
.author {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.entry-content {
|
||||
margin-top: 15px;
|
||||
}
|
||||
#program-text {
|
||||
@include grid_container();
|
||||
@include clearfix();
|
||||
@include grid(12);
|
||||
}
|
||||
#program-list {
|
||||
@include grid_container();
|
||||
@include clearfix();
|
||||
|
||||
.day {
|
||||
@include grid(12);
|
||||
padding-top: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.month {
|
||||
@include grid(12);
|
||||
}
|
||||
|
||||
.event {
|
||||
@include grid(12);
|
||||
|
||||
.body {
|
||||
position: relative;
|
||||
@include grid(6);
|
||||
@include alpha();
|
||||
height: 161px;
|
||||
|
||||
.entry-meta {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
color: #fff;
|
||||
@include single-text-shadow(darken(#fff, 90%), 1px, 1px, 0);
|
||||
background: darken(#fff, 40%);
|
||||
padding: 4px;
|
||||
|
||||
.datetime {
|
||||
@include grid(2);
|
||||
@include alpha();
|
||||
}
|
||||
.venue {
|
||||
@include grid(2);
|
||||
@include alpha();
|
||||
@include omega();
|
||||
}
|
||||
.price {
|
||||
@include grid(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
@include grid(6);
|
||||
@include omega();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.text-body {
|
||||
@include grid(6);
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
.thumbnail {
|
||||
@include grid(6);
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
.page-title {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.post {
|
||||
@include clearfix();
|
||||
|
||||
}
|
||||
#posts-nav-link {
|
||||
@include grid(12);
|
||||
}
|
||||
}
|
||||
#site-footer {
|
||||
background-color: $main-color;
|
||||
min-width: 100%;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
color: #fff;
|
||||
@include single-text-shadow(darken(#fff, 90%), 1px, 1px, 0);
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
@include single-text-shadow(darken(#fff, 90%), 1px, 1px, 0);
|
||||
|
||||
&:link { color: #fff; }
|
||||
&:visited { color: #fff; }
|
||||
&:hover { text-decoration: underline; }
|
||||
&:active { color: #fff; }
|
||||
}
|
||||
h1,h2,h3,h4 {
|
||||
color: #000;
|
||||
@include single-text-shadow(lighten($main-color, 10%), 1px, 1px, 0);
|
||||
}
|
||||
|
||||
#footer-container {
|
||||
@include grid_container;
|
||||
@include clearfix;
|
||||
|
||||
#footer-about {
|
||||
@include grid(6);
|
||||
|
||||
a.black {
|
||||
color: #000;
|
||||
@include single-text-shadow(lighten($main-color, 10%), 1px, 1px, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#kolofon {
|
||||
@include grid_container;
|
||||
@include clearfix;
|
||||
|
||||
#kolofon-text {
|
||||
@include grid(12);
|
||||
margin-top: 25px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,615 +0,0 @@
|
||||
/* Welcome to Compass.
|
||||
* In this file you should write your main styles. (or centralize your imports)
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, body #site-header #header-container #menu, 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;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
caption, th, td {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
q, blockquote {
|
||||
quotes: none;
|
||||
}
|
||||
q:before, q:after, blockquote:before, blockquote:after {
|
||||
content: "";
|
||||
content: none;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*$ninesixty-columns (default: 12) controls the default number of grid columns
|
||||
$ninesixty-grid-width (default: 960px) controls the default overall grid width
|
||||
$ninesixty-gutter-width */
|
||||
body {
|
||||
/* Base styles */
|
||||
font: 14px Arial, sans-serif;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
body h1, body h2, body #site-header #header-container #menu, body h3, body h4 {
|
||||
font-family: Arvo, Georgia, serif;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
text-shadow: #e6e6e6 1px 1px 0;
|
||||
}
|
||||
body h1 {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
body h2, body #site-header #header-container #menu, body h3, body h4 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
body a {
|
||||
color: #8462bb;
|
||||
text-decoration: none;
|
||||
text-shadow: #f2f2f2 1px 1px 0;
|
||||
}
|
||||
body a:link {
|
||||
color: #8462bb;
|
||||
}
|
||||
body a:visited {
|
||||
color: #8462bb;
|
||||
}
|
||||
body a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body a:active {
|
||||
color: #8462bb;
|
||||
}
|
||||
body ul {
|
||||
list-style: disc;
|
||||
padding-left: 25px;
|
||||
}
|
||||
body ul li {
|
||||
display: list-item;
|
||||
}
|
||||
body strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
body p {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
body em {
|
||||
font-style: italic;
|
||||
}
|
||||
body #site-header {
|
||||
background-color: #7650b3;
|
||||
min-width: 100%;
|
||||
height: 90px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
body #site-header #header-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
}
|
||||
body #site-header #header-container .site-title {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #site-header #header-container .site-title .logo {
|
||||
background: url("../img/teater_neuf_logo.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 185px;
|
||||
height: 120px;
|
||||
margin-top: 10px;
|
||||
text-indent: -9999px;
|
||||
position: relative;
|
||||
bottom: 10px;
|
||||
}
|
||||
body #site-header #header-container #menu {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
position: relative;
|
||||
top: 36px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
body #site-header #header-container #menu a {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-header #header-container #menu ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
body #site-header #header-container #menu ul, body #site-header #header-container #menu ul li {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
display: inline;
|
||||
}
|
||||
body #site-header #header-container #menu ul ul {
|
||||
position: absolute;
|
||||
display: none;
|
||||
margin: 0;
|
||||
}
|
||||
body #site-header #header-container #menu ul li {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li:hover ul, body #site-header #header-container #menu ul li:focus ul {
|
||||
display: block;
|
||||
z-index: 9;
|
||||
color: white;
|
||||
background: #5e3f91;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a {
|
||||
display: block;
|
||||
height: 22px;
|
||||
padding: 0px 7px 7px;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #FFFFE1;
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a:hover, body #site-header #header-container #menu ul li a .current {
|
||||
color: white;
|
||||
background: #5e3f91;
|
||||
}
|
||||
body #site-header #header-container #menu ul li .sub-menu li {
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li .sub-menu li a {
|
||||
border: 0px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li.social-icon a {
|
||||
border: 0px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li.social-icon #facebook-icon {
|
||||
padding-left: 6px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li:first-child {
|
||||
padding-left: 0px;
|
||||
}
|
||||
body #site-topbar {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-color: #E99835;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
z-index: 9999;
|
||||
text-align: center;
|
||||
}
|
||||
body #site-topbar .logo {
|
||||
background: url("../img/dns_30px.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 271px;
|
||||
height: 100%;
|
||||
margin-top: 4px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
body #access {
|
||||
display: none;
|
||||
}
|
||||
body #content {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #featured {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
body #content #featured a h1 {
|
||||
color: #000;
|
||||
}
|
||||
body #content #featured #prevLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-right: 16px solid #7650b3;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #prevLink:hover {
|
||||
border-right: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #nextLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-left: 16px solid #7650b3;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #nextLink:hover {
|
||||
border-left: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #slidernav {
|
||||
display: inline-block;
|
||||
}
|
||||
body #content #featured #slidernav a {
|
||||
content: '';
|
||||
background: #ae97d2;
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
z-index: 10;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
body #content #featured #slidernav a.activeSlide {
|
||||
background: #7650b3;
|
||||
}
|
||||
body #content #featured #slider-buttons {
|
||||
position: relative;
|
||||
top: 350px;
|
||||
z-index: 10;
|
||||
}
|
||||
body #content #featured #slider .featured-text {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-left: 0;
|
||||
height: 328px;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .datetime {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .venue {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .price {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #featured #slider .featured-image {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #program-6days {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #program-6days .day {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #program-6days .day.alpha {
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #program-6days .day.omega {
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #digest-news {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #digest-news h2 a, body #content #digest-news #site-header #header-container #menu a, body #site-header #header-container #content #digest-news #menu a {
|
||||
color: #000;
|
||||
}
|
||||
body #content #digest-news .news-entry {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 380px;
|
||||
}
|
||||
body #content #digest-news .news-entry.alpha {
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #digest-news .news-entry.omega {
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #digest-news .news-entry .entry-meta {
|
||||
font-size: 12px;
|
||||
line-height: 1em;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
body #content .body {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
body #content .featured-image {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #content #social-sharing {
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #social-sharing .share-twitter {
|
||||
display: inline-block;
|
||||
}
|
||||
body #content #social-sharing .share-facebook {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
bottom: 3px;
|
||||
}
|
||||
body #content .byline {
|
||||
color: #aaa;
|
||||
}
|
||||
body #content .byline .author {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
body #content .entry-content {
|
||||
margin-top: 15px;
|
||||
}
|
||||
body #content #program-text {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #program-list .day {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
padding-top: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
body #content #program-list .month {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list .event {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list .event .body {
|
||||
position: relative;
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-left: 0;
|
||||
height: 161px;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .datetime {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .venue {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .price {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #program-list .event .thumbnail {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content .text-body {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
body #content .thumbnail {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
body #content .page-title {
|
||||
margin-left: 10px;
|
||||
}
|
||||
body #content .post {
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #posts-nav-link {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #site-footer {
|
||||
background-color: #7650b3;
|
||||
min-width: 100%;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-footer a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-footer a:link {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer a:visited {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body #site-footer a:active {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer h1, body #site-footer h2, body #site-footer #site-header #header-container #menu, body #site-header #header-container #site-footer #menu, body #site-footer h3, body #site-footer h4 {
|
||||
color: #000;
|
||||
text-shadow: #9274c2 1px 1px 0;
|
||||
}
|
||||
body #site-footer #footer-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #site-footer #footer-container #footer-about {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #site-footer #footer-container #footer-about a.black {
|
||||
color: #000;
|
||||
text-shadow: #9274c2 1px 1px 0;
|
||||
}
|
||||
body #site-footer #kolofon {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #site-footer #kolofon #kolofon-text {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 25px;
|
||||
}
|
||||
@@ -0,0 +1,402 @@
|
||||
/*! normalize.css v2.1.1 | MIT License | git.io/normalize */
|
||||
|
||||
/* ==========================================================================
|
||||
HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct `block` display not defined in IE 8/9.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct `inline-block` display not defined in IE 8/9.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Base
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Prevent system color scheme's background color being used in Firefox, IE,
|
||||
* and Opera.
|
||||
* 2. Prevent system color scheme's text color being used in Firefox, IE, and
|
||||
* Opera.
|
||||
* 3. Set default font family to sans-serif.
|
||||
* 4. Prevent iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
background: #fff; /* 1 */
|
||||
color: #000; /* 2 */
|
||||
font-family: sans-serif; /* 3 */
|
||||
-ms-text-size-adjust: 100%; /* 4 */
|
||||
-webkit-text-size-adjust: 100%; /* 4 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default margin.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address `outline` inconsistency between Chrome and other browsers.
|
||||
*/
|
||||
|
||||
a:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Typography
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address variable `h1` font-size and margin within `section` and `article`
|
||||
* contexts in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address differences between Firefox and other browsers.
|
||||
*/
|
||||
|
||||
hr {
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct font family set oddly in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability of pre-formatted text in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set consistent quote types.
|
||||
*/
|
||||
|
||||
q {
|
||||
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove border when inside `a` element in IE 8/9.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct overflow displayed oddly in IE 9.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Figures
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margin not present in IE 8/9 and Safari 5.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `color` not being inherited in IE 8/9.
|
||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct font family not being inherited in all browsers.
|
||||
* 2. Correct font size not being inherited in all browsers.
|
||||
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 2 */
|
||||
margin: 0; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
button,
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||
* All other form control elements do not inherit `text-transform` values.
|
||||
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
|
||||
* Correct `select` style inheritance in Firefox 4+ and Opera.
|
||||
*/
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address box sizing set to `content-box` in IE 8/9.
|
||||
* 2. Remove excess padding in IE 8/9.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box; /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and search cancel button in Safari 5 and Chrome
|
||||
* on OS X.
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and border in Firefox 4+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove default vertical scrollbar in IE 8/9.
|
||||
* 2. Improve readability and alignment in all browsers.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto; /* 1 */
|
||||
vertical-align: top; /* 2 */
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Tables
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,380 @@
|
||||
@import './bower_components/foundation/scss/normalize';
|
||||
// TODO
|
||||
// - colors
|
||||
|
||||
@import "settings";
|
||||
// Foundation overrides
|
||||
$primary-color: #650A15;
|
||||
$secondary-color: #404040;
|
||||
$anchor-font-color: lighten($primary-color, 5%);
|
||||
$body-font-family: Arial, sans-serif;
|
||||
$header-font-family: Arvo, Georgia, serif;
|
||||
$header-font-color: $secondary-color;
|
||||
|
||||
// Own colors
|
||||
$button-color: #f1f1f1;
|
||||
$yellow-color: #fdb813;
|
||||
|
||||
@import "foundation/components/grid";
|
||||
@import "foundation/components/block-grid";
|
||||
@import "foundation/components/visibility";
|
||||
@import "foundation/components/type";
|
||||
|
||||
|
||||
body {
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
ul {
|
||||
list-style: disc;
|
||||
padding-left: 25px;
|
||||
|
||||
li {
|
||||
display: list-item;
|
||||
}
|
||||
}
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
p {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
em {
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
#ribbon img {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#site-header {
|
||||
background-color: $primary-color;
|
||||
min-width: 100%;
|
||||
height: 150px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
|
||||
#header-container {
|
||||
@include grid-row();
|
||||
|
||||
.site-title {
|
||||
@include grid-column(6);
|
||||
|
||||
.logo {
|
||||
background: url('../img/teater_neuf_logo.png') no-repeat;
|
||||
display: inline-block;
|
||||
width: 185px;
|
||||
height: 120px;
|
||||
margin-top: 10px;
|
||||
text-indent: -9999px;
|
||||
position: relative;
|
||||
bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#menu {
|
||||
@include grid-column(6);
|
||||
@extend h2;
|
||||
position: relative;
|
||||
top: 36px;
|
||||
text-transform: uppercase;
|
||||
|
||||
a {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
display: inline;
|
||||
|
||||
ul {
|
||||
position: absolute;
|
||||
display: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
display: inline;
|
||||
float: left;
|
||||
position: relative;
|
||||
|
||||
&:hover ul, &:focus ul {
|
||||
display:block;
|
||||
z-index: 9;
|
||||
color:rgba(255,255,255,1);
|
||||
background:darken($primary-color, 10%);
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: 20px 25px;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #FFFFE1;
|
||||
position: relative;
|
||||
|
||||
&:hover, .current {
|
||||
color:rgba(255,255,255,1);
|
||||
background:darken($primary-color, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.sub-menu li {
|
||||
position: relative;
|
||||
a {
|
||||
border: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
padding-left: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#content {
|
||||
@include grid-row();
|
||||
|
||||
#featured {
|
||||
@include grid-column(12);
|
||||
padding-bottom: 25px;
|
||||
a h1 {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#prevLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-right: 16px solid $primary-color;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-right: 16px solid lighten($primary-color, 20%);
|
||||
}
|
||||
}
|
||||
#nextLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-left: 16px solid $primary-color;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-left: 16px solid lighten($primary-color, 20%);
|
||||
}
|
||||
}
|
||||
#slidernav {
|
||||
display: inline-block;
|
||||
a {
|
||||
content: '';
|
||||
background: lighten($primary-color, 20%);
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
z-index: 10;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
|
||||
&.activeSlide {
|
||||
background: $primary-color;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#slider-buttons {
|
||||
position: relative;
|
||||
top: 350px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#slider {
|
||||
.featured-text {
|
||||
@include grid-column(6);
|
||||
height: 328px;
|
||||
|
||||
.entry-meta {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
color: #fff;
|
||||
background: darken(#fff, 40%);
|
||||
padding: 4px;
|
||||
|
||||
.datetime {
|
||||
@include grid-column(2);
|
||||
}
|
||||
.venue {
|
||||
@include grid-column(2);
|
||||
}
|
||||
.price {
|
||||
@include grid-column(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
@include grid-column(6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#digest-news {
|
||||
@include grid-column(12);
|
||||
margin-top: 10px;
|
||||
|
||||
h2 a {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.news-entry {
|
||||
@include grid-column(4);
|
||||
|
||||
.entry-meta {
|
||||
font-size: 12px;
|
||||
line-height: 1em;
|
||||
padding-bottom: 10px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
.body {
|
||||
@include grid-column(6);
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
@include grid-column(6);
|
||||
}
|
||||
|
||||
.hentry {
|
||||
}
|
||||
#social-sharing {
|
||||
margin-top: 10px;
|
||||
|
||||
.share-twitter {
|
||||
display: inline-block;
|
||||
}
|
||||
.share-facebook {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
bottom: 3px;
|
||||
}
|
||||
|
||||
}
|
||||
.byline {
|
||||
color: #aaa;
|
||||
|
||||
.author {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.entry-content {
|
||||
margin-top: 15px;
|
||||
}
|
||||
.text-body {
|
||||
@include grid-column(6);
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
.thumbnail {
|
||||
@include grid-column(6);
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
.page-title {
|
||||
margin-left: 10px;
|
||||
}
|
||||
#posts-nav-link {
|
||||
@include grid-column(12);
|
||||
}
|
||||
}
|
||||
#site-footer {
|
||||
$footer-color: #fff;
|
||||
|
||||
background-color: $primary-color;
|
||||
min-width: 100%;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
color: $footer-color;
|
||||
|
||||
a {
|
||||
color: $footer-color;
|
||||
text-decoration: none;
|
||||
|
||||
&:link { color: $footer-color; }
|
||||
&:hover { text-decoration: underline; }
|
||||
&:active { color: $footer-color; }
|
||||
}
|
||||
|
||||
#footer-container {
|
||||
@include grid-row();
|
||||
|
||||
#footer-about {
|
||||
@include grid-column(6);
|
||||
font-size: rem-calc(14);
|
||||
|
||||
ul{
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li.social-icon {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
a {
|
||||
border: 0px;
|
||||
&:first-child {
|
||||
padding-right: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#kolofon {
|
||||
@include grid-row();
|
||||
|
||||
#kolofon-text {
|
||||
@include grid-column(12);
|
||||
margin-top: 25px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
.credits-wrap {
|
||||
@include grid-row();
|
||||
|
||||
.credits {
|
||||
margin-top: 25px;
|
||||
@include grid-column(12);
|
||||
text-align: center;
|
||||
color: #666;
|
||||
font-size: rem-calc(12);
|
||||
}
|
||||
}
|
||||
/* Reusable styles */
|
||||
.love {
|
||||
color: #faafba;
|
||||
}
|
||||
Executable → Regular
File mode changed.
Executable → Regular
File mode changed.
@@ -1,14 +0,0 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<div id="content" class="container_12">
|
||||
|
||||
<?php get_template_part( 'loop' , 'event' ); ?>
|
||||
|
||||
<?php get_template_part( 'program' , '6days' ); ?>
|
||||
|
||||
<?php // get_sidebar(); ?>
|
||||
|
||||
|
||||
</div> <!-- #content -->
|
||||
|
||||
<?php get_footer(); ?>
|
||||
Executable → Regular
File mode changed.
@@ -1,24 +0,0 @@
|
||||
<div id="student-media" class="grid_12">
|
||||
|
||||
<div id="ostv-latest" class="grid_8 alpha">
|
||||
<div id="ostv-latest-video" class="grid_6 alpha"></div>
|
||||
<div id="ostv-latest-description" class="grid_2 omega"></div>
|
||||
</div> <!-- #ostv-latest -->
|
||||
|
||||
<div class="grid_4 omega">
|
||||
<div id="nova-player">
|
||||
<h2><a href="http://radionova.no/">Radio Nova</a></h2>
|
||||
<a id="nova-player-link" href="http://radionova.no/lytt!" onclick="window.open('http://spiller.radionova.no/lytt','novastream','height=460,width=460'); return false;">Lytt til Radio Nova (FM 99,3)</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div id="twitter_feed_title">
|
||||
<a href="https://twitter.com/#!/dns1813"><img src="<?php bloginfo('template_directory'); ?>/img/bird_twitter.png"></img></a>
|
||||
<div id="twitter_feed_title_name">
|
||||
<a href="https://twitter.com/#!/dns1813"><h3>Studentersamfundet</h3></a>
|
||||
<a href="https://twitter.com/#!/dns1813"><h2>@DNS1813</h2></a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="twitter_feed"></div>
|
||||
</div> <!-- .grid_4 -->
|
||||
|
||||
</div> <!-- #student-media -->
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,220 +1,11 @@
|
||||
/*
|
||||
Theme Name: Teater Neuf 2012
|
||||
Theme URI: http://wordpress.org/extend/themes/twentyeleven
|
||||
Theme Name: Teater Neuf 2014
|
||||
Theme URI: http://teaterneuf.no
|
||||
Author: Nikolai Kristiansen
|
||||
Author URI: http://edb.neuf.no/
|
||||
Description: Teater Neuf 2012
|
||||
Version: 0.2
|
||||
Version: 0.1
|
||||
License: GNU General Public License v2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
Text Domain: teaterneuf
|
||||
*/
|
||||
|
||||
@import "stylesheets/screen.css";
|
||||
|
||||
/*Below is the modified version from 2013*/
|
||||
|
||||
body {
|
||||
background-color: #111;
|
||||
color: #f6f6f6;
|
||||
font: 14px Helvetica, Ubuntu, sans-serif;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
body h1, body h2, body #site-header #header-container #menu, body h3, body h4 {
|
||||
font-family: "Croissant One", Georgia, serif;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
text-shadow: none;
|
||||
}
|
||||
body a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
body a:link {
|
||||
color: #fff;
|
||||
}
|
||||
body a:visited {
|
||||
color: #fff;
|
||||
}
|
||||
body a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body a:active {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-header {
|
||||
background-color: #fafafa;
|
||||
min-width: 100%;
|
||||
height: 90px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
body #site-header #header-container .site-title .logo {
|
||||
background: url("http://teaterneuf.no/wp-content/uploads/2013/01/Teaterlogo-h-500px-e1376593936461.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 185px;
|
||||
height: 120px;
|
||||
margin-top: 10px;
|
||||
text-indent: -9999px;
|
||||
position: relative;
|
||||
bottom: 10px;
|
||||
}
|
||||
body #site-header #header-container #menu a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
text-shadow:none;
|
||||
}
|
||||
body #site-header #header-container #menu ul li:hover ul, body #site-header #header-container #menu ul li:focus ul {
|
||||
display: block;
|
||||
z-index: 9;
|
||||
color: fafafa;
|
||||
background: #fafafa;
|
||||
border-bottom: 1px solid #444;
|
||||
border-right: 1px solid #444;
|
||||
border-left: 1px solid #444;
|
||||
border-top: 0px ;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a {
|
||||
display: block;
|
||||
height: 22px;
|
||||
padding: 0px 7px 7px;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #444;
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a:hover, body #site-header #header-container #menu ul li a .current {
|
||||
color: fafafa;
|
||||
background: #444;
|
||||
}
|
||||
body #site-topbar {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-color: #111;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
z-index: 9999;
|
||||
text-align: center;
|
||||
}
|
||||
body #site-topbar .logo {
|
||||
background: url("./img/dns_30px.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 271px;
|
||||
height: 100%;
|
||||
margin-top: 4px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
body #content #featured a h1 {
|
||||
color: #111;
|
||||
}
|
||||
body #content #featured #prevLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-right: 16px solid #f6f6f6;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #prevLink:hover {
|
||||
border-right: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #nextLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-left: 16px solid #f6f6f6;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #nextLink:hover {
|
||||
border-left: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #slidernav {
|
||||
display: inline-block;
|
||||
}
|
||||
body #content #featured #slidernav a {
|
||||
content: '';
|
||||
background: #ae97d2;
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
z-index: 10;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
body #content #featured #slidernav a.activeSlide {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
body #content #featured #slider-buttons {
|
||||
position: relative;
|
||||
top: 350px;
|
||||
z-index: 10;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
color: #000;
|
||||
text-shadow: none;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #content #digest-news h2 a, body #content #digest-news #site-header #header-container #menu a, body #site-header #header-container #content #digest-news #menu a {
|
||||
color: #000;
|
||||
}
|
||||
body #content .byline {
|
||||
color: #aaa;
|
||||
}
|
||||
body #content .byline .author {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
color: #000;
|
||||
text-shadow: none;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #site-footer {
|
||||
background-color: #fafafa;
|
||||
min-width: 100%;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
color: #444;
|
||||
text-shadow: none;
|
||||
}
|
||||
body #site-footer a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
body #site-footer a:link {
|
||||
color: #444;
|
||||
}
|
||||
body #site-footer a:visited {
|
||||
color: #444;
|
||||
}
|
||||
body #site-footer a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body #site-footer a:active {
|
||||
color: #444;
|
||||
}
|
||||
body #site-footer h1, body #site-footer h2, body #site-footer #site-header #header-container #menu, body #site-header #header-container #site-footer #menu, body #site-footer h3, body #site-footer h4 {
|
||||
color: #444;
|
||||
text-shadow: none;
|
||||
}
|
||||
body #site-footer #footer-container #footer-about a.black {
|
||||
color: #444;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
/* Welcome to Compass. Use this file to write IE specific override styles.
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <!--[if IE]>
|
||||
* <link href="/stylesheets/ie.css" media="screen, projection" rel="stylesheet" type="text/css" />
|
||||
* <![endif]--> */
|
||||
@@ -1,3 +0,0 @@
|
||||
/* Welcome to Compass. Use this file to define print styles.
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <link href="/stylesheets/print.css" media="print" rel="stylesheet" type="text/css" /> */
|
||||
@@ -1,615 +0,0 @@
|
||||
/* Welcome to Compass.
|
||||
* In this file you should write your main styles. (or centralize your imports)
|
||||
* Import this file using the following HTML or equivalent:
|
||||
* <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, body #site-header #header-container #menu, 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;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
caption, th, td {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
q, blockquote {
|
||||
quotes: none;
|
||||
}
|
||||
q:before, q:after, blockquote:before, blockquote:after {
|
||||
content: "";
|
||||
content: none;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*$ninesixty-columns (default: 12) controls the default number of grid columns
|
||||
$ninesixty-grid-width (default: 960px) controls the default overall grid width
|
||||
$ninesixty-gutter-width */
|
||||
body {
|
||||
/* Base styles */
|
||||
font: 14px Arial, sans-serif;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
body h1, body h2, body #site-header #header-container #menu, body h3, body h4 {
|
||||
font-family: Arvo, Georgia, serif;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
text-shadow: #e6e6e6 1px 1px 0;
|
||||
}
|
||||
body h1 {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
body h2, body #site-header #header-container #menu, body h3, body h4 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
body a {
|
||||
color: #8462bb;
|
||||
text-decoration: none;
|
||||
text-shadow: #f2f2f2 1px 1px 0;
|
||||
}
|
||||
body a:link {
|
||||
color: #8462bb;
|
||||
}
|
||||
body a:visited {
|
||||
color: #8462bb;
|
||||
}
|
||||
body a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body a:active {
|
||||
color: #8462bb;
|
||||
}
|
||||
body ul {
|
||||
list-style: disc;
|
||||
padding-left: 25px;
|
||||
}
|
||||
body ul li {
|
||||
display: list-item;
|
||||
}
|
||||
body strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
body p {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
body em {
|
||||
font-style: italic;
|
||||
}
|
||||
body #site-header {
|
||||
background-color: #7650b3;
|
||||
min-width: 100%;
|
||||
height: 90px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
body #site-header #header-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
}
|
||||
body #site-header #header-container .site-title {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #site-header #header-container .site-title .logo {
|
||||
background: url("../img/teater_neuf_logo.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 185px;
|
||||
height: 120px;
|
||||
margin-top: 10px;
|
||||
text-indent: -9999px;
|
||||
position: relative;
|
||||
bottom: 10px;
|
||||
}
|
||||
body #site-header #header-container #menu {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
position: relative;
|
||||
top: 36px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
body #site-header #header-container #menu a {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-header #header-container #menu ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
body #site-header #header-container #menu ul, body #site-header #header-container #menu ul li {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
display: inline;
|
||||
}
|
||||
body #site-header #header-container #menu ul ul {
|
||||
position: absolute;
|
||||
display: none;
|
||||
margin: 0;
|
||||
}
|
||||
body #site-header #header-container #menu ul li {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li:hover ul, body #site-header #header-container #menu ul li:focus ul {
|
||||
display: block;
|
||||
z-index: 9;
|
||||
color: white;
|
||||
background: #5e3f91;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a {
|
||||
display: block;
|
||||
height: 22px;
|
||||
padding: 0px 7px 7px;
|
||||
text-decoration: none;
|
||||
border-right: 1px solid #FFFFE1;
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li a:hover, body #site-header #header-container #menu ul li a .current {
|
||||
color: white;
|
||||
background: #5e3f91;
|
||||
}
|
||||
body #site-header #header-container #menu ul li .sub-menu li {
|
||||
position: relative;
|
||||
}
|
||||
body #site-header #header-container #menu ul li .sub-menu li a {
|
||||
border: 0px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li.social-icon a {
|
||||
border: 0px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li.social-icon #facebook-icon {
|
||||
padding-left: 6px;
|
||||
}
|
||||
body #site-header #header-container #menu ul li:first-child {
|
||||
padding-left: 0px;
|
||||
}
|
||||
body #site-topbar {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-color: #E99835;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
z-index: 9999;
|
||||
text-align: center;
|
||||
}
|
||||
body #site-topbar .logo {
|
||||
background: url("../img/dns_30px.png") no-repeat;
|
||||
display: inline-block;
|
||||
width: 271px;
|
||||
height: 100%;
|
||||
margin-top: 4px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
body #access {
|
||||
display: none;
|
||||
}
|
||||
body #content {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #featured {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
body #content #featured a h1 {
|
||||
color: #000;
|
||||
}
|
||||
body #content #featured #prevLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-right: 16px solid #7650b3;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #prevLink:hover {
|
||||
border-right: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #nextLink {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
border-left: 16px solid #7650b3;
|
||||
cursor: pointer;
|
||||
}
|
||||
body #content #featured #nextLink:hover {
|
||||
border-left: 16px solid #ae97d2;
|
||||
}
|
||||
body #content #featured #slidernav {
|
||||
display: inline-block;
|
||||
}
|
||||
body #content #featured #slidernav a {
|
||||
content: '';
|
||||
background: #ae97d2;
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
z-index: 10;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
body #content #featured #slidernav a.activeSlide {
|
||||
background: #7650b3;
|
||||
}
|
||||
body #content #featured #slider-buttons {
|
||||
position: relative;
|
||||
top: 350px;
|
||||
z-index: 10;
|
||||
}
|
||||
body #content #featured #slider .featured-text {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-left: 0;
|
||||
height: 328px;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 6px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .datetime {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .venue {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #featured #slider .featured-text .entry-meta .price {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #featured #slider .featured-image {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #program-6days {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #program-6days .day {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #program-6days .day.alpha {
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #program-6days .day.omega {
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #digest-news {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #digest-news h2 a, body #content #digest-news #site-header #header-container #menu a, body #site-header #header-container #content #digest-news #menu a {
|
||||
color: #000;
|
||||
}
|
||||
body #content #digest-news .news-entry {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 380px;
|
||||
}
|
||||
body #content #digest-news .news-entry.alpha {
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #digest-news .news-entry.omega {
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #digest-news .news-entry .entry-meta {
|
||||
font-size: 12px;
|
||||
line-height: 1em;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
body #content .body {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
body #content .featured-image {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #content #social-sharing {
|
||||
margin-top: 10px;
|
||||
}
|
||||
body #content #social-sharing .share-twitter {
|
||||
display: inline-block;
|
||||
}
|
||||
body #content #social-sharing .share-facebook {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
bottom: 3px;
|
||||
}
|
||||
body #content .byline {
|
||||
color: #aaa;
|
||||
}
|
||||
body #content .byline .author {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
body #content .entry-content {
|
||||
margin-top: 15px;
|
||||
}
|
||||
body #content #program-text {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #program-list .day {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
padding-top: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
body #content #program-list .month {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list .event {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #content #program-list .event .body {
|
||||
position: relative;
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-left: 0;
|
||||
height: 161px;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
background: #999999;
|
||||
padding: 4px;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .datetime {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .venue {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content #program-list .event .body .entry-meta .price {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 180px;
|
||||
}
|
||||
body #content #program-list .event .thumbnail {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-right: 0;
|
||||
}
|
||||
body #content .text-body {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
body #content .thumbnail {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
body #content .page-title {
|
||||
margin-left: 10px;
|
||||
}
|
||||
body #content .post {
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #content #posts-nav-link {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
}
|
||||
body #site-footer {
|
||||
background-color: #7650b3;
|
||||
min-width: 100%;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
color: #fff;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-footer a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
text-shadow: #1a1a1a 1px 1px 0;
|
||||
}
|
||||
body #site-footer a:link {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer a:visited {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
body #site-footer a:active {
|
||||
color: #fff;
|
||||
}
|
||||
body #site-footer h1, body #site-footer h2, body #site-footer #site-header #header-container #menu, body #site-header #header-container #site-footer #menu, body #site-footer h3, body #site-footer h4 {
|
||||
color: #000;
|
||||
text-shadow: #9274c2 1px 1px 0;
|
||||
}
|
||||
body #site-footer #footer-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #site-footer #footer-container #footer-about {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 580px;
|
||||
}
|
||||
body #site-footer #footer-container #footer-about a.black {
|
||||
color: #000;
|
||||
text-shadow: #9274c2 1px 1px 0;
|
||||
}
|
||||
body #site-footer #kolofon {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 1200px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
body #site-footer #kolofon #kolofon-text {
|
||||
display: inline;
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
width: 1180px;
|
||||
margin-top: 25px;
|
||||
}
|
||||
Reference in new issue
Block a user