﻿var nowdate;

var backCalOver = '#dc8181';
var backCalOut = 'white';

 function setToday(){
  var day = now.getDay();
  var month = now.getMonth();
  var year = now.getYear();
  var nday = now.getDate();
  var Tnameday = new Array("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");
  var nameday = Tnameday[day];
  if (year<2000){year+=1900}
  this.focusDay=day;

  document.calControl.month.selectedIndex=month;
  document.calControl.year.value=year; 
  
  displayCalendar(month,year);
  nowdate=nday+"."+parseInt(month+1)+"."+year;

 }
 
 function isFourDigitYear(year){
  if (year.length != 4){
   alert("Год должен содержать 4 цифры!");
   document.year.select();
   document.year.focus();
  } else {return true;}
 }
 
 function selectDate(){
  var year=document.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.month.selectedIndex;
   displayCalendar(month, year);
  }
 }

 function isFourDigitYear(year){
  if (year.length != 4){
   alert("Year must includ 4 numeral");
   document.calControl.year.select();
   document.calControl.year.focus();
  } else {return true;}
 }
 
 function selectDate(){
  var year=document.calControl.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.calControl.month.selectedIndex;
   displayCalendar(month, year);
  }
 }

 function setPrevMonth(){
  var year=document.calControl.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.calControl.month.selectedIndex;
   if (month==0){
    month=11;
    if (year>1000){
     year--;
     document.calControl.year.value=year;
    }
   }else{ month--; }
   document.calControl.month.selectedIndex=month;
   displayCalendar(month, year);
  }
 }

 function setPrevYear(){
  var year=document.calControl.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.calControl.month.selectedIndex;
   year++;
   document.calControl.year.value=year;
   displayCalendar(month, year);
  }
 }

 function setNextMonth(){
  var year=document.calControl.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.calControl.month.selectedIndex;
   if (month==11){
    month=0;
    year++;
    document.calControl.year.value=year;
   }else{ month++; }
   document.calControl.month.selectedIndex=month;
   displayCalendar(month, year);
  }
 }

 function setNextYear(){
  var year=document.calControl.year.value;
  if (isFourDigitYear(year)){
   var day=0;
   var month=document.calControl.month.selectedIndex;
   year++;
   document.calControl.year.value=year;
   displayCalendar(month, year);
  }
 }
 		function popupMenu(dmy){
		  link = "<span class='titlePU'>Период публикации:</span><br><a href='#' onClick=getArticles('"+dmy+"&filter=day')>день</a> | <a href='#' onClick=getArticles('"+dmy+"&filter=week')>неделя</a> | <a href='#' onClick=getArticles('"+dmy+"&filter=month')>месяц</a>";
		  $("#popup").empty()
		  $("#popup").append(link);
		}

 
 function displayCalendar(month, year){
  month=parseInt(month);
  year=parseInt(year);
  var i=0;
  var days=getDaysInMonth(month+1, year);
  var firstOfMonth = new Date(year, month, 1);
  var startingPos=firstOfMonth.getDay()-1;
  if (startingPos<0) {startingPos=6}
  days+=startingPos;
  var table = "<table id='calendar' cellpadding=0 cellspacing=0 border=0><tr id='headCal'> <td>Пн</td> <td>Вт</td> <td>Ср</td> <td>Чт</td> <td>Пт</td> <td>Сб</td> <td>Вс</td> </tr><tr class='numbers'>";
  
  for (i=0; i<startingPos; i++){
   table +="<td></td>";
  }
  pos = 0;
  for (i=startingPos; i<days; i++){
   if (i%7 == 0) { 
     table += "</tr><tr class='numbers'>"
  }
  pos = (i%7)+1;
   
   if ((((i%7)%6 == 0)||((i%7)%5 == 0))&&(i%7 != 0)){
	cssClass = "class='weekEnd'";
   }else{
    cssClass = "class='workDay'";
    if ((now.getDate() == (i-startingPos+1)) && (now.getMonth() == month) && (now.getFullYear()==year)){
     cssClass = "class='nowday'";
    }   
   }
   d = (i-startingPos+1);
   m = (month+1);
   y = year;
   filter = "week";
   //table +='<td '+cssClass+' onClick=getArticles("?d='+d+'&m='+m+'&y='+y+'&pos='+pos+'&filter='+filter+'")>'+(i-startingPos+1)+'</td>';
   table +='<td '+cssClass+' onClick=popupMenu("?d='+d+'&m='+m+'&y='+y+'&pos='+pos+'")>'+(i-startingPos+1)+'</td>';
   
  }

  table += "</tr></table>";
  
  
  $("#calendarDivDiv").empty()
  $("#calendarDivDiv").append(table);
  

  
  		 // Скрипт работы календаря
		 $(".workDay").mouseover(function(){
		  $(this).css("background",backCalOver)
		 })
        $(".workDay").mouseout(function(){
		  $(this).css("background",backCalOut)
		 })

		$(".workDay").click(function(){
		  $("#popup").slideDown();
		  $(".workDay").toggleClass("nowday",false)
		  $(this).toggleClass("nowday")
		  $("#popup").empty()
		  $("#popup").append(link);
		 })
		 $(".nowday").click(function(){
		  $("#popup").slideDown();
		  $(".workDay").toggleClass("nowday",false)
		  $("#popup").empty()
		  $("#popup").append(link);
		 })

}

 function getDaysInMonth(month, year){
  var days;
  if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) {days=31;}
  else if ((month!=2)) {days=30;}
   else if (visYear(year)) {days=29} else {days=28} 
  return (days);

 }
 
 function visYear(year){
  if (((year % 4)==0)&&((year % 100)!=0)){
   return(true);
  } else {return(false)}
 }
 
 function getArticles(dmy){
  location.href='http://' + back_href +'/calendar.php'+dmy;
 }
 

        

 
 setToday();
