$(function () {
  var dCurDate = new Date();
  fDrawCal(thisyear, thismonth);
  $('#front-calendar-month .prev-month').click(function() {
    if(thismonth>1){thismonth--;}else{thismonth=12;thisyear--;}
    fDrawCal(thisyear, thismonth);    
    return false;
  });
  $('#front-calendar-month .next-month').click(function() {
    if(thismonth<12){thismonth++;}else{thismonth=1;thisyear++;}
    fDrawCal(thisyear, thismonth);    
    return false;
  });
  
});

var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();
var thismonth = dDate.getMonth()+1;
var thisyear = dDate.getFullYear();
var curmonth = dDate.getMonth()+1;
// var mnth = new Array();
// mnth[1]='Jaanuar';
// mnth[2]='Veebruar';
// mnth[3]='Märts';
// mnth[4]='Aprill';
// mnth[5]='Mai';
// mnth[6]='Juuni';
// mnth[7]='Juuli';
// mnth[8]='August';
// mnth[9]='September';
// mnth[10]='Oktoober';
// mnth[11]='November';
// mnth[12]='Detsember';


function fBuildCal(iYear, iMonth) {
    var aMonth = new Array();
    aMonth[0] = new Array(7);
    aMonth[1] = new Array(7);
    aMonth[2] = new Array(7);
    aMonth[3] = new Array(7);
    aMonth[4] = new Array(7);
    aMonth[5] = new Array(7);
    aMonth[6] = new Array(7);
    var dCalDate = new Date(iYear, iMonth-1, 1);
    var iDayOfFirst = dCalDate.getDay();
    if(iDayOfFirst > 0){iDayOfFirst--;}else{iDayOfFirst=6}
    var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
    var iVarDate = 1;
    var i, d, w;

    aMonth[0][0] = "E";
    aMonth[0][1] = "T";
    aMonth[0][2] = "K";
    aMonth[0][3] = "N";
    aMonth[0][4] = "R";
    aMonth[0][5] = "L";
    aMonth[0][6] = "P";

    for (d = iDayOfFirst; d < 7; d++) {
      aMonth[1][d] = iVarDate;
      iVarDate++;
    }
    for (w = 2; w < 7; w++) {
      for (d = 0; d < 7; d++) {
	if (iVarDate <= iDaysInMonth) {
	  aMonth[w][d] = iVarDate;
	  iVarDate++;
	}
      }
    }
    
  return aMonth;
}

function fDrawCal(iYear, iMonth) {    
    var myMonth;var ct=0;
    myMonth = fBuildCal(iYear, iMonth);
    var tblhead = "<tr>";
    for(var t = 0 ;t<7;t++){
      tblhead +="<th>"+myMonth[0][t]+"</th>";
    }
    tblhead += "</tr>";
    var tbl='';var arrkey;var zero;var zerod;
  	   
    for (w = 1; w < 7; w++) {
      zero='';zerod='';
      ct=0;  
      if(w==6 && isNaN(myMonth[w][0])){break;}
      tbl+="<tr>";
      for (d = 0; d < 7; d++) {
	if(thismonth<10){zero=0;}
	if(myMonth[w][d]<10){zerod=0;}else{zerod='';}
	arrkey=thisyear+'-'+zero+''+thismonth+'-'+zerod+''+myMonth[w][d];
	if(d>0 && isNaN(myMonth[w][d]) && ct==0){
	  var e=7-d;tbl+='<td colspan="'+e+'" class="padding"></td>';break;
	}
	if(ct==0){tbl+="<td";}
	if(isNaN(myMonth[w][d])){
	  ct++;
	}else{
	  if(ct>0){tbl+=' class="padding" colspan="'+ct+'"></td><td';ct=0;}
	  if(thismonth==curmonth && myMonth[w][d]==dCurDayOfMonth){
	    if(events[arrkey]!=undefined){
	      tbl+=' class="today date_has_event"';
	    }else{
	      tbl+=' class="today date_has_event"';
	    }
	  }else{
	    if(events[arrkey]!=undefined){
	      tbl+=' class="date_has_event"';
	    }
	  }
	  tbl+=">";
	  tbl+=myMonth[w][d];
	  if(events[arrkey]!=undefined){
	      tbl+='<div class="events"><ul style="opacity: 0;">';
		for (var c = 0; c < events[arrkey].length; c++) {
		  tbl+='<li><span class="title"><a href="'+eh[events[arrkey][c]]+'" >'+et[events[arrkey][c]]+'</a></span>';
		  tbl+='<span class="desc">'+el[events[arrkey][c]]+'</span></li>';
		}
	      tbl+='</ul></div>';
	    
	  }
	    
// 	    <ul style="opacity: 0;">
//                                     <li>
//                                         <span class="title">Event 1</span>
//                                         <span class="desc">Lorem ipsum dolor sit amet, consectetu adipisicing elit.</span>
//                                     </li>
//                                     <li>
//                                         <span class="title">Event 2</span>
//                                         <span class="desc">Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>
//                                     </li>
//                                 </ul>
	    
	  tbl+="</td>";
	}
    }
    tbl+="</tr>";
    }
      $('table#front-calendar thead').html(tblhead);
      $('table#front-calendar tbody').html(tbl);
      $('.mth').html(mnth[iMonth]);
      $('.yr').html(iYear);
      renew();
}

function fGetDaysInMonth(iMonth, iYear) {
  var dPrevDate = new Date(iYear, iMonth, 0);
  return dPrevDate.getDate();
}
