﻿//var HDay ;
//var HMonth;
$(document).ready(function(){
    AddEvents();
    $('#SearchEventBtn').click(function(){GetFullDataForDay();});
    $('#next_month').click(function(){NextMonth();});
    $('#prev_month').click(function(){PrevMonth();});
    
    
    //there are hash
    var hash = window.location.hash.substr(1);
    if(hash.length>0)
    {
        var WithDaysForCalendar = false;
         var  regexp = /\d{1,2}$/ ;
         if(regexp.test(hash))
         {
              if(HMonth != hash.match(regexp)[0]*1) WithDaysForCalendar = true;
              HMonth = hash.match(regexp)[0];
          }
         regexp = /^\d{1,2}/ ;
         if(regexp.test(hash))
         HDay = hash.match(regexp)[0];
         GetDataForDay(HDay,HMonth,WithDaysForCalendar);
    }
    
    
});

function AddEvents()
{  
      //הורדת כל הפעילים
     $('.calendar-box li.active').removeClass('active');
     //הוספת אקטיבי לפעיל
     $('.calendar-box li.'+ HDay).addClass('active');
     
     
     $('.calendar-box li').each(function(){
        $(this).click(function(){
            addEventsToItem(this);
        });
     });

}

function GetFullDataForDay()
{
    var WithDaysForCalendar = false;
    if(HMonth != $('#hmonth_select').val()*1)
       WithDaysForCalendar = true;
    HDay = $('#hday_select').val();
    HMonth= $('#hmonth_select').val();
    GetDataForDay(HDay,HMonth,WithDaysForCalendar);
  
}


function addEventsToItem(item)
{
   if( $(item).attr('class').replace("active","") == HDay) return;
   GetDataForDay( $(item).attr('class').replace("active",""),HMonth,false);

}


function GetDataForDay(hDay,hMonth,WithDaysForCalendar)
{

      $.ajax({
             type: "POST",
             contentType: "application/json; charset=utf-8",
             url: "../Services/Service.asmx/GetMonthCalendarWithEvents",
             data:"{HDay:'" +hDay+ "',HMonth:'" + hMonth+"',WithDaysForCalendar:'" +WithDaysForCalendar +"'}",
             dataType: "json",
             success: function(result) {
            
                try{
                ClearEventsData();
                if(result != null)
                {
                    window.location.hash =  result.HDay + "_" + result.HMonth;  
                    if(WithDaysForCalendar && result.Days!= null)FillCalendar(result.Days);
                    HDay = result.HDay;
                    HMonth=result.HMonth;
                    ActiveItem();
                    FillEventsData( result.Items); //הוספת האירועים
                    AddImage( result.Items); //הוספת התמונה
                 }
             }catch(e){}
              
             }

      });
}


function FillCalendar(days)
{
    $('.calendar-box ul').html('');
    for (var i=0; i< days.length; i++)
    {
        var li = document.createElement('li');
        $(li).html(arrDays[days[i]*1]).addClass(days[i]).appendTo('.calendar-box ul');
    }
     $('#header_month').html(arrMonth[HMonth*1])
     AddEvents();
    
}


function ActiveItem()
{
     $('.calendar-box li.active').removeClass('active');
     //הוספת אקטיבי לפעיל
     $('.calendar-box li.'+ HDay).addClass('active');
}
function ClearEventsData()
{
    //ריקון האירועים הקיימים
    $('.events-data ul').html('');
    $('.image_box').css('display','none').removeClass('HasBigImage');
    $('.image_box > *').html('');
    $('.image_box img').remove(); 
}
function FillEventsData(Items)
{
     
    if(Items.ListEvents)//קיימים אירועים
    {
        for (var i=0; i< Items.ListEvents.length; i++)
        {
            var li = document.createElement('li');
            var h3 = document.createElement('h3');
            var div= document.createElement('div');
            $(h3).html(Items.ListEvents[i].Header).appendTo(li);
            $(div).html(Items.ListEvents[i].Body).appendTo(li);
            $(li).appendTo($('.events-data ul'));
        }
    }

}

function AddImage(Items)
{
  

      if(Items.ImageEventData != null)//יש תמונה
      {
        var img = document.createElement('img');
        $(img).attr({ src: "../Data/"+ Items.ImageEventData.Thumbnail ,alt: Items.ImageEventData.ThumbnailAlt});
        $('.image_box .title').html(Items.ImageEventData.Description);
        if(Items.ImageEventData.Image.length>0) //יש תמונה גדולה
        {
            $('.image_box').addClass('HasBigImage').click(function(){
                OpenPopUp('../Handler/BigImageQS_' +lang +'.ashx?img='+ Items.ImageEventData.Image + '&des=' + Items.ImageEventData.ImageAlt,'BigImage','left=50,top=50, scrollbars=no,width=450,height=450, status=yes, resizable=no');
            });
        }
        $('.image_box').css('display','block');
        $(img).insertBefore('.image_box .title');
        MakeLinkFromImageAlt();
      }
}


function MakeLinkFromImageAlt()
{

     $('.image_box').each(function() {
         var image = $(this).find('img');
         var link = $(this).find('a');
         if(isUrl(image.attr('alt')))
         {
            var url = GetUrl(image.attr('alt'));
            $(link).attr('href',url).html(image.attr('alt').replace(url,""));
            image.attr("alt",image.attr('alt').replace(url,""));
         }
         else
         {
            $(link).html(image.attr('alt'));
         }
         
       
      });
}

function NextMonth()
{

    if(HMonth*1<14)
        HMonth = HMonth*1+1;
    else
        HMonth=1;
    HDay =1;
     GetDataForDay(HDay,HMonth,true);
   
}



function PrevMonth()
{
    if(HMonth*1>1)
        HMonth = HMonth*1-1;
    else
        HMonth=14;
    HDay =1;
     GetDataForDay(HDay,HMonth,true);
}





