﻿// jQuery Month Calendar Plugin 1.0 Copyright 2009 Jarrett Vance http://jvance.com/pages/jQueryMonthCalPlugin.xhtml
(function ($) {
  $.fn.calendar = function (options) {
    var opts = $.extend({}, $.fn.calendar.defaults, options);
    return this.each(function () {
      var $this = $(this);
      $this.find('td')
      .hover(function () { $(this).addClass('hover') }, function () { $(this).removeClass('hover') })
      $this.find('a[rel=prev], a[rel=next]').click(function () {
        changeMonth($this, opts, ($(this).attr('rel') == 'next'));
        return false;
      });
      refreshCal($this, opts);
    });
  }

  function changeMonth($cal, opts, next) {
    if (next && opts.month == 11) {
      opts.year = opts.year + 1;
      opts.month = 0;
    } else if (!next && opts.month == 0) {
      opts.year = opts.year - 1;
      opts.month = 11;
    } else {
      opts.month = next ? opts.month + 1 : opts.month - 1;
    }
    refreshCal($cal, opts);
  }

  function changeDay($cal, $cell, date, opts) {
    opts.current = date;
    opts.year = date.getFullYear();
    opts.month = date.getMonth();
    refreshCal($cal, opts);
    //allow outside cancel
    return opts.dateChanged(date);
  };
  
  function createYear(){
	var tab=new Array(31);
	for (i=0; i < 31; i++) {
 	  tab[i] = new Array(12);
 	  for (j=0; j < 12; j++) {
 	     tab[i][j] = null;
 	  }
	}
	return tab;
  };

  function refreshCal($cal, opts) {
    var monthNames = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
    $cal.find('.month').text(monthNames[opts.month] + ' ' + opts.year);
    $cal.find('td').removeClass('out').removeClass('today').removeClass('current');
    var days = getDaysInMonthForDate(opts.year, opts.month, opts.current);
    var tds = $cal.find('td');
	
	var tab2010 = createYear();     //tworzy nowa tablice roku 2010
	//tab2010[14][3]='<a href="http://www.kedzierzynkozle.pl/beta_portal">'+'15'+'</a>';     //link dla 15 kwietnia 2010r.
	tab2010[4][5]='<a href="index.php?t=200&id=30809">'+'5'+'</a>'; 
	tab2010[6][5]='<a href="index.php?t=200&id=30870">'+'7'+'</a>'; 
	tab2010[7][5]='<a href="index.php?t=200&id=30872">'+'8'+'</a>'; 
	tab2010[8][5]='<a href="index.php?t=200&id=30871">'+'9'+'</a>'; 
	tab2010[9][5]='<a href="index.php?t=200&id=30873">'+'10'+'</a>'; 
	tab2010[10][5]='<a href="index.php?t=200&id=30874">'+'11'+'</a>'; 
	tab2010[11][5]='<a href="index.php?t=200&id=30954">'+'12'+'</a>'; 
	tab2010[12][5]='<a href="index.php?t=200&id=30955">'+'13'+'</a>'; 
	tab2010[13][5]='<a href="index.php?t=200&id=30962">'+'14'+'</a>'; 
	tab2010[14][5]='<a href="index.php?t=200&id=30963">'+'15'+'</a>'; 
	tab2010[15][5]='<a href="index.php?t=200&id=30964">'+'16'+'</a>'; 
	tab2010[16][5]='<a href="index.php?t=200&id=30965">'+'17'+'</a>'; 
	tab2010[17][5]='<a href="index.php?t=200&id=30966">'+'18'+'</a>'; 
	tab2010[18][5]='<a href="index.php?t=200&id=30967">'+'19'+'</a>'; 
	tab2010[19][5]='<a href="index.php?t=200&id=30968">'+'20'+'</a>'; 
	tab2010[20][5]='<a href="index.php?t=200&id=31021">'+'21'+'</a>'; 
	tab2010[21][5]='<a href="index.php?t=200&id=31022">'+'22'+'</a>'; 
	tab2010[22][5]='<a href="index.php?t=200&id=31023">'+'23'+'</a>'; 
	tab2010[23][5]='<a href="index.php?t=200&id=31024">'+'24'+'</a>'; 
	tab2010[24][5]='<a href="index.php?t=200&id=31025">'+'25'+'</a>'; 
	tab2010[25][5]='<a href="index.php?t=200&id=30956">'+'26'+'</a>'; 
	tab2010[26][5]='<a href="index.php?t=200&id=30957">'+'27'+'</a>'; 
	tab2010[27][5]='<a href="index.php?t=200&id=31189">'+'28'+'</a>'; 
	tab2010[28][5]='<a href="index.php?t=200&id=31190">'+'29'+'</a>'; 
	tab2010[29][5]='<a href="index.php?t=200&id=31191">'+'30'+'</a>'; 
	tab2010[0][6]='<a href="index.php?t=200&id=31192">'+'1'+'</a>'; 
	tab2010[1][6]='<a href="index.php?t=200&id=31193">'+'2'+'</a>'; 
	tab2010[2][6]='<a href="index.php?t=200&id=31194">'+'3'+'</a>'; 
	tab2010[3][6]='<a href="index.php?t=200&id=31195">'+'4'+'</a>'; 
	tab2010[4][6]='<a href="index.php?t=200&id=31356">'+'5'+'</a>'; 
	tab2010[5][6]='<a href="index.php?t=200&id=31357">'+'6'+'</a>';
	tab2010[6][6]='<a href="index.php?t=200&id=31358">'+'7'+'</a>';
	tab2010[7][6]='<a href="index.php?t=200&id=31359">'+'8'+'</a>';
	tab2010[8][6]='<a href="index.php?t=200&id=31360">'+'9'+'</a>';
	tab2010[9][6]='<a href="index.php?t=200&id=31361">'+'10'+'</a>';
	tab2010[10][6]='<a href="index.php?t=200&id=31362">'+'11'+'</a>';
	tab2010[11][6]='<a href="index.php?t=200&id=31603">'+'12'+'</a>';
	tab2010[13][6]='<a href="index.php?t=200&id=31604">'+'14'+'</a>';
	tab2010[14][6]='<a href="index.php?t=200&id=31605">'+'15'+'</a>';
	tab2010[15][6]='<a href="index.php?t=200&id=31606">'+'16'+'</a>';
	tab2010[16][6]='<a href="index.php?t=200&id=31607">'+'17'+'</a>';
	tab2010[17][6]='<a href="index.php?t=200&id=31608">'+'18'+'</a>';
	tab2010[18][6]='<a href="index.php?t=200&id=31742">'+'19'+'</a>';
	tab2010[19][6]='<a href="index.php?t=200&id=31743">'+'20'+'</a>';
	tab2010[20][6]='<a href="index.php?t=200&id=31744">'+'21'+'</a>';
	tab2010[21][6]='<a href="index.php?t=200&id=31745">'+'22'+'</a>';
	tab2010[22][6]='<a href="index.php?t=200&id=31746">'+'23'+'</a>';
	tab2010[23][6]='<a href="index.php?t=200&id=31747">'+'24'+'</a>';
	tab2010[24][6]='<a href="index.php?t=200&id=31748">'+'25'+'</a>';
	tab2010[25][6]='<a href="index.php?t=200&id=32038">'+'26'+'</a>';
	tab2010[26][6]='<a href="index.php?t=200&id=32039">'+'27'+'</a>';
	tab2010[27][6]='<a href="index.php?t=200&id=32040">'+'28'+'</a>';
	tab2010[28][6]='<a href="index.php?t=200&id=32041">'+'29'+'</a>';
	tab2010[30][6]='<a href="index.php?t=200&id=32042">'+'31'+'</a>';
	tab2010[0][7]='<a href="index.php?t=200&id=32043">'+'1'+'</a>';
	tab2010[1][7]='<a href="index.php?t=200&id=32453">'+'2'+'</a>';
	tab2010[2][7]='<a href="index.php?t=200&id=32454">'+'3'+'</a>';
	tab2010[3][7]='<a href="index.php?t=200&id=32455">'+'4'+'</a>';
	tab2010[5][7]='<a href="index.php?t=200&id=32456">'+'6'+'</a>';
	tab2010[7][7]='<a href="index.php?t=200&id=32457">'+'8'+'</a>';
	tab2010[8][7]='<a href="index.php?t=200&id=32812">'+'9'+'</a>';
	tab2010[9][7]='<a href="index.php?t=200&id=32813">'+'10'+'</a>';
        tab2010[10][7]='<a href="index.php?t=200&id=32814">'+'11'+'</a>';
        tab2010[11][7]='<a href="index.php?t=200&id=32815">'+'12'+'</a>';
        tab2010[12][7]='<a href="index.php?t=200&id=32816">'+'13'+'</a>';
        tab2010[13][7]='<a href="index.php?t=200&id=32817">'+'14'+'</a>';
        tab2010[14][7]='<a href="index.php?t=200&id=32819">'+'15'+'</a>';
        tab2010[15][7]='<a href="index.php?t=200&id=32896">'+'16'+'</a>';
        tab2010[16][7]='<a href="index.php?t=200&id=32897">'+'17'+'</a>';
        tab2010[17][7]='<a href="index.php?t=200&id=32898">'+'18'+'</a>';
        tab2010[18][7]='<a href="index.php?t=200&id=32899">'+'19'+'</a>';
        tab2010[19][7]='<a href="index.php?t=200&id=32900">'+'20'+'</a>';
        tab2010[21][7]='<a href="index.php?t=200&id=32901">'+'22'+'</a>';
        tab2010[22][7]='<a href="index.php?t=200&id=33050">'+'23'+'</a>';
        tab2010[23][7]='<a href="index.php?t=200&id=33051">'+'24'+'</a>';
        tab2010[24][7]='<a href="index.php?t=200&id=33052">'+'25'+'</a>';
        tab2010[25][7]='<a href="index.php?t=200&id=33053">'+'26'+'</a>';
        tab2010[26][7]='<a href="index.php?t=200&id=33055">'+'27'+'</a>';
        tab2010[27][7]='<a href="index.php?t=200&id=33057">'+'28'+'</a>';
        tab2010[28][7]='<a href="index.php?t=200&id=33056">'+'29'+'</a>';
        tab2010[29][7]='<a href="index.php?t=200&id=33086">'+'30'+'</a>';
        tab2010[0][8]='<a href="index.php?t=200&id=33088">'+'1'+'</a>';
        tab2010[3][8]='<a href="index.php?t=200&id=33089">'+'4'+'</a>';
        tab2010[4][8]='<a href="index.php?t=200&id=33090">'+'5'+'</a>';
        tab2010[5][8]='<a href="index.php?t=200&id=33181">'+'6'+'</a>';
        tab2010[7][8]='<a href="index.php?t=200&id=33182">'+'8'+'</a>';
        tab2010[8][8]='<a href="index.php?t=200&id=33183">'+'9'+'</a>';
        tab2010[9][8]='<a href="index.php?t=200&id=33184">'+'10'+'</a>';
        tab2010[10][8]='<a href="index.php?t=200&id=33185">'+'11'+'</a>';
        tab2010[11][8]='<a href="index.php?t=200&id=33186">'+'12'+'</a>';

	var tab2009=createYear();     //tworzy nowa tablice roku 2009
	
	var tabYears = new Array(20);     //tablica lat
	tabYears[9]=tab2009;
	tabYears[10]=tab2010;
	
	var tytul="";
	var tab;
    for (j = 0; j < 42; j++) {
		tytul = days[j].date.getDate()+'-'+(days[j].date.getMonth()+1)+'-'+days[j].date.getFullYear();
		tab=tabYears[days[j].date.getFullYear()%1000];
		$(tds[j]).text(days[j].date.getDate()).attr('title', tytul);
		if(tab!=null && tab[days[j].date.getDate()-1][days[j].date.getMonth()]!=null){
			$(tds[j]).text(""),$(tds[j]).append(tab[days[j].date.getDate()-1][days[j].date.getMonth()]);
		}
     	if (days[j].out) $(tds[j]).addClass('out');
     	if (days[j].current) $(tds[j]).addClass('current');
    	if (days[j].today) $(tds[j]).addClass('today');
   	 }
  }
  

  function getUrl(date, opts) {
    var url = opts.templateUrl;
    url = url.replace(opts.templateYear, date.getFullYear());
    url = url.replace(opts.templateMonth, ((date.getMonth() + 1) < 10 ? "0" : "") + (date.getMonth() + 1));
    url = url.replace(opts.templateDay, (date.getDate() < 10 ? "0" : "") + date.getDate());
    return url;
  }


  function getDaysInMonthForDate(year, month, current) {
    var today = new Date();
    var first = new Date(year, month, 1);
    first.setDate(first.getDate() - first.getDay());

    var days = new Array(42);
    for (j = 0; j < 42; j++) {
	     var d = new Date(first);
      d.setDate(first.getDate() + j );
      days[j] = {
        date: d,
        out: !(d.getFullYear() == year && d.getMonth() == month),
        today: d.getFullYear() == today.getFullYear() && d.getMonth() == today.getMonth() && d.getDate() == today.getDate(),
        current: d.getFullYear() == current.getFullYear() && d.getMonth() == current.getMonth() && d.getDate() == current.getDate()
      }
    }
    return days;
  };

  $.fn.calendar.defaults = {
    current: new Date(),
    year: new Date().getFullYear(),
    month: new Date().getMonth(),
    templateYear: 'year',
    templateMonth: 'month',
    templateDay: 'day',
    templateUrl: '/year/month/day',
    dateChanged: function (date) { return true; }
  };
})(jQuery);