$(document).ready(function() {
  var days_names = ['Nd', 'Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'So'];
  var months_names = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
  var active_day_class = 'red-inactive';
  var loadHtml = '<div style="height:200px;"><div style="width: 128px; height: 15px; margin: 180px auto;"><img src="/_items/_new/img/wide_loader.gif" alt="pobieranie danych..." /></div></div>';
  var itemsPerPage = 4;
  var pagVisibleLinks = 5;
  var oAjaxPag = null;
var stop=0;
  var set_events = function(){
    $.ajax({
      url: "/ajax.php",
			type: "POST",
			dataType: "xml",
			data: "plugin_name=calendar&month="+actualdate.getFullYear()+"-"+format_month(actualdate.getMonth())+"&format=dates",
			beforeSend: function() {
        $('#calendar-loading').show();
			},

        error: function(xml, error){
            
        },
      success: function(xml,status,req) {
	if(stop==0){
        $('ul.month-calendar li.green').removeClass('green');
        $(xml).find('event').each(function(){
          var day = $(this).find('day').text();
          $('ul.month-calendar li:eq('+(parseInt(day-1))+')').addClass('green');
		  $('ul.month-calendar li.today').removeClass('today');
          var today = $(xml).find('today').text();
          $('ul.month-calendar li:eq('+(parseInt(today-1))+')').addClass('today');
        });
        $('#calendar-loading').hide();stop=1;//window.stop();
      }
      }
    });
  }

$('#calendar-month').change(function(){ stop=0;});
$('#calendar-year').change(function(){ stop=0;});
$('.button-next').click(function(){ stop=0;});
$('.button-prev').click(function(){ stop=0;});

  var set_month = function(){
    $('ul.month-calendar').html('');
    var tmpdate=new Date(actualdate.getFullYear(),actualdate.getMonth(),' 1 ');
//    alert( format_month(actualdate.getMonth())+' 1 '+actualdate.getFullYear() );
    for(i=1; tmpdate.getMonth()==actualdate.getMonth() ;i=i+1){
      tmpdate.setDate(i);
      if(tmpdate.getDate()==i){
        var new_day = $('<li><p class="day-name">'+days_names[tmpdate.getDay()]+'</p><p class="day-number">'+tmpdate.getDate()+'</p></li>')
        if(tmpdate.getDay()==0 || tmpdate.getDay()==6){
          new_day.addClass('weekend');
        }
        new_day.attr('day', tmpdate.getDate());
        new_day.addClass('day');
        new_day.appendTo($('ul.month-calendar'));
      }
    }
    set_events();
  }

  set_date = function(parameters){
    if(!parameters) var parameters = {};
    var orgmonth = actualdate.getMonth();
    var orgyear = actualdate.getFullYear();
    if(parameters.mod && !parameters.day)
      actualdate.setDate(actualdate.getDate()+parameters.mod);
    if(parameters.day)
      actualdate.setDate(parameters.day);
    if(parameters.year)
      actualdate.setFullYear(parameters.year);
    if(parameters.month)
      actualdate.setMonth(parseInt(parameters.month)-1);    
    if((orgmonth != actualdate.getMonth() || orgyear != actualdate.getFullYear() || (!parameters.mod && !parameters.day && !parameters.year)) && !parameters.no_set_month){
      set_month();
    }
     if(!$('#calendar-events-list').length){
      $('#calendar-header').removeAttr('id');
      $('#calendar-slide .closebutton').click(function(){
        $('#calendar-slide').slideUp();
      });
    }else if($('#calendar-slide').length){
      $('#calendar-messages').hide().text('');
      $('#calendar-events-list').html('');
      if(!parameters.hideslide)
        $('#calendar-slide').slideDown();
    }
	if(active_day_class === "red") {
		$('#date-content #calendar-date').text(two_digit(actualdate.getDate())+'.'+format_month(actualdate.getMonth())+'.'+actualdate.getFullYear());
	} else {
		$('#date-content #calendar-date').text(months_names[actualdate.getMonth()]);
	}
	
    $('#date-ddl #calendar-month').val(parseInt(actualdate.getMonth())+1);     
    if(!$('#date-ddl #calendar-year option[value='+actualdate.getFullYear()+']').length){
      var new_year = $('<option value="'+actualdate.getFullYear()+'">'+actualdate.getFullYear()+'</option>');
      if(actualdate.getFullYear()<orgyear)
        new_year.prependTo($('#date-ddl #calendar-year'));
      else
        new_year.appendTo($('#date-ddl #calendar-year'));
    }                                          
    $('#date-ddl #calendar-year').val(actualdate.getFullYear());
    $('ul.month-calendar li.' + active_day_class).removeClass(active_day_class);
    $('ul.month-calendar li:eq('+(actualdate.getDate()-1)+')').addClass(active_day_class);
    $('#calendar-header').text(actualdate.getDate()+' '+months_names[actualdate.getMonth()]+' '+actualdate.getFullYear());
    
    if($('ul.month-calendar li:eq('+(actualdate.getDate()-1)+')').hasClass('green') || active_day_class === "red-inactive"){
      $('#calendar-messages').hide().text('');
      show_events();
    }else{
      $('#calendar-events-list').html('');
      $('#calendar-messages').text('Brak wydarzeń w wybranym ' + (active_day_class === "red" ? "dniu" : "miesiącu") + '.').show();
    }
  };
  
  var set_years = function(){
    var years = $('#date-ddl #calendar-year');
    var actyear = parseInt(actualdate.getFullYear())
    for (i=-1;i<=1;i=i+1)
      $('<option value="'+(actyear+i)+'">'+(actyear+i)+'</option>').appendTo(years);
      
    $('#date-ddl #calendar-year').change(function(){
      set_date({'year':$(this).val()});
    });
  };
  
  var show_events = function(){
	  var ajaxPagParams = (active_day_class === "red" ? ("&day="+actualdate.getFullYear()+"-"+format_month(actualdate.getMonth())+"-"+two_digit(actualdate.getDate())) : 		("&month="+actualdate.getFullYear()+"-"+format_month(actualdate.getMonth())));
	  oAjaxPag = new bmAjaxPagination('calendar-events-list-pag', itemsPerPage, 'calendar&action=events_list' + ajaxPagParams, loadHtml, pagVisibleLinks);
  };
  
  var two_digit = function(d){
    if(d<10) return '0'+d;
    else return d;
  };
  
  var format_month = function(m){
    var m = (m+1);
    return two_digit(m);
  };
  
  
  $('#date-content img.button-prev').click(function(){
	if(active_day_class === "red") {
		set_date({'mod':-1});
	} else {
		if(actualdate.getMonth() == 0) {
			set_date({'month':12, 'year':actualdate.getFullYear()-1});
		} else {
			set_date({'month':actualdate.getMonth()});
		}
	}
  });
  $('#date-content img.button-next').click(function(){
	if(active_day_class === "red") {
		set_date({'mod':1});
	} else {
		set_date({'month':actualdate.getMonth()+2});
	}
  });
  $('ul.month-calendar li.day.green').live('click', function() {
	if(active_day_class === "red-inactive") {
		$('#date-ddl #calendar-display-type').val('day');
		
		$('ul.month-calendar li.red-inactive').addClass('red');
		$('ul.month-calendar li.red-inactive').removeClass('red-inactive');
		active_day_class = 'red';
		$('#date-content #calendar-date').text(two_digit(actualdate.getDate())+'.'+format_month(actualdate.getMonth())+'.'+actualdate.getFullYear());
	}
    set_date({'day':$(this).attr('day')});
  });
	$('#date-ddl #calendar-month').change(function(){
		set_date({'month':$(this).val()});
    });
	$('#date-ddl #calendar-display-type').change(function(){
		if($(this).val() === 'month') {
			$('ul.month-calendar li.red').addClass('red-inactive');
			$('ul.month-calendar li.red').removeClass('red');
			active_day_class = 'red-inactive';
			$('#date-content #calendar-date').text(months_names[actualdate.getMonth()]);
		}
		if($(this).val() === 'day') {
			$('ul.month-calendar li.red-inactive').addClass('red');
			$('ul.month-calendar li.red-inactive').removeClass('red-inactive');
			active_day_class = 'red';
			$('#date-content #calendar-date').text(two_digit(actualdate.getDate())+'.'+format_month(actualdate.getMonth())+'.'+actualdate.getFullYear());
		}
		set_date({'no_set_month':true});
    });
	
  
  var actualdate=new Date();
  set_years();
  set_date();
  
  if($('.article h2').length) {
  	$("div.calendar-return-to-list").show();
  }
});

