// $Id: calendar-cms.js 65147 2007-08-16 13:42:29Z wbabachan $
var dtpicker_min = new Date();
var dtpicker_max = new Date(3000, 11, 31, 0, 0, 0);
var dtpicker_daFormat = "%d.%m.%Y %H:%M";
var dtpicker_ifFormat = "%d.%m.%Y %H:%M:%S";
var dtpicker_firstDay = 1;
var dtpicker_date = new Date();
var dtpicker_timeFormat = 24;
var dtpicker_displayArea = "dtpicker_span_displayArea";
var dtpicker_inputField = "dtpicker_input_inputField";
var dtpicker_align = "B1";
var dtpicker_showsTime = true;
var dtpicker_newDate = null;
var dtpicker_button = "dtpicker_bt_calendar";
var dtpicker_buttons = new Array();
var dtpicker_calendar_langfile = "calendar-de.js";
var dtpicker_electric = false;
var dtpicker_showOthers = true;
var dtpicker_eventName = "click";
var dtpicker_calendarOpen = false;

function dtpicker_showCalendar() {
    if (document.getElementById(dtpicker_button)) {
        document.getElementById(dtpicker_button).click();
    }
}

function dtpicker_dateStatusFunc_default(date) {
    dtpicker_calendarOpen = true;

    if(date.getTime()>=dtpicker_min.getTime()&&date.getTime()<=dtpicker_max.getTime()) {
        return false;
    }
    if(date.getDate()==dtpicker_min.getDate()&&date.getMonth()==dtpicker_min.getMonth()&&date.getFullYear()==dtpicker_min.getFullYear()) {
        return false;
    }
    if(date.getDate()==dtpicker_max.getDate()&&date.getMonth()==dtpicker_max.getMonth()&&date.getFullYear()==dtpicker_max.getFullYear()) {
        return false;
    }
    return true;

}

function dtpicker_dateStatusFunc(date) {
    return dtpicker_dateStatusFunc_default(date);
}

function dtpicker_onclose_default(calendar) {
    dtpicker_calendarOpen = false;
    calendar.hide();
}

function dtpicker_onclose(calendar) {
    return dtpicker_onclose_default(calendar);
}

function dtpicker_onUpdate_default(cal) {
    dtpicker_newDate = cal.date.getTime();
}

function dtpicker_onUpdate(cal) {
    return dtpicker_onUpdate_default(cal);
}

function dtpicker_onUpdate1(cal) {
    return dtpicker_onUpdate_default(cal);
}

function dtpicker_onUpdate2(cal) {
    return dtpicker_onUpdate_default(cal);
}

function dtpicker_onUpdate3(cal) {
    return dtpicker_onUpdate_default(cal);
}

function dtpicker_setDate(dateStr) {
    document.getElementById(dtpicker_inputField).value = dateStr;
    document.getElementById(dtpicker_displayArea).innerHTML = dateStr;
}

function dtpicker_initCalendars() {
    dtpicker_initCalendar();
}

function dtpicker_initCalendar(dtpicker_buttons) {
    if (dtpicker_buttons == null) {
        if (document.getElementById(dtpicker_inputField)) {
            Zapatec.Calendar.setup({
                electric       :    dtpicker_electric,
                align          :    dtpicker_align,              // alignment (defaults to "Bl")
                daFormat       :    dtpicker_daFormat,       // format of the displayed date
                dateStatusFunc :    dtpicker_dateStatusFunc,
                displayArea    :    dtpicker_displayArea,        // ID of the span where the date is to be shown
                firstDay       :    dtpicker_firstDay,
                ifFormat       :    dtpicker_ifFormat,         // format of the input field (even if hidden, this format will be honored)
                inputField     :    dtpicker_inputField,         // id of the input field
                range          :    [dtpicker_min.getFullYear()+(dtpicker_min.getMonth()+1)*0.01, dtpicker_max.getFullYear()+(dtpicker_max.getMonth()+1)*0.01],
                showsTime      :    dtpicker_showsTime,
                date           :    dtpicker_date,
                timeFormat     :    dtpicker_timeFormat,
                onUpdate       :    dtpicker_onUpdate,
                button         :    dtpicker_button,
                onClose        :    dtpicker_onclose,
                showOthers     :    dtpicker_showOthers,
                eventName      :    dtpicker_eventName
            });
        }
    } else {
        for (var i=0;i<dtpicker_buttons.length;i++) {
            var suffix = "" + (i+1);
            if(document.getElementById('dtpicker_bt_calendar' + suffix) != null) {
                Zapatec.Calendar.setup({
                    electric       :    dtpicker_electric,
                    align          :    dtpicker_align,              // alignment (defaults to "Bl")
                    daFormat       :    dtpicker_daFormat,       // format of the displayed date
                    dateStatusFunc :    dtpicker_dateStatusFunc,
                    displayArea    :    dtpicker_displayArea,        // ID of the span where the date is to be shown
                    firstDay       :    dtpicker_firstDay,
                    ifFormat       :    dtpicker_ifFormat,         // format of the input field (even if hidden, this format will be honored)
                    inputField     :    'dtpicker_inputField' + suffix,         // id of the input field
                    range          :    [dtpicker_min.getFullYear()+(dtpicker_min.getMonth()+1)*0.01, dtpicker_max.getFullYear()+(dtpicker_max.getMonth()+1)*0.01],
                    showsTime      :    dtpicker_showsTime,
                    date           :    dtpicker_date,
                    timeFormat     :    dtpicker_timeFormat,
                    onUpdate       :    dtpicker_buttons[i],
                    button         :    'dtpicker_bt_calendar' + suffix,
                    onClose        :    dtpicker_onclose,
                    showOthers     :    dtpicker_showOthers,
                    eventName      :    dtpicker_eventName
                });
            }
        }
    }
}

function dtpicker_writeHeader() {
    //calendar stylesheet
    document.write('<link rel="stylesheet" type="text/css" media="all" href="../common/css/calendar/calendar-pbskin.css" title="win2k" />');
    //additional cms calendar stylesheet
    document.write('<link rel="stylesheet" type="text/css" media="all" href="../common/css/calendar/calendar-cms-system.css" title="cms-system" />');
    //main calendar program
    document.write('<script type="text/javascript" src="../common/js/calendar/utils.js"></script>');
    document.write('<script type="text/javascript" src="../common/js/calendar/calendar.js"></script>');
    //language for the calendar
    document.write('<script type="text/javascript" src="../common/js/calendar/lang/'+dtpicker_calendar_langfile+'"></script>');
    document.write('<script type="text/javascript" src="../common/js/calendar/calendar-setup.js"></script>');
}

/*if(!document.all) {
    window.addEventListener("load", dtpicker_initCalendars, false);
} else {
    window.attachEvent("onload", dtpicker_initCalendars);
}*/
