var datepicker=function(){
    this.cfg={};
    this.set=function(datepicker_id){
/*
        var DP=this;
        var Event = YAHOO.util.Event,
        Dom = YAHOO.util.Dom,
        dialog,
        calendar;
        var showBtn = Dom.get(datepicker_id);
        Event.on(showBtn, "click", function() {
            if (!dialog) {
                Event.on(document, "click", function(e) {
                    var el = Event.getTarget(e);
                    var dialogEl = dialog.element;
                    if (el != dialogEl && !Dom.isAncestor(dialogEl, el) && el != showBtn && !Dom.isAncestor(showBtn, el)) {
                        dialog.hide();
                    }
                });
                function resetHandler() {
                    var selDates = calendar.getSelectedDates();
                    var resetDate;
                    if (selDates.length > 0) {
                        resetDate = selDates[0];
                    } else {
                        resetDate = calendar.today;
                    }
                    calendar.cfg.setProperty("pagedate", resetDate);
                    calendar.render();
                }
                function closeHandler() {
                    dialog.hide();
                }
                dialog = new YAHOO.widget.Dialog("container", {
                    visible:false,
                    context:[datepicker_id, "tl", "bl",,[1,0]],
                    buttons:[],
                    draggable:false,
                    close:false
                });
                window.onresize=function(){
                    dialog.cfg.setProperty('context',[datepicker_id, "tl", "bl",,[1,0]]);
                }
                dialog.setHeader(DP.cfg.calendarTitle);
                dialog.setBody('<div id="cal"></div><br style="clear: left;height:0px;line-height:0px;" />');
                dialog.render(document.body);
                dialog.showEvent.subscribe(function() {
                    if (YAHOO.env.ua.ie) {
                        dialog.fireEvent("changeContent");
                    }
                });

            }
            if (!calendar) {
                calendar = new YAHOO.widget.Calendar("cal", {
                    iframe:false,
                    hide_blank_weeks:true,
                    start_weekday:DP.cfg.startWeekday
                });
                calendar.cfg.setProperty("MONTHS_LONG", DP.cfg.monthsLong);
                calendar.cfg.setProperty("WEEKDAYS_SHORT", DP.cfg.weekdaysShort);
                var myCustomRenderer = function(workingDate, cell) {
                    cell.innerHTML = workingDate.getDate();
                    //                    YAHOO.util.Dom.addClass(cell, "sunday");
                    return YAHOO.widget.Calendar.STOP_RENDER;
                }
                var myNotEmptyDateRender = function(workingDate, cell)
                {
                    cell.innerHTML=workingDate.getDate();
                    YAHOO.util.Dom.addClass(cell, this.Style.CSS_CELL_SELECTABLE);
                    cell.innerHTML = '<a href="#" class="' + this.Style.CSS_CELL_SELECTOR + '">' + this.buildDayLabel(workingDate) + "</a>";
                    return YAHOO.widget.Calendar.STOP_RENDER;
                }
                
                calendar.addWeekdayRenderer(1, myCustomRenderer);
                calendar.addWeekdayRenderer(2, myCustomRenderer);
                calendar.addWeekdayRenderer(3, myCustomRenderer);
                calendar.addWeekdayRenderer(4, myCustomRenderer);
                calendar.addWeekdayRenderer(5, myCustomRenderer);
                calendar.addWeekdayRenderer(6, myCustomRenderer);
                calendar.addWeekdayRenderer(7, myCustomRenderer);
                //                calendar.addRenderer('6/1/2010-8/30/2100' ,  myCustomRenderer);
                calendar.addRenderer(DP.cfg.daysOfSeminars ,  myNotEmptyDateRender);
                calendar.render();
                calendar.selectEvent.subscribe(function() {
                    if (calendar.getSelectedDates().length > 0) {
                        var selDate = calendar.getSelectedDates()[0];
                        var dStr = selDate.getDate();
                        var mStr = selDate.getMonth()+1;
                        var yStr = selDate.getFullYear();
                        Dom.get(datepicker_id).value = mStr + "/" + dStr + "/" + yStr;
                    } else {
                        Dom.get(datepicker_id).value = "";
                    }
                    dialog.hide();
                });
                calendar.renderEvent.subscribe(function() {
                    dialog.fireEvent("changeContent");
                });
            }
            var seldate = calendar.getSelectedDates();
            if (seldate.length > 0) {
                calendar.cfg.setProperty("pagedate", seldate[0]);
                calendar.render();
            }
            dialog.show();
        });
*/
        var DP=this, Event = YAHOO.util.Event, Dom = YAHOO.util.Dom;
        $('span.datefield').append($('<div id="container_c"></div>'));
        var calendar = new YAHOO.widget.Calendar("cal", 'container_c', {
            iframe:false,
            hide_blank_weeks:true,
            start_weekday:DP.cfg.startWeekday
        });
        calendar.cfg.setProperty("MONTHS_LONG", DP.cfg.monthsLong);
        calendar.cfg.setProperty("WEEKDAYS_SHORT", DP.cfg.weekdaysShort);
        var myCustomRenderer = function(workingDate, cell) {
            cell.innerHTML = workingDate.getDate();
            //                    YAHOO.util.Dom.addClass(cell, "sunday");
            return YAHOO.widget.Calendar.STOP_RENDER;
        }
        var myNotEmptyDateRender = function(workingDate, cell)
        {
            cell.innerHTML=workingDate.getDate();
            YAHOO.util.Dom.addClass(cell, this.Style.CSS_CELL_SELECTABLE);
            cell.innerHTML = '<a href="#" class="' + this.Style.CSS_CELL_SELECTOR + '">' + this.buildDayLabel(workingDate) + "</a>";
            return YAHOO.widget.Calendar.STOP_RENDER;
        }

        calendar.addWeekdayRenderer(1, myCustomRenderer);
        calendar.addWeekdayRenderer(2, myCustomRenderer);
        calendar.addWeekdayRenderer(3, myCustomRenderer);
        calendar.addWeekdayRenderer(4, myCustomRenderer);
        calendar.addWeekdayRenderer(5, myCustomRenderer);
        calendar.addWeekdayRenderer(6, myCustomRenderer);
        calendar.addWeekdayRenderer(7, myCustomRenderer);
        calendar.addRenderer(DP.cfg.daysOfSeminars, myNotEmptyDateRender);
        calendar.render();
        calendar.selectEvent.subscribe(function() {
            if (calendar.getSelectedDates().length > 0) {
                var selDate = calendar.getSelectedDates()[0];
                var dStr = selDate.getDate();
                var mStr = selDate.getMonth()+1;
                var yStr = selDate.getFullYear();
                Dom.get(datepicker_id).value = mStr + "/" + dStr + "/" + yStr;
            } else {
                Dom.get(datepicker_id).value = "";
            }
        });
        var seldate = calendar.getSelectedDates();
        if (seldate.length > 0) {
            calendar.cfg.setProperty("pagedate", seldate[0]);
            calendar.render();
        }
    }
}

