Team:Newcastle/script/calendar.js

From 2013.igem.org

(Difference between revisions)
Line 16: Line 16:
         if($('.pop_up_controls').length == 0)
         if($('.pop_up_controls').length == 0)
         {
         {
-
             $('<div class="pop_up_controls"><div class="pop_up_left"><a href="#" onclick="prevDate();">&lt;&lt;&nbsp;Previous</a></div><div class="pop_up_right"><a href="#" onclick="nextDate();">Next&nbsp;&gt;&gt;</a></div></div>').insertAfter('#pop_up_content');
+
             $('<div class="pop_up_controls"><div class="pop_up_left"><a href="#" onclick="prevDate(); return false;">&lt;&lt;&nbsp;Previous</a></div><div class="pop_up_right"><a href="#" onclick="nextDate(); return false;">Next&nbsp;&gt;&gt;</a></div></div>').insertAfter('#pop_up_content');
         }
         }
          
          
Line 34: Line 34:
             if($('.pop_up_controls').length == 0)
             if($('.pop_up_controls').length == 0)
             {
             {
-
                 $('<div class="pop_up_controls"><div class="pop_up_left"><a href="#" onclick="prevDate();">&lt;&lt;&nbsp;Previous</a></div><div class="pop_up_right"><a href="#" onclick="nextDate();">Next&nbsp;&gt;&gt;</a></div></div>').insertAfter('#pop_up_content');
+
                 $('<div class="pop_up_controls"><div class="pop_up_left"><a href="#" onclick="prevDate(); return false;">&lt;&lt;&nbsp;Previous</a></div><div class="pop_up_right"><a href="#" onclick="nextDate(); return false;">Next&nbsp;&gt;&gt;</a></div></div>').insertAfter('#pop_up_content');
             }
             }
              
              

Revision as of 20:06, 2 October 2013

$(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)
       {
$('
<a href="#" onclick="prevDate(); return false;"><< Previous</a>
<a href="#" onclick="nextDate(); return false;">Next >></a>
').insertAfter('#pop_up_content');
       }
       
       $('#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)
           {
$('
<a href="#" onclick="prevDate(); return false;"><< Previous</a>
<a href="#" onclick="nextDate(); return false;">Next >></a>
').insertAfter('#pop_up_content');
           }
           
           $('#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 = '
<a href="#' + dateDisp + '" alt="' + dateDisp + '">' + tempTitles + '</a>
' + tempDetails + '
'; var dateHTML = '
' + tempTitles + '
' + tempDetails + '
';

$('#calendar-container').find(dateID).parent().append(dateHTML); }

daysChecked += numDays; }

   $('body').find('#calendar-data').remove();

}

function prevDate() {

   var date = newDate(-1);
   
   alert(date[0]);
   
   return false;

}

function nextDate() {

   alert("Next Date");
   
   return false;

}

function newDate(i) {

   var dateTemp = new Array();
   
   var date = (location.hash).split("/");
   
   var day = date[0].replace("#", "");
   var month = date[1];
   
   if((month == 6) && ((day + i) > 30))
   {
       month += i; day = 1;
   } 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) < 1))
   {
       month += i; day = 31;
   }
   
   dateTemp[0] = day;
   dateTemp[1] = month;
   
   return dateTemp;

}