sMonName = new Array("","January","February","March","April","May","June","July","August","September","October","November","December");
var yearInicial = 1900;
var yearFinal = 2100;
var year;
var mon;
var day;
var outField;
var titleStr;
var colcount=0;
var startDate;
var startMonth;
var startYear;
var endDate;
var endMonth;
var endYear;
var fDate;
var fMonth;

function calTotDays(year,mon) {  //Function for Calculating Total no. of Days for the given month and year
       if ((mon==1)||(mon==3)||(mon==5)||(mon==7)||(mon==8)||(mon==10)||(mon==12)) totDays=31
  else if ((mon==4)||(mon==6)||(mon==9)||(mon==11)) totDays=30
  else if ((((year % 100)==0) && ((year % 400)==0)) || (((year % 100)!=0) && ((year % 4)==0))) totDays = 29
  else totDays = 28;
  return totDays;
};

function creatMonSelector(currentMonth) { //Function to create a Month Selector
  var monSelect = "";
  monSelect = "<select name='mon' size='1' onChange='javascript:opener.createFlyForm(self.document.Forma1.year[self.document.Forma1.year.selectedIndex].value,self.document.Forma1.mon[self.document.Forma1.mon.selectedIndex].value);'>\r\n";
  for (var i=1; i<=12; i++) {
    monSelect = monSelect + "  <option value='" + i + "'";
    if (i == currentMonth) monSelect = monSelect + " selected";
    monSelect = monSelect + ">" + sMonName[i] + "</option>\r\n";
  }
  monSelect = monSelect + "</select>\r\n";
  return monSelect;
}

function creatYearSelector(currentYear) { //Function to create a Year Selector
  var yearSelect = "";
  yearSelect = "<select name='year' size='1' onChange='javascript:opener.createFlyForm(self.document.Forma1.year[self.document.Forma1.year.selectedIndex].value,self.document.Forma1.mon[self.document.Forma1.mon.selectedIndex].value);'>\r\n";
  for (var i=yearInicial; i<=yearFinal; i++) {
    yearSelect = yearSelect + "  <option value='" + i + "'";
    if (i == currentYear) yearSelect = yearSelect + " selected";
    yearSelect = yearSelect + ">" + i + "</option>\r\n";
  }
  yearSelect = yearSelect + "</select>";
  return yearSelect;
}

function creatTableCalendar(dispYear,dispMonth) { //Function to Create Table Calendar
  var tableCalendar = "<table border='1' cellpadding='2' cellspacing='0' style='font-size:10pt' bgcolor='#CCCCCC'>\r\n  <tr>";
  var date = new Date();
  date.setYear(dispYear);
  date.setMonth(dispMonth-1);
  date.setDate(1);
  getDayNo = date.getDay();
  tableCalendar = tableCalendar + "<b><font face='Arial' size='1'> \r\n   <td bgcolor='#999999' align='center'>Sun</td><td bgcolor='#999999' align='center'>Mon</td><td bgcolor='#999999' align='center'>Tue</td><td bgcolor='#999999' align='center'>Wed</td><td bgcolor='#999999' align='center'>Thu</td><td bgcolor='#999999' align='center'>Fri</td><td bgcolor='#999999' align='center'>Sat</td></font></b></div>\r\n <tr> ";



  for (var j=1; j<=getDayNo; j++) {  // This is to Leave Blank upto the Begining of the Day 
    tableCalendar = tableCalendar + "\r\n    <td WIDTH='14%' valign='middle' align='center'>&nbsp;</td>";
  }
  for (var i=1; i<=calTotDays(dispYear,dispMonth); i++) { // To Create a Date Buttons 
    tableCalendar = tableCalendar + "\r\n    <td WIDTH='14%'  valign='middle' align='center'><B><A HREF= ";
	//To Check whether the Date is a Current Date for Color
    tableCalendar=tableCalendar + "'javascript:opener.year=self.document.Forma1.year[self.document.Forma1.year.selectedIndex].value; opener.mon=self.document.Forma1.mon[self.document.Forma1.mon.selectedIndex].value; opener.day=" + i + ";opener.setCalendar();self.close();'>";
   if ((i == getCurDate()) && (dispMonth == getCurMonth()) && (dispYear == getCurYear())) 
      tableCalendar= tableCalendar + "<FONT COLOR='RED'>"
    if(i<=9) tableCalendar=tableCalendar+ "0"+ i;
	 else tableCalendar=tableCalendar+ i
    tableCalendar=tableCalendar+ "</B></FONT></a></td>";
	//To align 7 Cols per Line
    colcount++;
    if (((i+getDayNo) % 7)==0) {
    	tableCalendar = tableCalendar + "\r\n  </tr>\r\n\  <tr>";
    	colcount=0;
    }	
   
  }

  for (var k=colcount; k<7; k++) {  // This is to Leave Blank from End of the Day 
    tableCalendar = tableCalendar + "\r\n    <td WIDTH='14%'  valign='middle' align='center'>&nbsp;</td>";
  }	    

  tableCalendar = tableCalendar + "\r\n  </tr>\r\n</table>";
  return tableCalendar;

}

function createFlyForm(dispYear,dispMonth) {
  var html = "";
  html = html + "<html>\r\n<head>\r\n  <title>" + titleStr + "</title>\r\n</head>\r\n<body bgcolor='#A3A3A3' vlink='#0000FF' alink='#0000FF'>\r\n ";
  html = html + "<style>\r\n .buttonL{width:120px; text-align:center; font-family:arial;font-weight: bold; font-size:9pt; color:#FFFFFF; background-color:#666666;}\r\n";
  html = html + "select { font-family: Arial;text-align:center; color:#CC0033; background-color:#CCCCCC; }\r\n";
  html = html + " body {border:none;} \r\n";
  html = html + " A {text-decoration: none;}\r\n</style>\r\n";
  html = html + "<div align='center'>\r\n  <form name='Forma1'>\r\n";
  html = html + creatMonSelector(dispMonth);
  html = html + creatYearSelector(dispYear);
  html = html + "<p>";
  html = html + creatTableCalendar(dispYear,dispMonth);
  html = html + "<center><br><input class='buttonL' type='button' name='hoy' value='Today : " + mon +"/"+day+"/"+year + "' onClick='opener.setCalendar();self.close();'><br><a href='javascript:self.close();'>Close</a></center>";
  html = html + "\r\n </form>\r\n</div>\r\n";
  html = html + "</body>\r\n</html>\r\n";
  ventana = open("","calendario","width=220,height=270");
  ventana.document.open("","top=0,width=0");
  ventana.document.writeln(html);
  ventana.document.close();
  ventana.focus();
}

function getCurYear() {
  var fecha = new Date();
  if (navigator.appName == "Netscape") return fecha.getYear() + 1900
  else return fecha.getYear();
}

function getCurMonth() {
  var fecha = new Date();
  return fecha.getMonth()+1;
}

function getCurDate() {
  var fecha = new Date();
  return fecha.getDate();
}

function getCalendar(oField,tStr) {

year = getCurYear();
mon = getCurMonth();
day = getCurDate();

titleStr = tStr;

 
   outField = oField;
   createFlyForm(year,mon);
}

function setCalendar() {
  if(day<=9) fDate="0"+day; else fDate=day;
  if(mon<=9) fMonth="0"+mon; else fMonth=mon;
  outField.value = fMonth + "/" + fDate +"/" + year; 
}








