﻿general.namespace('SW.Controls');

(function () {
    
    var Calendar = SW.Controls.Calendar = function (containerId, buttonId, changeHandler) {
        var now = general.getDate();
        var formatedToday = general.dateFormat(now, "mm/dd/yyyy");
        this.yuiCalendar = new YAHOO.widget.Calendar(
	        "calendarEl" + containerId,
	        containerId,
	        { 
	            title: "Choose a start date:", 
	            close: true,
	            iframe: false,
	            mindate: "10/16/2007", 
                maxdate: formatedToday,
                selected: formatedToday,
                pagedate: general.dateFormat(now, "mm/yyyy")
	        } 
	    );
	    var handleDateChange = function (type, args, obj) { 
	        obj.hide();
	        changeHandler(this._toDate(args[0][0]));
        };
	    this.yuiCalendar.selectEvent.subscribe(handleDateChange, this.yuiCalendar, true);
	    YAHOO.util.Event.addListener(buttonId, "click", this.yuiCalendar.show, this.yuiCalendar, true);
		
		this.render();
    };
    Calendar.prototype.constructor = Calendar;
    
    
    /**/
    Calendar.prototype.render = function () {
	    this.yuiCalendar.render();
    };
    
    
    /**/
    Calendar.regionChangeHandler = function (selectedDate) {
        SWMap.dateBar.render(selectedDate);
        SWMap.animationControl.updateAfterNewDate();
        SWMap.regionDataTabs.displayRegionData(null, selectedDate); // this triggers a redraw of the charts with the newly selected date
    };
    

})();