var current_year =  new Date().getFullYear();
var current_month =  new Date().getMonth();

var month_rus = 
  ['январь',
   'февраль',
   'март',
   'апрель',
   'май',
   'июнь',
   'июль',
   'август',
   'сентябрь',
   'октябрь',
   'ноябрь',
   'декабрь'
  ]
  
   var week_rus = 
  ['Пн',
   'Вт',
   'Ср',
   'Чт',
   'Пт',
   'Сб',
   'Вc'
  ]
  var color_weekend = "#ff0000";


jQuery(document).ready(function(){
  render_calendar(current_year,current_month); 
})


  function dc(tag){
    return document.createElement(tag);
  }
  
  function check_date(date){
      
    for(var i=0;i<=date_of_news.length;i++){
      if(date_of_news[i]){
        
        if(date_of_news[i]['date']==date){
          
          return date_of_news[i];
          break;
        }
      }
    }
    
    return false;
  }

function render_calendar(set_year,set_month){

      
  var g_date = new Date();
  
  if(set_year!=null){
     g_date.setFullYear(set_year);
  }
  
  if(set_month!=null){
     g_date.setMonth(set_month);
  }
  
  
  
  var year = g_date.getFullYear();
  var month = g_date.getMonth();
  
  //alert(year+" - "+month);
  
  var current_date = g_date.getDate();
  var current_week_day = g_date.getDay();
  
  var dayCount = 32 - new Date(year, month, 32).getDate();
  
  
  var of_calendar = ".calendar";
  g_date.setDate(1);


  
  
  var day_start_month = g_date.getDay();
  var first_week =(day_start_month==0) ? 7 : day_start_month;
  g_date.setDate(dayCount);
  first_week = (first_week>7) ? 7 :first_week;
  var day_stop_month = g_date.getDay();

  var last_week = (day_stop_month==0) ? 7: day_stop_month;


  var count_of_week = parseInt((dayCount - ((first_week==7) ?1 :7-first_week) - last_week)/7);
  //alert(count_of_week);
  if(first_week>0){
    count_of_week++;
  }

  if(last_week>0){
    count_of_week++;
  }




  
  var div_name = dc('div');
      div_name.className = 'calendar-month';
      
  var div_name_name = dc('div');
      div_name_name.innerHTML = month_rus[month]+" "+current_year;
      div_name_name.className = "month-name";
      div_name_name.style.fontWeight = "bolder";
  
  
  var div_name_plus = dc('div');
      div_name_plus.innerHTML = "&raquo;";
      div_name_plus.className = "month-plus";
      div_name_plus.onclick = function(){
    
        current_month++;
    
        
        
        if(current_month>11){
          current_year++;
          current_month=0;
          
        }
        render_calendar(current_year,current_month)  
        return false;
      }
  
  var div_name_minus = dc('div');
      div_name_minus.innerHTML = "&laquo;";
      div_name_minus.className = "month-minus";
      
      div_name_minus.onclick = function(){
      //alert(current_month);
        current_month--;
        
        //alert(current_month);
        if(current_month<0){
          current_year--;
          current_month=11;
          
        }
        
        render_calendar(current_year,current_month)  
        return false;
      }
      
      
      div_name.appendChild(div_name_plus);
      div_name.appendChild(div_name_minus);
      div_name.appendChild(div_name_name);

  var  table = dc('table');
   table.style.width = "100%";
   
    var insertRow = table.insertRow; 
  var start_date = 1;       
  for(var i=0;i<=count_of_week;i++){
    var tr = table.insertRow(-1); 
      
      if(i==0){
       for(var ij=0;ij<week_rus.length;ij++){
          var td = tr.insertCell(-1);
              td.innerHTML = week_rus[ij];  
              
       }
      
      }else if(i==1){
        for(var ij=1;ij<first_week;ij++){
          var td = tr.insertCell(-1);
              td.innerHTML = '&nbsp;'; 
              
       }

        for(var ij=7,starters = first_week;ij>=first_week;ij--,starters++){
         var td = tr.insertCell(-1);
         var string_to = "";
         string_to += (start_date>9)? start_date: '0'+start_date;
         string_to += "-";
         string_to += ((month+1)>9)? (month+1): '0'+(month+1);
         string_to += "-";
         string_to += year;
        
          var check_dater = check_date(string_to); 
              if(typeof check_dater['url']=='undefined'){
                td.innerHTML = start_date;
                if(starters>5){
                  td.style.color = color_weekend;
                }
              }else{
                var a = dc('a');
                    a.innerHTML = start_date;
                    a.href = check_dater['url']+string_to;
                    a.title = check_dater['name'];  
                    td.appendChild(a);
                    if(starters>5){
                      a.style.color = color_weekend;
                    }
              } 
              start_date++;
       }
               
       }else if((i)==count_of_week){
       
        for(var ij=0;ij<last_week;ij++){
          var td = tr.insertCell(-1);
          var string_to = "";
         string_to += (start_date>9)? start_date: '0'+start_date;
         string_to += "-";
         string_to += ((month+1)>9)? (month+1): '0'+(month+1);
         string_to += "-";
         string_to += year;
          var check_dater = check_date(string_to); 
              if(typeof check_dater['url']=='undefined'){
                td.innerHTML = start_date;
                if(ij>4){
                  td.style.color = color_weekend;
                }
              }else{
                var a = dc('a');
                    a.innerHTML = start_date;
                    a.href = check_dater['url']+string_to;
                    a.title = check_dater['name'];  
                    td.appendChild(a);
                    if(ij>4){
                      a.style.color = color_weekend;
                    }
              }
               
              start_date++;
       }
       
        for(var ij=7;ij>=last_week;ij--){
          var td = tr.insertCell(-1);
              td.innerHTML ='&nbsp;';
              if(ij>4){
                td.style.color = color_weekend;
              }
               
       }
       
        
               
       }else{    
          for(var ij=0;ij<7;ij++){
          var td = tr.insertCell(-1); 
          
          var string_to = "";
         string_to += (start_date>9)? start_date: '0'+start_date;
         string_to += "-";
         string_to += ((month+1)>9)? (month+1): '0'+(month+1);
         string_to += "-";
         string_to += year;
          var check_dater = check_date(string_to); 
              if(typeof check_dater['url']=='undefined'){
                td.innerHTML = start_date;
                if(ij>4){
                  td.style.color = color_weekend;
                }
              }else{
                var a = dc('a');
                    a.innerHTML = start_date;
                    a.href = check_dater['url']+string_to;
                    a.title = check_dater['name'];  
                    td.appendChild(a);
                    if(ij>4){
                      a.style.color = color_weekend;
                    }
              }
              
              start_date++;
            
       }
          
       } 
  // table.appendChild(tr);
   
  }
   jQuery(of_calendar).empty(); 
   
   var dfgh = dc('div');
   dfgh.innerHTML = "<h4>Архив Новостей</h4><br />";     
  dfgh.appendChild(div_name);
  dfgh.appendChild(table);
  
  
  jQuery(of_calendar)[0].appendChild(dfgh);
  //MakeTable(dfgh);
  jQuery(of_calendar)[0].appendChild(document.createElement('table'));
}


