MediaWiki:Centralnotice-template-B15WMDE 06 151110 ctrl full

From Meta, a Wikimedia project coordination wiki
This is an archived version of this page, as edited by Leszek Manicki (WMDE) (talk | contribs) at 15:54, 9 November 2015. It may differ significantly from the current version.

<style type="text/css">

  1. WMDE_Banner-text {
   margin-bottom: 0;
   padding-bottom: 0;

}

  1. donationMeterCell {
   padding:0 10px 0 35px;
   vertical-align: middle!important;

}

  1. donationMeterWrapper {
   position: relative;
   margin: 4px 10px 4px 35px;
   max-width: 1200px;
   background: #FF6C00;
   border: 2px solid #FF6C00;
   border-radius: 8px;

}

  1. donationMeter {
   margin: 0 auto;
   height: 20px;

}

  1. donationFill {
   position: absolute;
   top: 0;
   left: 0;
   width: 90px;
   height: 20px;
   background: #FFFFFF;
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;

}

  1. pbarTip {
   position: absolute;
   right: 0;
   height: 20px;

}

  1. pbarTip img {
   vertical-align: baseline;

}

  1. donationText {
   position: absolute;
   right: 12px;
   height: 100%;
   width: 100%;
   text-align: right;
   /*margin: 8px -16px;*/
   line-height: 20px;
   font-size: 14px;
   font-weight: bold;
   color: #B2B2B2;
   overflow: hidden;

}

  1. donationRemaining {
   position: absolute;
   top: 1px;
   right: 10px;
   font-size: 15px;
   color: white;
   font-weight: bold;

}

  1. daysLeft {
   display: none;
   font-size: 14px;
   color: #FF6C00;
   font-weight: bold;
   line-height: 20px;
   position: absolute;
   left: 5px;

}

  1. donationMeterTip {
   position: absolute;
   right: 0;
   background: #ff6c00 url( '//upload.wikimedia.org/wikipedia/commons/8/89/Pbar-tip-small.png' ) no-repeat;
   width: 10px;
   height: 20px;

}</style> <style type="text/css">

  1. centralNotice.collapsed #WMDE_Banner {
   display: none;

}

/* For IE9 */ @media screen {

   #centralNotice {
       display: block !important;
   }

}

/* Hide when editing */ .action-edit #centralNotice, .ve-activated #centralNotice {

   display: none !important;

}

/* Clearfix */

  1. WMDE_Banner .cf:before,
  2. WMDE_Banner .cf:after {
   content: "";
   display: table;

}

  1. WMDE_Banner .cf:after { clear: both; }

/* Border-Box */

  1. WMDE_Banner *,
  2. WMDE_Banner *:before,
  3. WMDE_Banner *:after {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;

}

/* Transitions */

  1. WMDE_Banner-form label,
  2. WMDE_Banner-form button,
  3. WMDE_Banner-form #amount_custom {
   -webkit-transition: all .3s ease-in-out;
   -moz-transition:    all .3s ease-in-out;
   -o-transition:      all .3s ease-in-out;
   -ms-transition:     all .3s ease-in-out;
   transition:         all .3s ease-in-out;

}

/* --- Main banner wrapper --- */

  1. WMDE_Banner-wrapper {
   text-align: left;
   background: transparent;
   display: none;
   position: absolute;
   left: 0;
   top: 0;
   right: 0;
   z-index: 9999;

}

/* --- Window Styles --- */

  1. WMDE_Banner-window {
   margin: 0 auto;
   background: #fff;
   width: 100%;
   position: relative;
   font: 1em/1.2 "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Nimbus Sans L", "Arial", "Liberation Sans", sans-serif;
   color: #000;

}

  1. WMDE_Banner-close-button {
   background: url('//upload.wikimedia.org/wikipedia/donate/c/cf/Close-trilogy.png') no-repeat center center;
   width: 20px;
   height: 21px;
   display: block;
   cursor: pointer;
   position: absolute;
   right: 8px;
   top: 8px;
   opacity: .5;
   text-indent: -99999px;
   z-index: 999;

} body.rtl #WMDE_Banner-close-button {

   left: 8px;
   right: auto;

}

  1. WMDE_Banner-close-button:hover { opacity: 1; }
  1. WMDE_Banner-table {
   display: table;

}

/* -------- Message ------- */

  1. WMDE_Banner-message {
   display: table-cell;
   width: 60%;
   vertical-align: top;
   padding: 1.5em 2em;
   font-weight: bold;
   color: #000;

}

@media (min-width : 960px) {

   #WMDE_Banner-message { width: 75%; }

}

/* -- Font Size / Line Height -- */ @media (min-width : 960px) { #WMDE_Banner-message { font-size: 1.2em; } } @media (min-width : 1000px) { #WMDE_Banner-message { font-size: 1.25em; } }

  1. WMDE_Banner-message p { line-height: 1.2; }

@media (min-width : 1000px) { #WMDE_Banner-message p { line-height: 1.25; } } @media (min-width : 1200px) { #WMDE_Banner-message p { line-height: 1.35; } } @media (min-width : 1300px) { #WMDE_Banner-message p { line-height: 1.45; } }

/* -- Paragraph Spacing -- */

  1. WMDE_Banner-message p { margin-bottom: .5em; }
  2. WMDE_Banner-message p:last-child { margin-bottom: 0; }

/* -- Highlight -- */

  1. WMDE_Banner-message .btext-highlight {
   background-color: #faff00;
   padding: 1px 5px;

}

/* -------------- Form -------------- */

  1. WMDE_Banner-form {
   display: table-cell;
   background: #d8d7d7;
   width: 40%;
   vertical-align: top;
   height: 100%;
   padding: 1.1em 1.8em;
   position: relative;

}

@media (min-width : 960px) { #WMDE_Banner-form { width: 25%; } }

  1. WMDE_Banner-form:before {
   position: absolute;
   left: 0;
   top: 50%;
   content: " ";
   margin: 0;
   border: 10px solid transparent;
   border-left-color: white;
   pointer-events: none;

}

body.rtl #WMDE_Banner-form:before {

   left: auto;
   right: 0;
   border-left-color: transparent;
   border-right-color: white;

}

  1. WMDE_Banner-form h2 {
   font-size: 1.1em;
   border-bottom: 0;
   text-align: center;

}

  1. WMDE_Banner-form fieldset {
   width: 100%;
   border: 0;
   margin: 0 auto;
   padding: 0 0 1em 0;

}

  1. WMDE_Banner-frequency ul,
  2. WMDE_Banner-amounts ul,
  3. WMDE_Banner-payment ul {
   width: 100%;
   height: 100%;
   display: table;
   margin: 0 0 .3em;
   padding: 0;
   list-style: none;

}

  1. WMDE_Banner-form legend {
   display: none;
   width: 100%;
   margin: 0;
   padding: 0 0 0.3em 0;
   text-align: center;
   font-size: .9em;
   color: rgba(0,0,0,0.42);

}

/* --- Common Button Styles --- */

.WMDE_Banner-btn {

   display: block;
   padding: 1em .1em;
   background-color: #e8e8e8;
   box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.18), inset 0px 0px 16px 6px #FFFFFF;
   border: none;
   border-radius: 5px;
   text-align: center;
   cursor: pointer;
   line-height: 1;

}

.WMDE_Banner-btn:hover {

   background-color: #fff;
   box-shadow: 0 0 2px rgba(0,0,0,.5), inset 0 14px 16px rgba(255,255,255,.75), inset 0 0 7px #fff;
   color: #367fb4;

}

.WMDE_Banner-btn.checked {

   background: #9f9f9f !important;
   box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.18), inset 2px 2px 2px 0px rgba(0,0,0,0.11);
   color: #fff;

}

.WMDE_Banner-btn:active {

   box-shadow: inset 0 1px 3px rgba(0,0,0,.5);

}

/* --- Frequency Buttons --- */

  1. WMDE_Banner-frequency li {
   display: table-cell;
   width: 50%;
   padding: 0 2% 0 0;
   vertical-align: top;

} body.rtl #WMDE_Banner-frequency li { padding: 0 0 0 2%; }

  1. WMDE_Banner-frequency label {
   width: 100%;
   display: block;
   font-size: .9em;

}

@media (min-width : 1100px) { #WMDE_Banner-frequency label { font-size: .95em; } } @media (min-width : 1200px) { #WMDE_Banner-frequency label { font-size: 1em; } }

  1. WMDE_Banner-frequency input[type="radio"] {
   border: 0;
   clip: rect(0 0 0 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute;
   width: 1px;

}

/* --- Amount Buttons --- */

  1. WMDE_Banner-amounts legend {
   display: block;

}

  1. WMDE_Banner-amounts li {
   display: table-cell;
   width: 25%;
   height: 100%;
   clear: none;
   padding: 0 2% 0 0;
   vertical-align: top;

} body.rtl #WMDE_Banner-amounts li {

   padding: 0 0 0 2%;

}

/* Chrome specific - need to be floated for height 100% to work */ @media screen and (-webkit-min-device-pixel-ratio:0) {

   #WMDE_Banner-amounts li { float: left; }
   body.rtl #WMDE_Banner-amounts li { float: right; }

}

  1. WMDE_Banner-amounts li input[type="radio"] {
   border: 0;
   clip: rect(0 0 0 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute;
   width: 1px;

}

  1. WMDE_Banner-amounts label {
   font-size: .9em;
   height: 100%;
   text-transform: none;

}

@media (min-width : 800px) { #WMDE_Banner-amounts .predefined_amount { font-size: 1em; } } @media (min-width : 1100px) { #WMDE_Banner-amounts .predefined_amount { font-size: 1.1em; } }

/* --- Other Amount --- */

  1. amount_custom .WMDE_Banner-btn {
   display: inline-block;
   height: 100%;
   width: 100%;
   padding: 0.2em 0 0.4em 0;

}

  1. amount_custom label {
   display: block;
   height: auto;
   margin-bottom: 0.2em;
   font-size: .7em;
   line-height: 1;
   cursor: pointer;

}

  1. amount_custom input {
   width: 80%;
   background: #a4a4a4;
   border: 0;
   color: #fff;
   font-size: .9em;
   padding: .3em;
   -moz-border-radius:    .3em;
   -webkit-border-radius: .3em;
   border-radius:         .3em;
   direction: ltr;
   text-align: center;

}

  1. amount_custom .checked input {
   background: #fff;
   color: #163348;

}

  1. amount-other-input {
   margin-top: .6em;

}

/* --- Payment method Buttons --- */

  1. WMDE_Banner-payment ul li {
   display: table-cell;
   padding: 0 2% 0 0;
   vertical-align: top;
   width: 50%;

} body.rtl #WMDE_Banner-payment ul li {

   padding: 0 0 0 2%;

}

  1. WMDE_Banner-payment .WMDE_Banner-btn {
   min-height: 4em;

}

  1. WMDE_Banner-window button {
   width: 100%;
   height: 100%;
   font-size: .9em;
   float: none;
   font-family: inherit;

}

@media (min-width : 1100px) { #WMDE_Banner-window button { font-size: .95em; } } @media (min-width : 1200px) { #WMDE_Banner-window button { font-size: 1em; } }

/* info footer */

  1. WMDE_Banner-footer {
   left: 0;
   top: 0;
   font-size: .8em;
   line-height: 1;
   background: #d8d7d7;
   padding: 1em;

}

@media (min-width : 1200px) { #WMDE_Banner-footer { font-size: 1em; } }

  1. WMDE_Banner-info {
   display: inline-block;

}

  1. WMDE_Banner-info span {
   margin-right: 10px;
   font-weight: normal;

}

  1. WMDE_Banner-info span.binfo-ucase {
   text-transform: uppercase;

}

  1. WMDE_Banner-info span.binfo-bold {
   font-weight: bold;

}

  1. WMDE_Banner-infoicon {
   margin-bottom: 1px;
   margin-right: 10px;
   vertical-align: middle;

}

/* shared with DesktopBanner.css */

  1. WMDE_Banner .interval-hidden {
   display: none;

}

/* progress bar customization */

  1. donationMeterWrapper, #donationMeterWrapper div {
   box-sizing: content-box;

}

  1. donationMeterWrapper {
   max-width: inherit;
   margin: 0;

}

  1. donationRemaining, #donationText {
   font: inherit;

}

  1. donationMeterWrapper { margin-top: 2em; }

@media (min-width : 960px) {

   #donationMeter { height: 32px; border-width: 4px; }
   #donationFill { height: 32px; top: 4px; left: 4px; }
   #donationMeterTip {
       background: url( '//upload.wikimedia.org/wikipedia/commons/2/20/Pmeter-tip.png' ) no-repeat center center;
       width: 14px;
       height: 32px;
   }
   #donationRemaining {
       top: 8px;
   }
   #donationText {
       top: 4px;
   }

}

/* Language information for banner on enwiki */

  1. WMDE_Banner-payment legend {
   display: block;

}

@media (max-height : 720px) {

   #WMDE_Banner-message {
       font-size: .9em;
       width: 60%}
   #WMDE_Banner-message p { line-height: 1.2em; }
   #WMDE_Banner-form { width: 40%; }
   #WMDE_Banner-window button { font-size: .9em; }
   #WMDE_Banner-frequency label  { font-size: .9em; }
   #WMDE_Banner-amounts .predefined_amount  {
       font-size: .9em;
       height: initial;
   }
   #WMDE_Banner-footer { font-size: .8em; }
   #WMDE_Banner-payment .WMDE_Banner-btn { min-height: 2em; }
   .WMDE_Banner-btn { padding: .5em 0.1em; }
   #amount_custom input { margin-top: 0.1em; }
   #amount_custom .WMDE_Banner-btn { padding: 0 }

}</style> <style type="text/css">/* --- Sticky bit --- */

  1. WMDE_Banner-nag {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   background-color: #ffcc00;
   padding: 6px;
   width: 100%;
   text-align: center;
   font-size: 17px;
   font-weight: bold;

}

  1. WMDE_Banner-nag-content {
   padding-right: 32px;

}

  1. WMDE_Banner-nag-link {
   vertical-align: middle;

}

  1. WMDE_Banner-nag-link:hover {
   text-decoration: underline;

}

  1. WMDE_Banner-nag-donate {
   margin-left: 10px;

}

  1. WMDE_Banner-nag-close {
   display: block;
   position: absolute;
   top: 0;
   right: 8px;
   width: 16px;
   height: 16px;
   background: url(//upload.wikimedia.org/wikipedia/donate/c/cf/Close-trilogy.png) no-repeat center center;
   background-size: contain;
   cursor: pointer;
   opacity: 0.8;
   margin: 8px 12px;

} body.rtl #WMDE_Banner-nag-close {

   left: 8px;
   right: auto;

}

  1. WMDE_Banner-nag-close:hover {
   opacity: 1;

}</style> <script type="text/javascript">/*jshint latedef: nofunc */ /*jshint unused: false */ /* globals mw, alert, GlobalBannerSettings */ var finalDateTime = new Date( 2015, 11, 31, 23, 59, 59 ), goalSum = 8600000, /* jshint -W079 */ GlobalBannerSettings = typeof GlobalBannerSettings !== 'undefined' ? GlobalBannerSettings : {}, /* jshint +W079 */ baseDate = replaceWikiVars( '2015-11-09' ), collectedBase = parseInt( replaceWikiVars( '0' ), 10 ), donorsBase = parseInt( replaceWikiVars( '0' ), 10 ), donationsPerMinApproximation = parseFloat( replaceWikiVars( '104' ) ), donorsPerMinApproximation = parseFloat( replaceWikiVars( '5.5' ) ), noIntervalSelectedMessage = replaceWikiVars( '{{{no-interval-message}}}' ) || 'Es wurde kein Zahlungsintervall ausgewählt.', amountTooLowMessage = replaceWikiVars( '{{{amount-too-low-message}}}' ) || 'Der Mindestbetrag beträgt 1 Euro.', amountTooHighMessage = replaceWikiVars( '{{{amount-too-high-message}}}' ) || 'Der Spendenbetrag ist zu hoch.', allBannersImpCookie = 'centralnotice_banner_impression_count', singleBannerImpCookie = 'centralnotice_single_banner_impression_count', bannerCloseTrackRatio = replaceWikiVars( '{{{banner-close-track-ratio}}}' ) || 0.01, bannerClosedCookieValue = replaceWikiVars( '{{{banner-closed-cookie-custom-value}}}' ) || '1', showBanner = true, messages = { en: { day: 'day', days: 'days' }, de: { day: 'Tag', days: 'Tage' } };

if ( bannerClosedCookieIsSet() ) { showBanner = false; }

if ( onMediaWiki() ) { mw.centralNotice.bannerData.alterImpressionData = function ( impressionData ) { if ( showBanner ) { return true; }

mw.centralNotice.bannerData.hideResult = true; mw.centralNotice.bannerData.hideReason = 'close'; return false; }; }

$( function () { $( '#WMDE_Banner-close' ).click( function () { if ( Math.random() < bannerCloseTrackRatio ) { $( '#WMDE_Banner-close-ct' ).attr( 'src', 'https://tracking.wikimedia.de/piwik/piwik.php?idsite=1&url=https://spenden.wikimedia.de/banner-closed/{{{BannerName}}}&rec=1' ); } $( '#WMDE_Banner' ).hide(); removeBannerSpace(); setBannerClosedCookie( 'centralnotice_wmde15_hide_cookie' );

return false; } );

$( '#amount-other-input' ).on( 'click', function () { $( 'input:radio[name=betrag_auswahl]' ).prop( 'checked', false ); $( '#amount_other' ).prop( 'checked', true ); } ); $( '#amount_other' ).on( 'click', function () { $( '#amount-other-input' ).trigger( 'click' ); } ); $( 'input:radio[name=betrag_auswahl]' ).on( 'click', function () { $( '#amount_other' ).prop( 'checked', false ); } ); $( '#interval_onetime' ).on( 'click', function () { removeSpaceForIntervalOptions(); $( '.interval-options' ).addClass( 'interval-hidden' ); $( '#interval_multiple' ).prop( 'checked', false ); } ); $( '#interval_multiple' ).on( 'click', function () { addSpaceForIntervalOptions(); $( '.interval-options' ).removeClass( 'interval-hidden' ); $( '#interval_onetime' ).prop( 'checked', false ); } ); } );

function setBannerClosedCookie( cookieName ) { var currentDate = new Date(), expiryDate;

expiryDate = new Date( 2016, 0, 15 ); $.cookie( cookieName, bannerClosedCookieValue, { expires: expiryDate, path: '/' } ); }

function getDaysLeft() { var daysLeft = Math.floor( new Date( finalDateTime - new Date() ) / 1000 / 60 / 60 / 24 ); return ( daysLeft < 0 ) ? 0 : daysLeft; }

function getDaysRemaining( language ) { var daysRemaining = getDaysLeft(), lang = language || 'de'; // TODO manually hack to fix older banners from 2014 if ( daysRemaining === 0 ) { $( '#donationRemaining' ).width( 0 ); $( '#donationRemaining' ).html( ); } return daysRemaining + ' ' + ( daysRemaining > 1 ? messages[ lang ].days : messages[ lang ].day ); }

function getSecsPassed() { var startDate = baseDate.split( '-' ), startDateObj = new Date( startDate[ 0 ], startDate[ 1 ] - 1, startDate[ 2 ] ), maxSecs = Math.floor( new Date( finalDateTime - startDateObj ) / 1000 ), secsPassed = Math.floor( ( new Date() - startDateObj ) / 1000 );

if ( secsPassed < 0 ) { secsPassed = 0; } if ( secsPassed > maxSecs ) { secsPassed = maxSecs; }

return secsPassed; }

function getApprDonationsRaw( rand ) { var startDonations = collectedBase, secsPast = getSecsPassed();

return startDonations + getApprDonationsFor( secsPast, rand ); }

function getApprDonatorsRaw( rand ) { var startDonators = donorsBase, secsPast = getSecsPassed();

return startDonators + getApprDonatorsFor( secsPast, rand ); }

function getApprDonationsFor( secsPast, rand ) { var apprDontionsMinute = donationsPerMinApproximation, randFactor = 0;

if ( rand === true ) { randFactor = Math.floor( ( Math.random() ) + 0.5 - 0.2 ); }

return ( secsPast / 60 * ( apprDontionsMinute * ( 100 + randFactor ) ) / 100 ); }

function getApprDonatorsFor( secsPast, rand ) { var apprDonatorsMinute = donorsPerMinApproximation, randFactor = 0;

if ( rand === true ) { randFactor = Math.floor( ( Math.random() ) + 0.5 - 0.2 ); }

return ( secsPast / 60 * ( apprDonatorsMinute * ( 100 + randFactor ) ) / 100 ); }

function getCurrentGermanDay() { switch ( new Date().getDay() ) { case 0: return 'Sonntag'; case 1: return 'Montag'; case 2: return 'Dienstag'; case 3: return 'Mittwoch'; case 4: return 'Donnerstag'; case 5: return 'Freitag'; case 6: return 'Samstag'; default: return ; } }

function getCurrentDayInEnglish() { switch ( new Date().getDay() ) { case 0: return 'Sunday'; case 1: return 'Monday'; case 2: return 'Tuesday'; case 3: return 'Wednesday'; case 4: return 'Thursday'; case 5: return 'Friday'; case 6: return 'Saturday'; default: return ; } }

function addPointsToNum( num ) { // jscs:disable disallowImplicitTypeConversion num = parseInt( num, 10 ) + ; // jscs:enable disallowImplicitTypeConversion num = num.replace( /\./g, ',' ); return num.replace( /(\d)(?=(\d\d\d)+(?!\d))/g, '$1.' ); }

function floorF( num ) { return Math.floor( num * 100 ) / 100; }

function getImpCount() { return parseInt( $.cookie( allBannersImpCookie ), 10 ) || 0; }

function getBannerImpCount( bannerId ) { var cookieValue, cookieData;

if ( $.cookie( singleBannerImpCookie ) ) { cookieValue = $.cookie( singleBannerImpCookie ); cookieData = cookieValue.split( '|' ); if ( cookieData[ 0 ] === bannerId ) { return parseInt( cookieData[ 1 ], 10 ); } } return 0; }

function increaseImpCount() { var impCount = getImpCount(); $.cookie( allBannersImpCookie, impCount + 1, { expires: 7, path: '/' } ); return impCount + 1; }

function increaseBannerImpCount( bannerId ) { var impCount = getBannerImpCount( bannerId );

$.cookie( singleBannerImpCookie, bannerId + '|' + ( impCount + 1 ), { expires: 7, path: '/' } ); return ( impCount + 1 ); }

function validateForm() { var chkdPayment = $( 'input[name=pay]:checked', '#WMDE_BannerForm' ).val(), form = document.donationForm, error = false, amount;

switch ( chkdPayment ) { case 'BEZ': $( '#form-page' ).val( 'Formularseite2-Lastschrift' ); break; case 'UEB': $( '#form-page' ).val( 'Formularseite2-Überweisung' ); break; case 'PPL': $( '#form-page' ).val( 'Formularseite2-PayPal' ); break; case 'MCP': $( '#form-page' ).val( 'Formularseite2-Micropayment' ); break; }

if ( !validateAndSetPeriod() ) { return false; } amount = getAmount();

// Check amount is at least the minimum if ( amount < 1 || error ) { alert( amountTooLowMessage ); return false; } else if ( amount > 99999 ) { alert( amountTooHighMessage ); return false; } return amount; }

/**

* Check the "interval" radio buttons and change the "period" and "intervalType" fields accordingly.
* If "periodically" is selected but no interval is selected, this function
* will display an error message via alert.
*/

function validateAndSetPeriod() { var form = document.donationForm; if ( $( '#interval_multiple' ).is( ':checked' ) ) { if ( $( 'input[name=interval]:checked', form ).length !== 1 ) { alert( noIntervalSelectedMessage ); return false; } else { $( '#intervalType' ).val( '1' ); $( '#periode' ).val( $( 'input[name=interval]:checked', form ).val() ); } } else if ( $( '#interval_onetime' ).is( ':checked' ) ) { $( '#periode' ).val( '0' ); $( '#intervalType' ).val( '0' ); } else { $( '#periode' ).val( '0' ); $( '#intervalType' ).val( '0' ); } return true; }

function getAmount() { var amount = null, otherAmount = $( '#amount-other-input' ).val(), form = document.donationForm;

amount = $( 'input[name=betrag_auswahl]:checked' ).val();

if ( otherAmount !== ) { otherAmount = otherAmount.replace( /[,.](\d)$/, '\:$10' ); otherAmount = otherAmount.replace( /[,.](\d)(\d)$/, '\:$1$2' ); otherAmount = otherAmount.replace( /[\$,.]/g, ); otherAmount = otherAmount.replace( /:/, '.' ); $( '#amount-other-input' ).val( otherAmount ); amount = otherAmount; }

if ( amount === null || isNaN( amount ) || amount.value <= 0 ) { return false; }

return amount; }

function addBannerSpace() { var expandableBannerHeight = $( 'div#WMDE_Banner' ).height() + 44, bannerDivElement = $( '#WMDE_Banner' ), skin = getSkin();

if ( !showBanner ) { return; } switch ( skin ) { case 'vector': bannerDivElement.css( 'top', 0 ); bannerDivElement.css( 'display', 'block' ); $( '#mw-panel' ).css( 'top', expandableBannerHeight + 160 ); $( '#mw-head' ).css( 'top', expandableBannerHeight ); $( '#mw-page-base' ).css( 'paddingTop', expandableBannerHeight ); break; case 'minerva': $( '#mw-mf-viewport' ).css( 'top', expandableBannerHeight );

                               $( '#mw-mf-page-center, #mw-mf-page-left' ).css( 'top', expandableBannerHeight );

break; case 'monobook': $( '#globalWrapper' ).css( 'position', 'relative' ); $( '#globalWrapper' ).css( 'top', expandableBannerHeight ); bannerDivElement.css( 'top', '-20px' ); bannerDivElement.css( 'background', 'none' ); break; } setTimeout( animateProgressBar, 1000 ); }

function addBannerSpaceWithRollo() { var expandableBannerHeight = $( 'div#WMDE_Banner' ).height() + 44, bannerDivElement = $( '#WMDE_Banner' ), skin = getSkin();

if ( !showBanner ) { return; } switch ( skin ) { case 'vector': bannerDivElement.css( 'top', 0 - expandableBannerHeight ); $( '#mw-panel' ).animate( { top: expandableBannerHeight + 160 }, 1000 ); $( '#mw-head' ).animate( { top: expandableBannerHeight }, 1000 ); $( '#mw-page-base' ).animate( { paddingTop: expandableBannerHeight }, 1000 ); break; case 'minerva': $( '#mw-mf-viewport' ).css( 'top', expandableBannerHeight );

                       $( '#mw-mf-page-center, #mw-mf-page-left' ).css( 'top', expandableBannerHeight );

break; case 'monobook': $( '#globalWrapper' ).css( 'position', 'relative' ); $( '#globalWrapper' ).css( 'top', expandableBannerHeight ); bannerDivElement.css( 'top', '-20px' ); bannerDivElement.css( 'background', 'none' ); break; } bannerDivElement.css( 'display', 'block' ); bannerDivElement.animate( { top: 0 }, 1000 ); setTimeout( animateProgressBar, 1000 ); }

function removeBannerSpace() { var skin = getSkin(); switch ( skin ) { case 'vector': $( '#mw-panel' ).css( 'top', 160 ); $( '#mw-head' ).css( 'top', 0 ); $( '#mw-page-base' ).css( 'padding-top', 0 ); break; case 'minerva': $( '#mw-mf-viewport' ).css( 'top', 0 );

                       $( '#mw-mf-page-center, #mw-mf-page-left' ).css( 'top', 0 );

break; case 'monobook': $( '#globalWrapper' ).css( 'position', 'relative' ); $( '#globalWrapper' ).css( 'top', 0 ); break; } }

function addSpaceForIntervalOptions() { var $intervalOptionsContainer = $( 'div.interval-options' ), expandableBannerHeight = $intervalOptionsContainer.height(); if ( $intervalOptionsContainer && $intervalOptionsContainer.is( ':visible' ) ) { return; }

switch ( getSkin() ) { case 'vector': $( '#mw-panel' ).css( { top: parseInt( $( '#mw-panel' ).css( 'top' ), 10 ) + expandableBannerHeight + 'px' } ); $( '#mw-head' ).css( { top: parseInt( $( '#mw-head' ).css( 'top' ), 10 ) + expandableBannerHeight + 'px' } ); $( '#mw-page-base' ).css( { paddingTop: parseInt( $( '#mw-page-base' ).css( 'padding-top' ), 10 ) + expandableBannerHeight + 'px' } ); break; case 'minerva': $( '#mw-mf-viewport' ).css( { top: parseInt( $( '#mw-mf-viewport' ).css( 'top' ), 10 ) + expandableBannerHeight + 'px' } );

                       $( '#mw-mf-page-center, #mw-mf-page-left' ).css( { top: parseInt( $( '#mw-mf-page-center' ).css( 'top' ), 10 ) + expandableBannerHeight + 'px' } );

break; case 'monobook': $( '#globalWrapper' ).css( { top: parseInt( $( '#globalWrapper' ).css( 'top' ), 10 ) + expandableBannerHeight + 'px' } ); break; } }

function removeSpaceForIntervalOptions() { var $intervalOptionsContainer = $( 'div.interval-options' ), expandableBannerHeight = $intervalOptionsContainer.height() + 5; if ( $intervalOptionsContainer && !$intervalOptionsContainer.is( ':visible' ) ) { return; }

switch ( getSkin() ) { case 'vector': $( '#mw-panel' ).css( { top: ( parseInt( $( '#mw-panel' ).css( 'top' ), 10 ) - expandableBannerHeight ) + 'px' } ); $( '#mw-head' ).css( { top: ( parseInt( $( '#mw-head' ).css( 'top' ), 10 ) - expandableBannerHeight ) + 'px' } ); $( '#mw-page-base' ).css( { paddingTop: ( parseInt( $( '#mw-page-base' ).css( 'padding-top' ), 10 ) - expandableBannerHeight ) + 'px' } ); break; case 'minerva': $( '#mw-mf-viewport' ).css( { top: ( parseInt( $( '#mw-mf-viewport' ).css( 'top' ), 10 ) - expandableBannerHeight ) + 'px' } );

                       $( '#mw-mf-page-center, #mw-mf-page-left' ).css( { top: ( parseInt( $( '#mw-mf-page-center' ).css( 'top' ), 10 ) - expandableBannerHeight ) + 'px' } );

break; case 'monobook': $( '#globalWrapper' ).css( { top: ( parseInt( $( '#globalWrapper' ).css( 'top' ), 10 ) - expandableBannerHeight ) + 'px' } ); break; } }

function animateProgressBar() { var donationFillElement = $( '#donationFill' ), daysLeftElement = $( '#daysLeft' ), donationValueElement = $( '#donationValue' ), remainingValueElement = $( '#valRem' ), preFillValue = 0, barWidth, dTarget, dCollected, dRemaining, fWidth, widthToFill;

donationFillElement.clearQueue(); donationFillElement.stop(); donationFillElement.width( preFillValue + 'px' );

daysLeftElement.hide();

barWidth = $( '#donationMeter' ).width(); dTarget = goalSum; dCollected = getApprDonationsRaw();

       if ( dCollected > goalSum ) {
         dCollected  = goalSum;
       }

dRemaining = dTarget - dCollected; fWidth = dCollected / dTarget * barWidth; widthToFill = getFillWidth( barWidth, dTarget, dCollected );

donationFillElement.animate( { width: widthToFill + 'px' }, { duration: 3000, progress: function () { var dFill = donationFillElement.width() / widthToFill * fWidth, pFill = dFill / barWidth,

dColl = dTarget * pFill / 1000000, vRem = ( dTarget - ( dTarget * pFill ) ) / 1000000; setCollectedAndRemaining( dColl, vRem ); }, complete: function () { setCollectedAndRemaining( dCollected / 1000000, dRemaining / 1000000 ); $( '#donationText' ).show(); $( '#donationRemaining' ).show(); daysLeftElement.show(); } } );

function setCollectedAndRemaining( donationsCollected, donationsRemaining ) { donationsCollected = donationsCollected.toFixed( 1 ); donationsCollected = donationsCollected.replace( '.', ',' );

donationsRemaining = donationsRemaining.toFixed( 1 ); donationsRemaining = donationsRemaining.replace( '.', ',' );

remainingValueElement.html( donationsRemaining ); donationValueElement.html( donationsCollected ); } }

function setProgressBarSize() { var donationFillElement = $( '#donationFill' ), barWidth, dCollected; barWidth = $( '#donationMeter' ).width(); dCollected = getApprDonationsRaw(); donationFillElement.width( getFillWidth( barWidth, goalSum, dCollected ) + 'px' ); }

function getFillWidth( donationBarWidth, donationTarget, donationsCollected ) { var widthToFill, maxFillWidth = donationBarWidth - $( '#donationRemaining' ).width() - 16, fWidth = donationsCollected / donationTarget * donationBarWidth;

widthToFill = Math.min( maxFillWidth, fWidth ); // Fill at least 100px or 15% (in case 15% fill is lower than 100px) widthToFill = Math.max( 100, 0.15 * donationBarWidth, widthToFill ); return widthToFill; }

/**

* Calculate the number of donors needed, given an average donation amount.
*
* This function cannot return less than 0 donors when the target has been reached.
*
* @param  {number} averageDonation Average donation amount in EUR
* @return {number} Number of donors needed (rounded up)
*/

function getRemainingDonorsNeeded( averageDonation ) { var dRemaining, dCollected, numDonors; dCollected = getApprDonationsRaw(); dRemaining = goalSum - dCollected; numDonors = Math.ceil( dRemaining / averageDonation ); return Math.max( 0, numDonors ); }

function replaceWikiVars( text ) { var re = /\{\{\{([^\}]+)\}\}\}/g, wikiVarMatch; while ( ( wikiVarMatch = re.exec( text ) ) !== null ) { if ( GlobalBannerSettings[ wikiVarMatch[ 1 ] ] ) { text = text.replace( wikiVarMatch[ 0 ], GlobalBannerSettings[ wikiVarMatch[ 1 ] ] ); } else { text = text.replace( wikiVarMatch[ 0 ], ); } } return text; }

function getSkin() { if ( onMediaWiki() ) { return mw.config.get( 'skin' ); } return 'vector'; }

function onMediaWiki() { return typeof mw === 'object' && typeof mw.centralNotice !== 'undefined'; }

function bannerClosedCookieIsSet() { if ( bannerClosedCookieValue !== '1' ) { return $.cookie( 'centralnotice_wmde15_hide_cookie' ) === bannerClosedCookieValue; } return $.cookie( 'centralnotice_wmde15_hide_cookie' ) !== null; } </script>

<script type="text/javascript"> /* Based on: MediaWiki:FR2014/Resources/ShowHideCheckFullscreen.js

* Decide whether to show banner, based on if they saw a "fullscreen"
* one already.
*
* If we do show one, then set a cookie to remember it.
*/

(function(mw) {

   // See https://stackoverflow.com/questions/6125330/javascript-navigator-cookieenabled-browser-compatibility#15582757
   var cookiesEnabled = ('cookie' in document && (document.cookie.length > 0 || (document.cookie = 'test').indexOf.call(document.cookie, 'test') > -1));
   var forced = mw.util.getParamValue('force');
   if ( cookiesEnabled ) {
       if ( $.cookie('wmde-fulltopbanner-2015') && !forced ) {
           // Already seen a "fullscreen" banner, so hide this one (unless forced)
           mw.centralNotice.bannerData.hideResult = true;
           mw.centralNotice.bannerData.hideReason = 'seen-fullscreen';
       } else {
           mw.centralNotice.bannerData.hideResult = false;
           // And set a cookie to remember they saw a fullscreen
           $.cookie( 'wmde-fulltopbanner-2015', 1, { expires: new Date( 2015, 11, 31, 23, 59, 59 ), path: '/' } );
       }
   } else {
       mw.centralNotice.bannerData.hideResult = true;
       mw.centralNotice.bannerData.hideReason = 'cookies-disabled';
   }

})(mediaWiki);

//Move user from bucket A to C, or B to D, so this banner is only shown once during the campaign /* MediaWiki:FR2014/Resources/ChangeBucket-AtoC-BtoD.js

* Change user's bucket for this campaign. A to C, B to D
* Although if it was a test (triggered using banner= in URL)
* then don't bother as there was no campaign.
*/

(function(mw) {

   var currentBucket, newBucket;
   if ( !mw.centralNotice.data.getVars.banner ) {
       if ( mw.cnBannerControllerLib ) {
           // Legacy method
           currentBucket = mw.cnBannerControllerLib.bucketsByCampaign['{{{campaign}}}'].val;
           if ( (currentBucket !== null) && (currentBucket <= 1) ) {
               newBucket = currentBucket + 2;
               mw.cnBannerControllerLib.bucketsByCampaign['{{{campaign}}}'].val = newBucket;
               mw.cnBannerControllerLib.storeBuckets();
           } 
       } else {
           // Shiny new method
           currentBucket = mw.centralNotice.data.bucket;
           if ( (currentBucket !== null) && (currentBucket <= 1) ) {
               newBucket = currentBucket + 2;
               mw.centralNotice.setBucket( newBucket );
           }
       }
   }

})(mediaWiki); </script>

<script type="text/javascript">

 function addFulltopBannerSpace() {
   var expandableBannerHeight = $( 'div#WMDE_Banner-wrapper' ).height() + 44,
   bannerDivElement = $( '#WMDE_Banner-wrapper' );
   switch ( 'vector' ) {
     // switch ( skin ) { TODO fix when non-static
     case 'vector':
     $( '#mw-panel' ).css( 'top', expandableBannerHeight + 160 );
     $( '#mw-head' ).css( 'top', expandableBannerHeight );
     $( '#mw-page-base' ).css( 'padding-top', expandableBannerHeight);
     break;
   case 'monobook':
     $( '#globalWrapper' ).css( 'position', 'relative' );
     $( '#globalWrapper' ).css( 'top', expandableBannerHeight );
     bannerDivElement.css( 'top', '-20px' );
     bannerDivElement.css( 'background', 'none' );
     break;
   }
   animateProgressBar();
 }
 function addMiniBanner() {
   /* add the "nag" bar. Has to be done after we show the main banner (to get its height) */
   var bigBannerHeight = $('#WMDE_Banner').height();
   $(window).scroll(function() {
       if ($(window).scrollTop() <= bigBannerHeight) {
           $('#WMDE_Banner-nag').finish();
           $('#WMDE_Banner-nag').css('display', 'none');
       } else {
           $('#WMDE_Banner-nag').delay(1500).slideDown();
       }
   });
   $('#WMDE_Banner-nag-close').click(function(event) {
       $('#WMDE_Banner-nag').remove();
       event.stopPropagation();
   });
   $('#WMDE_Banner-nag').click(function() {
       window.scrollTo(0,0);
   });
 }
 $( document ).ready( function() {
   $(".donation-frequency").click(function() {
     $(".donation-frequency").removeClass("checked");
     $(this).addClass("checked");
   });
   $(".donation-interval").click(function() {
     $(".donation-interval").removeClass("checked");
     $(this).addClass("checked");
   });
   $("#WMDE_Banner-amounts .WMDE_Banner-btn").click(function() {
     $("#WMDE_Banner-amounts .WMDE_Banner-btn").removeClass("checked");
     $(this).addClass("checked");
     $('#amount-other-input').val(); // Clear "other" box
   });
   $("#amount_custom").click(function() {
     $( 'input:radio[name=betrag_auswahl]' ).prop( 'checked', false );
     document.getElementById("input_amount_other").checked = true;
     $("#amount-other-input").focus();
   });
   if ( mw.config.get( 'wgAction' ) === "view" && !mw.centralNotice.bannerData.hideResult ) {
     $( 'body' ).prepend( $( '#centralNotice' ) );
     $( '#WMDE_Banner-wrapper' ).css( 'display', 'block' );
     addFulltopBannerSpace();
     addMiniBanner();
   }
   $( '#WMDE_Banner-close-button' ).click( function () {
     if ( Math.random() < 0.01 ) {
       $( '#WMDE_Banner-close-ct' ).attr( 'src', 'https://spenden.wikimedia.de/piwik/piwik.php?idsite=1&url=https://spenden.wikimedia.de/banner-closed/{{{BannerName}}}&rec=1' );
      }
      // not calling centralNotice.hideBanner as we are setting cookie ourselves
      //mw.centralNotice.hideBanner();
      $( '#WMDE_Banner-wrapper' ).hide();
      removeBannerSpace();
      return false;
   } );
   $( '#WMDE_Banner-payment button' ).click( function( e ) {
     return validateForm();
   } );
   var impCount = increaseImpCount();
   $( "#impCount" ).val( impCount );
   var bannerImpCount = increaseBannerImpCount( "{{{banner}}}" );
   $( "#bImpCount" ).val( bannerImpCount );
   if ( mw.config.get( 'wgUserName' ) !== null ) {
     $( '#wikilogin' ).val( 'yes' );
   }
   $( "span#numDaysLeft" ).text( getDaysRemaining() );
   $( "span#weekday" ).text( getCurrentGermanDay() );
   $( "span#donorsValue" ).html( addPointsToNum( Math.floor( getApprDonatorsRaw() ) ) );
 } );

</script>