UNPKG

ns-components-angular

Version:

Angular Wrapper Components for NSComponents

1 lines 58 kB
export declare const NSDatePickerCode = "var nsModuleExport = function(root,name,prototype)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\tmodule.exports[name] = prototype;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\tdefine(name,[], function () {return prototype;});\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\texports[name] = prototype;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\troot[name] = prototype;\r\n\t\t}\r\n\t};var nsIsWeb = function(root)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t};if(!nsIsWeb())\r\n\t\t{\r\nvar nsutilRef = require('./nsUtil.min.js');\r\nvar NSUtil = nsutilRef.NSUtil;\r\nvar nscontainerbaseRef = require('./nsContainerBase.min.js');\r\nvar nsExtendPrototype = nscontainerbaseRef.nsExtendPrototype;\r\nvar NSContainerBase = nscontainerbaseRef.NSContainerBase;\r\nvar svgRef = require('./nsSVG.min.js');\r\nvar NSSvg = svgRef.NSSvg;\r\nvar NSSvgShapes = svgRef.NSSvgShapes;\r\nvar plugginsRef = require('./nsPluggins.min.js');\r\nvar nsTextEditor = plugginsRef.nsTextEditor;\r\nvar nsTextAreaEditor = plugginsRef.nsTextAreaEditor;\r\nvar NSCellSelection = plugginsRef.NSCellSelection;\r\nvar NSTableCellNavigator = plugginsRef.NSTableCellNavigator;\r\nvar dateutilRef = require('./nsDateUtil.min.js');\r\nvar NSDateUtil = dateutilRef.NSDateUtil;\r\n\r\n\t\t}\r\nvar NSCalendar = (function()\r\n{\r\n\tfunction NSCalendar(component,setting) \r\n\t{\r\n\t\tthis.__setting = setting;\r\n\t\t\r\n\t\tthis.__context = window;\r\n\t\tthis.__inputDateFormat = \"MM/dd/yyyy\";\r\n\t\tthis.__minDate = null;\r\n\t\tthis.__maxDate = null;\r\n\t\tthis.__selectedDate = null;\r\n\t\tthis.__buttonSetting = {prev:{html:null,cssClass:null},next:{html:null,cssClass:null}, savetime: {html:null,cssClass:null}, canceltime: {html:null,cssClass:null}};\r\n\t\tthis.__customClass = {container:null,headerContainer:null,prevButton:null,nextButton:null,monthDropdown:null,yearDropdown:null,weekContainer:null,week:null,dayContainer:null,day:null,footerContainer:null};\r\n\t\tthis.__monthValueName = null;\r\n\t\tthis.__monthTextName = null;\r\n\t\tthis.__weekName = null;\r\n\t\tthis.__markDayDisabled = null;\r\n\t\tthis.__showFooter = false;\r\n\t\tthis.__footerContent = null;\r\n\t\tthis.__width = null;\r\n\t\tthis.__cellWidth = null;\r\n\t\t\r\n\t\tthis.__divContainer = null;\r\n\t\tthis.__divHeaderContainer = null;\r\n\t\tthis.__cmbMonth = null;\r\n\t\tthis.__cmbYear = null;\r\n\t\tthis.__divWeekContainer = null;\r\n\t\tthis.__divDayContainer = null;\r\n\t\tthis.__divDayBody = null;\r\n\t\tthis.__divTimeContainer = null;\r\n\t\tthis.__divFooterContainer = null;\r\n\t\tthis.__arrYear = [];\r\n\t\tthis.__lastSelectedCell = null;\r\n\t\tthis.__arrDayCells = []; \r\n\t\tthis.__minWidth = 240;\r\n\t\tthis.__minCellWidth = 32;\r\n\t\tthis.__showTime = false;\r\n\t\tthis.__timeSetting = {minHour: 0, maxHour: 23, minMinute: 0, maxMinute: 59, showSeconds: false, minSecond: 0, maxSecond: 59};\r\n\t\t\r\n\t\tthis.__dayClickHandlerRef = null;\r\n\t\t\r\n\t\tthis.base.__setBaseComponent.call(this,component);\r\n\t};\r\n\tnsExtendPrototype(NSContainerBase,NSCalendar);\r\n\tNSCalendar.prototype.varructor = NSCalendar;\r\n\t\r\n\tNSCalendar.prototype.initializeComponent = function() \r\n\t{\r\n\t\tthis.base.initializeComponent.call(this);\r\n\t\tthis.__setSetting();\r\n\t\tthis.__initDefault();\r\n\t\tthis.__injectClass();\r\n\t\tthis.__createComponent();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.setComponentProperties = function() \r\n\t{\r\n\t\tthis.base.setComponentProperties.call(this);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.propertyChange = function(attrName, oldVal, newVal, setProperty)\r\n\t{\r\n\t\tvar attributeName = attrName.toLowerCase();\r\n\t\tthis.base.propertyChange.call(this,attrName, oldVal, newVal, setProperty);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.removeComponent = function() \r\n\t{\r\n\t\tthis.base.removeComponent.call(this);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.componentResized = function(event) \r\n\t{\r\n\t\tthis.base.componentResized.call(this,event);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.getSelectedDate = function() \r\n\t{\r\n\t\treturn this.__selectedDate;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.getSelectedDateAsString = function(format) \r\n\t{\r\n\t\tif(this.__selectedDate)\r\n\t\t{\r\n\t\t\tvar nsDateUtil = new NSDateUtil();\r\n\t\t\treturn nsDateUtil.format(this.__selectedDate,format);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.setSelectedDate = function(date,format,fireEvent) \r\n\t{\r\n\t\tthis.__selectedDate = this.__formatInputDate(date,format);\r\n\t\tthis.__updateDaysInControl(this.__selectedDate);\r\n\t\tif(this.util.isUndefinedOrNull(fireEvent) || fireEvent)\r\n\t\t{\r\n\t\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTED,this.__selectedDate,{date:this.__selectedDate});\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.setYear = function(year) \r\n\t{\r\n\t\tthis.__setYearDropdown(year);\r\n\t\tthis.__dropDownChangeHandler();\r\n\t\tthis.__cmbMonth.selectedIndex = monthDate.getMonth();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.setMonth = function(month) \r\n\t{\r\n\t\tthis.__cmbMonth.selectedIndex = month;\r\n\t\tthis.__dropDownChangeHandler();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.reset = function() \r\n\t{\r\n\t\tthis.__selectedDate = null;\r\n\t\tvar todayDate = new Date();\r\n\t\tvar date = this.__maxDate < todayDate ? this.__maxDate : todayDate;\r\n\t\tthis.__updateDaysInControl(date);\r\n\t\tthis.__resetTimeInControl();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.setTodayDate = function(fireEvent) \r\n\t{\r\n\t\tthis.__selectedDate = new Date();\r\n\t\tthis.__updateDaysInControl(this.__selectedDate);\r\n\t\tif(this.util.isUndefinedOrNull(fireEvent) || fireEvent)\r\n\t\t{\r\n\t\t\t//for some reason __selectedDate time part is getting reset mostly in this.__updateDayCell function that is why resetting the date back\r\n\t\t\tif(this.__showTime) {\r\n\t\t\t\tthis.__selectedDate = this.__setTimePartInDate(this.__selectedDate);\r\n\t\t\t}\r\n\t\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTED,this.__selectedDate,{date:this.__selectedDate});\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__initDefault = function()\r\n\t{\r\n\t\tif(!this.__minDate)\r\n\t\t{\r\n\t\t\tthis.__minDate = new Date();\r\n\t\t\tthis.__minDate = this.__getDateObject(this.__minDate.getFullYear() - 15,0,1);\r\n\t\t}\r\n\t\tif(!this.__maxDate)\r\n\t\t{\r\n\t\t\tthis.__maxDate = new Date();\r\n\t\t\tthis.__maxDate = this.__getDateObject(this.__maxDate.getFullYear() + 15,0,1);\r\n\t\t}\r\n\t\tif(!this.__monthValueName || this.__monthValueName.length === 0)\r\n\t\t{\r\n\t\t\tthis.__monthValueName = [\"January\",\"Febuary\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\r\n\t\t}\r\n\t\tif(!this.__monthTextName || this.__monthTextName.length === 0)\r\n\t\t{\r\n\t\t\tthis.__monthTextName = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\r\n\t\t}\r\n\t\tif(!this.__weekName || this.__weekName.length === 0)\r\n\t\t{\r\n\t\t\tthis.__weekName = [\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"];\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__injectClass = function()\r\n\t{\r\n\t\tif(this.__width && this.__width > this.__minWidth)\r\n\t\t{\r\n\t\t\tthis.util.addCSSClassInDOM([\"#\" + this.getID() + \".nsCalendar\"],[\"width:\" + this.__width + \"px;\"]);\r\n\t\t\tif(!this.__cellWidth)\r\n\t\t\t{\r\n\t\t\t\tthis.__cellWidth = Math.floor(this.__width / 7);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(this.__cellWidth && this.__cellWidth > this.__minCellWidth)\r\n\t\t{\r\n\t\t\tthis.util.addCSSClassInDOM([\"#\" + this.getID() + \".nsCalendar .nsCalendarWeek\"],[\"width:\" + this.__cellWidth + \"px;\"]);\r\n\t\t\tthis.util.addCSSClassInDOM([\"#\" + this.getID() + \".nsCalendar .nsCalendarDayContainerCell\"],[\"width:\" + this.__cellWidth + \"px;\"]);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__setSetting = function()\r\n\t{\r\n\t\tif(!this.__setting)\r\n\t\t{\r\n\t\t\tthis.__setting = {};\r\n\t\t}\r\n\t\tvar setting = this.__setting;\r\n\t\tif(setting)\r\n\t\t{\r\n\t\t\tif(setting.hasOwnProperty(\"context\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__context = setting[\"context\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"inputDateFormat\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__inputDateFormat = setting[\"inputDateFormat\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"minDate\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__minDate = this.__formatInputDate(setting[\"minDate\"]);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"maxDate\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__maxDate = this.__formatInputDate(setting[\"maxDate\"]);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"selectedDate\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__selectedDate = this.__formatInputDate(setting[\"selectedDate\"]);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"monthValueName\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__monthValueName = setting[\"monthValueName\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"monthTextName\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__monthTextName = setting[\"monthTextName\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"weekName\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__weekName = setting[\"weekName\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"markDayDisabled\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__markDayDisabled = setting[\"markDayDisabled\"];\r\n\t\t\t\tthis.__markDayDisabled = this.util.getFunction(this.__markDayDisabled,this.__context);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"width\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__width = Number(setting[\"width\"]);\r\n\t\t\t\tif(isNaN(this.__width))\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.__width = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"cellWidth\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__cellWidth = Number(setting[\"cellWidth\"]);\r\n\t\t\t\tif(isNaN(this.__cellWidth))\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.__cellWidth = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"showFooter\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__showFooter = Boolean.parse(setting[\"showFooter\"]);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"showTime\")) \r\n\t\t\t{\r\n\t\t\t\tthis.__showTime = Boolean.parse(setting[\"showTime\"]); \r\n\t\t\t\t// or simply: this.__showTime = !!setting[\"showTime\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"timeSetting\") && setting[\"timeSetting\"]) \r\n\t\t\t{\r\n\t\t\t\tthis.__timeSetting = {...this.__timeSetting, ...setting[\"timeSetting\"]}; \r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"footerContent\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__footerContent = setting[\"footerContent\"];\r\n\t\t\t}\r\n\t\t\tif(this.__showFooter)\r\n\t\t\t{\r\n\t\t\t\tthis.__createFooter();\r\n\t\t\t\tthis.__baseComponent.appendChild(this.__divFooterContainer);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"theme\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__theme = setting[\"theme\"];\r\n\t\t\t}\r\n\t\t\tvar buttonSetting = {};\r\n\t\t\tif(setting.hasOwnProperty(\"buttonSetting\"))\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting = setting[\"buttonSetting\"];\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting = {};\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.prev)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.prev = {html:null,cssClass:null};\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.prev.html)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.prev.html = \"<svg height=\\\"24\\\" version=\\\"1.1\\\" viewbox=\\\"0 0 24 24\\\" width=\\\"24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"nsCalendarIcon nsCalendarHeaderButtonSvg\\\">\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\t\t\t\"<path d=\\\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\\\"></path>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\t\t \"</svg>\";\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.next)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.next = {html:null,cssClass:null};\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.next.html)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.next.html = \"<svg height=\\\"24\\\" version=\\\"1.1\\\" viewbox=\\\"0 0 24 24\\\" width=\\\"24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"nsCalendarIcon nsCalendarHeaderButtonSvg\\\">\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\t\t\t\"<path d=\\\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\\\"></path>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\t\t \"</svg>\";\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.savetime)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.savetime = {html:null,cssClass:null};\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.savetime.html)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.savetime.html = `<svg \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"nsCalendarIcon nsCalendarIconTime nsCalendarIconTimeSave\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Circle -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Checkmark -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"M9 12l2 2 4-4\"></path>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</svg>`;\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.canceltime)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.canceltime = {html:null,cssClass:null};\r\n\t\t\t}\r\n\t\t\tif(!buttonSetting.canceltime.html)\r\n\t\t\t{\r\n\t\t\t\tbuttonSetting.canceltime.html = `<svg \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\" \r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"nsCalendarIcon nsCalendarIconTime nsCalendarIconTimeCancel\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Circle -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Cross (X) -->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>`;\r\n\t\t\t}\r\n\t\t\tthis.__buttonSetting = {prev:{html:buttonSetting.prev.html,cssClass:buttonSetting.prev.cssClass},\r\n\t\t\t\t\t\t\t\t \tnext:{html:buttonSetting.next.html,cssClass:buttonSetting.next.cssClass},\r\n\t\t\t\t\t\t\t\t\tsavetime: {html:buttonSetting.savetime.html,cssClass:buttonSetting.savetime.cssClass},\r\n\t\t\t\t\t\t\t\t\tcanceltime: {html:buttonSetting.canceltime.html,cssClass:buttonSetting.canceltime.cssClass}\r\n\t\t\t\t\t\t\t\t };\r\n\t\t\t\r\n\t\t\tvar customClass = {};\r\n\t\t\tif(setting.hasOwnProperty(\"customClass\"))\r\n\t\t\t{\r\n\t\t\t\tcustomClass = setting[\"customClass\"];\r\n\t\t\t}\r\n\t\t\tif(!customClass)\r\n\t\t\t{\r\n\t\t\t\tcustomClass = {};\r\n\t\t\t}\r\n\t\t\tfor(var prop in this.__customClass)\r\n\t\t\t{\r\n\t\t\t\tthis.__customClass[prop] = (customClass[prop] || null);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__createComponent = function()\r\n\t{\r\n\t\tthis.util.addStyleClass(this.__baseComponent,\"nsCalendar\");\r\n\t\tthis.__applyTheme(this.__baseComponent,\"nsCalendar\");\r\n\t\tthis.__divContainer = this.util.createDiv(this.getID() + \"container\",\"nsCalendarContainer\");\r\n\t\tthis.__applyCustomClass(this.__divContainer,\"container\");\r\n\t\t\r\n\t\tthis.__createHeader();\r\n\t\tthis.__divContainer.appendChild(this.__divHeaderContainer);\r\n\t\tthis.__createWeek();\r\n\t\tthis.__divContainer.appendChild(this.__divWeekContainer);\r\n\t\tthis.__createDays();\r\n\t\tthis.__divContainer.appendChild(this.__divDayContainer);\r\n\t\tif(this.__showTime) {\r\n\t\t\tthis.__createTimePart();\r\n\t\t\tthis.__divContainer.appendChild(this.__divTimeContainer);\r\n\t\t}\r\n\t\tthis.__baseComponent.appendChild(this.__divContainer);\r\n\t\tif(this.__showFooter)\r\n\t\t{\r\n\t\t\tthis.__createFooter();\r\n\t\t\tthis.__baseComponent.appendChild(this.__divFooterContainer);\r\n\t\t}\r\n\t\tvar todayDate = new Date();\r\n\t\tvar date = this.__maxDate < todayDate ? this.__maxDate : todayDate;\r\n\t\tthis.__updateDaysInControl(date);\r\n\t};\t\r\n\t\r\n\tNSCalendar.prototype.__createHeader = function()\r\n\t{\r\n\t\tif(!this.__divHeaderContainer)\r\n\t\t{\r\n\t\t\tvar self = this;\r\n\t\t\tvar initButton = function(strID,cssClass,buttonSettingKey,customClassKey,handler)\r\n\t\t\t{\r\n\t\t\t\tvar btn = self.util.createElement(\"button\",self.getID() + \"btn\" + strID,cssClass);\r\n\t\t\t\tbtn.innerHTML = self.__buttonSetting[buttonSettingKey].html;\r\n\t\t\t\tself.util.addStyleClass(btn,self.__buttonSetting[buttonSettingKey].cssClass);\r\n\t\t\t\tself.__applyCustomClass(btn,customClassKey);\r\n\t\t\t\tself.util.addEvent(btn,\"click\",handler);\r\n\t\t\t\tself.__divHeaderContainer.appendChild(btn);\r\n\t\t\t};\r\n\t\t\tvar createSelect = function(parent,id,cssClass,customClassKey,arrText,arrValue)\r\n\t\t\t{\r\n\t\t\t\tvar select = self.util.createElement(\"select\",self.getID() + \"select\" + id,cssClass);\r\n\t\t\t\tself.__applyCustomClass(select,customClassKey);\r\n\t\t\t\tself.util.addEvent(select,\"change\",self.__dropDownChangeHandler.bind(self));\r\n\t\t\t\tself.util.addEvent(select,\"click\",self.__dropDownClickHandler.bind(self));\r\n\t\t\t\tfor (var count = 0; count < arrValue.length; count++) \r\n\t\t\t\t{\r\n\t\t\t\t var option = document.createElement(\"option\");\r\n\t\t\t\t option.text = arrText[count];\r\n\t\t\t\t option.value = arrValue[count];\r\n\t\t\t\t select.appendChild(option);\r\n\t\t\t\t}\r\n\t\t\t\tparent.appendChild(select);\r\n\t\t\t\treturn select;\r\n\t\t\t};\r\n\t\t\tthis.__divHeaderContainer = this.util.createDiv(this.getID() + \"header\",\"nsCalendarHeader\");\r\n\t\t\tthis.__applyCustomClass(this.__divHeaderContainer,\"headerContainer\");\r\n\t\t\tinitButton(\"previous\",\"nsCalendarButton\",\"prev\",\"prevButton\",this.__prevClickHandler.bind(this));\r\n\t\t\tvar divNavigation = this.util.createDiv(this.getID() + \"headerNavigation\",\"nsCalendarHeaderNav\");\r\n\t\t\tif(this.__monthValueName.length !== this.__monthTextName.length)\r\n\t\t\t{\r\n\t\t\t\tthis.__monthValueName = this.__monthTextName;\r\n\t\t\t}\r\n\t\t\tthis.__cmbMonth = createSelect(divNavigation,\"month\",\"nsCalendarSelect\",\"monthDropdown\",this.__monthTextName,this.__monthValueName);\r\n\t\t\tvar minYear = this.__minDate.getFullYear();\r\n\t\t\tvar maxYear = this.__maxDate.getFullYear();\r\n\t\t\tthis.__arrYear = [];\r\n\t\t\tfor(var count = minYear;count <= maxYear;count++)\r\n\t\t\t{\r\n\t\t\t\tthis.__arrYear.push(count);\r\n\t\t\t}\r\n\t\t\tthis.__cmbYear = createSelect(divNavigation,\"year\",\"nsCalendarSelect\",\"yearDropdown\",this.__arrYear,this.__arrYear);\r\n\t\t\tthis.__divHeaderContainer.appendChild(divNavigation);\r\n\t\t\tinitButton(\"next\",\"nsCalendarButton\",\"next\",\"nextButton\",this.__nextClickHandler.bind(this));\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__createWeek = function()\r\n\t{\r\n\t\tif(!this.__divWeekContainer)\r\n\t\t{\r\n\t\t\tthis.__divWeekContainer = this.util.createDiv(this.getID() + \"week\",\"nsCalendarWeekContainer\");\r\n\t\t\tthis.__applyCustomClass(this.__divWeekContainer,\"weekContainer\");\r\n\t\t\tfor(var count = 0;count < this.__weekName.length;count++)\r\n\t\t\t{\r\n\t\t\t\tvar divWeek = this.util.createDiv(null,\"nsCalendarWeek\");\r\n\t\t\t\tthis.__applyCustomClass(divWeek,\"week\");\r\n\t\t\t\tdivWeek.appendChild(document.createTextNode(this.__weekName[count]));\r\n\t\t\t\tthis.__divWeekContainer.appendChild(divWeek);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__createDays = function()\r\n\t{\r\n\t\tif(!this.__divDayContainer)\r\n\t\t{\r\n\t\t\tthis.__divDayContainer = this.util.createDiv(this.getID() + \"day\",\"nsCalendarDayContainer\");\r\n\t\t\tthis.__applyCustomClass(this.__divDayContainer,\"dayContainer\");\r\n\t\t\tthis.__divDayBody = this.util.createDiv(this.getID() + \"dayBody\",\"nsCalendarDayContainerBody\");\r\n\t\t\tvar handler = this.__dayClickHandler.bind(this);\r\n\t\t\tfor (var rowCount = 0;rowCount < 6;rowCount++) \r\n\t\t\t{ \r\n\t\t\t var row = this.__createDayRow(this.__divDayBody);\r\n\t\t\t for (var count = 0;count < 7;count++) \r\n\t\t\t { \r\n\t\t\t \tvar cell = this.__createDayCell(row,handler);\r\n\t\t\t \tvar item = {row:row,cell:cell};\r\n\t\t\t \tthis.__arrDayCells.push(item);\r\n\t\t\t }\t\t\t \r\n\t\t\t}\r\n\t\t\tthis.__divDayContainer.appendChild(this.__divDayBody);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__createDayRow = function(parent)\r\n\t{\r\n\t\tvar divDayRow = this.util.createDiv(null,\"nsCalendarDayContainerRow\");\r\n\t\tparent.appendChild(divDayRow);\r\n\t\treturn divDayRow;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__createDayCell = function(parent,handler)\r\n\t{\r\n\t\tvar divDay = this.util.createDiv(null,\"nsCalendarDayContainerCell\");\r\n\t\tthis.util.addEvent(divDay,\"click\",handler);\r\n\t\tparent.appendChild(divDay);\r\n\t\treturn divDay;\r\n\t};\r\n\r\n\tNSCalendar.prototype.__createTimePart = function() {\r\n\t\tif (this.__showTime) {\r\n\t\t\tthis.__divTimeContainer = this.util.createDiv(this.getID() + \"Time\",\"nsCalendarTimeContainer\");\r\n\t\t\tthis.__applyCustomClass(this.__divTimeContainer,\"timeContainer\");\r\n\r\n\t\t\tvar timePartContainer = this.util.createDiv(this.getID() + \"TimePartCon\",\"nsCalendarTimePartContainer\");\r\n\r\n\t\t\tvar timeLabelSpan = this.util.createElement(\"span\", null, \"nsCalendarTimeLabel\");\r\n\t\t\ttimeLabelSpan.appendChild(document.createTextNode(\"Time: \"));\r\n\t\t\ttimePartContainer.appendChild(timeLabelSpan);\r\n\r\n\t\t\tvar timeSetting = this.__timeSetting;\r\n\r\n var hourInput = this.__createTimeInput(\"hour\", \"nsCalendarHourInput\", timeSetting.minHour, timeSetting.maxHour);\r\n timePartContainer.appendChild(hourInput);\r\n\r\n\t\t\ttimePartContainer.appendChild(this.__createTimeSeparator());\r\n\r\n var minuteInput = this.__createTimeInput(\"minute\", \"nsCalendarMinuteInput\", timeSetting.minMinute, timeSetting.maxMinute);\r\n timePartContainer.appendChild(minuteInput);\r\n\r\n\t\t\tif(timeSetting.showSeconds) {\r\n\t\t\t\ttimePartContainer.appendChild(this.__createTimeSeparator());\r\n\r\n\t\t\t\tvar secondInput = this.__createTimeInput(\"second\", \"nsCalendarSecondInput\", timeSetting.minSecond, timeSetting.maxSecond);\r\n\t\t\t\ttimePartContainer.appendChild(secondInput);\r\n\t\t\t}\t\t\t\r\n\r\n\t\t\tthis.__divTimeContainer.appendChild(timePartContainer);\r\n\r\n\t\t\tvar timeSaveContainer = this.util.createDiv(this.getID() + \"TimePartSave\",\"nsCalendarTimeSaveContainer\");\r\n\t\t\ttimeSaveContainer.appendChild(this.__createTimeButton(\"Save\", null, \"savetime\", \"savetimebutton\", this.__savetimeClickHandler.bind(this)));\r\n\t\t\ttimeSaveContainer.appendChild(this.__createTimeButton(\"Cancel\", null, \"canceltime\", \"canceltimebutton\", this.__canceltimeClickHandler.bind(this)));\r\n\r\n\t\t\tthis.__divTimeContainer.appendChild(timeSaveContainer);\r\n }\r\n\t}\r\n\r\n\tNSCalendar.prototype.__savetimeClickHandler = function(event) {\r\n\t\tthis.__selectedDate = this.__setTimePartInDate(this.__selectedDate);\r\n\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTED,this.__selectedDate,{date:this.__selectedDate});\r\n\t};\r\n\r\n\tNSCalendar.prototype.__canceltimeClickHandler = function(event) {\r\n\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTION_CANCELLED);\r\n\t};\r\n\r\n\tNSCalendar.prototype.__createTimeInput = function(timePart,cssClass, minVal, maxVal) {\r\n\t\tvar timeInput = this.util.createElement(\"input\",this.getID() + \"_input_\" + timePart, \"nsCalendarTimeInput \" + cssClass);\r\n\t\ttimeInput.type = \"number\";\r\n\t\ttimeInput.min = minVal;\r\n\t\ttimeInput.max = maxVal;\r\n\t\ttimeInput.value = \"0\";\r\n\t\ttimeInput.size = 2; // Keep it small\r\n\t\ttimeInput.addEventListener(\"change\", this.__timeInputChangeHandler.bind(this));\r\n\t\ttimeInput.addEventListener(\"input\", this.__timeInputEnterInputHandler.bind(this));\r\n\t\treturn timeInput;\r\n\t}\r\n\r\n\tNSCalendar.prototype.__createTimeButton = function(strID, cssClass, buttonSettingKey, customClassKey, handler) {\r\n\t\tvar btn = this.util.createElement(\"button\",this.getID() + \"btn\" + strID,\"nsCalendarIconButton\" + (cssClass ? \" \" + cssClass : \"\"));\r\n\t\tbtn.innerHTML = this.__buttonSetting[buttonSettingKey].html;\r\n\t\tif(this.__timeSetting && this.__timeSetting.showSeconds) {\r\n\t\t\tvar child = btn.children[0];\r\n\t\t\tif(child) {\r\n\t\t\t\tthis.util.addStyleClass(child,\"nsCalendarIconTimeSmall\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.util.addStyleClass(btn,this.__buttonSetting[buttonSettingKey].cssClass);\r\n\t\tthis.__applyCustomClass(btn,customClassKey);\r\n\t\tthis.util.addEvent(btn,\"click\",handler);\r\n\t\treturn btn;\r\n\t}\r\n\r\n\tNSCalendar.prototype.__createTimeSeparator = function() {\r\n\t\tvar timeSeparatorSpan = this.util.createElement(\"span\", null, \"nsCalendarTimeSeparator\");\r\n\t\ttimeSeparatorSpan.appendChild(document.createTextNode(\" : \"));\r\n\t\treturn timeSeparatorSpan;\r\n\t}\r\n\r\n\tNSCalendar.prototype.__timeInputEnterInputHandler = function(event) {\r\n\t\tvar input = event.target;\r\n\t\tvar min = parseInt(input.min, 10);\r\n\t\tvar max = parseInt(input.max, 10);\r\n\t\tvar value = parseInt(input.value, 10);\r\n\t\tif (isNaN(value)) {\r\n\t\t\tvalue = 0;\r\n\t\t}\r\n\t\tif (value > max) {\r\n\t\t\tvalue = max;\r\n\t\t} else if (value < min) {\r\n\t\t\tvalue = min;\r\n\t\t}\r\n\t\tinput.value = this.__padTimeValue(value);\r\n\t}\r\n\r\n\tNSCalendar.prototype.__timeInputChangeHandler = function(event) {\r\n\t\tif (!this.__selectedDate) {\r\n\t\t\tthis.__selectedDate = new Date();\r\n\t\t}\r\n\t\t//this.__timeInputEnterInputHandler(event);\r\n\t\tthis.__selectedDate = this.__setTimePartInDate(this.__selectedDate);\r\n\t\t// Optionally fire an event or update the UI\r\n\t\t// This is up to you. E.g., if you want dateSelected to fire whenever time changes:\r\n\t\t// this.util.dispatchEvent(this.__baseComponent, NSCalendar.DATE_SELECTED, this.__selectedDate, { date: this.__selectedDate });\r\n\t};\r\n\r\n\tNSCalendar.prototype.__updateTimeInControl = function(date) {\r\n\t\tif (!this.__divTimeContainer) return;\r\n\t\tvar hourInput = this.__divTimeContainer.querySelector(\".nsCalendarHourInput\");\r\n\t\tvar minuteInput = this.__divTimeContainer.querySelector(\".nsCalendarMinuteInput\");\r\n\t\tvar secondInput = this.__divTimeContainer.querySelector(\".nsCalendarSecondInput\");\r\n\r\n\t\tif(hourInput) {\r\n\t\t\thourInput.value = this.__padTimeValue(date.getHours());\r\n\t\t}\r\n\t\tif(minuteInput) {\r\n\t\t\tminuteInput.value = this.__padTimeValue(date.getMinutes());\r\n\t\t}\r\n\t\tif(secondInput) {\r\n\t\t\tsecondInput.value = this.__padTimeValue(date.getSeconds());\r\n\t\t}\r\n\t};\r\n\r\n\tNSCalendar.prototype.__resetTimeInControl = function() {\r\n\t\tvar date = new Date();\r\n\t\tdate.setHours(0, 0, 0, 0);\r\n\t\tthis.__updateTimeInControl(date);\r\n\t}\r\n\r\n\tNSCalendar.prototype.__padTimeValue = function(value) {\r\n\t\tvar retVal = String(value).padStart(2, '0');\r\n\t\treturn retVal;\r\n\t}\r\n\r\n\tNSCalendar.prototype.__setTimePartInDate = function(date) {\r\n\t\tvar timeContainer = this.__divTimeContainer;\r\n\t\tif (!timeContainer || !date) {\r\n\t\t\treturn date;\r\n\t\t}\r\n\r\n\t\tvar hourInput = timeContainer.querySelector(\".nsCalendarHourInput\");\r\n\t\tvar minuteInput = timeContainer.querySelector(\".nsCalendarMinuteInput\");\r\n\t\tvar secondInput = timeContainer.querySelector(\".nsCalendarSecondInput\");\r\n\t\r\n\t\tvar newHour = parseInt(hourInput.value, 10) || 0;\r\n\t\tvar newMinute = minuteInput ? (parseInt(minuteInput.value, 10) || 0) : 0;\r\n\t\tvar newSecond = secondInput ? (parseInt(secondInput.value, 10) || 0) : 0;\r\n\t\tnewHour = Math.max(0, Math.min(this.__timeSetting.maxHour, newHour));\r\n\t\tnewMinute = Math.max(0, Math.min(this.__timeSetting.maxMinute, newMinute));\r\n\t\tnewSecond = Math.max(0, Math.min(this.__timeSetting.maxSecond, newSecond));\r\n\t\r\n\t\tdate.setHours(newHour, newMinute, newSecond, 0);\r\n\t\treturn date;\r\n\t}\r\n\t\r\n\tNSCalendar.prototype.__createFooter = function()\r\n\t{\r\n\t\tif(!this.__divFooterContainer)\r\n\t\t{\r\n\t\t\tthis.__divFooterContainer = this.util.createDiv(this.getID() + \"footer\",\"nsCalendarFooterContainer\");\r\n\t\t\tthis.__applyCustomClass(this.__divFooterContainer,\"footerContainer\");\r\n\t\t\tif(this.__footerContent)\r\n\t\t\t{\r\n\t\t\t\tif(this.util.isString(this.__footerContent))\r\n\t\t\t\t{\r\n\t\t\t\t\tvar compSpan = document.createElement(\"span\");\r\n\t\t\t\t\tcompSpan.innerHTML = this.__footerContent;\r\n\t\t\t\t\tthis.__divFooterContainer.appendChild(compSpan);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.__divFooterContainer.appendChild(this.__footerContent);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__updateDaysInControl = function(monthDate)\r\n\t{\r\n\t\tif(this.__isDateValidForNavigation(monthDate))\r\n\t\t{\r\n\t\t\tthis.__setYearDropdown(monthDate.getFullYear());\r\n\t\t\tthis.__cmbMonth.selectedIndex = monthDate.getMonth();\r\n\t\t\tvar today = new Date();\r\n\t\t\tvar date = new Date(monthDate.getFullYear(),monthDate.getMonth(),1,0,0,0,0); // Starting at the 1st of the month\r\n\t\t\tvar extras = (date.getDay() + 6) % 7; // How many days of the last month do we need to include?\r\n\t\t\tdate.setDate(date.getDate() - extras);\r\n\t\t\tvar item = null;\r\n\t\t\tfor(var count = 0;count < this.__arrDayCells.length;count++)\r\n\t\t\t{\r\n\t\t\t\titem = this.__arrDayCells[count];\r\n\t\t\t\tthis.__updateDayCell(item.cell,date,monthDate,today,count);\r\n\t\t\t\titem.date = new Date(date.getTime());\r\n\t\t\t\titem.index = count;\r\n\t\t\t date.setDate(date.getDate() + 1); \r\n\t\t\t}\r\n\t\t\tif (this.__showTime) \r\n\t\t\t{\r\n\t\t\t\tthis.__updateTimeInControl(monthDate);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__resetDayCell = function(cell)\r\n\t{\r\n\t\tif(cell)\r\n\t\t{\r\n\t\t\tcell.setAttribute(\"class\",\"\");\r\n\t\t\tthis.util.addStyleClass(cell,\"nsCalendarDayContainerCell\");\r\n\t\t\tthis.__applyCustomClass(cell,\"day\");\r\n\t\t\tcell.innerHTML = \"\";\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__updateDayCell = function(cell,dateToSet,currentMonthDate,todayDate,index)\r\n\t{\r\n\t\tif(cell)\r\n\t\t{\r\n\t\t\tthis.__resetDayCell(cell);\r\n\t\t\tcell.appendChild(document.createTextNode(dateToSet.getDate()));\r\n\t\t\tcell.setAttribute(\"data-ns-cal-index\",index);\r\n\t\t\tif(this.__isDateSelectable(dateToSet))\r\n\t\t\t{\r\n\t\t\t\tif (dateToSet.getMonth() != currentMonthDate.getMonth()) \r\n\t\t\t {\r\n\t\t\t \tthis.util.addStyleClass(cell,\"nsCalendarOtherMonth\");\r\n\t\t\t }\r\n\t\t\t\tif (this.__dateCompare(dateToSet,todayDate) === 0) \r\n\t\t\t {\r\n\t\t\t \tthis.util.addStyleClass(cell,\"nsCalendarToday\");\r\n\t\t\t }\r\n\t\t\t\tif (this.__dateCompare(dateToSet,this.__selectedDate) === 0) \r\n\t\t\t {\r\n\t\t\t\t\t//dont fire event as it is just to update the cell\r\n\t\t\t\t\tthis.__setCellSelection(dateToSet,cell,false);\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.util.addStyleClass(cell,\"nsCalendarDayDisabled\");\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__prevClickHandler = function(event)\r\n\t{\r\n\t\tevent = this.util.getEvent(event);\r\n\t\tevent.stopPropagation();\r\n\t\tvar month = this.__cmbMonth.selectedIndex; \r\n\t\tvar year = this.__cmbYear.options[this.__cmbYear.selectedIndex].value;\r\n\t\tvar date = this.__getDateObject(year,month,1);\r\n\t\tdate.setMonth(date.getMonth() - 1);\r\n\t\tthis.__updateDaysInControl(date);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__nextClickHandler = function(event)\r\n\t{\r\n\t\tevent = this.util.getEvent(event);\r\n\t\tevent.stopPropagation();\r\n\t\tvar month = this.__cmbMonth.selectedIndex; \r\n\t\tvar year = this.__cmbYear.options[this.__cmbYear.selectedIndex].value;\r\n\t\tvar date = this.__getDateObject(year,month,1);\r\n\t\tdate.setMonth(date.getMonth() + 1);\r\n\t\tthis.__updateDaysInControl(date);\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__dayClickHandler = function(event)\r\n\t{\r\n\t\tvar target = this.util.getTarget(event);\r\n\t\tif(!this.util.hasStyleClass(target,\"nsCalendarDayContainerCell\"))\r\n\t\t{\r\n\t\t\ttarget = this.util.findParentBySelector(target,\".nsCalendarDayContainerCell\");\r\n\t\t}\r\n\t\tif(target)\r\n\t\t{\r\n\t\t\tif(this.__lastSelectedCell)\r\n\t\t\t{\r\n\t\t\t\tthis.util.removeStyleClass(this.__lastSelectedCell,\"nsCalendarSelected\");\r\n\t\t\t}\r\n\t\t\tvar index = parseInt(target.getAttribute(\"data-ns-cal-index\"));\r\n\t\t\tif(this.util.hasStyleClass(target,\"nsCalendarOtherMonth\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__lastSelectedCell = null;\r\n\t\t\t\tvar item = this.__getItemByIndex(index);\r\n\t\t\t\tif(item && this.__isDateSelectable(item.date))\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.__selectedDate = item.date;\r\n\t\t\t\t\tthis.__setTimePartInDate(this.__selectedDate);\r\n\t\t\t\t\tthis.__updateDaysInControl(this.__selectedDate);\r\n\t\t\t\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTED,this.__selectedDate,{date:this.__selectedDate});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.__selectCellForIndex(index);\r\n\t\t\t}\r\n\t\t}\r\n\t\tevent.stopPropagation();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__dropDownChangeHandler = function(event)\r\n\t{\r\n\t\tevent = this.util.getEvent(event);\r\n\t\tvar month = this.__cmbMonth.selectedIndex; \r\n\t\tvar year = this.__cmbYear.options[this.__cmbYear.selectedIndex].value;\r\n\t\tvar date = this.__getDateObject(year,month,1);\r\n\t\tthis.__updateDaysInControl(date);\r\n\t\tevent.stopPropagation();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__dropDownClickHandler = function(event)\r\n\t{\r\n\t\tevent = this.util.getEvent(event);\r\n\t\tevent.stopPropagation();\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__selectCellForIndex = function(index)\r\n\t{\r\n\t\tthis.__selectedDate = null;\r\n\t\tvar item = this.__getItemByIndex(index);\r\n\t\tif(item)\r\n\t\t{\r\n\t\t\titem.date = this.__setTimePartInDate(item.date);\r\n\t\t\tthis.__setCellSelection(item.date,item.cell,true);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__setCellSelection = function(date,cell,fireEvent)\r\n\t{\r\n\t\tif(this.__isDateSelectable(date))\r\n\t\t{\r\n\t\t\tthis.__selectedDate = this.__cloneDateObject(date);\r\n\t\t\tif(fireEvent && !this.__showTime)\r\n\t\t\t{\r\n\t\t\t\tthis.util.dispatchEvent(this.__baseComponent,NSCalendar.DATE_SELECTED,this.__selectedDate,{date:this.__selectedDate});\r\n\t\t\t}\r\n\t\t\tif(cell)\r\n\t\t\t{\r\n\t\t\t\tthis.util.addStyleClass(cell,\"nsCalendarSelected\");\r\n\t\t\t\tthis.__lastSelectedCell = cell;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__clearCellSelectionExceptSelected = function() \r\n\t{\r\n\t\tif(this.__arrDayCells && this.__arrDayCells.length > 0)\r\n\t\t{\r\n\t\t\tfor(var count = 0;count < this.__arrDayCells.length;count++)\r\n\t\t\t{\r\n\t\t\t\tvar item = this.__arrDayCells[count];\r\n\t\t\t\tif(this.__lastSelectedCell != item.cell)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.util.removeStyleClass(item.cell,\"nsCalendarSelected\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__getItemByIndex = function(index)\r\n\t{\r\n\t\tif(index > -1)\r\n\t\t{\r\n\t\t\tvar item = {};\r\n\t\t\tfor(var count = 0;count < this.__arrDayCells.length;count++)\r\n\t\t\t{\r\n\t\t\t\titem = this.__arrDayCells[count];\r\n\t\t\t\tif(item.index === index)\r\n\t\t\t\t{\r\n\t\t\t\t\treturn item;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__dateCompare = function(date1,date2)\r\n\t{\r\n\t\tif(!date1 && !date2)\r\n\t\t{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif(!date1)\r\n\t\t{\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tif(!date2)\r\n\t\t{\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (date1.getDate() == date2.getDate() && date1.getMonth() == date2.getMonth() && date1.getFullYear() == date2.getFullYear())\r\n\t\t{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tvar tempDate1 = this.__dateWithoutTime(this.__cloneDateObject(date1));\r\n\t\tvar tempDate2 = this.__dateWithoutTime(this.__cloneDateObject(date2));\r\n\t\treturn (tempDate1.getTime() > tempDate2.getTime());\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__cloneDateObject = function(date)\r\n\t{\r\n\t\treturn this.__getDateObject(date.getFullYear(),date.getMonth(),date.getDate());\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__getDateObject = function(year,month,day)\r\n\t{\r\n\t\tvar date = new Date(year,month,day);\r\n\t\treturn date;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__isDateSelectable = function(date)\r\n\t{\r\n\t\tif(date)\r\n\t\t{\r\n\t\t\tvar tempDate = this.__dateWithoutTime(date);\r\n\t\t\tvar tempMinDate = this.__dateWithoutTime(this.__minDate);\r\n\t\t\tvar tempMaxDate = this.__dateWithoutTime(this.__maxDate);\r\n\t\t\tvar isMinCond = tempDate >= tempMinDate;\r\n\t\t\tvar isMaxCond = tempDate <= tempMaxDate;\r\n\t\t\tif(isMinCond && isMaxCond)\r\n\t\t\t{\r\n\t\t\t\tif(this.__markDayDisabled)\r\n\t\t\t\t{\r\n\t\t\t\t\treturn this.__markDayDisabled(date);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__dateWithoutTime = function(date)\r\n\t{\r\n\t\tvar tempDate = new Date(date);\r\n\t\ttempDate.setHours(0, 0, 0, 0);\r\n\t return tempDate;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__isDateValidForNavigation = function(date)\r\n\t{\r\n\t\tif(date && date.getFullYear() >= this.__minDate.getFullYear() && date.getFullYear() <= this.__maxDate.getFullYear())\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__applyCustomClass = function(element,type)\r\n\t{\r\n\t\tif(element && type && this.__customClass[type])\r\n\t\t{\r\n\t\t\tthis.util.addStyleClass(element,this.__customClass[type]);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSCalendar.prototype.__formatInputDate = function(inputValue,format)\r\n\t{\r\n\t\tformat = format ? format : this.__inputDateFormat;\r\n\t\tif(inputValue)\r\n\t\t{\r\n\t\t\tif(Object.prototype.toString.call(inputValue) === '[object Date]')\r\n\t\t\t{\r\n\t\t\t\treturn inputValue;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar nsDateUtil = new NSDateUtil();\r\n\t\t\t\treturn nsDateUtil.parseString(inputValue,format);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t\r\n\t//IE issue \r\n\tNSCalendar.prototype.__setYearDropdown = function(year)\r\n\t{\r\n\t\t//this.__cmbYear.selectedIndex = this.__cmbYear.querySelector('option[value=\"'+ monthDate.getFullYear() +'\"]').index;\r\n\t\tthis.__cmbYear.querySelector('option[value=\"'+ year +'\"]').selected = \"selected\";\r\n\t};\r\n\t\r\n\tNSCalendar.DATE_SELECTED = \"dateSelected\";\r\n\tNSCalendar.DATE_SELECTION_CANCELLED = \"dateSelectionCancelled\";\r\n\t\r\n\treturn NSCalendar;\r\n})();\r\nnsModuleExport(this,\"NSCalendar\",NSCalendar);var NSDatePicker = (function()\r\n{\r\n\tfunction NSDatePicker(component,setting) \r\n\t{\r\n\t\tthis.__setting = setting;\r\n\t\t\r\n\t\tthis.__context = window;\r\n\t\tthis.__dateOutputFormat = \"MM/dd/yyyy\";\r\n\t\tthis.__placeHolder = null;\r\n\t\tthis.__buttonHtml = null;\r\n\t\tthis.__enableTextBoxDisabled = false;\r\n\t\tthis.__customClass = {container:null,textInput:null,button:null,calContainer:null,calHeaderContainer:null,calPrevButton:null,calNextButton:null,calMonthDropdown:null,calYearDropdown:null,calWeekContainer:null,calWeek:null,calDayContainer:null,calDay:null,calFooterContainer:null};\r\n\t\tthis.__calendarPos = null;\r\n\t\tthis.__calendarWidth = null;\r\n\t\tthis.__calendarCellWidth = null;\r\n\t\tthis.__isAbsolutePosition = true;\r\n\t\t\r\n\t\tthis.__divContainer = null;\r\n\t\tthis.__txtBox = null;\r\n\t\tthis.__btnActivate = null;\r\n\t\tthis.__divCalContainer = null;\r\n\t\tthis.__nsPopUp = null;\r\n\t\tthis.__maxZIndex = 0;\r\n\t\t\r\n\t\tthis.__nsCalendar = null;\r\n\t\t\r\n\t\tthis.__documentMouseDownRef = null;\r\n\t\t\r\n\t\tthis.base.__setBaseComponent.call(this,component);\r\n\t};\r\n\tnsExtendPrototype(NSContainerBase,NSDatePicker);\r\n\tNSDatePicker.prototype.constructor = NSDatePicker;\r\n\t\r\n\tNSDatePicker.prototype.initializeComponent = function() \r\n\t{\r\n\t\tthis.base.initializeComponent.call(this);\r\n\t\tthis.__setSetting();\r\n\t\tthis.__initDefault();\r\n\t\tthis.__createComponent();\r\n\t\tthis.__maxZIndex = this.util.getMaxZIndex();\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.setComponentProperties = function() \r\n\t{\r\n\t\tthis.base.setComponentProperties.call(this);\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.propertyChange = function(attrName, oldVal, newVal, setProperty)\r\n\t{\r\n\t\tvar attributeName = attrName.toLowerCase();\r\n\t\tthis.base.propertyChange.call(this,attrName, oldVal, newVal, setProperty);\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.removeComponent = function() \r\n\t{\r\n\t\tthis.__removeDocumentMosueHandler();\r\n\t\tthis.__removePopUp();\r\n\t\tthis.base.removeComponent.call(this);\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.componentResized = function(event) \r\n\t{\r\n\t\tthis.__hideCalendar();\r\n\t\tthis.base.componentResized.call(this,event);\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.getSelectedDate = function() \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\treturn this.__nsCalendar.getSelectedDate();\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.getSelectedDateAsString = function(format) \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\treturn this.__nsCalendar.getSelectedDateAsString(format);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.setSelectedDate = function(date,format,fireEvent) \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\tthis.__nsCalendar.setSelectedDate(date,format,fireEvent);\r\n\t\t}\r\n\t\tif(date)\r\n\t\t{\r\n\t\t\tthis.__setTextInput(this.getSelectedDate());\r\n\t\t}\r\n\t\telse \r\n\t\t{\r\n\t\t\tthis.__txtBox.value = \"\";\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.setYear = function(year) \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\tthis.__nsCalendar.setYear(year);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.setMonth = function(month) \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\tthis.__nsCalendar.setMonth(month);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.reset = function() \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\tthis.__nsCalendar.reset();\r\n\t\t}\r\n\t\tthis.__setTextInput();\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.setTodayDate = function() \r\n\t{\r\n\t\tif(this.__nsCalendar)\r\n\t\t{\r\n\t\t\tthis.__nsCalendar.setTodayDate();\r\n\t\t}\r\n\t\t//this.__setTextInput(new Date());\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.showCalendar = function(isAbsolutePosition) \r\n\t{\r\n\t\tthis.__showCalendar(null, isAbsolutePosition);\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.closeCalendar = function() \r\n\t{\r\n\t\tthis.__hideCalendar();\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.toggleCalendarVisibility = function() \r\n\t{\r\n\t\tthis.__toggleCalendarVisibility();\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.getCalendar = function() \r\n\t{\r\n\t\treturn this.__nsCalendar;\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.getTextBox = function() \r\n\t{\r\n\t\treturn this.__txtBox;\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.getText = function() \r\n\t{\r\n\t\treturn this.__txtBox.value;\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.__setSetting = function()\r\n\t{\r\n\t\tif(!this.__setting)\r\n\t\t{\r\n\t\t\tthis.__setting = {};\r\n\t\t}\r\n\t\tvar setting = this.__setting;\r\n\t\tif(setting)\r\n\t\t{\r\n\t\t\tif(setting.hasOwnProperty(\"context\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__context = setting[\"context\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"dateOutputFormat\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__dateOutputFormat = setting[\"dateOutputFormat\"];\r\n\t\t\t}\r\n\t\t\telse if(setting.hasOwnProperty(\"showTime\") && Boolean.parse(setting[\"showTime\"])) {\r\n\t\t\t\tthis.__dateOutputFormat += \" HH:mm\";\r\n\t\t\t\tif(setting.hasOwnProperty(\"timeSetting\") && setting[\"timeSetting\"].showSeconds) {\r\n\t\t\t\t\tthis.__dateOutputFormat += \":ss\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"placeHolder\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__placeHolder = setting[\"placeHolder\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"buttonHtml\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__buttonHtml = setting[\"buttonHtml\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"enableTextBoxDisabled\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__enableTextBoxDisabled = Boolean.parse(setting[\"enableTextBoxDisabled\"]);\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"calendarPos\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__calendarPos = setting[\"calendarPos\"];\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.__calendarPos = this.util.POS_BOTTOMRIGHT;\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"calendarWidth\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__calendarWidth = setting[\"calendarWidth\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"calendarCellWidth\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__calendarCellWidth = setting[\"calendarCellWidth\"];\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"isAbsolutePosition\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__isAbsolutePosition = Boolean.parse(setting[\"isAbsolutePosition\"]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.__isAbsolutePosition = true;\r\n\t\t\t}\r\n\t\t\tif(setting.hasOwnProperty(\"theme\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__theme = setting[\"theme\"];\r\n\t\t\t}\r\n\t\t\tvar customClass = {};\r\n\t\t\tif(setting.hasOwnProperty(\"customClass\"))\r\n\t\t\t{\r\n\t\t\t\tcustomClass = setting[\"customClass\"];\r\n\t\t\t}\r\n\t\t\tif(!customClass)\r\n\t\t\t{\r\n\t\t\t\tcustomClass = {};\r\n\t\t\t}\r\n\t\t\tfor(var prop in this.__customClass)\r\n\t\t\t{\r\n\t\t\t\tthis.__customClass[prop] = (customClass[prop] || null);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSDatePicker.prototype.__initDefault = function()\r\n\t{\r\n\t\tif(!this.__buttonHtml)\r\n\t\t{\r\n\t\t\tthis.__buttonHtml = \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" \\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t width=\\\"16px\\\" height=\\\"16px\\\" viewBox=\\\"0 0 36.447 36.447\\\" >\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"<g>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t<g>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<path d=\\\"M30.224,3.948h-1.098V2.75c0-1.517-1.197-2.75-2.67-2.75c-1.474,0-2.67,1.233-2.67,2.75v1.197h-2.74V2.75\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc0-1.517-1.197-2.75-2.67-2.75c-1.473,0-2.67,1.233-2.67,2.75v1.197h-2.74V2.75c0-1.517-1.197-2.75-2.67-2.75\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc-1.473,0-2.67,1.233-2.67,2.75v1.197H6.224c-2.343,0-4.25,1.907-4.25,4.25v24c0,2.343,1.907,4.25,4.25,4.25h24\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc2.344,0,4.25-1.907,4.25-4.25v-24C34.474,5.855,32.567,3.948,30.224,3.948z M25.286,2.75c0-0.689,0.525-1.25,1.17-1.25\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc0.646,0,1.17,0.561,1.17,1.25v4.896c0,0.689-0.524,1.25-1.17,1.25c-0.645,0-1.17-0.561-1.17-1.25V2.75z M17.206,2.75\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc0-0.689,0.525-1.25,1.17-1.25s1.17,0.561,1.17,1.25v4.896c0,0.689-0.525,1.25-1.17,1.25s-1.17-0.561-1.17-1.25V2.75z M9.125,2.75\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\tc0-0.689,0.525-1.25,1.17-1.25s1.17,0.561,1.17,1.25v4.896c0,0.689-0.525,1.25-1.17,1.25s-1.17-0.561-1.17-1.25V2.75z\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t\t M31.974,32.198c0,0.965-0.785,1.75-1.75,1.75h-24c-0.965,0-1.75-0.785-1.75-1.75v-22h27.5V32.198z\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"6.724\\\" y=\\\"14.626\\\" width=\\\"4.595\\\" height=\\\"4.089\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"12.857\\\" y=\\\"14.626\\\" width=\\\"4.596\\\" height=\\\"4.089\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"18.995\\\" y=\\\"14.626\\\" width=\\\"4.595\\\" height=\\\"4.089\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"25.128\\\" y=\\\"14.626\\\" width=\\\"4.596\\\" height=\\\"4.089\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"6.724\\\" y=\\\"20.084\\\" width=\\\"4.595\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"12.857\\\" y=\\\"20.084\\\" width=\\\"4.596\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"18.995\\\" y=\\\"20.084\\\" width=\\\"4.595\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"25.128\\\" y=\\\"20.084\\\" width=\\\"4.596\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"6.724\\\" y=\\\"25.54\\\" width=\\\"4.595\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"12.857\\\" y=\\\"25.54\\\" width=\\\"4.596\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"18.995\\\" y=\\\"25.54\\\" width=\\\"4.595\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t\t<rect x=\\\"25.128\\\" y=\\\"25.54\\\" width=\\\"4.596\\\" height=\\\"4.086\\\"/>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"\t</g>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"</g>\\r\\n\" + \r\n\t\t\t\t\t\t\t\t\"</svg>\";\r\n\t\t}\r\n\t};\r\n\t\r\n