var ns6=document.getElementById&&!document.all
var ie4=document.all

var Selected_Month;
var Selected_Year;
var Current_Date = new Date();
var Current_Month = Current_Date.getMonth();

var Days_in_Month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var Month_Label; // = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
var Week_Label;

var Current_Year = Current_Date.getYear();
if (Current_Year < 1000)
Current_Year+=1900


var Today = Current_Date.getDate();

function months(men) {
	Month_Label = men;
}

function week(weekday) {
	Week_Label = weekday;
}

function Header(Year, Month) {   
   if (Month == 1) {
   Days_in_Month[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
   }
   var Header_String = Month_Label[Month] + ' ' + Year;
   return Header_String;   
}



function Make_Calendar(Year, Month) {
   var First_Date = new Date(Year, Month, 1);
   var Heading = Header(Year, Month);
   var First_Day = First_Date.getDay();   
   if (First_Day == 0) {
   		First_Day = 7;
   }
   if (((Days_in_Month[Month] == 31) && (First_Day >= 6)) ||
       ((Days_in_Month[Month] == 30) && (First_Day == 7))) {
      var Rows = 6;
   }
   else if ((Days_in_Month[Month] == 28) && (First_Day == 1)) {
      var Rows = 4;
   }
   else {
      var Rows = 5;
   }
    var HTML_String = '<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">';

   HTML_String += '<tr><td width="20" class="weekday">' + Week_Label[0] + '</td><td width="20" class="weekday">' + Week_Label[1] + '</td><td width="20" class="weekday">' + Week_Label[2] + '</td><td width="20" class="weekday">' + Week_Label[3] + '</td><td width="20" class="weekday">' + Week_Label[4] + '</td><td width="20" class="weekend">' + Week_Label[5] + '</td><td width="20" class="weekend">' + Week_Label[6] + '</td></tr>';

   var Day_Counter = 1;
   var Loop_Counter = 1;
   var Next_day_counter = 1;
   var Last_day_counter = First_Day;
   var Last_Day = Days_in_Month[Month-1];
   if (Month == 0) {
   	  Last_Day = 31;
   }
   Days_in_Month[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
   for (var j = 1; j <= Rows; j++) {
      HTML_String += '<tr>';
      for (var i = 1; i < 8; i++) {
         if ((Loop_Counter >= First_Day) && (Day_Counter <= Days_in_Month[Month])) {
            if ((Day_Counter == Today) && (Year == Current_Year) && (Month == Current_Month)) {
               HTML_String += '<td width="18" height="16" class="today">' + Day_Counter + '</td>';
            }
            else {
               HTML_String += '<td width="18" height="16" class="calday">' + Day_Counter + '</td>';
            }
            Day_Counter++;    
         } else if (Loop_Counter < First_Day) { /* praejusio men paskutines dienos */
		 	Last_day_counter--;
			//document.write(Days_in_Month[Month-1]);
			if (Month == 0) {
			    Last_Day = 31 - (Last_day_counter - 1);
			} else {
			    Last_Day = Days_in_Month[Month-1] - (Last_day_counter - 1);
			}  
            HTML_String += '<td width="18" height="16" class="otherday">' + Last_Day + '</td>';			
         } else if (Day_Counter > Days_in_Month[Month]) { /* sekancio men pirmos dienos */		 	
      		HTML_String += '<td width="18" height="16" class="otherday">' + Next_day_counter + '</td>';
			Next_day_counter++;
         }
         Loop_Counter++;
      }
      HTML_String += '</tr>';
   }
   HTML_String += '</table>';
   cross_el=ns6? document.getElementById("Calendar") : document.all.Calendar
   cross_el.innerHTML = HTML_String;
}


function Check_Nums() {
   if ((event.keyCode < 48) || (event.keyCode > 57)) {
      return false;
   }
}



function On_Year() {
   var Year = document.when.year.value;
   if (Year.length == 4) {
      Selected_Month = document.when.month.selectedIndex;
      Selected_Year = Year;
      Make_Calendar(Selected_Year, Selected_Month);
   }
}

function On_Month() {
   var Year = document.when.year.value;
   if (Year.length == 4) {
      Selected_Month = document.when.month.selectedIndex;
      Selected_Year = Year;
      Make_Calendar(Selected_Year, Selected_Month);
   }
   else {
      alert('Please enter a valid year.');
      document.when.year.focus();
   }
}

function Defaults() {   
   if (!ie4&&!ns6)
   return
   var Mid_Screen = Math.round(document.body.clientWidth / 2);
   //document.write(Current_Year);
   document.when.year.value = Current_Year;   
   document.when.month.selectedIndex = Current_Month;      
   Selected_Month = Current_Month;
   Selected_Year = Current_Year;   
   Make_Calendar(Current_Year, Current_Month);   
}

function Defaults2() {   
   if (!ie4&&!ns6)
   return
   var Mid_Screen = Math.round(document.body.clientWidth / 2);      
   Make_Calendar(Current_Year, Current_Month);   
}


function Skip(Direction) {
   if (Direction == '+') {
      if (Selected_Month == 11) {
         Selected_Month = 0;
         Selected_Year++;
      }
      else {
         Selected_Month++;
      }
   }
   else {
      if (Selected_Month == 0) {
         Selected_Month = 11;
         Selected_Year--;
      }
      else {
         Selected_Month--;
      }
   }
   Make_Calendar(Selected_Year, Selected_Month);
  // document.when.month.selectedIndex = Selected_Month;
  // document.when.year.value = Selected_Year;
}