Team:Newcastle/script/calendar.js
From 2013.igem.org
$(function(){
initCalendar();
if(location.hash) {
var height = (($('#pop_up_display').height() / 100) * $(window).height()) - 40;
var date = (location.hash).split("/"); var id = date[1] + "-" + date[0].replace("#", "");
var description = $(this).find('#'+id).parent().find('.details').html(); var titleText = $(this).find('#'+id).parent().find('.titles').attr('alt');
$('#pop_up_content').html('' + titleText + '
' + description);if($('.pop_up_controls').length == 0) {$('
} $('#pop_up_content').css('height', height);
$('#pop_up').fadeIn(); }
$('td').click(function(){ if($(this).find('.titles').length) {
var height = (($('#pop_up_display').height() / 100) * $(window).height()) - 40;
var description = $(this).find('.details').html(); var titleText = $(this).find('.titles').attr('alt'); window.location.hash = titleText;
$('#pop_up_content').html('' + titleText + '
' + description);if($('.pop_up_controls').length == 0) {$('
} $('#pop_up_content').css('height', height);
$('#pop_up').fadeIn(); } }); });
function initCalendar() { $('#toc').remove(); var numMonths = parseInt($('#calendar-data').find('h2').length);
//alert(numMonths);
var daysChecked = 0; for(var i = 0; i < numMonths; i++) { //alert("Inside Months"); var currentH2 = $('h2')[i]; var nextH2= $('h2')[i + 1];
var currentMonth = parseInt($('#calendar-data').find('h2').eq(i).find('.mw-headline').text());
var numDays = parseInt($('#calendar-data').find('h2').eq(i).nextUntil('h2', 'h3').length); //alert(numDays); for(var j = 0; j < numDays; j++) { //alert("inside days"); var currentH3 = $('h3')[j + daysChecked]; var temp = $('h3'); var nextH3 = $('h3')[j + 1 + daysChecked];
var currentDay = parseInt($('#calendar-data').find(temp).eq(j + daysChecked).find('.mw-headline').text()); //alert(currentDay); var titlesH4 = $('h4')[((j + daysChecked) * 2)]; var detailsH4 = $('h4')[((j + daysChecked) * 2) + 1];
var tempTitles = $('#calendar-data').children('h4').eq(((j + daysChecked) * 2)).next('div').html(); var tempDetails = $('#calendar-data').children('h4').eq(((j + daysChecked) * 2) + 1).next('div').html();
//alert(tempTitles);
var dateID = $('#' + currentMonth + '-' + currentDay);
var dateDisp = currentDay + "/" + currentMonth + "/13";
//alert(details);
//var dateHTML = '$('#calendar-container').find(dateID).parent().append(dateHTML); }
daysChecked += numDays; }
$('body').find('#calendar-data').remove();
}
function prevDate() {
var date = (location.hash).split("/"); var day = new Number(date[0].replace("#", "")); var month = new Number(date[1]); var oldDate = new Array(date); oldDate[0] = day; oldDate[1] = month; var newDate = getDate(-1, date); var id = newDate[1] + "-" + newDate[0]; alert(id); alert(newDate + " " + oldDate); if(newDate[0] == oldDate[0] && newDate[1] == oldDate[1]) { return; } else if ($('#calendar').find('#' + id).parent().find('.titles').length) { setDisplay(id); } else { }
}
function setDisplay(id) {
var height = (($('#pop_up_display').height() / 100) * $(window).height()) - 40; var description = $('#calendar').find('#' + id).parent().find('.details').html(); var titleText = $('#calendar').find('#' + id).parent().find('.titles').attr('alt'); window.location.hash = titleText;$('#pop_up_content').html('
' + titleText + '
' + description);if($('.pop_up_controls').length == 0) {$('
}
}
function nextDate() {
alert("Next Date"); return false;
}
function getDate(i, date) {
var dateTemp = new Array(); var day = new Number(date[0].replace("#", "")); var month = new Number(date[1]); if((month == 6) && ((day + i) > 30)) { month += i; day = 1; } else if ((month == 6) && ((day + 1) < 1)) { // do nothing } else if((month == 7) && ((day + i) > 31)) { month += i; day = 1; } else if((month == 7) && ((day + i) < 1)) { month += i; day = 30; } else if((month == 8) && ((day + i) > 31)) { month += i; day = 1; } else if((month == 8) && ((day + i) < 1)) { month += i; day = 31; } else if((month == 9) && ((day + i) > 30)) { // Do nothing } else if((month == 9) && ((day + i) < 1)) { month += i; day = 31; } else { day += i; } dateTemp[0] = day; dateTemp[1] = month; return dateTemp;
}