HTML Code:
<!DOCTYPE html>
<html>
<head>
<title>Book of the Week - Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
#bookoftheweek {
text-align: center;
}
#bookoftheweek img {
width: 230px;
height: 346px;
}
</style>
<script type="text/javascript">
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
};
(function(){
var suffixes = ['', 'st', 'nd', 'rd'];
function formatdate(d){
return d + (d > 3 && d < 21? 'th' : (suffixes[d % 10] || 'th'));
}
var msgs = [ //You need 52 of these:
'Message for Week 1 goes here.',
'Week 2 Message.',
'', //you could have a blank one here or anywhere, this is week 3, it will have no message
'Week 4 Message.',
'Week 5 Message.', //week 5
'Week 6 Message.',
'Week 7 Message.',
'Week 8 Message.',
'Week 9 Message.',
'Week 10 Message.', //week 10
'Week 11 Message.',
'Week 12 Message.',
'Week 13 Message.',
'Week 14 Message.',
'Week 15 Message.', //week 15
'Week 16 Message.',
'Week 17 Message.',
'Week 18 Message.',
'Week 19 Message.',
'Week 20 Message.', //week 20
'Week 21 Message.',
'Week 22 Message.',
'Week 23 Message.',
'Week 24 Message.',
'Week 25 Message.', //week 25
'Week 26 Message.',
'Week 27 Message.',
'Week 28 Message.',
'Week 29 Message.',
'Week 30 Message.', //week 30
'Week 31 Message.',
'Week 32 Message.',
'Week 33 Message.',
'Week 34 Message.',
'Week 35 Message.', //week 35
'Week 36 Message.',
'Week 37 Message.',
'Week 38 Message.',
'Week 39 Message.',
'Week 40 Message.', //week 40
'Week 41 Message.',
'Week 42 Message.',
'Week 43 Message.',
'Week 44 Message.',
'Week 45 Message.', //week 45
'Week 46 Message.',
'Week 47 Message.',
'Week 48 Message.',
'Week 49 Message.',
'Week 50 Message.', //week 50
'Week 51 Message.',
'Week 52 Message.'
], months = [
'January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
], d = new Date(), weeknum = d.getWeek(), weekof, msg = '',
weekimage = '<img src="book_' + weeknum + '.jpg" alt="book ' + weeknum + '" title="">';
if(msgs[weeknum]){
msg = '<br>' + msgs[weeknum - 1];
}
while(d.getDay()){d.setDate(d.getDate() - 1);}
weekof = 'Sunday ' + months[d.getMonth()] + ' ' + formatdate(d.getDate()) + ', ' + d.getFullYear();
window.bookoftheweek = weekof + '<br>' + weekimage + msg;
})();
</script>
</head>
<body>
<div id="bookoftheweek">
Book of the Week for the Week of:<br>
<script type="text/javascript">
document.write(bookoftheweek);
</script>
</div>
</body>
</html>
The msgs array can be written differently so that you only need entries for those weeks that have messages, example (a few other parts of the code have changed slightly to accommodate the new message format):
HTML Code:
<!DOCTYPE html>
<html>
<head>
<title>Book of the Week - Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
#bookoftheweek {
text-align: center;
}
#bookoftheweek img {
width: 230px;
height: 346px;
}
</style>
<script type="text/javascript">
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
};
(function(){
var suffixes = ['', 'st', 'nd', 'rd'];
function formatdate(d){
return d + (d > 3 && d < 21? 'th' : (suffixes[d % 10] || 'th'));
}
var msgs = []; //You should have 52 of these, numbered from 1 to 52, any skipped will be blank when that week comes up:
msgs[1] = 'Message for Week 1 goes here.';
msgs[37] = 'Week 37 Message.';
msgs[38] = 'Week 38 Message.';
msgs[39] = 'Week 39 Message.';
msgs[40] = 'Week 40 Message.'; //week 40
msgs[41] = 'Week 41 Message.';
msgs[42] = 'Week 42 Message.';
msgs[43] = 'Week 43 Message.';
msgs[44] = 'Week 44 Message.';
msgs[45] = 'Week 45 Message.'; //week 45
msgs[46] = 'Week 46 Message.';
msgs[47] = 'Week 47 Message.';
msgs[48] = 'Week 48 Message.';
msgs[49] = 'Week 49 Message.';
msgs[50] = 'Week 50 Message.'; //week 50
msgs[51] = 'Week 51 Message.';
msgs[52] = 'Week 52 Message.';
var months = [
'January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
], d = new Date(), weeknum = d.getWeek(), weekof, msg = '',
weekimage = '<img src="book_' + weeknum + '.jpg" alt="book ' + weeknum + '" title="">';
if(msgs[weeknum]){
msg = '<br>' + msgs[weeknum];
}
while(d.getDay()){d.setDate(d.getDate() - 1);}
weekof = 'Sunday ' + months[d.getMonth()] + ' ' + formatdate(d.getDate()) + ', ' + d.getFullYear();
window.bookoftheweek = weekof + '<br>' + weekimage + msg;
})();
</script>
</head>
<body>
<div id="bookoftheweek">
Book of the Week for the Week of:<br>
<script type="text/javascript">
document.write(bookoftheweek);
</script>
</div>
</body>
</html>
Any questions you have or tweaks you need, just let me know.
Bookmarks