var cal_var=new Array();
cal_var["month"]=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
cal_var["weekday"]=['Sun','Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
cal_var["caption"]="crocs events calendar";
var cal = Array();
var today=new Date();

function resetCal(cal){
   for(var i=0;i<7;i++){
      cal[i] = Array();
      for(var j=0;j<7;j++)
         cal[i][j]="&nbsp;";
   }
}

function daysInMonth(today) {
   var month=today.getMonth();
   var year=today.getFullYear();
   var m = [31,28,31,30,31,30,31,31,30,31,30,31];
   if (month != 2) return m[month];
   if (year%4 != 0) return m[1];
   if (year%100 == 0 && year%400 != 0) return m[1];
   return m[1] + 1;
} 

function daysInMonth2(month) {  
	
   var year=today.getFullYear();
   var m = [31,28,31,30,31,30,31,31,30,31,30,31];
   //if (month != 1) return m[month];
   //if (year%4 != 0) return m[1];
  // if (year%100 == 0 && year%400 != 0) return m[1];
  //  return m[1] + 1;
  return m[month];
} 


function setCal(cal,cal_var){
   for(var i=1;i<=cal_var["lastday"];i++){
      var myDate=new Date();
      myDate.setFullYear(cal_var["current_year"],cal_var["current_mon"],i);
      for(var j=0;j<7;j++){
         if (cal[myDate.getDay()][j]=="&nbsp;" && j>=cal_var["currentrow"]){
            cal[myDate.getDay()][cal_var["currentrow"]]=i;
            if (myDate.getDay()==6)
               cal_var["currentrow"]=j+1;
            else
               cal_var["currentrow"]=j;
            break;
         }
      }
   }
}


function generateCalendar(cal,cal_var){
   var str='<table id="calendar">';
   str+='<caption>'+cal_var["caption"]+'</caption>';
   str+='<thead>';
   str+='<tr>';
   str+='<td id="calendar_pMonth">&laquo;</td>';
   str+='<td colspan="5" class="pad" id="calendarheader">'+cal_var["current_month"]+' '+cal_var["current_year"]+'</td>';
   str+='<td id="calendar_nMonth">&raquo;</td>';
   str+='</tr>';

   str+='<tr>';
   for(var i=0;i<cal_var["weekday"].length;i++)
      str+='<th class="cal_weekday">'+cal_var["weekday"][i]+'</th>';
   str+='</tr>';
   str+='</thead>';
   str+='<tbody id="calendarbody">';
   str+="</tbody>";
   str+="</table>";
   jQuery("#crocs_calendar").html(str);
   calendarMonth(cal,cal_var);
}


function calendarMonth(cal,cal_var){
   var str="";
   for(var i=0;i<=cal_var["currentrow"];i++){
      str+="<tr>";

      var current_month=0;
	  var curr_mon_str="";
      try{
		  current_month=parseInt(cal_var["current_mon"])+1;
	  }
	  catch(e){}
	  
	  if (current_month < 10)
         curr_mon_str="0"+""+current_month;
	  else
	     curr_mon_str=current_month;
		 
	  var curr_date=0;	 
	  var curr_date_str="";
      for(var j=0;j<7;j++){
		  try{
			  curr_date=parseInt(cal[j][i]);
		  }
		  catch(e){}
		  
		  if (curr_date<10)
		     curr_date_str="0"+""+cal[j][i];
		  else
		     curr_date_str=cal[j][i];
		  
         if (cal[j][i]==today.getDate() && today.getMonth()==cal_var["current_mon"])
            str+='<td class="cal_currentday" id="'+cal_var["current_year"]+""+curr_mon_str+""+curr_date_str+'"><a href="multiple-posts.php?date='+cal_var["current_year"]+""+curr_mon_str+""+curr_date_str+'">'+cal[j][i]+'</a></td>';
         else
            str+='<td class="cal_normalday" id="'+cal_var["current_year"]+""+curr_mon_str+""+curr_date_str+'"><a href="multiple-posts.php?date='+cal_var["current_year"]+""+curr_mon_str+""+curr_date_str+'">'+cal[j][i]+'</a></td>';
      }
	  
	  
	  
      str+="</tr>";
   }
   jQuery("#calendarbody").html(str);
   jQuery("#calendarheader").html(cal_var["current_month"]+' '+cal_var["current_year"]);


}


jQuery(document).ready(function() {
   resetCal(cal);
   cal_var["lastday"]=daysInMonth(today);
   cal_var["current_month"]=cal_var["month"][today.getMonth()];
   cal_var["current_mon"]=today.getMonth();
   cal_var["current_year"]=today.getFullYear();
   cal_var["currentrow"]=0;
   setCal(cal,cal_var);
   generateCalendar(cal,cal_var);
   setEventDate();

   jQuery("#calendar_pMonth").bind("click",function(){
      cal_var["current_mon"]=cal_var["current_mon"]-1;
      if (cal_var["current_mon"]<0){
         cal_var["current_mon"]=11;
         cal_var["current_year"]=cal_var["current_year"]-1;
      }

      resetCal(cal);
     
      cal_var["current_month"]=cal_var["month"][cal_var["current_mon"]];
	   cal_var["lastday"]=daysInMonth2(cal_var["current_mon"]);
      cal_var["currentrow"]=0;
      setCal(cal,cal_var);
      calendarMonth(cal,cal_var);
	  setEventDate();
   });

   jQuery("#calendar_nMonth").bind("click",function(){
      cal_var["current_mon"]=cal_var["current_mon"]+1;
      if (cal_var["current_mon"]>11){
         cal_var["current_mon"]=0;
         cal_var["current_year"]=cal_var["current_year"]+1;
      }
	  
      resetCal(cal);
     
      cal_var["current_month"]=cal_var["month"][cal_var["current_mon"]];
	   cal_var["lastday"]=daysInMonth2(cal_var["current_mon"]);
      cal_var["currentrow"]=0;
      setCal(cal,cal_var);
      calendarMonth(cal,cal_var);
	  setEventDate();
   });

});


