MediaWiki:Centralnotice-template-B1617 1117 en6C dsk p2 sm refactor
<style> /* For IE9 */ @media screen {
#centralNotice { display: block !important; }
}
/* Hide when editing */ .action-edit #centralNotice, .ve-activated #centralNotice {
display: none !important;
}
- centralNotice.collapsed .frbanner {
display: none;
}
.frbanner {
display: none; position: absolute; top: 0; left: 0; right: 0; z-index: 110; background: transparent; cursor: pointer; color: #222; font-weight: 500;
}
.frbanner * {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.frbanner.nag-reveal {
position: fixed; display: block; z-index: 1000;
}
.frbanner.nag-reveal #frbanner-main {
z-index: 1001;
}
- frbanner-main {
display: table; width: 100%; height: 120px; /* need to set height for height 100% to work on elements within it */ padding: .25em 0 .25em .25em;
}
.frbanner-message, .frbanner-form-container {
display: table-cell; height: 100%; vertical-align: middle;
}
/* --- Main message --- */ .frbanner-message {
margin: 0; padding: 5px 10px 5px 30px; background-color: #f8f9fa; background-image: url("//upload.wikimedia.org/wikipedia/donate/9/99/RedInfoI.svg"); background-repeat: no-repeat; background-size: 20px 20px; background-position: 5px 6px; border: 5px solid #990000; border-radius: .5em; color: black; font-size: 16px; line-height: 1.2; font-weight: bold; text-align: justify;
}
body.rtl .frbanner-message {
padding: 11px 40px 11px 10px; background-position: right 10px top 10px;
}
@media (min-width: 1100px) { .frbanner-message { font-size: 18px; } } @media (min-width: 1200px) { .frbanner-message { line-height: 1.3em; } }
.frbanner-message p {
margin: 0;
}
.frbanner-greeting {
font-style: italic;
}
/* --- Form --- */ .frbanner-form-container {
width: 400px; background: white; padding: 0.1em 1.5em 0.35em 0.5em; position: relative;
}
.frbanner-form fieldset {
width: 100%; border: 0; margin: 0 auto; padding: 0 0 .5em 0;
}
.frbanner-form ul {
display: table; width: 100%; height: 100%; padding: 0; list-style: none; margin: 0;
}
.frbanner-form legend {
width: 100%; margin: 0; padding: 0 0 0.3em 0; text-align: center; font-size: .9em;
}
.frbanner-submit legend {
display: none;
}
/* --- Common Button Styles --- */
.frbanner-btn {
background-color: #f8f9fa; border: 1px solid #9aa0a7; border-radius: 2px; color: #222; display: block; padding: .32em .1em; font-family: inherit; font-weight: 500; text-align: center; line-height: 1; font-size: .9em; outline: 0; cursor: pointer; height: 26px;
}
.frbanner-btn:hover {
background-color: #fff; color: #444; border-color: #a2a9b1;
}
.frbanner-btn:active {
background-color: #d9d9d9; color: #000; border-color: #7d8389;
}
.frbanner-btn:focus {
border-color: #3366cc; box-shadow: inset 0 0 0 1px #3366cc;
}
.frbanner-btn.checked {
background-color: #2a4b8d; color: #fff; border-color: #7d8389;
}
.frbanner-btn.checked:focus {
border-color: #3366cc; box-shadow: inset 0 0 0 1px #3366cc, inset 0 0 0 2px #ffffff;
}
/* --- Frequency Buttons --- */
.frbanner-frequency li {
display: table-cell; width: 50%; padding: 0 .4em 0 0; vertical-align: top;
}
body.rtl .frbanner-frequency li { padding: 0 0 0 .4em; }
.frbanner-frequency label {
display: block; width: 100%; font-size: .9em;
}
/* Hide radio buttons */ .frbanner-frequency li input[type="radio"], .frbanner-amounts li input[type="radio"] {
position: absolute; overflow: hidden; height: 1px; width: 1px; clip: rect(0 0 0 0); border: 0; margin: -1px; padding: 0;
}
/* --- Amount Buttons --- */
.frbanner-form .frbanner-amounts ul.line1 {
margin-bottom: .3em;
}
.frbanner-amounts {
font-weight: bold;
}
.frbanner-amounts li {
display: table-cell; width: 18.75%; clear: none; padding: 0 .4em 0 0; vertical-align: middle; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.frbanner-amounts li#amount_other {
width: 25%;
}
body.rtl .frbanner-amounts li {
padding: 0 0 0 .4em;
}
.frbanner-amounts li input[type="radio"] {
position: absolute; overflow: hidden; height: 1px; width: 1px; clip: rect(0 0 0 0); border: 0; margin: -1px; padding: 0;
}
.frbanner-amounts label {
text-transform: none;
}
/* --- Other Amount --- */
- amount_other .frbanner-btn {
display: block; position: relative; padding: .14em 0;
}
- amount_other span {
display: inline-block; height: auto; cursor: pointer; font-size: 1em; font-weight: bold;
}
- amount_other input[type="text"] {
background-color: #f8f9fa; /* border-radius: 0.3em; */ border: none; box-sizing: border-box; color: #757575; cursor: pointer; display: block; font-family: inherit; font-size: 0.9em; height: 24px; line-height: 1; padding: 0.32em; position: absolute; top: 0; left: 0; width: 100%; text-align: center;
}
- amount_other:hover input[type="text"], #amount_other:hover .checked input[type="text"] {
background-color: white; color: #757575;
}
- amount_other .checked input {
background-color: #2a4b8d; border-color: #7d8389; color: #fff;
}
.frbanner-amounts #input_amount_other_box:focus {
outline: 0; border-color: #3366cc; box-shadow: inset 0 0 0 1px #3366cc;
}
/* --- Payment method Buttons --- */
/* hide methods which aren't monthly capable when monthly option is selected */ .form-monthly .no-monthly {
display: none !important;
}
.frbanner-form .frbanner-submit {
padding-bottom: 0;
}
.frbanner-submit ul {
display: block;
} .frbanner-submit ul li {
display: block; margin-bottom: .4em; padding: 0 .4em 0 0;
}
.frbanner-submit button {
width: 100%;
}
.frbanner-submit .frbanner-btn img {
display: block; margin: 0 auto; max-height: 1.25em; max-width: 100%;
}
.frbanner-btn.logo {
padding: .2em;
}
/* If wide enough, put in a row. table-layout: fixed; makes them equal widths */ @media (min-width : 960px) {
.frbanner-submit ul { display: table; table-layout: fixed; }
.frbanner-submit ul li { display: table-cell; vertical-align: top; margin: 0; }
body.rtl .frbanner-submit ul li { padding: 0 0 0 .4em; }
}
.frbanner-submit .frbanner-btn, .frbanner-email-reminder-link.frbanner-btn {
color: #3366cc;
}
.frbanner-submit .frbanner-btn:hover, .frbanner-email-reminder-link.frbanner-btn:hover {
background-color: #fff; border-color: #859dcc;
}
.frbanner-submit .frbanner-btn:active, .frbanner-email-reminder-link.frbanner-btn:active {
background-color: #eff3fa; color: #2a4b8d; border-color: #2a4b8d; box-shadow: none
}
/* --- Close Options --- */
- frbanner-close {
display: block; position: absolute; right: .75em; top: .25em; cursor: pointer; opacity: .5; z-index: 999; width: 13px; height: 13px; background: url('//upload.wikimedia.org/wikipedia/donate/3/32/Close-thin.png') no-repeat center center;
}
body.rtl #frbanner-close {
left: 1em; right: auto;
}
- frbanner-close:hover {
opacity: 1;
}
/* --- Legal and smallprint --- */
- frbanner-legal {
display: none; position: relative; margin: 0; padding: 5px 40px; background: #e2e2e2; font-size: 11px; line-height: 1.2; font-weight: normal;
}
/* --- "Nag" --- */
- frbanner-nag {
display: none; position: fixed; top: 0; left: 0; color: black; background-color: #f36b21; padding: 5px; width: 100%; text-align: center; font-size: 17px; font-weight: bold; box-shadow: 0 0 10px rgba(0,0,0,.5);
}
- frbanner-nag img {
margin-right: .4em; height: 20px; width: 20px;
}
.frbanner-nag-link {
vertical-align: middle; line-height: 26px;
} .frbanner-nag-link:hover {
text-decoration: underline;
}
- frbanner-nag button {
display: inline-block; margin: 0 0 0 1em; border-radius: .25em; background: #ffed41; box-shadow: 0 0 5px rgba(6,7,7,.3); color: #990000; font-size: .8em; padding: .25em .5em; font-weight: bold; cursor: pointer; vertical-align: middle; border: none; text-transform: uppercase; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; transition: all .25s ease-in-out;
}
- frbanner-nag button:hover {
-moz-transform: scale(1.1); -ms-transform: scale(1.1); -webkit-transform: scale(1.1); transform: scale(1.1);
}
.frbanner-nag-close {
display: block; position: absolute; top: 0; right: 15px; width: 15px; height: 15px; background: url('//upload.wikimedia.org/wikipedia/donate/8/84/Close-dark-trilogy.png') no-repeat center center; background-size: contain; cursor: pointer; opacity: 0.8; margin: 10px; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; transition: all .25s ease-in-out;
}
body.rtl .frbanner-nag-close {
left: 0; right: auto;
}
.frbanner-nag-close:hover {
opacity: 1; -moz-transform: scale(1.1); -ms-transform: scale(1.1); -webkit-transform: scale(1.1); transform: scale(1.1);
}
/* --- Remind me by email --- */
.rml {
position: relative; width: 100%; text-align: center; margin-top: .2em; padding: .25em .4em 0 0; z-index: 999; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.frbanner-email-reminder {
display: none; position: absolute; padding: 1em; top: 2.4em; right: 0; width: 100%; background: #fff; border: 1px solid #aaa; border-radius: 2px; box-shadow: 0 0.15em 0 0 rgba(0, 0, 0, 0.15); text-transform: none; font-size: .9em; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
} body.rtl .frbanner-email-reminder .frbanner-email-reminder-form {
right: auto; left: 0;
}
.frbanner-email-reminder * {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.frbanner-email-reminder-anchor {
display: block; position: absolute; top: -10px; left: 50%; background-repeat: no-repeat;
}
.frbanner-email-reminder-anchor:before, .frbanner-email-reminder-anchor:after {
content: ""; position: absolute; width: 0; height: 0; border-style: solid; border-color: transparent; border-top: 0;
}
.frbanner-email-reminder-anchor:before {
bottom: -10px; left: -9px; border-bottom-color: #888888; border-width: 10px
}
.frbanner-email-reminder-anchor:after {
bottom: -10px; left: -8px; border-bottom-color: #ffffff; border-width: 9px;
}
.frbanner-email-reminder input {
direction: ltr; background: #fff; width: 100%; display: block; padding: 0.5em; margin: .5em 0 0 0; font-size: inherit; font-family: inherit; color: #000; border: 1px solid #9aa0a7; border-radius: 2px;
} .frbanner-email-reminder input:focus {
outline: 0; border-color: #3366cc; box-shadow: inset 0 0 0 1px #3366cc;
} .frbanner-email-reminder input.error {
border-color: #ff0000; box-shadow: inset 0 0 0 0.1em #ff0000;
}
.frbanner-email-reminder .frbanner-btn {
width: 100%; color: #fff; background-color: #3366cc; border-color: #3366cc; padding: .5em; margin-top: .5em; font-size: 1em; height: auto;
} .frbanner-email-reminder .frbanner-btn:hover {
background-color: #447ff5; border-color: #447ff5;
} .frbanner-email-reminder .frbanner-btn:active {
background-color: #2a4b8d; border-color: #2a4b8d; box-shadow: none;
} .frbanner-email-reminder .frbanner-btn:focus {
border-color: #3366cc; box-shadow: inset 0 0 0 1px #3366cc, inset 0 0 0 2px #ffffff;
}
.frbanner-email-reminder #errorMessageContainerId {
color: #ff0000;
} </style>
<script> var fundraisingBanner = {};
fundraisingBanner.addSpace = function() {
if ( $('#{{{banner}}}').is(':visible') ) { /* add space for the banner, and extra px if given below. called on load and window resize */ var extra = 0; var bannerHeight = $('#frbanner-main').height(); $('#mw-panel').css('top', bannerHeight+160+extra); $('#mw-head').css('top', bannerHeight+extra); $('#mw-page-base').css('margin-top', bannerHeight+extra); }
};
fundraisingBanner.show = function() {
$('body').prepend($('#centralNotice')); $('#{{{banner}}}').css('display', 'block'); fundraisingBanner.addSpace(); setTimeout(function (){ fundraisingBanner.addSpace(); }, 100); setTimeout(function (){ fundraisingBanner.addSpace(); }, 500); setTimeout(function (){ fundraisingBanner.addSpace(); }, 1000); setTimeout(function (){ fundraisingBanner.addSpace(); }, 5000);
$(window).resize(function() { fundraisingBanner.addSpace(); });
};
fundraisingBanner.hide = function() {
/* hide the banner, and remove the extra space which was added for it */ mw.centralNotice.hideBanner(); $('#{{{banner}}}').hide(); $('#mw-panel').css('top', '160px'); $('#mw-head').css('top', '0px'); $('#mw-page-base').css('margin-top', '0'); return false;
};
fundraisingBanner.postReminderForm = function() {
// Create the iframe for the form and use it as the form's target var frameName = "remindFrame"; var $form = $(".frbanner-email-reminder-form form"); if ($("iframe[name=" + frameName + "]").length == 0) { var $iframe = $('<iframe style="display: none;" name="' + frameName + '"></iframe>'); $form.attr("target", $iframe.attr("name")); $form.after($iframe); } $form[0].submit();
};
fundraisingBanner.getCurrentDate = function() {
var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear();
if(dd<10) { dd='0'+dd; } if(mm<10) { mm='0'+mm; }
today = mm+'/'+dd+'/'+yyyy; return today;
};
fundraisingBanner.initReminderForm = function() {
$(".frbanner-email-reminder-form input[name=rml_country]").val(Geo.country); $(".frbanner-email-reminder-form input[name=rml_language]").val(mw.config.get('wgUserLanguage')); $(".frbanner-email-reminder-form input[name=rml_submitDate]").val(fundraisingBanner.getCurrentDate()); $(".frbanner-email-reminder-form input[name=rml_segment]").val(Math.floor((Math.random() * 100) + 1));
$(".frbanner-email-reminder-link").click(function() { $('.frbanner-email-reminder').toggle(); $('#control_EMAIL').focus(); });
$(".frbanner-email-reminder-form button").bind("click", function() { if ( mw.util.validateEmail( $(".frbanner-email-reminder-form form input[name='Email']").val() ) ) { fundraisingBanner.postReminderForm(); $(".frbanner-email-reminder-form form").hide(); $(".frbanner-email-reminder-done").show(); $(".frbanner-email-reminder").delay(2000).fadeOut(1500); mw.centralNotice.hideBanner(); // Hide future banners for 7 days return false; } else { $(".frbanner-email-reminder-form form input[name='Email']").addClass("error"); $(".frbanner-email-reminder-form #errorMessageContainerId").show(); $('#control_EMAIL').focus(); return false; } });
};
fundraisingBanner.addNag = function() {
var nagHoverTimeout; var bannerHeight = $('#frbanner-main').height();
$(window).scroll(function() { if ($(window).scrollTop() <= bannerHeight) { $('#frbanner-nag').finish(); $('#frbanner-nag').hide(); } else { setTimeout(function(){ if ( !$('.frbanner' ).hasClass('nag-reveal') && $(window).scrollTop() > bannerHeight) { $('#frbanner-nag').slideDown(); } }, 1500); } });
$('#frbanner-nag').mouseenter(function() { nagHoverTimeout = window.setTimeout(function() { $('#frbanner-nag').hide(); $('.frbanner').addClass('nag-reveal'); }, 2000); });
$('#frbanner-nag').mouseleave(function() { window.clearTimeout(nagHoverTimeout); });
$('.frbanner').mouseleave(function(e) { if ( $('.frbanner').hasClass('nag-reveal') ) { $('.frbanner').removeClass('nag-reveal'); $('#frbanner-nag').show(); } });
$('#frbanner-nag').click(function() { $('#frbanner-nag').remove(); window.clearTimeout(nagHoverTimeout); window.scrollTo(0,0); });
$('.frbanner-nag-close').click(function(e) { $('#frbanner-nag').remove(); e.stopPropagation(); });
};
fundraisingBanner.countryNames = {
'US' : 'the U.S.', 'CA' : 'Canada', 'GB' : 'the UK', 'IE' : 'Ireland', 'AU' : 'Australia', 'NZ' : 'New Zealand', 'IT' : 'Italy', 'FR' : 'France'
};
$(document).ready(function() {
$('.frbanner-replace-country').text( fundraisingBanner.countryNames[Geo.country] ); fundraisingBanner.initReminderForm();
fundraisingBanner.show();
fundraisingBanner.addNag();
}); </script>