From be773547bfa58237d774cd58fe937a75539f5a49 Mon Sep 17 00:00:00 2001 From: Stephen Downward Date: Mon, 20 Feb 2017 15:40:51 -0400 Subject: [PATCH] Added date range selection --- css/jquery-ui.min.css | 7 +++++++ img/ui-icons_444444_256x240.png | Bin 0 -> 7006 bytes img/ui-icons_555555_256x240.png | Bin 0 -> 7074 bytes img/ui-icons_777620_256x240.png | Bin 0 -> 4676 bytes img/ui-icons_777777_256x240.png | Bin 0 -> 7013 bytes img/ui-icons_cc0000_256x240.png | Bin 0 -> 4632 bytes img/ui-icons_ffffff_256x240.png | Bin 0 -> 6313 bytes index.html | 4 ++++ js/calc.js | 9 ++++----- js/jquery-ui.min.js | 7 +++++++ js/main.js | 17 ++++++++++++++++- 11 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 css/jquery-ui.min.css create mode 100644 img/ui-icons_444444_256x240.png create mode 100644 img/ui-icons_555555_256x240.png create mode 100644 img/ui-icons_777620_256x240.png create mode 100644 img/ui-icons_777777_256x240.png create mode 100644 img/ui-icons_cc0000_256x240.png create mode 100644 img/ui-icons_ffffff_256x240.png create mode 100644 js/jquery-ui.min.js diff --git a/css/jquery-ui.min.css b/css/jquery-ui.min.css new file mode 100644 index 0000000..d579a4f --- /dev/null +++ b/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2017-02-20 +* http://jqueryui.com +* Includes: core.css, datepicker.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("../img/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("../img/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("../img/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("../img/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("../img/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("../img/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("../img/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} diff --git a/img/ui-icons_444444_256x240.png b/img/ui-icons_444444_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..c2daae1663d47f397a01fd4166bce9b6b9ac4183 GIT binary patch literal 7006 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 W$6)X8PycD00qQC`%4LeS5&s7ix^mY5 literal 0 HcmV?d00001 diff --git a/img/ui-icons_777620_256x240.png b/img/ui-icons_777620_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f58d25581c605a5538fa50408fe09c4a30740d GIT binary patch literal 4676 zcmeHLXIGO=x4!QrKte|l1W^dROD~~?UZe>qo;iKbfws&ZYz}e_U?J)0XJg#<^GX%Rl1M9Hu8p??%RlI=_7# zbr}mHGxX(nA1I5lb9Y4!&Xva5_B&1}ZMaxx{n&0KgPyq^o5eF}ChN=X$=2WvU@nK%!fiQ@{&~NNE!l2(?!- za>~@^;xnX^@y=y_{K#^FLP^?~^7ZuGE1Gj#_S;3IBGDI_^l?yP3mPBo@>YK*f^9u78oyZI= zUvPsB%r=5qD&Kjb<&?0qYRh?ATER!Yb?#=3IU}?lZH=ir)FE`+Q_cZk0i)j(WUZu1 z>JW~38kdt?8s-w8TL`^InlmYcVB!8`(W=nvVFn_6f2FuvImA4uH^!p9Sb@-YQ~UD3 znm)d;iaKf)^wTmNX})4CaRCFXqL**rloBcjjq$?ot=|U9o^v^=+b2Hov%6xX)}@C* zFw;U5Yq?t`ZHay($s^ZnnG8RVMe+NLvt#sTmv8Lv0vg)2D4N?h1`8o9|CMnarEblo z$JDEv+!5Gv;2=!wP0!@J*kfg2)q^TSbT$Y?J$(-q{VE_#*(2xK!k0?%-jmOaD-T1xbD*G=svo*y> z)nC&B^j%c$ZBz^`BvIGBfPAT2Z8c^%n2W5f^H~OrIU+)Qs4C6e!)SytlT(ZNZdc!r z*LBuegHDr}rm|$7xH{p;K*^*@)=OaA>zQ^R4-M+ZW5KNXg4Un6So%h0f}-Qr^I7R! zW~v0aJS+W@&!RBqZ)HtQBvbA`X*jyyl#R&wx)@L5n_Xw zg0i>D?cY?#jBj@9{*@gr&m*?QG}_3kBbF{rX?pc2uk5C$e8ODu;cSi>)_g(`eoIun-2==I-nKJf>7y%1eRzV0=${;fCy@tb`Xfv;AyQbaNe+a zO+Jjj^aSe{@r-xgCWYfHtx^#ZD7op)x)Rnl#Wfk^-9i9~Y;WkeKIl9s8tE#)+?2=&CXDbL zuNrVLb2zm8;aPI(y`4PG9*F>&gW8wRm5xJpHixg_Lvy=!nukaMyd@=;l_I*8iaNwW z_qf@!Pkm@bX%jymNF@wGurbb)5Kq{iI}u2CT-wH!wXo!K!q7(XEd7=&tGVbFc$HsE zNW3MV6=ciY`Of6P+Y(NfXikW@EzlcSKomg)+XCv97Q>V0Pjb@y7hRqoL|eVxPQ6pu8?PpMn$qrtL=5%7{{HAiRP34xw81TwclkUvFSYH#cVdIl#RbIysxBg)hfB72kMTR11v8gxlp;1Oc~{rlaVj z!PnnEQ>YVLVaWj4KpjW0HsBCIB7{oT2u24{PEZ#ia>&5A<0-bDl*&RQ{19d3Uic(T;75GpeSsqctuyJQt6iO@ zwb>25l8z7|E5O(u@bZzKiADeNh@K(j!I+X!&jDe4Q!x?_@{o4#eB60)T+jd~FtjI8 zS=>rWN+OtM+M#PTxjzNs;A}Oy_>ME*65QxF?{?Q=?oP94>liv7T-{FCyMz70rA zV2XG5nFp-*uYfMWw-Ny#@Ow<$A-fFcS8i39t4Uh-7c0#5I?XV9K$uq^7KBrwSukBl z#DDgyEUVaok{D)yYT%IAYkTtG=S7m3?8y>!MG$7_sGeDqJ&i6CA0KzUoXJj6a-esC|+S%V7-PWJ@noeQQfKZhBX}?1zz6 zE!H&5CM)4UVcC2my5ggkubI@xZp9JJUU?}0yxzroNn=dk|8Xc-lTXWgm}278V)brT z0a{Z9`R*;No?9JEWs}u=H0YHf?kVM8uwFJB7QeadfN#)^ov)XCL;j=`SnPyD<*9f; zV)$G3f|6t-3*|DWiRVkI6AoS}v$u3?uiMhP>aagM-Xr-7yd;~KRxoPMuh|6q2ldRl zd6s&wzZ(%}H^p`#L~Ll7!To@#*q}Kfd&N&B(Vq31j*u9p*bJxGPFk_i!XD*=jOuOR zsreViYkg5Zftz8H#gQ1;O{Nbj*Q4B9S77qB1`>arTMsT7>q<8@+UjkJOkDHbIJRG zI*rn=uB#}!MP6KW>Ob&uu0A^xeW;avv7{<o*`V9wANmB zJXT^rvu^DwrSru8db`nYf!6r8!6i(%tG|-}%teOwLWH5-JL`XZoK&q=Ws>nUK9!70 z_15L5w4D*O$u7xmxH(pwl~BHG{^i($co<-HTxP4luHGkP3@2*^2h=DNv zsH9nO$}gw)gVVWz0=Vcc45baht#DT3O4IpQ>8FIBX8$Q?75j=5VTW;MAHA)0I2EO# z1b@Ea_uIAFwviH49bw3*CXpY~`tc4I5OF3-mOE`k8F62QH15Or{G7$%qP{Zj@@{xh z>ZN@WT!tWqLJvDq3xPb*)+hYbvw6_O?;k%R@-Wm(u0fOLah|iBX%z3J+B}n;_=kDm ze2cXl@FD$hbn*}qO)r)zGV=(Ed5%X^O?F7Zm`l2vVy_*6S#t3U^y07Pjb3JDAe zr0fR%a&^#^@wFb}wYrS6i^e=@;;D+}R*Q|ncP#O>yQU7_0P_D`51}z6> zrZUq_#IRDu z7+UFdwb2^1_J>r;gO!iDJN>JEv%GtD+h2Wv&N?v%_pHBhw-8y8P3vTE&uaA6uJBWi zV1Ksx1xd>c$4Bj}ZN4GlSqgPVkRS8}?WJt}IS(G82-otjPJx#eo{?*xGz?=?c5h0y zG%3n{t~EqEPH#?_qRkT3T5qHbSCJJVmK|;>w-%uMd5Z8JjAE{T-|#ou1_a4HgKQb@ zYPseI=H|obpdwC>MX?bTh=?@Vc`|JfZczpEdXOuBXTx_}qfeKXg_=GFrAc+0NMchS zrp;DYe${1F&Yush%B-a9{JwT;m*;DZgxZO7ZuHWy&tIzPc5?F56h@5TS#G#p!|4>$ zg@rvQlUVu-0A99pFg9<|zKnFs-7h@^?FIXS%$$iCf3v8?JVBjmomwr339Sj_)0=1g zUF-j>4AN7B%K5D5TYAmsFc&{e!odS+X+eT5`8mq&_}q+!4W~57pK9iOkKsmstR_Yf zqUZ&Rvs5|L5!blU)w?Q~4s)=1s(QW@%~a)}$@?d-m<{frT>P$QaOebTYUp|@JVITv&=uyg~l@6QZ}CJJ7G`CBDyi`Jhk$O&I=|@{q+9-)#4yf3@zxQ6gJf z!hsA&_ksWFyte+Eg`>Cj|FlK%QWU!DoC69xZDb$)L`O5=R;E0@z5C4{o%F%VqI7+q z8^*?SFKcbIu#yHLaOb^6@6pQTSaN}Jw$1&Mf-@Gj_)eMTIUh$`uF?lAV7jrq(3IuI z1^q6$pp?GG9t;+qT67Cfr-VoY)6&zn-#AGbEM>5b9CJt=C2n7ijCCyNty}n;IiYSf z^Dy6EM!u*G9^ZTa2|2J2)s|J)AH5bZ?r5VDK`ClWz3PU`sChL}+f)(EymNxLc^_}D zakY8ITQJ+eJ9TIA9=$bt-;NFHUAVqFtopau|ncc zSaxHRqAXWhG$7BG{)lP}>G2vh6{R+yYm^3s{_vy|9NS} z^&V_!$=D}nzp;nwE5>yX|6;?(r}msXN$$Z-rl0%Jj-ONlz%h)?$yRGd7(JkgBL-&j z7{M>*FvE70vQ5ax4$~}>q@jK=`$Uxa-;%95Kwz<(61V4FCWD literal 0 HcmV?d00001 diff --git a/img/ui-icons_777777_256x240.png b/img/ui-icons_777777_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..1d532588b989c5fd03e7a63f7e829b017c35d3cf GIT binary patch literal 7013 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 ZrDX-T^mH1q5`RzvpbBd8WwK_0{|mNJD+vGq literal 0 HcmV?d00001 diff --git a/img/ui-icons_cc0000_256x240.png b/img/ui-icons_cc0000_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..2825f2004d10b413a76317d47384e6139abcbe00 GIT binary patch literal 4632 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 Hjt~C}Fe}Pt literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 36635ff..f8be42f 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,9 @@ Multipoint Satellite Tracker + + @@ -35,6 +37,8 @@ Click on the map to add a point
Time zone: {{getTimezone()}}

+ From + to


diff --git a/js/calc.js b/js/calc.js index 140e84c..b67700d 100644 --- a/js/calc.js +++ b/js/calc.js @@ -5,7 +5,7 @@ self.addEventListener('message', function(e) { //as it is arranged into groups by satallite. Below fixes that //Make new array equal to all the old array.passes - var passes = calcSatellites(e.data.coords, e.data.satellites).map(function(a) { + var passes = calcSatellites(e.data.coords, e.data.satellites, e.data.fromDate, e.data.toDuration).map(function(a) { //Add satellite names to each pass a.passes.map(function(b) { b.name = a.name; @@ -28,7 +28,7 @@ function flatten(arr) { }, []); } -function calcSatellites(ground_coords, satellites) { +function calcSatellites(ground_coords, satellites, from, duration) { //Convert coords to radians var ground_coords_rad = []; @@ -41,7 +41,6 @@ function calcSatellites(ground_coords, satellites) { } var viableSats = []; - var currentTimestamp = new Date(); for(var i = 0; i < satellites.length; i++) { //Satellites if(satellites[i].enabled && satellites[i].satrec.error === 0) { @@ -50,8 +49,8 @@ function calcSatellites(ground_coords, satellites) { var time_start = 0; var pointStats = []; - for(var secondsFromNow = 0; secondsFromNow < 604800; secondsFromNow += 30) { //Up to a week in the future, in 30 second increments - var timeToProgressTo = new Date(currentTimestamp.getTime() + (secondsFromNow * 1000)); + for(var secondsFrom = 0; secondsFrom < duration; secondsFrom += 30) { //Time incremental + var timeToProgressTo = new Date(from.getTime() + (secondsFrom * 1000)); //console.log(satellites[i].satrec.error); var viableTime = true; diff --git a/js/jquery-ui.min.js b/js/jquery-ui.min.js new file mode 100644 index 0000000..69ee97e --- /dev/null +++ b/js/jquery-ui.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2017-02-20 +* http://jqueryui.com +* Includes: keycode.js, widgets/datepicker.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=s(t("

"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,n)}function n(){t.datepicker._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function o(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.ui=t.ui||{},t.ui.version="1.12.1",t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.extend(t.ui,{datepicker:{version:"1.12.1"}});var a;t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return o(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("
")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t(""+a+""),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,a){var r,l,h,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),o(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(l=document.documentElement.clientWidth,h=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+c,h/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),a===n&&(a=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,a,r,l,h=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):h?"all"===i?t.extend({},h.settings):this._get(h,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),h&&(this._curInst===h&&this._hideDatepicker(),a=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(h,"min"),l=this._getMinMaxDate(h,"max"),o(h.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(h.settings.minDate=this._formatDate(h,r)),null!==l&&void 0!==n.dateFormat&&void 0===n.maxDate&&(h.settings.maxDate=this._formatDate(h,l)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),h),this._autoSize(h),this._setDate(h,a),this._updateAlternate(h),this._updateDatepicker(h)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(i){if(i=i.target||i,"input"!==i.nodeName.toLowerCase()&&(i=t("input",i.parentNode)[0]),!t.datepicker._isDisabledDatepicker(i)&&t.datepicker._lastInput!==i){var s,n,a,r,l,h,c;s=t.datepicker._getInst(i),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),a=n?n.apply(i,[i,s]):{},a!==!1&&(o(s.settings,a),s.lastVal=null,t.datepicker._lastInput=i,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(i.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(i),t.datepicker._pos[1]+=i.offsetHeight),r=!1,t(i).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),l={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),l=t.datepicker._checkOffset(s,l,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:l.left+"px",top:l.top+"px"}),s.inline||(h=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",e(t(i))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?s.dpDiv.show(h,t.datepicker._get(s,"showOptions"),c):s.dpDiv[h||"show"](h?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),o=s[1],r=17,l=e.dpDiv.find("."+this._dayOverClass+" a");l.length>0&&n.apply(l.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),o>1&&e.dpDiv.addClass("ui-datepicker-multi-"+o).css("width",r*o+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),h=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>l&&l>n?Math.abs(i.left+n-l):0),i.top-=Math.min(i.top,i.top+o>h&&h>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,l=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(l).match(o);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(l,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],l+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+l},x=function(){if(i.charAt(l)!==e.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>l&&(a=i.substr(l),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},h=function(t,e,i){var s=""+e;if(l(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return l(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||l("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=h("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=h("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=h("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=l("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":l("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),l=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,h=l.exec(i);h;){switch(h[2]||"d"){case"d":case"D":r+=parseInt(h[1],10);break;case"w":case"W":r+=7*parseInt(h[1],10);break;case"m":case"M":a+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}h=l.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,l,h,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,T,I,P,M,S,H,N,A,z,O,E,W,F,L,R=new Date,Y=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),B=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),J=this._getMinMaxDate(t,"min"),Q=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),Q)for(e=this._daylightSavingAdjust(new Date(Q.getFullYear(),Q.getMonth()-U[0]*U[1]+1,Q.getDate())),e=J&&J>e?J:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:Y,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,l=t.inline?"":"",h=j?"
"+(B?l:"")+(this._isInRange(t,r)?"":"")+(B?"":l)+"
":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),T=" ui-corner-all",I="",X){if(I+="
"}for(I+="
"+(/all|left/.test(T)&&0===k?B?o:s:"")+(/all|right/.test(T)&&0===k?B?s:o:"")+this._generateMonthYearHeader(t,Z,te,J,Q,k>0||C>0,f,g)+"
"+"",P=u?"":"",w=0;7>w;w++)M=(w+c)%7,P+="";for(I+=P+"",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,N=Math.ceil((H+S)/7),A=X?this.maxRows>N?this.maxRows:N:N,this.maxRows=A,z=this._daylightSavingAdjust(new Date(te,Z,1-H)),O=0;A>O;O++){for(I+="",E=u?"":"",w=0;7>w;w++)W=m?m.apply(t.input?t.input[0]:null,[z]):[!0,""],F=z.getMonth()!==Z,L=F&&!v||!W[0]||J&&J>z||Q&&z>Q,E+="",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);I+=E+""}Z++,Z>11&&(Z=0,te++),I+="
"+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+""+p[M]+"
"+this._get(t,"calculateWeek")(z)+""+(F&&!_?" ":L?""+z.getDate()+"":""+z.getDate()+"")+"
"+(X?"
"+(U[0]>0&&C===U[1]-1?"
":""):""),x+=I}y+=x}return y+=h,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var l,h,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
",y=""; +if(o||!m)y+=""+a[e]+"";else{for(l=s&&s.getFullYear()===i,h=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker}); \ No newline at end of file diff --git a/js/main.js b/js/main.js index 4665eac..8436379 100644 --- a/js/main.js +++ b/js/main.js @@ -1,3 +1,11 @@ +$(function () { + var now = new Date(); + var then = new Date(); + then.setDate(now.getDate() + 7); + $("#fromDate").datepicker().datepicker("setDate", now); + $("#toDate").datepicker().datepicker("setDate", then); +}); + var app = angular.module('satTrackApp', ['ngMap']); app.controller('satTrack-ctrl', function($scope, NgMap) { @@ -76,7 +84,10 @@ app.controller('satTrack-ctrl', function($scope, NgMap) { $scope.isGettingPasses = false; $scope.$apply(); }, false); - worker.postMessage({coords: coords, satellites: $scope.satellites}); + var fromDate = $("#fromDate").datepicker('getDate'); + var toDate = $("#toDate").datepicker('getDate'); + var duration = Math.abs(moment(toDate).diff(fromDate) / 1000) + 86400; + worker.postMessage({coords: coords, satellites: $scope.satellites, fromDate: minDate(fromDate, toDate), toDuration: duration}); } } @@ -131,3 +142,7 @@ function loadSatelliteData(callback) { }); }); } + +function minDate(date1, date2) { + return date1 < date2 ? date1 : date2; +}