
var cal, prevcal = new Array(), nextcal=new Array();		
var yearmonth="";
		
var loadingcal = true;
$("img.preloader").show();
			 
var katselekt = "sve";
		 
var imgpreload = new Image();
imgpreload.src = "/wp-content/themes/avenuemall/images/kalendar_wrap2.png";

var timeout = 300;
var mycelltimeout;
	
var clearfade = function(){
  // clear
  /*$(".td_padding").hide(timeout);

  $('.filtering').fadeOut(0);
			
  $(".filtering")
  .css("backgroundColor", "#F0F0F0")
  .fadeIn(
    timeout,
    function(){
      $('#kalendar td').removeClass('has_event').html('');
    }
    );*/
      $('#kalendar td').removeClass('has_event').empty();
}
		
var setupcal = function() {		
  clearfade();
		
  for ( var i=1; i<43; i++ ) { 
    var data_za_td = cal.data_za_td[i];			
    var $ovaj_td = $('#kalendar td.td'+i); 		
    
    
    if ( data_za_td != undefined ) {
				
     
      var $events_div = $("<div></div>");
      var $td_padding = $("<div></div>");
      var $sazetak_naslov = $("<h3></h3>");
      var $datum_oddo = $("<span></span>");
			
      $ovaj_td.addClass('has_event');
				
      $td_padding.addClass("td_padding");
      $events_div.addClass("events");
      //$events_div.apend("");
      //$ovaj_td.append("<div class='filtering'></div>");

      var row = Math.ceil(i/7);
      var col = (i % 7) ;
      if (col==0) col = 7; 

      var $span_za_date = $('<div class="day'/* + row + ':' + col */+ '"/>');
      $span_za_date.html(data_za_td.date);
      $td_padding.appendTo($ovaj_td);
      $events_div.appendTo($td_padding);
      $span_za_date.appendTo($events_div);

      if(col > 4){
        $ovaj_td.find('.events').addClass('slideLeft');
      } else {
        $ovaj_td.find('.events').addClass('slideRight');
      }

      if(row > 3)
        $ovaj_td.find('.events').addClass('slideUp');

      var $ul_za_events = $('<ul>');
      $ul_za_events.appendTo($events_div);
      if ( data_za_td.events != undefined ) { 
					
        var jesam_bar_jedan_li_dodal_ja = false;
        for(var j=0;j<data_za_td.events.length;j++){
							 
          var $jedan_li=$('<li/>');
          var $ul_link=$('<a class="single_title" href="#" />');
          var $ul_double_title_link=$('<a class="double_title" style="display:none" href="#" />');
          var $sazetak_para = $("<p></p>");
          var $sazetak_content_vise = $('<a href="' + data_za_td.events[j].url + '" />');
							
          var $vise_span = $("<span></span>");
          $sazetak_content_vise.appendTo($vise_span);
          $sazetak_content_vise.addClass("list_vise");
          var $sazetak_wrap = $("<div></div>");
          var $datum_oddo = $("<span></span>");
          $sazetak_wrap.addClass("sazetak_wrap");
          var kats = data_za_td.events[j].kat;									
							
          if (katselekt == 'sve' || $.inArray(katselekt, kats) > -1) {
            jesam_bar_jedan_li_dodal_ja = true;
            $ul_link.html(data_za_td.events[j].title_1);
            if (data_za_td.events[j].title_2){
                $ul_double_title_link.html(data_za_td.events[j].title_1 + '<br />' + data_za_td.events[j].title_2);
            }else{
                $ul_double_title_link.html(data_za_td.events[j].title_1);
            }
            $jedan_li.appendTo($ul_za_events);
            $sazetak_content_vise.html("Više...");
            $datum_oddo.html(data_za_td.events[j].datum_dogadjaja);
            $ul_link.appendTo($sazetak_wrap);
            $ul_double_title_link.appendTo($sazetak_wrap);
            $sazetak_para.html(unescape(data_za_td.events[j].sazetak));
            $datum_oddo.appendTo($sazetak_wrap); 
								
            $sazetak_para.appendTo($sazetak_wrap);
            $vise_span.appendTo($sazetak_wrap);
            $sazetak_wrap.appendTo($jedan_li);
          }
        }
								
        if (!jesam_bar_jedan_li_dodal_ja) {
          $ovaj_td.removeClass('has_event');//.empty();   
            //$ovaj_td.find(".events").removeClass('events');
        }         
      }
    }
    else $ovaj_td.append("<div class='td_padding'><div class='events' style='z-index: 4; height: 100%; width: 100%;'><div class='day'>" + ((i - cal.details["pad"]>0) && (i - cal.details["pad"] <= cal.details["daysinmonth"]) ? i - cal.details["pad"] : "") + "</div></div></div>");
    
    $ovaj_td.children(".td_padding").append("<div class='filtering'></div>");
  }
  
  $('td ul li').click(function() {
    $(".event_content p").hide();		

    $(".event_content").html( $(this).find('.sazetak_wrap').html() );
    $(".event_content").find('.single_title').hide(0);
    $(".event_content").find('.double_title').show(0);
  }); 
  
  if (katselekt != 'sve'){
    var $emptycells = $("#kalendar td").not('.has_event');
    $emptycells.find(".filtering").css("background-color","#f0f0f0");
  }
  $("<div class='eventbg'></div>").appendTo(".events");
  $(".eventbg").css("display","none");

}
		
var setuplistview = function(){
  var $display_list = $(".open_list");
  $display_list.empty();
			
  var list_view_data = cal.list_view;	
  if( list_view_data.events == undefined) return;
  for (var i = 0; i < list_view_data.events.length; i++) {
			
    var kats = list_view_data.events[i].kat;									
    //if (katselekt == 'sve' || $.inArray(katselekt, kats) > -1) {
						
										
      var $open_list_item = $("<div></div>");
      var $open_list_content = $("<div></div>");
      var $open_list_img = $("<div></div>");
      var $open_list_date = $("<span></span>");
      var $open_list_paragraf = $("<p></p>");
      var $open_list_naslov = $("<h3></h3>");
      var $open_list_vise = $('<a href="' + list_view_data.events[i].vise + '" />');

      $open_list_item.addClass("open_list_item");
      $open_list_content.addClass("open_list_content");
      $open_list_img.addClass("open_list_img");
      $open_list_vise.addClass("list_vise");

      $open_list_item.appendTo($display_list);
      $open_list_content.appendTo($open_list_item);

      $open_list_naslov.html(list_view_data.events[i].naslov_1);
      if (list_view_data.events[i].naslov_1.length){
          $open_list_naslov.append('<br/>' + list_view_data.events[i].naslov_2);
      }
      $open_list_naslov.appendTo($open_list_content);
					 
      $open_list_date.html(list_view_data.events[i].datum);
      $open_list_date.appendTo($open_list_content);

      $open_list_paragraf.html(list_view_data.events[i].sadrzaj);
      $open_list_paragraf.appendTo($open_list_content);
					
      $open_list_vise.html("Više...");
      $open_list_vise.appendTo($open_list_content);

      $open_list_img.html(list_view_data.events[i].slika);
      $open_list_img.appendTo($open_list_item);
      $('<br style="clear:both;"/>').appendTo($display_list);
    //}
  }
}
		
var fillcal = function(){
  loadingcal = true;
  $("img.preloader").show();				
			

    if(cal==undefined){
    
        jQuery.ajax({ 
          type:'POST',
          data:{action:'avenue_calendar', 'ym':yearmonth},
          url: "http://osijek.avenuemall.hr/wp-admin/admin-ajax.php",
          success: function(value) {
            cal = $.parseJSON(value);    

            displaycal();
         }
        });
    }
    else{
      displaycal();
    }

						

  
  /*$.getJSON('http://zagreb.avenuemall.hr/avenue-calendar?ym='+yearmonth, function(data) {
    
  });	*/
}

var displaycal = function(){
    $(".monthname").text(cal.details["monthname"]);
    
    setupcal();
    setuplistview();

    $("#theSelect").html("<option value='sve'>Sve</option>"); 
    var monthcats = cal.details["categories"]; //.split(" ");					    				
    for(var k in monthcats){										
      $("#theSelect").append("<option value='" + monthcats[k] + "'>" + k + "</option>");
    }					
    $("#theSelect option[value='" + katselekt + "']").attr("selected", "selected") ;		
    //$("#select").text( katselekt );
    //alert($("#select").text());

    loadingcal = false;
    $("img.preloader").hide();
}

var calload = function(){ 				
		
  $(".event_content").empty();
			
  clearfade();
			
  setTimeout(fillcal, timeout);
			
//$('.filtering').fadeOut(timeout);
			
}


var clearhtmlklik = function(){ 
  katselekt = "sve";			
			
  calload();
			
/*clearfade();
			
			setTimeout(
				function(){
					fillcal();
					$('.filtering').fadeOut(timeout);
				}, 
				timeout
			);*/
}

$(document).ready(function(){
  //katselekt = $("#theSelect").html();
  /*$.fn.pngFix = function() {
    if (!$.browser.msie || $.browser.version >= 9) { // whaaaaaat?!!   really, whahaat?
      return $(this);
    }

    return $(this).each(function() {
      var img = $(this),
      src = img.attr('src');

      img.attr('src', '/images/general/transparent.gif')
      .css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + src + "')");
    });
  };*/

  //$(".kalendar_wrap").pngFix();
  
			
  $("#menu-glavni_menu").append('<li class="show_kalendar"><a href="#">Kalendar</a></li>');
			
  $('a.next').bind('click', function() {
    if(!loadingcal){
        var curryearmonth = yearmonth;
      
      
//alert(cal + ", " + prevcal[yearmonth] + ", " + nextcal[yearmonth]);
      yearmonth = cal.details["next_y"] + cal.details["next_m"];
      prevcal[yearmonth] = cal;
      cal = nextcal[curryearmonth];
      
      clearhtmlklik();
    }
  });
			
  $('a.prev').bind('click', function() {
    if( !loadingcal){	
        var curryearmonth = yearmonth;
      
           
      
      yearmonth = cal.details["prev_y"] + cal.details["prev_m"];
      nextcal[yearmonth] = cal;
      cal = prevcal[curryearmonth]; 
      
      clearhtmlklik();
    }
  });
	
  calload();			

  $(".show_kalendar").bind("click", function( event ) {	
      if(cal==undefined) calload();
    var tar = $('.kalendar_wrap');
    tar.animate({
      "margin-top": "-265px"/*, "opacity": 1*/
    }, {
      queue: false, 
      duration: "slow"
    }).fadeIn(300);
  //tar.show();
  });
			
  $(".close_calendar").click(function() { 
    cal = undefined;
    yearmonth = "";
    var tar = $('.kalendar_wrap');
    tar.animate({
      'margin-top':"1000px"
    }, {
      queue: false, 
      duration: "slow"
    });
    tar.delay(800).fadeOut();
  });

  $('.open_list').hide();

  $('a.list_view').click(function() {
    $('.open_list').show();
    $(this).addClass("active_view");
    $('a.kal_view').removeClass("active_view");
    return false;
  });

  $('a.kal_view').click(function() {
    $('.open_list').hide();
    $(this).addClass("active_view");
    $('a.list_view').removeClass("active_view");
    return false;
  });

  $("#kalendar").delegate(".has_event",'mouseenter',function() {
    var newHeight = 67;
    var $events = $(this).find(".events");
    var $td_padding = $(this).find(".td_padding");
    var $ul = $(this).find(".events ul");
    var ul_height = $ul.outerHeight();   

		//$td_padding.css("border", "1px silver dotted");

    if (ul_height > 67){
      newHeight = 138;
    } 

    if (ul_height > 138){
      newHeight = 209;
    }

    if (ul_height > 209){
      newHeight = 280;
    }
						
    var hasleft = $events.hasClass('slideLeft');
    var hasup = $events.hasClass('slideUp');
    var animobj = {
      "height": newHeight + "px", 
      "width": "168px"
    };	
				  
    if(hasleft) {
      animobj.right = "0px";
    }
    if(hasup) animobj.bottom = "0px";
    //$(this).find(".events").append("<div class='eventbg'></div>");
    
	$(".td_padding").not($td_padding).css("z-index","0");
        $td_padding.css("z-index",100);

    $events.find(".eventbg").fadeIn(0);
    $events.css({
      "z-index": 5 
    });
   
   if (mycelltimeout) window.clearTimeout(mycelltimeout);
   mycelltimeout = window.setTimeout(function(){
        $events.stop().animate(animobj , {      
            queue: false, 
            duration: 300
        }); 
        /*if ($.browser.msie && $.browser.version < 8) {
            $td_padding.stop().animate(animobj , {      
                queue: false, 
                duration: 300
            }); 
        }*/
        $ul.css({
          "display": "block"
        });
    }, 150); 

       
    
  });
	   
  //$(".td_padding").append("<div class='tdpaddingbg'></div>");
		
  $("#kalendar").delegate(".has_event",'mouseleave',function() {     
    //var $td_padding = $(this);
    var $events = $(this).find(".events");
    var $td_padding = $(this).find(".td_padding");
	$td_padding.css("overflow", "visible");
	
	$("#kalendar .td_padding").css("z-index","auto"); 
    
    $events.css({
      "z-index" : 4
    });
    
    if(mycelltimeout) window.clearTimeout(mycelltimeout);
    
    $events.stop().animate({ 
      'height':"100%", 
      "width": "100%"
    }, {
      queue: false, 
      duration: 0
    });
    /*if ($.browser.msie && $.browser.version < 8) {
        $td_padding.stop().animate({ 
          'height':"67px", 
          "width": "86px"
        }, {
          queue: false, 
          duration: 0
        });
    }*/
      
      /*$events.css({
      "z-index" : 4, 
      'height':"100%", 
      "width": "100%"
      }); */
      
    $events.find(".eventbg").fadeOut(0);
    $events.find('ul').css("display", "none");
  //$(this).find(".events .eventbg").stop().fadeOut();
  });   
			
  $('#theSelect').change(function(){
    /*if ($('#theSelect option:selected').length)*/	
    katselekt = $('#theSelect option:selected').val();
    clearfade();
    setupcal();
    setuplistview();
  });   
});  
