/// Type.registerNamespace("Contensis.Web.UI"); Contensis.Web.UI.AjaxDatePicker = function (element) { Contensis.Web.UI.AjaxDatePicker.initializeBase(this, [element]); }; Contensis.Web.UI.AjaxDatePicker.prototype = { Properties: { ShowDatePickerOnFocus: { type: Boolean, initialValue: false }, Image: { type: Sys.UI.DomElement }, ToPicker: { type: Object }, FromPicker: { type: Object }, StartDate: { type: String }, EndDate: { type: String } }, initialize: function () { Contensis.Web.UI.AjaxDatePicker.callBaseMethod(this, 'initialize'); // Add custom initialization here $j(this.get_element()).datePicker({ clickInput: this.get_ShowDatePickerOnFocus(), createButton: false, parentElement: this.get_element().parentNode }); this.AddHandler(this.get_Image(), 'click', Function.createDelegate(this, this.OnImageClick)); var addOnClose = false; if (this.get_ToPicker()) { addOnClose = true; this.LoadDates(); } var dt = Date.fromString(this.get_element().value); $j(this.get_element()).dpSetSelected(dt.asString()); $j(this.get_element()).dpSetStartDate(this.get_StartDate()); $j(this.get_element()).dpSetEndDate(this.get_EndDate()); //if (this.get_FromPicker()) { addOnClose = true; } if (addOnClose) { //$j(this.get_element()).bind('dpDisplay', this, Function.createDelegate(this, this.OnDisplay)); this.AddHandler(this.get_element(), 'focus', this.OnDisplay); $j(this.get_element()).bind('dpClosed', this, Function.createDelegate(this, this.OnClose)); } }, dispose: function () { // add code here Contensis.Web.UI.AjaxDatePicker.callBaseMethod(this, 'dispose'); }, OnImageClick: function (e, element) { $j(this.get_element()).dpDisplay(); return e.Kill(); }, LoadDates: function (selectedDates) { if (typeof (selectedDates) == 'undefined') { selectedDates = $j(this.get_element()).dpGetSelected(); } var d = selectedDates[0]; if (!d) { return; } var dt = new Date(d); if (this.get_ToPicker()) { $j(this.get_ToPicker().get_element()).dpSetStartDate(dt.addDays(1).asString()); if (Date.fromString(this.get_ToPicker().get_element().value) < dt) { this.get_ToPicker().get_element().value = dt.asString(); $j(this.get_ToPicker().get_element()).dpSetSelected(dt.asString()); } } }, OnClose: function (e, selectedDates) { this.LoadDates(selectedDates); }, OnDisplay: function () { if (this.get_element().value == '') { var dt = new Date(); $j(this.get_element()).dpSetSelected(dt.asString()); } else { //alert(this.get_element().value); // [Added by iG 15/10/2010] - To reset datepicker back to selected date after postback // Fixes issue of date picker resetting itself back to this month $j(this.get_element()).dpSetSelected(this.get_element().value); } } } Contensis.Web.UI.AjaxDatePicker.registerClass('Contensis.Web.UI.AjaxDatePicker', Contensis.Web.UI.BaseAjaxControl); if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();