// JavaScript Document
///*
function SelectDate(){
    D = document.getElementById('Date').value;
    if(D){
        D = D.split('/');
    }else{
        Dat = new Date();
        D = new Array(Dat.getDay(), Dat.getMonth(), Dat.getFullYear());
    }
    win = window.open("date-picker.html","win","status=no,scrollbars=no,toolbar=no,menubar=no,height=150,width=150");
    if (parseInt(navigator.appVersion) == 2 && navigator.appName == "Netscape")
        win = window.open("date-picker.html","win","status=yes,height=325,width=250");
        //win'MakeDate',D[2], D[1],D[0], 'SetDate');
        win.MakeDate(D[2], D[1], D[0]);
}
function SetDate(Day, Month, Year){
    document.getElementById('Date').value = Day + '/' + Month + '/' + Year;
}
//*/

function openCalendar(form, field, type) {
	if (parseInt(navigator.appVersion) == 2 && navigator.appName == "Netscape") window.open("date-picker.php", "calendar", "width=540,height=210,status=yes");
	else window.open("date-picker.php", "calendar", "width=250,height=125,status=yes");
	dateField = eval("document." + form + "." + field);    dateType = type;
}
/* actual calendar print function */
function Calendar(iYear, iMonth, iDay, ContainerId, ClassName){
    MonthNames = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
    //If no parameter is passed use the current date.
    oDate = new Date();
    Year = (iYear == null) ? oDate.getFullYear() : iYear;
    Month = (iMonth == null) ? oDate.getMonth() : iMonth - 1;
    while(Month < 0){Month += 12;Year--}
    while(Month >= 12){Month -= 12;Year++}
    Day = (iDay == null) ? 0 : iDay;
    oDate = new Date(Year, Month, 1);
    NextMonth = new Date(Year, Month + 1, 1);
    WeekStart = oDate.getDay();
    // Get the number of months in current month
    MonthDays = Math.round((NextMonth.getTime() - oDate.getTime()) / 86400000) + 1;
    // Check whether the Container Id is null
    if(ContainerId != null){
        ContainerId = ContainerId;
        Container = document.getElementById(ContainerId);
        // If an element doesnot exists with the given ContainerId then create it
        if(!Container)
            document.write('<div id="' + ContainerId + '">&nbsp;</div>');
    }else{
        // Loop until a unique id is obtained for the container
        do{
            ContainerId = 'tblCalendar' + Math.round(Math.random() * 1000);
        }
        while(document.getElementById(ContainerId));
        // create an element with the new id
        document.write('<div id="' + ContainerId + '">&nbsp;</div>');
    }
    Container = document.getElementById(ContainerId);
    ClassName = (ClassName == null) ? 'tblCalendar' : ClassName;
    HTML = '<table align="center" class="' + ClassName + '" cellspacing="0">';
    // Title bar
    HTML += '<tr class="TitleBar"><th><a href="javascript:void(0)" onMouseDown="Calendar(' + (Year - 1) + ', ' + (Month + 1) + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&laquo;</a></th><th><a href="javascript:void(0)" onMouseDown="Calendar(' + Year + ', ' + Month + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&lsaquo;</a></th><th colspan="3" class="Title">' + MonthNames[Month] + ' ' + Year + '</th><th class="Nav"><a href="javascript:void(0)" onMouseDown="Calendar(' + Year + ', ' + (Month + 2) + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&rsaquo;</a></th><th class="Nav"><a href="javascript:void(0)" onMouseDown="Calendar(' + (Year + 1) + ', ' + (Month + 1) + ', ' + Day+', \''+ContainerId+'\', \''+ClassName+'\');">&raquo;</a></th></tr>';
    // Week Names
    HTML += '<tr class="WeekName"><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr>';
    HTML += '<tr class="Days">';
    // Fill the previous month days with space
    for(DayCounter = 0; DayCounter < WeekStart; DayCounter++){
        HTML += '<td>&nbsp;</td>';
    }
    // Populate current month
    for(DayCounter = 1; DayCounter < MonthDays; DayCounter++){
        if((DayCounter + WeekStart) % 7 == 1) HTML += '<tr class="Days">';
        //if((DayCounter + WeekStart) % 7 == 1 && DayCounter < MonthDays) HTML += '<tr class="Days">';
        if(DayCounter == Day)
            HTML += '<td class="SelectedDay"><a href="javascript:ReturnDate(' + DayCounter + ')">' + DayCounter + '</a></td>';
        else HTML += '<td><a href="javascript:ReturnDate(' + DayCounter + ')">' + DayCounter + '</a></td>';
        if((DayCounter + WeekStart) % 7 == 0) HTML += '</tr>';
    }
    // Fill the next month days with space
    for(j = (42 - (MonthDays + WeekStart)), DayCounter = 0; DayCounter <= j; DayCounter++){
        HTML += '<td>&nbsp;</td>';
        if((j - DayCounter) % 7 == 0) HTML += '</tr>';
    }
	HTML += '<tr class="footer"><td colspan="7">&nbsp;</td></tr>';
    HTML += '</table>';
    Container.innerHTML = HTML;
    // Returns Id of the element containing the calendar
    return ContainerId;
}
function MakeDate(iYear, iMonth, iDay, fn){
    D = new Date();
    Year = (typeof(iYear) != 'undefined') ? iYear : D.getFullYear();
    Month = (typeof(iMonth) != 'undefined') ? iMonth : D.getMonth()+1;
    Day = (typeof(iDay) != 'undefined') ? iDay : D.getDate();
    ReturnFunc = fn;
    id = Calendar(Year, Month, Day, 'cal', 'calendar');
}
/* end of function */