Commits

Ralph Bean committed 581e5d8

Initial import from paj.

  • Participants

Comments (0)

Files changed (21)

File htdocs/css/docs.css

+/**
+ * Sphinx Doc Design
+ */
+
+#docs-content {
+    padding-top: 0.6em;
+}
+
+#docs-content pre, #docs-content div.body ul {
+    margin: .8em 0 1em 0;
+}
+
+#docs-content div.body li {
+    margin: 0 0 .4em 16px;
+    list-style-image: url('../images/bullet.gif');
+}
+
+#docs-content div.sidebar li {
+    margin: 0 0 .2em 5px;
+    list-style-image: url('../images/bullet.gif');
+}
+
+div.documentwrapper {
+    float: left;
+    width: 75%;
+    overflow: hide;
+    margin-right: 1%;
+}
+
+div.bodywrapper {
+    width: 99%;
+}
+
+div.widget_params dt, div.widget_params dd {
+    font-size: 0.9em;
+}
+div.widget_params dt {
+    font-weight: bold;
+}
+div.widget_params dt span.default_param {
+    font-weight: normal;
+    font-style: italic;
+    color: #666;
+}
+
+
+div.body {
+    background-color: white;
+    padding: 0 20px 30px 20px;
+}
+
+div.sidebarwrapper {
+    padding: 10px 5px 10px 10px;
+}
+
+
+div.clearer {
+    clear: both;
+}
+
+div.footer {
+    color: #666;
+    width: 100%;
+    text-align: left;
+    font-size: 60%;
+    margin-bottom: -15px;
+}
+
+div.footer a {
+    color: #fff;
+    text-decoration: underline;
+}
+
+div.related {
+    margin: -10px 0 10px 0;
+    background-color: #efefef;
+    padding: 1px 0;
+    width: 100%;
+    font-size: 90%;
+    border: 1px solid #597984;
+}
+div.document {
+    margin-bottom: 20px;
+}
+
+div.related li, div.related a {
+    color: #597984;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+#docs-content div.sidebar h1,
+#docs-content div.sidebar h2,
+#docs-content div.sidebar h3,
+#docs-content div.sidebar h4 {
+    color: #597984;
+    border-bottom: 1px solid #597984;
+    padding: 2px 10px;
+}
+
+/* ::: TOC :::: */
+#docs-content div.sidebar h3 {
+    color: #597984;
+    font-family: 'Trebuchet MS', sans-serif;
+    font-size: 1.4em;
+    font-weight: normal;
+    margin: 0;
+}
+
+#docs-content div.sidebar h4 {
+    font-family: 'Trebuchet MS', sans-serif;
+    font-size: 1.3em;
+    font-weight: normal;
+    margin: 5px 0 0 0;
+}
+
+#docs-content div.sidebar p {
+}
+
+#docs-content div.sidebar p.topless {
+    margin: 5px 10px 10px 10px;
+}
+
+#docs-content div.sidebar ul {
+    margin: 10px;
+    padding: 0;
+    list-style: none;
+}
+
+#docs-content div.sidebar ul ul,
+#docs-content div.sidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+#docs-content div.sidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+#docs-content div.sidebar a {
+    color: #777;
+}
+
+#docs-content div.sidebar form {
+    margin-top: 10px;
+}
+
+#docs-content div.sidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+/* :::: MODULE CLOUD :::: */
+div.modulecloud {
+    margin: -5px 10px 5px 10px;
+    padding: 10px;
+    line-height: 160%;
+    border: 1px solid #cbe7e5;
+    background-color: #f2fbfd;
+}
+
+div.modulecloud a {
+    padding: 0 5px 0 5px;
+}
+
+/* :::: SEARCH :::: */
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* :::: COMMON FORM STYLES :::: */
+
+div.actions {
+    padding: 5px 10px 5px 10px;
+    border-top: 1px solid #cbe7e5;
+    border-bottom: 1px solid #cbe7e5;
+    background-color: #e0f6f4;
+}
+
+form dl {
+    color: #333;
+}
+
+form dt {
+    clear: both;
+    float: left;
+    min-width: 110px;
+    margin-right: 10px;
+    padding-top: 2px;
+}
+
+input#homepage {
+    display: none;
+}
+
+div.error {
+    margin: 5px 20px 0 0;
+    padding: 5px;
+    border: 1px solid #d00;
+    font-weight: bold;
+}
+
+/* :::: INLINE COMMENTS :::: */
+
+div.inlinecomments {
+    position: absolute;
+    right: 20px;
+}
+
+div.inlinecomments a.bubble {
+    display: block;
+    float: right;
+    background-image: url(style/comment.png);
+    background-repeat: no-repeat;
+    width: 25px;
+    height: 25px;
+    text-align: center;
+    padding-top: 3px;
+    font-size: 0.9em;
+    line-height: 14px;
+    font-weight: bold;
+    color: black;
+}
+
+div.inlinecomments a.bubble span {
+    display: none;
+}
+
+div.inlinecomments a.emptybubble {
+    background-image: url(style/nocomment.png);
+}
+
+div.inlinecomments a.bubble:hover {
+    background-image: url(style/hovercomment.png);
+    text-decoration: none;
+    color: #3ca0a4;
+}
+
+div.inlinecomments div.comments {
+    float: right;
+    margin: 25px 5px 0 0;
+    max-width: 50em;
+    min-width: 30em;
+    border: 1px solid #2eabb0;
+    background-color: #f2fbfd;
+    z-index: 150;
+}
+
+div#comments {
+    border: 1px solid #2eabb0;
+    margin-top: 20px;
+}
+
+div#comments div.nocomments {
+    padding: 10px;
+    font-weight: bold;
+}
+
+div.inlinecomments div.comments h3,
+div#comments h3 {
+    margin: 0;
+    padding: 0;
+    background-color: #2eabb0;
+    border: none;
+    padding: 3px;
+}
+
+div.inlinecomments div.comments div.actions {
+    padding: 4px;
+    margin: 0;
+    border-top: none;
+}
+
+div#comments div.comment {
+    margin: 10px;
+    border: 1px solid #2eabb0;
+}
+
+div.inlinecomments div.comment h4,
+div.commentwindow div.comment h4,
+div#comments div.comment h4 {
+    margin: 10px 0 0 0;
+    background-color: #2eabb0;
+    border: none;
+    padding: 1px 4px 1px 4px;
+}
+
+div#comments div.comment h4 {
+    margin: 0;
+}
+
+div#comments div.comment h4 a {
+    color: #d5f4f4;
+}
+
+div.inlinecomments div.comment div.text,
+div.commentwindow div.comment div.text,
+div#comments div.comment div.text {
+    margin: -5px 0 -5px 0;
+    padding: 0 10px 0 10px;
+}
+
+div.inlinecomments div.comment div.meta,
+div.commentwindow div.comment div.meta,
+div#comments div.comment div.meta {
+    text-align: right;
+    padding: 2px 10px 2px 0;
+    font-size: 95%;
+    color: #538893;
+    border-top: 1px solid #cbe7e5;
+    background-color: #e0f6f4;
+}
+
+div.commentwindow {
+    position: absolute;
+    width: 500px;
+    border: 1px solid #cbe7e5;
+    background-color: #f2fbfd;
+    display: none;
+    z-index: 130;
+}
+
+div.commentwindow h3 {
+    margin: 0;
+    background-color: #2eabb0;
+    border: none;
+    padding: 5px;
+    font-size: 1.5em;
+    cursor: pointer;
+}
+
+div.commentwindow div.actions {
+    margin: 10px -10px 0 -10px;
+    padding: 4px 10px 4px 10px;
+    color: #538893;
+}
+
+div.commentwindow div.actions input {
+    border: 1px solid #2eabb0;
+    color: #135355;
+    cursor: pointer;
+}
+
+div.commentwindow div.form {
+    padding: 0 10px 0 10px;
+}
+
+div.commentwindow div.form input,
+div.commentwindow div.form textarea {
+    border: 1px solid #3c9ea2;
+    color: black;
+}
+
+div.commentwindow div.error {
+    margin: 10px 5px 10px 5px;
+    background-color: #fbe5dc;
+    display: none;
+}
+
+div.commentwindow div.form textarea {
+    width: 99%;
+}
+
+div.commentwindow div.preview {
+    margin: 10px 0 10px 0;
+    background-color: #70d0d4;
+    padding: 0 1px 1px 25px;
+}
+
+div.commentwindow div.preview h4 {
+    margin: 0 0 -5px -20px;
+    padding: 4px 0 0 4px;
+    font-size: 1.3em;
+}
+
+div.commentwindow div.preview div.comment {
+    background-color: #f2fbfd;
+}
+
+div.commentwindow div.preview div.comment h4 {
+    margin: 10px 0 0 0!important;
+    padding: 1px 4px 1px 4px!important;
+    font-size: 1.2em;
+}
+
+/* :::: SUGGEST CHANGES :::: */
+div#suggest-changes-box input, div#suggest-changes-box textarea {
+    border: 1px solid #ccc;
+    color: black;
+}
+
+div#suggest-changes-box textarea {
+    width: 99%;
+    height: 400px;
+}
+
+
+/* :::: PREVIEW :::: */
+div.preview { 
+    background-image: url(style/preview.png);
+    padding: 0 20px 20px 20px;
+    margin-bottom: 30px;
+}
+
+
+/* :::: INDEX PAGE :::: */
+
+table.contentstable {
+    width: 90%;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* :::: INDEX STYLES :::: */
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+form.pfform {
+    margin: 10px 0 20px 0;
+}
+
+/* :::: GLOBAL STYLES :::: */
+
+.docwarning {
+    background-color: #ffe4e4;
+    padding: 10px;
+    margin: 0 -20px 0 -20px;
+    border-bottom: 1px solid #f66;
+}
+
+p.subhead {
+    font-weight: bold;
+    margin-top: 20px;
+}
+
+a {
+    color: #355f7c;
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: underline;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+    font-family: 'Trebuchet MS', sans-serif;
+    font-weight: normal;
+    color: #959874;
+    border-bottom: 1px solid #ccc;
+    margin: 20px -20px 10px -20px;
+    padding: 3px 0 .3em 10px;
+}
+div.section { margin-bottom: 20px; margin-left: 1em; clear: left;}
+div.body h1 { margin-top: 5px; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+    color: #c60f0f;
+    font-size: 0.8em;
+    padding: 0 4px 0 4px;
+    text-decoration: none;
+    visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+    visibility: visible;
+}
+
+a.headerlink:hover {
+    background-color: #c60f0f;
+}
+
+div.body p, div.body dd, div.body li {
+    text-align: left;
+    line-height: 130%;
+    margin-bottom: .8em;
+}
+
+div.body td {
+    text-align: left;
+}
+
+/* parameter lists */
+dl.class > dd > dl.docutils {
+    padding: .7em;
+    border: 1px solid #597984;
+}
+
+dl.class > dd > dl.docutils dt {
+    font-weight: bold;
+}
+
+dl.class > dd > dl.docutils dd {
+    margin: 0 0 1em 1em;
+}
+
+
+
+ul.fakelist {
+    list-style: none;
+    margin: 10px 0 10px 20px;
+    padding: 0;
+}
+
+/* "Footnotes" heading */
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+/* "Topics" */
+
+div.topic {
+    background-color: #eee;
+    border: 1px solid #ccc;
+    padding: 0 7px 0 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* Admonitions */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+div.admonition dl {
+    margin-bottom: 0;
+}
+
+div.admonition p {
+    display: inline;
+}
+
+div.seealso {
+    background-color: #ffc;
+    border: 1px solid #ff6;
+}
+
+div.warning {
+    background-color: #ffe4e4;
+    border: 1px solid #f66;
+}
+
+div.note {
+    background-color: #eee;
+    border: 1px solid #ccc;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+    display: inline;
+}
+
+p.admonition-title:after {
+    content: ":";
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+table.docutils {
+    border: 0;
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 0;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+dl {
+    margin-bottom: 15px;
+    clear: both;
+}
+
+dd p {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+.refcount {
+    color: #060;
+}
+
+dt:target,
+.highlight {
+    background-color: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+pre {
+    overflow: auto;
+    width: 100%;
+    padding: 5px;
+    background-color: #efc;
+    color: #333;
+    border: 1px solid #ac9;
+    border-left: none;
+    border-right: none;
+}
+
+td.linenos pre {
+    padding: 0;
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    margin-left: 0.5em;
+}
+
+table.highlighttable td {
+    padding: 0 0.5em 0 0.5em;
+}
+
+tt {
+    background-color: #ecf0f3;
+    padding: 0 1px 0 1px;
+    font-size: 0.95em;
+}
+
+tt.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+tt.descclassname {
+    background-color: transparent;
+}
+
+tt.xref, a tt {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+.footnote:target  { background-color: #ffa }
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+    background-color: transparent;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+form.comment {
+    margin: 0;
+    padding: 10px 30px 10px 30px;
+    background-color: #eee;
+}
+
+form.comment h3 {
+    background-color: #326591;
+    margin: -10px -30px 10px -30px;
+    padding: 5px;
+    font-size: 1.4em;
+}
+
+form.comment input,
+form.comment textarea {
+    border: 1px solid #ccc;
+    padding: 2px;
+    font-family: sans-serif;
+    font-size: 100%;
+}
+
+form.comment input[type="text"] {
+    width: 240px;
+}
+
+form.comment textarea {
+    width: 100%;
+    height: 200px;
+    margin-bottom: 10px;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.widgetbrowser .ui-tabs-panel {
+    padding-left: 2em;
+}
+.widgetbrowser iframe {
+    width: 100%;
+}
+
+div.small iframe { height: 50px; }
+div.medium iframe { height: 150px; }
+div.large iframe { height: 300px; }
+div.x-large iframe { height: 500px; }
+
+/* :::: PRINT :::: */
+@media print {
+    div.document, 
+    div.documentwrapper, 
+    div.bodywrapper {
+        margin: 0;
+        width : 100%;
+    }
+
+    div.sidebar,
+    div.related,
+    div.footer,
+    div#comments div.new-comment-box,
+    #top-link {
+        display: none;
+    }
+}

File htdocs/css/forms.css

+form table td {
+    padding: .5em 0;
+}
+.labelcol {
+    padding-right: 1em;
+}
+input.has_error, textarea.has_error, select.has_error {
+    background: #f66;
+}
+input, textarea {
+    padding: .2em;
+}
+input, select, textarea, fieldset {
+    border: 1px solid #666;
+}
+fieldset {
+    padding: .5em;
+}
+
+legend {
+    font-weight: bold;
+}
+label.required {
+    font-weight: bold;
+}
+.fieldhelp {
+    display: block;
+    font-size: 0.8em;
+    color: #aaa;
+}
+.fielderror {
+    display: block;
+    color: red;
+    font-weight: bold;
+}
+

File htdocs/css/tosca.css

+/*
+    #597984 (green)
+    #94ADA7 (lighter green)
+    #C5CD92 (light brownish green)
+    #959874 (light brown)
+    #626546 (brown)
+*/
+
+* {
+    font-size: 1em;
+    text-decoration: none;
+    border: none;
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+html, body {
+    color: #222;
+	font: medium/125% "Myriad Web", "Myriad Pro", "Lucida Grande", "Trebuchet MS", Tahoma, Helvetica, Arial,  sans-serif;
+}
+
+body {
+    margin: 0px;
+    padding: 0px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    color: #959874;
+    margin: 0.7em 0 0.3em;
+}
+
+h6 { font-size: 1.0em }
+h5 { font-size: 1.0em }
+h4 { font-size: 1.1em }
+h3 { font-size: 1.2em }
+h2 { font-size: 1.3em }
+h1 { font-size: 1.5em }
+
+p {
+    margin: 0 0 1em;
+}
+
+/* Header, footer & menu
+ * ---------------------------------------------------------------- */
+
+#header {
+    background: url('../images/header-bg.jpg') repeat-x;
+    height: 86px;
+    color: #FFF;
+}
+
+#header #logo {
+    position: absolute;
+    top: 8px;
+    left: 5px;
+}
+
+#header h1 {
+    display: none;
+}
+
+#footer {
+    margin: 2em 0.5em;
+    padding: 0.5em;
+    border-top: 1px solid #597984;
+    text-align: right;
+    font-size: 0.8em;
+}
+
+#footer,
+#footer :link,
+#footer :visited {
+    color: #597984;
+}
+
+#main-menu {
+    display: block;
+    position: absolute;
+    right: 96px;
+    top: 58px;
+}
+#current-user {
+    display: block;
+    color: #333;
+    font-size: .8em;
+    position: absolute;
+    right: 10px;
+    top: 85px;
+    z-index: 500;
+}
+
+#main-menu li {
+    display: inline;
+}
+
+#main-menu li a {
+    color: #EEE !important;
+    padding-right: 0.5em;
+    font-size: 14px;
+    line-height: 100%;
+}
+
+#main-menu li a:hover {
+    color: #FFF !important;
+    text-decoration: underline;
+}
+
+#main-menu li a.active {
+    color: #FFF !important;
+    font-weight: bold;
+}
+
+#icon {
+    position: absolute;
+    top: 0;
+    right: 0;
+}
+
+
+/* Pages, columns & sidebars
+ * ---------------------------------------------------------------- */
+
+#page {
+    margin: 2em 1%;
+}
+
+#sidebar-right, .sphinxsidebar {
+    float: right;
+    width: 20%;
+    padding: 0.5em;
+    border-radius: 10px;
+    -moz-border-radius: 10px;
+    -webkit-border-radius: 10px;
+    background-color: #eeeeee;
+}
+
+.sidebar {
+    background: #EEE;
+    color: #777;
+}
+
+
+/* Content elements
+ * ---------------------------------------------------------------- */
+
+.content {
+    margin-right: 240px;
+}
+
+
+.content :link,
+.content :visited {
+    text-decoration: underline;
+    color: #597984;
+}
+
+.content :link:hover,
+.content :visited:hover {
+    color: #94ADA7;
+}
+
+.content dl {
+    padding: 0.5em;
+    margin-bottom: 1em;
+    background: #EEE;
+    border-radius: 10px;
+    -moz-border-radius: 10px;
+    -webkit-border-radius: 10px;
+}
+
+.content dt,
+.content strong {
+    font-weight: bold;
+    color: #597984;
+}
+
+.content dd {
+    margin: 0 0.2em 1em;
+    padding: 0 0.5em;
+    border-left: 2px solid #94ADA7;
+    color: #444;
+}
+
+.content ul li {
+    padding-left: 16px;
+    margin: 0 0 0.5em;
+    background: url('../images/bullet.gif') no-repeat 2px 7px;
+}
+
+.content ul {
+    margin-bottom: 0.5em;
+}
+
+.content .source {
+    font-family: "Courier New", Courier, monospace, fixed;
+    padding: 0.3em 0.5em;
+    margin: 0 0 1em;
+    border: 1px solid #959874;
+    color: #023;
+    line-height: 120%;
+}
+
+
+/* Sidebar
+ * ---------------------------------------------------------------- */
+
+.sidebar {
+    font-size: 0.8em;
+}
+
+.sidebar h3 {
+    font-size: 1.5em;
+    margin: 0.5em 0 0.2em;
+    color: #597984;
+}
+
+.sidebar p {
+    margin-bottom: 1em;
+}
+
+.sidebar :link,
+.sidebar :visited {
+    color: #597984;
+    text-decoration: underline;
+}
+
+/* Crumbs
+ * ---------------------------------------------------------------- */
+
+#crumbs {
+    position: absolute;
+    left: 10px;
+    top: 85px;
+    font-size: 0.8em;
+    width: 100%;
+    z-index: 400;
+}
+
+#crumbs li {
+    margin-right: 10px;
+    padding-left: 10px;
+    background: transparent url(../images/bullet.gif) left center no-repeat;
+    float: left;
+}
+
+#crumbs li *:visited,
+#crumbs li:link {
+    border-bottom: none;
+}
+#crumbs li a:hover {
+    border-bottom: solid 1px #597984;
+}
+
+#crumbs li.no-bullet {
+    background: none;
+    padding-left: 0;
+}
+#crumbs li.last {
+    float: none;
+    color: #597984;
+    font-weight: bold;
+}
+
+/* Trac override
+ * ---------------------------------------------------------------- */
+#content li {
+    margin: 0 0 .4em 16px;
+    list-style-image: url('../images/bullet.gif');
+}
+
+#content ul {
+    padding: .7em;
+}
+
+#trac h6 { font-size: 1.0em }
+#trac h5 { font-size: 1.0em }
+#trac h4 { font-size: 1.0em }
+#trac h3 { font-size: 1.1em }
+#trac h2 { font-size: 1.2em }
+#trac h1 { font-size: 1.4em }
+
+* :link,
+* :visited,
+dt em,
+.milestone .info h2 em
+{
+    color: #597984;
+}
+
+div.wiki table {
+    border: solid #666 1px;
+    border-collapse: collapse;
+}
+
+div.wiki table th {
+    border: solid #999 1px;
+    padding: 0.4em;
+    font-weight: bold;
+}
+
+div.wiki table td {
+    border: solid #666 1px;
+    padding: 0.2em;
+}
+
+/* Hg override
+ * ---------------------------------------------------------------- */
+
+#hg-content table *:link,
+#hg-content table *:visited
+{
+    color: #222222;
+    border-bottom: dotted 1px #999;
+}
+
+.repository-actions {
+    border: solid #333 1px;
+    padding: .5em;
+    margin: 1em 0;
+}
+
+.project-download-info {
+    margin-left: 0.7em;
+}

File htdocs/documentation/index.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+        <link href="/css/tosca.css" rel="stylesheet">
+        <link href="/css/forms.css" rel="stylesheet">
+	<link rel="shortcut icon" href="/images/favicon.ico" type="image/vnd.microsoft.icon">
+    <title>ToscaWidgets</title>
+  </head>
+  <body>
+    <div><a href="/">
+      <img src="/images/icon-header.jpg" alt="Icon Header" id="icon" height="96" width="96">
+    </a></div>
+    <div id="header">
+      <h1>ToscaWidgets</h1>
+      <a href="/">
+        <img src="/images/toscawidgets-logo.jpg" alt="Toscawidgets Logo" id="logo" height="74" width="343"></a>
+        <ul id="main-menu">
+            <li>
+              <a href="/download.html" title="Go to Download">Download</a>
+            </li><li>
+              <a href="/documentation/" title="Go to Documentation">Documentation</a>
+            </li><li>
+              <a href="/trac.html" title="Go to Trac">Trac</a>
+            </li><li>
+              <a href="/repos.html" title="Go to Repositories">Repositories</a>
+            </li>
+        </ul>
+    </div>
+    <div id="page">
+    <div class="content">
+        
+        <h1>Documentation</h1>
+        
+        <h2>ToscaWidgets 2</h2>
+        
+        <ul>
+            <li><a href="tw2.core/">tw2.core</a></li>
+        </ul>
+        
+        <h2>ToscaWidgets 0.9</h2>
+        
+        <ul>
+            <li><a href="ToscaWidgets/">ToscaWidgets</a></li>
+            <li><a href="tw.forms/">tw.forms</a></li>
+            <li><a href="tw.dynforms/">tw.dynforms</a></li>
+            <li><a href="tw.jquery/">tw.jquery</a></li>
+            <li><a href="tw.openlayers/">tw.openlayers</a></li>
+            <li><a href="WidgetBrowser/">WidgetBrowser</a></li>
+        </ul>
+        
+        
+    </div>
+    </div>
+    <div id="footer">
+        © 2008-2012 Alberto Valverde Gonzalez and contributors,
+        Webdesign Theme by Daniel Haus,
+        <a href="http://ematia.de/" title="Ematia">ematia.de</a>.
+        <div>All times are UTC.</div>
+    </div>
+        <script type="text/javascript">
+            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+        </script>
+        <script type="text/javascript">
+            if (window._gat) {
+                var pageTracker = _gat._getTracker("UA-4615122-1");
+                pageTracker._initData();
+                pageTracker._setDomainName("toscawidgets.org");
+                pageTracker._trackPageview();
+            }
+        </script>
+  <script type="text/javascript">
+Calendar.setup({"ifFormat": "%m/%d/%Y", "button": "demo1_date_trigger", "showsTime": false, "inputField": "demo1_date"})
+</script>
+</body></html>

File htdocs/download.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+        <link href="/css/tosca.css" rel="stylesheet">
+        <link href="/css/forms.css" rel="stylesheet">
+	<link rel="shortcut icon" href="/images/favicon.ico" type="image/vnd.microsoft.icon">
+    <title>ToscaWidgets</title>
+  </head>
+  <body>
+    <div><a href="/">
+      <img src="/images/icon-header.jpg" alt="Icon Header" id="icon" height="96" width="96">
+    </a></div>
+    <div id="header">
+      <h1>ToscaWidgets</h1>
+      <a href="/">
+        <img src="/images/toscawidgets-logo.jpg" alt="Toscawidgets Logo" id="logo" height="74" width="343"></a>
+        <ul id="main-menu">
+            <li>
+              <a href="/download.html" title="Go to Download">Download</a>
+            </li><li>
+              <a href="/documentation/" title="Go to Documentation">Documentation</a>
+            </li><li>
+              <a href="/trac.html" title="Go to Trac">Trac</a>
+            </li><li>
+              <a href="/repos.html" title="Go to Repositories">Repositories</a>
+            </li>
+        </ul>
+    </div>
+    <div id="page">
+    <div class="content">
+        
+        <h1>Downloads</h1>
+        
+        <p>Only packages released to PyPI are listed here; for more see <a href="repos.html">repositories</a>.</p>
+
+        <p>Generally you should not download a package directly but use easy_install or pip to install it. See the <a href="/documentation/tw2.core/tutorial.html#installation">installation tutorial</a>.</p>
+        
+        <h2>ToscaWidgets 2</h2>
+        
+        <ul>
+            <li><a href="http://pypi.python.org/packages/source/t/tw2.core/tw2.core-2.0b11.tar.gz#md5=1c9a978594ae343004bfae669cd35410">tw2.core</a></li>
+            <li><a href="http://pypi.python.org/packages/source/t/tw2.devtools/tw2.devtools-2.0b8.tar.gz#md5=5c9afab4c128c8a29676c52c12b8928c">tw2.devtools</a></li>
+            <li><a href="http://pypi.python.org/packages/source/t/tw2.forms/tw2.forms-2.0b7.tar.gz#md5=afb5569632f418457ffd7e1d3a07e77e">tw2.forms</a></li>
+            <li><a href="http://pypi.python.org/packages/source/t/tw2.dynforms/tw2.dynforms-2.0a3.tar.gz#md5=b15eb985df6bf5a6e60b43e61f2bf30a">tw2.dynforms</a></li>
+        </ul>
+        
+        <h2>ToscaWidgets 0.9</h2>
+        
+        <ul>
+            <li><a href="http://pypi.python.org/pypi/ToscaWidgets/0.9.12">ToscaWidgets</a></li>
+            <li><a href="http://pypi.python.org/packages/source/t/tw.forms/tw.forms-0.9.9.tar.gz#md5=8fb4efef4cbd5d62224b00073b8dd3d7">tw.forms</a></li>
+            <li><a href="http://pypi.python.org/packages/source/t/tw.dynforms/tw.dynforms-0.9.8.tar.gz#md5=188aafe67667f291812f4382a51eb7f8">tw.dynforms</a></li>
+        </ul>
+        
+        
+    </div>
+    </div>
+    <div id="footer">
+        © 2008-2012 Alberto Valverde Gonzalez and contributors,
+        Webdesign Theme by Daniel Haus,
+        <a href="http://ematia.de/" title="Ematia">ematia.de</a>.
+        <div>All times are UTC.</div>
+    </div>
+        <script type="text/javascript">
+            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+        </script>
+        <script type="text/javascript">
+            if (window._gat) {
+                var pageTracker = _gat._getTracker("UA-4615122-1");
+                pageTracker._initData();
+                pageTracker._setDomainName("toscawidgets.org");
+                pageTracker._trackPageview();
+            }
+        </script>
+  <script type="text/javascript">
+Calendar.setup({"ifFormat": "%m/%d/%Y", "button": "demo1_date_trigger", "showsTime": false, "inputField": "demo1_date"})
+</script>
+</body></html>

File htdocs/images/bullet.gif

Added
New image

File htdocs/images/favicon.ico

Added
New image

File htdocs/images/header-bg.jpg

Added
New image

File htdocs/images/icon-header.jpg

Added
New image

File htdocs/images/loading.gif

Added
New image

File htdocs/images/tab.png

Added
New image

File htdocs/images/toscawidgets-logo.jpg

Added
New image

File htdocs/index.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="index_files/calendar-system.css" media="all">
+    <script type="text/javascript" src="index_files/calendar.js"></script>
+    <script type="text/javascript" src="index_files/calendar-setup.js"></script>
+    <script type="text/javascript" src="index_files/calendar-en.js"></script>
+    <link href="css/tosca.css" rel="stylesheet">
+    <link href="css/forms.css" rel="stylesheet">
+    <link rel="shortcut icon" href="images/favicon.ico" type="image/vnd.microsoft.icon">
+    <title>ToscaWidgets</title>
+  </head>
+  <body>
+    <div><a href="/">
+        <img src="images/icon-header.jpg" alt="Icon Header" id="icon" height="96" width="96">
+    </a></div>
+    <div id="header">
+      <h1>ToscaWidgets</h1>
+      <a href="/">
+        <img src="images/toscawidgets-logo.jpg" alt="Toscawidgets Logo" id="logo" height="74" width="343"></a>
+      <ul id="main-menu">
+        <li>
+        <a href="download.html" title="Go to Download">Download</a>
+        </li><li>
+        <a href="documentation/" title="Go to Documentation">Documentation</a>
+        </li><li>
+        <a href="trac.html" title="Go to Trac">Trac</a>
+        </li><li>
+        <a href="repos.html" title="Go to Repositories">Repositories</a>
+        </li>
+      </ul>
+    </div>
+    <div id="page">
+      <div id="sidebar-right" class="sidebar">
+        <h3>News</h3>
+        <p>12/8/2010 - New documentation - <a href="/documentation/tw2.core/history.html">What's New in ToscaWidgets 2</a></p>
+        <p>2/8/2010 - Alpha releases to PyPI of <a href="/documentation/tw2.core/">ToscaWidget 2</a>.</p>
+        <p>26/7/2010 - New tutorial - <a href="/documentation/tw2.core/tutorial.html">Using ToscaWidgets 2 Standalone</a></p>
+        <h3>Community</h3>
+        <p><a href="http://groups.google.com/group/toscawidgets-discuss" title="ToscaWidgets-discuss | Google Groups">
+          ToscaWidgets' Google Group</a>
+        </p>
+      </div>
+      <div class="content">
+        <h1>ToscaWidgets</h1>
+        <p>ToscaWidgets is a framework for building reusable web 
+        components. The system allows a web developer to use a complex widget in
+        their application with ease - the internal complexity of the widget is 
+        hidden. This helps rapidly develop compelling web applications. There is
+        an extensive library of existing widgets, for example:</p>
+        <form id="demo1" action="" method="post" class="tableform">
+          <table border="0" cellpadding="2" cellspacing="0">
+            <tbody><tr id="demo1_date.container" class="even">
+                <td class="labelcol">
+                  <label id="demo1_date.label" for="demo1_date" class="fieldlabel required">Pick a date</label>
+                </td>
+                <td class="fieldcol">
+                  <div>
+                    <input id="demo1_date" class="calendardatepicker required" name="date" value="02/04/2012" type="text">
+                    <input id="demo1_date_trigger" class="date_field_button" value="Choose" type="button">
+                  </div>
+                </td>
+              </tr>
+          </tbody></table>
+        </form>
+        <br><p>The main benefit of ToscaWidgets is that this example took very little Python code to implement.</p>
+        <h1>tw.forms</h1>
+        <p>tw.forms is a library of widgets for building HTML forms. It 
+        enables the rapid creation of forms, with server-side validation that 
+        returns clear error messages to users.</p>
+        <p>As tw.forms is built on ToscaWidgets, the developer can 
+        easily use more complex widgets in the forms. The end result is a 
+        powerful framework that is useful to web developers in the real world.</p>
+        <h2>Getting Started</h2>
+        <p>ToscaWidgets works with many <a href="http://www.python.org/">Python</a> web frameworks, including <a href="http://www.pylonshq.com/">Pylons</a>, <a href="http://www.turbogears.org/">TurboGears</a>, and raw <a href="http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface">WSGI</a>. To start using ToscaWidgets:</p>
+        <p></p><ol>
+          <li>1) Enable ToscaWidgets in your web framework. <a href="/documentation/ToscaWidgets/install/index.html">More...</a></li>
+          <li>2) Learn the basics of creating forms. <a href="/documentation/tw.forms/tutorials/index.html">More...</a></li>
+          <li>3) Discover the exciting widgets available. <a href="http://turbogears.org/2.0/docs/main/ToscaWidgets/Cookbook.html">More...</a></li>
+        </ol><p></p><br>
+        <p>After this, move on to the <a href="documentation/">reference documentation</a>.</p>
+      </div>
+    </div>
+    <div id="footer">
+      © 2008-2012 Alberto Valverde Gonzalez and contributors,
+      Webdesign Theme by Daniel Haus,
+      <a href="http://ematia.de/" title="Ematia">ematia.de</a>.
+      <div>All times are UTC.</div>
+    </div>
+    <script type="text/javascript">
+      var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+      document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script><script src="index_files/ga.js" type="text/javascript"></script>
+    <script type="text/javascript">
+      if (window._gat) {
+        var pageTracker = _gat._getTracker("UA-4615122-1");
+        pageTracker._initData();
+        pageTracker._setDomainName("toscawidgets.org");
+        pageTracker._trackPageview();
+      }
+    </script>
+    <script type="text/javascript">
+      Calendar.setup({"ifFormat": "%m/%d/%Y", "button": "demo1_date_trigger", "showsTime": false, "inputField": "demo1_date"})
+    </script>
+</body></html>

File htdocs/index_files/calendar-en.js

+// ** I18N
+
+// Calendar EN language
+// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
+// Encoding: any
+// Distributed under the same terms as the calendar itself.
+
+// For translators: please use UTF-8 if possible.  We strongly believe that
+// Unicode is the answer to a real internationalized world.  Also please
+// include your contact information in the header, as can be seen above.
+
+// full day names
+Calendar._DN = new Array
+("Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday");
+
+// Please note that the following array of short day names (and the same goes
+// for short month names, _SMN) isn't absolutely necessary.  We give it here
+// for exemplification on how one can customize the short day names, but if
+// they are simply the first N letters of the full name you can simply say:
+//
+//   Calendar._SDN_len = N; // short day name length
+//   Calendar._SMN_len = N; // short month name length
+//
+// If N = 3 then this is not needed either since we assume a value of 3 if not
+// present, to be compatible with translation files that were written before
+// this feature.
+
+// short day names
+Calendar._SDN = new Array
+("Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat",
+ "Sun");
+
+// First day of the week. "0" means display Sunday first, "1" means display
+// Monday first, etc.
+Calendar._FD = 0;
+
+// full month names
+Calendar._MN = new Array
+("January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December");
+
+// short month names
+Calendar._SMN = new Array
+("Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec");
+
+// tooltips
+Calendar._TT = {};
+Calendar._TT["INFO"] = "About the calendar";
+
+Calendar._TT["ABOUT"] =
+"DHTML Date/Time Selector\n" +
+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
+"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
+"\n\n" +
+"Date selection:\n" +
+"- Use the \xab, \xbb buttons to select year\n" +
+"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
+"- Hold mouse button on any of the above buttons for faster selection.";
+Calendar._TT["ABOUT_TIME"] = "\n\n" +
+"Time selection:\n" +
+"- Click on any of the time parts to increase it\n" +
+"- or Shift-click to decrease it\n" +
+"- or click and drag for faster selection.";
+
+Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
+Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
+Calendar._TT["GO_TODAY"] = "Go Today";
+Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
+Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
+Calendar._TT["SEL_DATE"] = "Select date";
+Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
+Calendar._TT["PART_TODAY"] = " (today)";
+
+// the following is to inform that "%s" is to be the first day of week
+// %s will be replaced with the day name.
+Calendar._TT["DAY_FIRST"] = "Display %s first";
+
+// This may be locale-dependent.  It specifies the week-end days, as an array
+// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
+// means Monday, etc.
+Calendar._TT["WEEKEND"] = "0,6";
+
+Calendar._TT["CLOSE"] = "Close";
+Calendar._TT["TODAY"] = "Today";
+Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
+
+// date formats
+Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
+Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
+
+Calendar._TT["WK"] = "wk";
+Calendar._TT["TIME"] = "Time:";

File htdocs/index_files/calendar-setup.js

+/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
+ * ---------------------------------------------------------------------------
+ *
+ * The DHTML Calendar
+ *
+ * Details and latest version at:
+ * http://dynarch.com/mishoo/calendar.epl
+ *
+ * This script is distributed under the GNU Lesser General Public License.
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
+ *
+ * This file defines helper functions for setting up the calendar.  They are
+ * intended to help non-programmers get a working calendar on their site
+ * quickly.  This script should not be seen as part of the calendar.  It just
+ * shows you what one can do with the calendar, while in the same time
+ * providing a quick and simple method for setting it up.  If you need
+ * exhaustive customization of the calendar creation process feel free to
+ * modify this code to suit your needs (this is recommended and much better
+ * than modifying calendar.js itself).
+ */
+ Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};

File htdocs/index_files/calendar-system.css

+/* The main calendar widget.  DIV containing a table. */
+
+.calendar {
+  position: relative;
+  display: none;
+  border: 1px solid;
+  border-color: #fff #000 #000 #fff;
+  font-size: 11px;
+  cursor: default;
+  background: Window;
+  color: WindowText;
+  font-family: tahoma,verdana,sans-serif;
+}
+
+.calendar table {
+  border: 1px solid;
+  border-color: #fff #000 #000 #fff;
+  font-size: 11px;
+  cursor: default;
+  background: Window;
+  color: WindowText;
+  font-family: tahoma,verdana,sans-serif;
+}
+
+/* Header part -- contains navigation buttons and day names. */
+
+.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
+  text-align: center;
+  padding: 1px;
+  border: 1px solid;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+  background: ButtonFace;
+}
+
+.calendar .nav {
+  background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%;
+}
+
+.calendar thead .title { /* This holds the current "month, year" */
+  font-weight: bold;
+  padding: 1px;
+  border: 1px solid #000;
+  background: ActiveCaption;
+  color: CaptionText;
+  text-align: center;
+}
+
+.calendar thead .headrow { /* Row <TR> containing navigation buttons */
+}
+
+.calendar thead .daynames { /* Row <TR> containing the day names */
+}
+
+.calendar thead .name { /* Cells <TD> containing the day names */
+  border-bottom: 1px solid ButtonShadow;
+  padding: 2px;
+  text-align: center;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar thead .weekend { /* How a weekend day name shows in header */
+  color: #f00;
+}
+
+.calendar thead .hilite { /* How do the buttons in header appear when hover */
+  border: 2px solid;
+  padding: 0px;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+}
+
+.calendar thead .active { /* Active (pressed) buttons in header */
+  border-width: 1px;
+  padding: 2px 0px 0px 2px;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+}
+
+/* The body part -- contains all the days in month. */
+
+.calendar tbody .day { /* Cells <TD> containing month days dates */
+  width: 2em;
+  text-align: right;
+  padding: 2px 4px 2px 2px;
+}
+.calendar tbody .day.othermonth {
+  font-size: 80%;
+  color: #aaa;
+}
+.calendar tbody .day.othermonth.oweekend {
+  color: #faa;
+}
+
+.calendar table .wn {
+  padding: 2px 3px 2px 2px;
+  border-right: 1px solid ButtonShadow;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar tbody .rowhilite td {
+  background: Highlight;
+  color: HighlightText;
+}
+
+.calendar tbody td.hilite { /* Hovered cells <TD> */
+  padding: 1px 3px 1px 1px;
+  border-top: 1px solid #fff;
+  border-right: 1px solid #000;
+  border-bottom: 1px solid #000;
+  border-left: 1px solid #fff;
+}
+
+.calendar tbody td.active { /* Active (pressed) cells <TD> */
+  padding: 2px 2px 0px 2px;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+}
+
+.calendar tbody td.selected { /* Cell showing selected date */
+  font-weight: bold;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+  padding: 2px 2px 0px 2px;
+  background: ButtonFace;
+  color: ButtonText;
+}
+
+.calendar tbody td.weekend { /* Cells showing weekend days */
+  color: #f00;
+}
+
+.calendar tbody td.today { /* Cell showing today date */
+  font-weight: bold;
+  color: #00f;
+}
+
+.calendar tbody td.disabled { color: GrayText; }
+
+.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
+  visibility: hidden;
+}
+
+.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
+  display: none;
+}
+
+/* The footer part -- status bar and "Close" button */
+
+.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
+}
+
+.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
+  background: ButtonFace;
+  padding: 1px;
+  border: 1px solid;
+  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
+  color: ButtonText;
+  text-align: center;
+}
+
+.calendar tfoot .hilite { /* Hover style for buttons in footer */
+  border-top: 1px solid #fff;
+  border-right: 1px solid #000;
+  border-bottom: 1px solid #000;
+  border-left: 1px solid #fff;
+  padding: 1px;
+  background: #e4e0d8;
+}
+
+.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
+  padding: 2px 0px 0px 2px;
+  border-top: 1px solid #000;
+  border-right: 1px solid #fff;
+  border-bottom: 1px solid #fff;
+  border-left: 1px solid #000;
+}
+
+/* Combo boxes (menus that display months/years for direct selection) */
+
+.calendar .combo {
+  position: absolute;
+  display: none;
+  width: 4em;
+  top: 0px;
+  left: 0px;
+  cursor: default;
+  border: 1px solid;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
+  background: Menu;
+  color: MenuText;
+  font-size: 90%;
+  padding: 1px;
+  z-index: 100;
+}
+
+.calendar .combo .label,
+.calendar .combo .label-IEfix {
+  text-align: center;
+  padding: 1px;
+}
+
+.calendar .combo .label-IEfix {
+  width: 4em;
+}
+
+.calendar .combo .active {
+  padding: 0px;
+  border: 1px solid #000;
+}
+
+.calendar .combo .hilite {
+  background: Highlight;
+  color: HighlightText;
+}
+
+.calendar td.time {
+  border-top: 1px solid ButtonShadow;
+  padding: 1px 0px;
+  text-align: center;
+  background-color: ButtonFace;
+}
+
+.calendar td.time .hour,
+.calendar td.time .minute,
+.calendar td.time .ampm {
+  padding: 0px 3px 0px 4px;
+  border: 1px solid #889;
+  font-weight: bold;
+  background-color: Menu;
+}
+
+.calendar td.time .ampm {
+  text-align: center;
+}
+
+.calendar td.time .colon {
+  padding: 0px 2px 0px 3px;
+  font-weight: bold;
+}
+
+.calendar td.time span.hilite {
+  border-color: #000;
+  background-color: Highlight;
+  color: HighlightText;
+}
+
+.calendar td.time span.active {
+  border-color: #f00;
+  background-color: #000;
+  color: #0f0;
+}

File htdocs/index_files/calendar.js

+/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
+ * -----------------------------------------------------------
+ *
+ * The DHTML Calendar, version 1.0 "It is happening again"
+ *
+ * Details and latest version at:
+ * www.dynarch.com/projects/calendar
+ *
+ * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
+ *
+ * This script is distributed under the GNU Lesser General Public License.
+ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
+ */
+ Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);}break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(halign){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "l":p.x+=el.offsetWidth-w;break;case "r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView. getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case "%b":case "%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case "%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;

File htdocs/index_files/ga.js

+(function(){var g=void 0,h=!0,i=null,j=!1,aa=encodeURIComponent,ba=Infinity,ca=setTimeout,da=decodeURIComponent,k=Math;function ea(a,b){return a.onload=b}function fa(a,b){return a.name=b}
+var m="push",ga="slice",ha="replace",ia="load",ja="floor",ka="cookie",n="charAt",la="value",p="indexOf",ma="match",q="name",na="host",t="toString",u="length",v="prototype",pa="clientWidth",w="split",qa="stopPropagation",ra="scope",x="location",y="getString",sa="random",ta="clientHeight",ua="href",z="substring",va="navigator",A="join",C="toLowerCase",D;function wa(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:return 1E3*a}return a}function E(a,b){return g==a||"-"==a&&!b||""==a}function xa(a){if(!a||""==a)return"";for(;a&&-1<" \n\r\t"[p](a[n](0));)a=a[z](1);for(;a&&-1<" \n\r\t"[p](a[n](a[u]-1));)a=a[z](0,a[u]-1);return a}function ya(a){var b=1,c=0,d;if(!E(a)){b=0;for(d=a[u]-1;0<=d;d--)c=a.charCodeAt(d),b=(b<<6&268435455)+c+(c<<14),c=b&266338304,b=0!=c?b^c>>21:b}return b}
+function za(){return k.round(2147483647*k[sa]())}function Aa(){}function Ba(a,b){if(aa instanceof Function)return b?encodeURI(a):aa(a);F(68);return escape(a)}function G(a){a=a[w]("+")[A](" ");if(da instanceof Function)try{return da(a)}catch(b){F(17)}else F(68);return unescape(a)}
+var Ca=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},Da=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent&&a.detachEvent("on"+b,c)};function H(a){return a&&0<a[u]?a[0]:""}function Ea(a){var b=a?a[u]:0;return 0<b?a[b-1]:""}var Fa=function(){this.prefix="ga.";this.I={}};Fa[v].set=function(a,b){this.I[this.prefix+a]=b};Fa[v].get=function(a){return this.I[this.prefix+a]};
+Fa[v].contains=function(a){return this.get(a)!==g};function Ga(a){0==a[p]("www.")&&(a=a[z](4));return a[C]()}function Ha(a,b){var c,d={url:a,protocol:"http",host:"",path:"",d:new Fa,anchor:""};if(!a)return d;c=a[p]("://");0<=c&&(d.protocol=a[z](0,c),a=a[z](c+3));c=a.search("/|\\?|#");if(0<=c)d.host=a[z](0,c)[C](),a=a[z](c);else return d.host=a[C](),d;c=a[p]("#");0<=c&&(d.anchor=a[z](c+1),a=a[z](0,c));c=a[p]("?");0<=c&&(Ia(d.d,a[z](c+1)),a=a[z](0,c));d.anchor&&b&&Ia(d.d,d.anchor);a&&"/"==a[n](0)&&(a=a[z](1));d.path=a;return d}
+function Ia(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b)[m](c)}for(var d=xa(b)[w]("&"),e=0;e<d[u];e++)if(d[e]){var f=d[e][p]("=");0>f?c(d[e],"1"):c(d[e][z](0,f),d[e][z](f+1))}}function Ja(a,b){if(E(a)||"["==a[n](0)&&"]"==a[n](a[u]-1))return"-";var c=I.domain;return a[p](c+(b&&"/"!=b?b:""))==(0==a[p]("http://")?7:0==a[p]("https://")?8:0)?"0":a};function Ka(a,b,c){1<=100*k[sa]()||(a=["utmt=error","utmerr="+a,"utmwv=5.2.4","utmn="+za(),"utmsp=1"],b&&a[m]("api="+b),c&&a[m]("msg="+Ba(c[z](0,100))),J.q&&a[m]("aip=1"),La(a[A]("&")))};var Ma=0,Na={};function K(a){return Oa("x"+Ma++,a)}function Oa(a,b){Na[a]=!!b;return a}
+var Pa=K(),Qa=K(),Ra=K(),Sa=K(),Ta=K(),L=K(),M=K(),Ua=K(),Va=K(),Wa=K(),Xa=K(),Ya=K(),Za=K(),$a=K(),ab=K(),bb=K(),cb=K(),db=K(),eb=K(),fb=K(),gb=K(),hb=K(),ib=K(),jb=K(),kb=K(),lb=K(),mb=K(),nb=K(),ob=K(),pb=K(),qb=K(),rb=K(),sb=K(),tb=K(),ub=K(),N=K(h),vb=Oa("page"),wb=Oa("title"),xb=K(),yb=K(),zb=K(),Ab=K(),Bb=K(),Cb=K(),Db=K(),Eb=K(),O=K(h),Fb=K(h),Gb=K(h),Ib=K(h),Jb=K(h),Kb=K(h),Lb=K(h),Mb=K(h),Nb=K(h),Ob=K(h),Pb=K(h),P=K(h),Qb=K(h),Rb=K(h),Sb=K(h),Tb=K(h),Ub=K(h),Vb=K(h),Wb=K(h),Xb=K(h),Yb=K(h),
+Zb=K(h),$b=K(h),ac=K(h),bc=K(h),cc=Oa("campaignParams"),dc=K(),ec=Oa("hitCallback"),fc=K();K();var gc=K(),hc=K(),ic=K(),jc=K(),kc=K(),lc=K(),mc=K(),nc=K(),oc=K(),sc=K();K();var tc=K(),uc=K(),vc=K();var wc=function(){function a(a,c,d){Q(R[v],a,c,d)}S("_getName",Ra,58);S("_getAccount",Pa,64);S("_visitCode",O,54);S("_getClientInfo",$a,53,1);S("_getDetectTitle",cb,56,1);S("_getDetectFlash",ab,65,1);S("_getLocalGifPath",mb,57);S("_getServiceMode",nb,59);T("_setClientInfo",$a,66,2);T("_setAccount",Pa,3);T("_setNamespace",Qa,48);T("_setAllowLinker",Xa,11,2);T("_setDetectFlash",ab,61,2);T("_setDetectTitle",cb,62,2);T("_setLocalGifPath",mb,46,0);T("_setLocalServerMode",nb,92,g,0);T("_setRemoteServerMode",
+nb,63,g,1);T("_setLocalRemoteServerMode",nb,47,g,2);T("_setSampleRate",lb,45,1);T("_setCampaignTrack",bb,36,2);T("_setAllowAnchor",Ya,7,2);T("_setCampNameKey",eb,41);T("_setCampContentKey",jb,38);T("_setCampIdKey",db,39);T("_setCampMediumKey",hb,40);T("_setCampNOKey",kb,42);T("_setCampSourceKey",gb,43);T("_setCampTermKey",ib,44);T("_setCampCIdKey",fb,37);T("_setCookiePath",M,9,0);T("_setMaxCustomVariables",ob,0,1);T("_setVisitorCookieTimeout",Ua,28,1);T("_setSessionCookieTimeout",Va,26,1);T("_setCampaignCookieTimeout",
+Wa,29,1);T("_setReferrerOverride",xb,49);T("_setSiteSpeedSampleRate",oc,132);a("_trackPageview",R[v].na,1);a("_trackEvent",R[v].v,4);a("_trackPageLoadTime",R[v].ma,100);a("_trackSocial",R[v].oa,104);a("_trackTrans",R[v].pa,18);a("_sendXEvent",R[v].u,78);a("_createEventTracker",R[v].V,74);a("_getVersion",R[v].$,60);a("_setDomainName",R[v].t,6);a("_setAllowHash",R[v].ea,8);a("_getLinkerUrl",R[v].Z,52);a("_link",R[v].link,101);a("_linkByPost",R[v].da,102);a("_setTrans",R[v].ha,20);a("_addTrans",R[v].O,
+21);a("_addItem",R[v].M,19);a("_setTransactionDelim",R[v].ia,82);a("_setCustomVar",R[v].fa,10);a("_deleteCustomVar",R[v].X,35);a("_getVisitorCustomVar",R[v].aa,50);a("_setXKey",R[v].ka,83);a("_setXValue",R[v].la,84);a("_getXKey",R[v].ba,76);a("_getXValue",R[v].ca,77);a("_clearXKey",R[v].S,72);a("_clearXValue",R[v].T,73);a("_createXObj",R[v].W,75);a("_addIgnoredOrganic",R[v].K,15);a("_clearIgnoredOrganic",R[v].P,97);a("_addIgnoredRef",R[v].L,31);a("_clearIgnoredRef",R[v].Q,32);a("_addOrganic",R[v].N,
+14);a("_clearOrganic",R[v].R,70);a("_cookiePathCopy",R[v].U,30);a("_get",R[v].Y,106);a("_set",R[v].ga,107);a("_addEventListener",R[v].addEventListener,108);a("_removeEventListener",R[v].removeEventListener,109);a("_initData",R[v].m,2);a("_setVar",R[v].ja,22);T("_setSessionTimeout",Va,27,3);T("_setCookieTimeout",Wa,25,3);T("_setCookiePersistence",Ua,24,1);a("_setAutoTrackOutbound",Aa,79);a("_setTrackOutboundSubdomains",Aa,81);a("_setHrefExamineLimit",Aa,80)},Q=function(a,b,c,d){a[b]=function(){try{return F(d),
+c.apply(this,arguments)}catch(a){throw Ka("exc",b,a&&a[q]),a;}}},S=function(a,b,c,d){R[v][a]=function(){try{return F(c),wa(this.a.get(b),d)}catch(e){throw Ka("exc",a,e&&e[q]),e;}}},T=function(a,b,c,d,e){R[v][a]=function(f){try{F(c),e==g?this.a.set(b,wa(f,d)):this.a.set(b,e)}catch(l){throw Ka("exc",a,l&&l[q]),l;}}},xc=function(a,b){return{type:b,target:a,stopPropagation:function(){throw"aborted";}}};var yc=function(a,b){return"/"!==b?j:(0==a[p]("www.google.")||0==a[p](".google.")||0==a[p]("google."))&&!(-1<a[p]("google.org"))?h:j},zc=function(a){var b=a.get(Ta),c=a[y](M,"/");yc(b,c)&&a[qa]()};var Ec=function(){var a={},b={},c=new Ac;this.g=function(a,b){c.add(a,b)};var d=new Ac;this.c=function(a,b){d.add(a,b)};var e=j,f=j,l=h;this.J=function(){e=h};this.f=function(a){this[ia]();this.set(dc,a,h);a=new Bc(this);e=j;d.execute(this);e=h;b={};this.i();a.qa()};this.load=function(){e&&(e=j,this.sa(),Cc(this),f||(f=h,c.execute(this),Dc(this),Cc(this)),e=h)};this.i=function(){if(e)if(f)e=j,Dc(this),e=h;else this[ia]()};this.get=function(c){Na[c]&&this[ia]();return b[c]!==g?b[c]:a[c]};this.set=
+function(c,d,e){Na[c]&&this[ia]();e?b[c]=d:a[c]=d;Na[c]&&this.i()};this.n=function(b){a[b]=this.b(b,0)+1};this.b=function(a,b){var c=this.get(a);return c==g||""===c?b:1*c};this.getString=function(a,b){var c=this.get(a);return c==g?b:c+""};this.sa=function(){if(l){var b=this[y](Ta,""),c=this[y](M,"/");yc(b,c)||(a[L]=a[Za]&&""!=b?ya(b):1,l=j)}}};Ec[v].stopPropagation=function(){throw"aborted";};
+var Bc=function(a){var b=this;this.j=0;var c=a.get(ec);this.Aa=function(){0<b.j&&c&&(b.j--,b.j||c())};this.qa=function(){!b.j&&c&&ca(c,10)};a.set(fc,b,h)};function Fc(a,b){for(var b=b||[],c=0;c<b[u];c++){var d=b[c];if(""+a==d||0==d[p](a+"."))return d}return"-"}
+var Hc=function(a,b,c){c=c?"":a[y](L,"1");b=b[w](".");if(6!==b[u]||Gc(b[0],c))return j;var c=1*b[1],d=1*b[2],e=1*b[3],f=1*b[4],b=1*b[5];if(!(0<=c&&0<d&&0<e&&0<f&&0<=b))return F(110),j;a.set(O,c);a.set(Jb,d);a.set(Kb,e);a.set(Lb,f);a.set(Mb,b);return h},Ic=function(a){var b=a.get(O),c=a.get(Jb),d=a.get(Kb),e=a.get(Lb),f=a.b(Mb,1);b==g?F(113):NaN==b&&F(114);0<=b&&0<c&&0<d&&0<e&&0<=f||F(115);return[a.b(L,1),b!=g?b:"-",c||"-",d||"-",e||"-",f][A](".")},Jc=function(a){return[a.b(L,1),a.b(Pb,0),a.b(P,1),
+a.b(Qb,0)][A](".")},Kc=function(a,b,c){var c=c?"":a[y](L,"1"),d=b[w](".");if(4!==d[u]||Gc(d[0],c))d=i;a.set(Pb,d?1*d[1]:0);a.set(P,d?1*d[2]:10);a.set(Qb,d?1*d[3]:a.get(Sa));return d!=i||!Gc(b,c)},Lc=function(a,b){var c=Ba(a[y](Gb,"")),d=[],e=a.get(N);if(!b&&e){for(var f=0;f<e[u];f++){var l=e[f];l&&1==l[ra]&&d[m](f+"="+Ba(l[q])+"="+Ba(l[la])+"=1")}0<d[u]&&(c+="|"+d[A]("^"))}return c?a.b(L,1)+"."+c:i},Mc=function(a,b,c){c=c?"":a[y](L,"1");b=b[w](".");if(2>b[u]||Gc(b[0],c))return j;b=b[ga](1)[A](".")[w]("|");
+0<b[u]&&a.set(Gb,G(b[0]));if(1>=b[u])return h;for(var c=b[1][w](-1==b[1][p](",")?"^":","),d=0;d<c[u];d++){var e=c[d][w]("=");if(4==e[u]){var f={};fa(f,G(e[1]));f.value=G(e[2]);f.scope=1;a.get(N)[e[0]]=f}}0<=b[1][p]("^")&&F(125);return h},Oc=function(a,b){var c=Nc(a,b);return c?[a.b(L,1),a.b(Rb,0),a.b(Sb,1),a.b(Tb,1),c][A]("."):""},Nc=function(a){function b(b,e){if(!E(a.get(b))){var f=a[y](b,""),f=f[w](" ")[A]("%20"),f=f[w]("+")[A]("%20");c[m](e+"="+f)}}var c=[];b(Vb,"utmcid");b(Zb,"utmcsr");b(Xb,
+"utmgclid");b(Yb,"utmdclid");b(Wb,"utmccn");b($b,"utmcmd");b(ac,"utmctr");b(bc,"utmcct");return c[A]("|")},Qc=function(a,b,c){c=c?"":a[y](L,"1");b=b[w](".");if(5>b[u]||Gc(b[0],c))return a.set(Rb,g),a.set(Sb,g),a.set(Tb,g),a.set(Vb,g),a.set(Wb,g),a.set(Zb,g),a.set($b,g),a.set(ac,g),a.set(bc,g),a.set(Xb,g),a.set(Yb,g),j;a.set(Rb,1*b[1]);a.set(Sb,1*b[2]);a.set(Tb,1*b[3]);Pc(a,b[ga](4)[A]("."));return h},Pc=function(a,b){function c(a){return(a=b[ma](a+"=(.*?)(?:\\|utm|$)"))&&2==a[u]?a[1]:g}function d(b,
+c){c&&(c=e?G(c):c[w]("%20")[A](" "),a.set(b,c))}-1==b[p]("=")&&(b=G(b));var e="2"==c("utmcvr");d(Vb,c("utmcid"));d(Wb,c("utmccn"));d(Zb,c("utmcsr"));d($b,c("utmcmd"));d(ac,c("utmctr"));d(bc,c("utmcct"));d(Xb,c("utmgclid"));d(Yb,c("utmdclid"))},Gc=function(a,b){return b?a!=b:!/^\d+$/.test(a)};var Ac=function(){this.s=[]};Ac[v].add=function(a,b){this.s[m]({name:a,Ea:b})};Ac[v].execute=function(a){try{for(var b=0;b<this.s[u];b++)this.s[b].Ea.call(U,a)}catch(c){}};function Rc(a){100!=a.get(lb)&&a.get(O)%1E4>=100*a.get(lb)&&a[qa]()}function Sc(a){Tc()&&a[qa]()}function Uc(a){"file:"==I[x].protocol&&a[qa]()}function Vc(a){a.get(wb)||a.set(wb,I.title,h);a.get(vb)||a.set(vb,I[x].pathname+I[x].search,h)};var Wc=new function(){var a=[];this.set=function(b){a[b]=h};this.Fa=function(){for(var b=[],c=0;c<a[u];c++)a[c]&&(b[k[ja](c/6)]=b[k[ja](c/6)]^1<<c%6);for(c=0;c<b[u];c++)b[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[n](b[c]||0);return b[A]("")+"~"}};function F(a){Wc.set(a)};var U=window,I=document,Tc=function(){var a=U._gaUserPrefs;return a&&a.ioo&&a.ioo()},Xc=function(a,b){ca(a,b)},V=function(a){for(var b=[],c=I[ka][w](";"),a=RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$"),d=0;d<c[u];d++){var e=c[d][ma](a);e&&b[m](e[1])}return b},W=function(a,b,c,d,e){var f;f=Tc()?j:yc(d,c)?j:h;if(f){if(b&&0<=U[va].userAgent[p]("Firefox")){b=b[ha](/\n|\r/g," ");f=0;for(var l=b[u];f<l;++f){var o=b.charCodeAt(f)&255;if(10==o||13==o)b=b[z](0,f)+"?"+b[z](f+1)}}b&&2E3<b[u]&&(b=b[z](0,2E3),F(69));a=
+a+"="+b+"; path="+c+"; ";e&&(a+="expires="+(new Date((new Date).getTime()+e)).toGMTString()+"; ");d&&(a+="domain="+d+";");I.cookie=a}};var Yc,Zc,$c=function(){if(!Yc){var a={},b=U[va],c=U.screen;a.H=c?c.width+"x"+c.height:"-";a.G=c?c.colorDepth+"-bit":"-";a.language=(b&&(b.language||b.browserLanguage)||"-")[C]();a.javaEnabled=b&&b.javaEnabled()?1:0;a.characterSet=I.characterSet||I.charset||"-";try{var d=I.documentElement,e=I.body,f=e&&e[pa]&&e[ta],b=[];d&&d[pa]&&d[ta]&&("CSS1Compat"===I.compatMode||!f)?b=[d[pa],d[ta]]:f&&(b=[e[pa],e[ta]]);a.Ba=b[A]("x")}catch(l){F(135)}Yc=a}},ad=function(){$c();for(var a=Yc,b=U[va],a=b.appName+b.version+
+a.language+b.platform+b.userAgent+a.javaEnabled+a.H+a.G+(I[ka]?I[ka]:"")+(I.referrer?I.referrer:""),b=a[u],c=U.history[u];0<c;)a+=c--^b++;return ya(a)},bd=function(a){$c();var b=Yc;a.set(zb,b.H);a.set(Ab,b.G);a.set(Db,b.language);a.set(Eb,b.characterSet);a.set(Bb,b.javaEnabled);a.set(vc,b.Ba);if(a.get($a)&&a.get(ab)){if(!(b=Zc)){var c,d,e;d="ShockwaveFlash";if((b=(b=U[va])?b.plugins:g)&&0<b[u])for(c=0;c<b[u]&&!e;c++)d=b[c],-1<d[q][p]("Shockwave Flash")&&(e=d.description[w]("Shockwave Flash ")[1]);
+else{d=d+"."+d;try{c=new ActiveXObject(d+".7"),e=c.GetVariable("$version")}catch(f){}if(!e)try{c=new ActiveXObject(d+".6"),e="WIN 6,0,21,0",c.AllowScriptAccess="always",e=c.GetVariable("$version")}catch(l){}if(!e)try{c=new ActiveXObject(d),e=c.GetVariable("$version")}catch(o){}e&&(e=e[w](" ")[1][w](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}Zc=b;a.set(Cb,Zc)}else a.set(Cb,"-")};var X=function(){Q(X[v],"push",X[v][m],5);Q(X[v],"_createAsyncTracker",X[v].Ca,33);Q(X[v],"_getAsyncTracker",X[v].Da,34);this.r=0};X[v].Ca=function(a,b){return J.l(a,b||"")};X[v].Da=function(a){return J.p(a)};X[v].push=function(a){0<this.r&&F(105);this.r++;for(var b=arguments,c=0,d=0;d<b[u];d++)try{if("function"===typeof b[d])b[d]();else{var e="",f=b[d][0],l=f.lastIndexOf(".");0<l&&(e=f[z](0,l),f=f[z](l+1));var o="_gat"==e?J:"_gaq"==e?cd:J.p(e);o[f].apply(o,b[d][ga](1))}}catch(r){c++}this.r--;return c};var gd=function(){function a(a,b,c,d){g==f[a]&&(f[a]={});g==f[a][b]&&(f[a][b]=[]);f[a][b][c]=d}function b(a,b,c){if(g!=f[a]&&g!=f[a][b])return f[a][b][c]}function c(a,b){if(g!=f[a]&&g!=f[a][b]){f[a][b]=g;var c=h,d;for(d=0;d<l[u];d++)if(g!=f[a][l[d]]){c=j;break}c&&(f[a]=g)}}function d(a){var b="",c=j,d,e;for(d=0;d<l[u];d++)if(e=a[l[d]],g!=e){c&&(b+=l[d]);for(var c=[],f=g,Y=g,Y=0;Y<e[u];Y++)if(g!=e[Y]){f="";Y!=Z&&g==e[Y-1]&&(f+=Y[t]()+oa);for(var ed=e[Y],pc="",Hb=g,qc=g,rc=g,Hb=0;Hb<ed[u];Hb++)qc=ed[n](Hb),
+rc=B[qc],pc+=g!=rc?rc:qc;f+=pc;c[m](f)}b+=o+c[A](s)+r;c=j}else c=h;return b}var e=this,f=[],l=["k","v"],o="(",r=")",s="*",oa="!",B={"'":"'0"};B[r]="'1";B[s]="'2";B[oa]="'3";var Z=1;e.va=function(a){return g!=f[a]};e.o=function(){for(var a="",b=0;b<f[u];b++)g!=f[b]&&(a+=b[t]()+d(f[b]));return a};e.ua=function(a){if(a==g)return e.o();for(var b=a.o(),c=0;c<f[u];c++)g!=f[c]&&!a.va(c)&&(b+=c[t]()+d(f[c]));return b};e.e=function(b,c,d){if(!dd(d))return j;a(b,"k",c,d);return h};e.k=function(b,c,d){if(!fd(d))return j;
+a(b,"v",c,d[t]());return h};e.getKey=function(a,c){return b(a,"k",c)};e.C=function(a,c){return b(a,"v",c)};e.A=function(a){c(a,"k")};e.B=function(a){c(a,"v")};Q(e,"_setKey",e.e,89);Q(e,"_setValue",e.k,90);Q(e,"_getKey",e.getKey,87);Q(e,"_getValue",e.C,88);Q(e,"_clearKey",e.A,85);Q(e,"_clearValue",e.B,86)};function dd(a){return"string"==typeof a}function fd(a){return"number"!=typeof a&&(g==Number||!(a instanceof Number))||k.round(a)!=a||NaN==a||a==ba?j:h};var hd=function(a){var b=U.gaGlobal;a&&!b&&(U.gaGlobal=b={});return b},id=function(){var a=hd(h).hid;a==i&&(a=za(),hd(h).hid=a);return a},jd=function(a){a.set(yb,id());var b=hd();if(b&&b.dh==a.get(L)){var c=b.sid;c&&("0"==c&&F(112),a.set(Lb,c),a.get(Fb)&&a.set(Kb,c));b=b.vid;a.get(Fb)&&b&&(b=b[w]("."),1*b[1]||F(112),a.set(O,1*b[0]),a.set(Jb,1*b[1]))}};var kd,ld=function(a,b,c){var d=a[y](Ta,""),e=a[y](M,"/"),a=a.b(Ua,0);W(b,c,e,d,a)},Dc=function(a){var b=a[y](Ta,"");a.b(L,1);var c=a[y](M,"/");W("__utma",Ic(a),c,b,a.get(Ua));W("__utmb",Jc(a),c,b,a.get(Va));W("__utmc",""+a.b(L,1),c,b);var d=Oc(a,h);d?W("__utmz",d,c,b,a.get(Wa)):W("__utmz","",c,b,-1);(d=Lc(a,j))?W("__utmv",d,c,b,a.get(Ua)):W("__utmv","",c,b,-1)},Cc=function(a){var b=a.b(L,1);if(!Hc(a,Fc(b,V("__utma"))))return a.set(Ib,h),j;var c=!Kc(a,Fc(b,V("__utmb")));a.set(Ob,c);Qc(a,Fc(b,V("__utmz")));
+Mc(a,Fc(b,V("__utmv")));kd=!c;return h},md=function(a){kd||0<V("__utmb")[u]||(W("__utmd","1",a[y](M,"/"),a[y](Ta,""),1E4),0==V("__utmd")[u]&&a[qa]())};var pd=function(a){a.get(O)==g?nd(a):a.get(Ib)&&!a.get(tc)?nd(a):a.get(Ob)&&od(a)},qd=function(a){a.get(Ub)&&!a.get(Nb)&&(od(a),a.set(Sb,a.get(Mb)))},nd=function(a){var b=a.get(Sa);a.set(Fb,h);a.set(O,za()^ad(a)&2147483647);a.set(Gb,"");a.set(Jb,b);a.set(Kb,b);a.set(Lb,b);a.set(Mb,1);a.set(Nb,h);a.set(Pb,0);a.set(P,10);a.set(Qb,b);a.set(N,[]);a.set(Ib,j);a.set(Ob,j)},od=function(a){a.set(Kb,a.get(Lb));a.set(Lb,a.get(Sa));a.n(Mb);a.set(Nb,h);a.set(Pb,0);a.set(P,10);a.set(Qb,a.get(Sa));a.set(Ob,j)};var rd="daum:q,eniro:search_word,naver:query,pchome:q,images.google:q,google:q,yahoo:p,yahoo:q,msn:q,bing:q,aol:query,aol:q,lycos:q,lycos:query,ask:q,netscape:query,cnn:query,about:terms,mamma:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,seznam:q,rakuten:qt,biglobe:q,goo.ne:MT,wp:szukaj,onet:qt,yam:k,kvasir:q,ozu:q,terra:query,rambler:query,conduit:q,babylon:q,search-results:q,avg:q,comcast:q,incredimail:q,startsiden:q".split(","),xd=function(a){if(a.get(bb)&&!a.get(tc)){for(var b=
+!E(a.get(Vb))||!E(a.get(Zb))||!E(a.get(Xb))||!E(a.get(Yb)),c={},d=0;d<sd[u];d++){var e=sd[d];c[e]=a.get(e)}(d=a.get(cc))?(e=new Fa,Ia(e,d),d=e):d=Ha(I[x][ua],a.get(Ya)).d;if(!("1"==Ea(d.get(a.get(kb)))&&b)&&(d=td(a,d)||ud(a),!d&&!b&&a.get(Nb)&&(vd(a,g,"(direct)",g,g,"(direct)","(none)",g,g),d=h),d&&(a.set(Ub,wd(a,c)),b="(direct)"==a.get(Zb)&&"(direct)"==a.get(Wb)&&"(none)"==a.get($b),a.get(Ub)||a.get(Nb)&&!b)))a.set(Rb,a.get(Sa)),a.set(Sb,a.get(Mb)),a.n(Tb)}},td=function(a,b){function c(c,d){var d=
+d||"-",e=Ea(b.get(a.get(c)));return e&&"-"!=e?G(e):d}var d=Ea(b.get(a.get(db)))||"-",e=Ea(b.get(a.get(gb)))||"-",f=Ea(b.get(a.get(fb)))||"-",l=Ea(b.get("dclid"))||"-",o=c(eb,"(not set)"),r=c(hb,"(not set)"),s=c(ib),oa=c(jb);if(E(d)&&E(f)&&E(l)&&E(e))return j;if(E(s)){var B=Ja(a.get(xb),a.get(M)),B=Ha(B,h);(B=yd(a,B))&&!E(B[1]&&!B[2])&&(s=B[1])}vd(a,d,e,f,l,o,r,s,oa);return h},ud=function(a){var b=Ja(a.get(xb),a.get(M)),c=Ha(b,h);if(!(b!=g&&b!=i&&""!=b&&"0"!=b&&"-"!=b&&0<=b[p]("://"))||c&&-1<c[na][p]("google")&&
+c.d.contains("q")&&"cse"==c.path)return j;if((b=yd(a,c))&&!b[2])return vd(a,g,b[0],g,g,"(organic)","organic",b[1],g),h;if(b)return j;if(a.get(Nb))a:{for(var b=a.get(rb),d=Ga(c[na]),e=0;e<b[u];++e)if(-1<d[p](b[e])){a=j;break a}vd(a,g,d,g,g,"(referral)","referral",g,"/"+c.path);a=h}else a=j;return a},yd=function(a,b){for(var c=a.get(pb),d=0;d<c[u];++d){var e=c[d][w](":");if(-1<b[na][p](e[0][C]())){var f=b.d.get(e[1]);if(f&&(f=H(f),!f&&-1<b[na][p]("google.")&&(f="(not provided)"),!e[3]||-1<b.url[p](e[3]))){a:{for(var c=
+f,d=a.get(qb),c=G(c)[C](),l=0;l<d[u];++l)if(c==d[l]){c=h;break a}c=j}return[e[2]||e[0],f,c]}}}return i},vd=function(a,b,c,d,e,f,l,o,r){a.set(Vb,b);a.set(Zb,c);a.set(Xb,d);a.set(Yb,e);a.set(Wb,f);a.set($b,l);a.set(ac,o);a.set(bc,r)},sd=[Wb,Vb,Xb,Yb,Zb,$b,ac,bc],wd=function(a,b){function c(a){a=(""+a)[w]("+")[A]("%20");return a=a[w](" ")[A]("%20")}function d(c){var d=""+(a.get(c)||""),c=""+(b[c]||"");return 0<d[u]&&d==c}if(d(Xb)||d(Yb))return F(131),j;for(var e=0;e<sd[u];e++){var f=sd[e],l=b[f]||"-",
+f=a.get(f)||"-";if(c(l)!=c(f))return h}return j};var Ad=function(a){zd(a,I[x][ua])?(a.set(tc,h),F(12)):a.set(tc,j)},zd=function(a,b){if(!a.get(Xa))return j;var c=Ha(b,a.get(Ya)),d=H(c.d.get("__utma")),e=H(c.d.get("__utmb")),f=H(c.d.get("__utmc")),l=H(c.d.get("__utmx")),o=H(c.d.get("__utmz")),r=H(c.d.get("__utmv")),c=H(c.d.get("__utmk"));if(ya(""+d+e+f+l+o+r)!=c){d=G(d);e=G(e);f=G(f);l=G(l);a:{for(var f=d+e+f+l,s=0;3>s;s++){for(var oa=0;3>oa;oa++){if(c==ya(f+o+r)){F(127);c=[o,r];break a}var B=o[ha](/ /g,"%20"),Z=r[ha](/ /g,"%20");if(c==ya(f+B+Z)){F(128);
+c=[B,Z];break a}B=B[ha](/\+/g,"%20");Z=Z[ha](/\+/g,"%20");if(c==ya(f+B+Z)){F(129);c=[B,Z];break a}o=G(o)}r=G(r)}c=g}if(!c)return j;o=c[0];r=c[1]}if(!Hc(a,d,h))return j;Kc(a,e,h);Qc(a,o,h);Mc(a,r,h);Bd(a,l,h);return h},Dd=function(a,b,c){var d;d=Ic(a)||"-";var e=Jc(a)||"-",f=""+a.b(L,1)||"-",l=Cd(a)||"-",o=Oc(a,j)||"-",a=Lc(a,j)||"-",r=ya(""+d+e+f+l+o+a),s=[];s[m]("__utma="+d);s[m]("__utmb="+e);s[m]("__utmc="+f);s[m]("__utmx="+l);s[m]("__utmz="+o);s[m]("__utmv="+a);s[m]("__utmk="+r);d=s[A]("&");if(!d)return b;
+e=b[p]("#");if(c)return 0>e?b+"#"+d:b+"&"+d;c="";f=b[p]("?");0<e&&(c=b[z](e),b=b[z](0,e));return 0>f?b+"?"+d+c:b+"&"+d+c};var Ed="|",Gd=function(a,b,c,d,e,f,l,o,r){var s=Fd(a,b);s||(s={},a.get(sb)[m](s));s.id_=b;s.affiliation_=c;s.total_=d;s.tax_=e;s.shipping_=f;s.city_=l;s.state_=o;s.country_=r;s.items_=s.items_||[];return s},Hd=function(a,b,c,d,e,f,l){var a=Fd(a,b)||Gd(a,b,"",0,0,0,"","",""),o;a:{if(a&&a.items_){o=a.items_;for(var r=0;r<o[u];r++)if(o[r].sku_==c){o=o[r];break a}}o=i}r=o||{};r.transId_=b;r.sku_=c;r.name_=d;r.category_=e;r.price_=f;r.quantity_=l;o||a.items_[m](r);return r},Fd=function(a,b){for(var c=
+a.get(sb),d=0;d<c[u];d++)if(c[d].id_==b)return c[d];return i};var Id,Jd=function(a){if(!Id){var b,c=I[x].hash;b=U[q];var d=/^#?gaso=([^&]*)/;if(c=(b=(c=c&&c[ma](d)||b&&b[ma](d))?c[1]:H(V("GASO")))&&b[ma](/^(?:\|([-0-9a-z.]{1,40})\|)?([-.\w]{10,1200})$/i))if(ld(a,"GASO",""+b),J._gasoDomain=a.get(Ta),J._gasoCPath=a.get(M),b=a=c[1],"adwords"!=b&&(b="www"),c="https://"+(b+".google.com")+"/analytics/reporting/overlay_js?gaso="+c[2]+(a?"&prefix="+a:"")+"&"+za())a=I.createElement("script"),a.type="text/javascript",a.async=h,a.src=c,a.id="_gasojs",ea(a,g),c=I.getElementsByTagName("script")[0],
+c.parentNode.insertBefore(a,c);Id=h}};var Bd=function(a,b,c){c&&(b=G(b));c=a.b(L,1);b=b[w](".");!(2>b[u])&&/^\d+$/.test(b[0])&&(b[0]=""+c,ld(a,"__utmx",b[A](".")))},Cd=function(a,b){var c=Fc(a.get(L),V("__utmx"));"-"==c&&(c="");return b?Ba(c):c};var Od=function(a,b){var c=k.min(a.b(oc,0),10);if(a.b(O,0)%100>=c)return j;c=Kd()||Ld();if(c==g)return j;var d=c[0];if(d==g||d==ba||isNaN(d))return j;0<d?Md(c)?b(Nd(c)):b(Nd(c[ga](0,1))):(1>1E3*k[sa]()&&F(124),Ca(U,"load",function(){Od(a,b)},j));return h},Md=function(a){for(var b=1;b<a[u];b++)if(isNaN(a[b])||a[b]==ba||0>a[b])return j;return h},Nd=function(a){for(var b=new gd,c=0;c<a[u];c++)b.e(14,c+1,(isNaN(a[c])||0>a[c]?0:5E3>a[c]?10*k[ja](a[c]/10):45E4>a[c]?100*k[ja](a[c]/100):45E4)+""),b.k(14,
+c+1,a[c]);return b},Kd=function(){var a=U.performance||U.webkitPerformance;if(a=a&&a.timing){var b=a.navigationStart;if(0==b)F(133);else return[a.loadEventStart-b,a.domainLookupEnd-a.domainLookupStart,a.connectEnd-a.connectStart,a.responseStart-a.requestStart,a.responseEnd-a.responseStart,a.fetchStart-b]}},Ld=function(){if(U.top==U){var a=U.external,b=a&&a.onloadT;a&&!a.isValidLoadTime&&(b=g);2147483648<b&&(b=g);0<b&&a.setPageReadyTime();return b==g?g:[b]}};var R=function(a,b,c){function d(a){return function(b){if((b=b.get(uc)[a])&&b[u])for(var c=xc(e,a),d=0;d<b[u];d++)b[d].call(e,c)}}var e=this;this.a=new Ec;this.get=function(a){return this.a.get(a)};this.set=function(a,b,c){this.a.set(a,b,c)};this.set(Pa,b||"UA-XXXXX-X");this.set(Ra,a||"");this.set(Qa,c||"");this.set(Sa,k.round((new Date).getTime()/1E3));this.set(M,"/");this.set(Ua,63072E6);this.set(Wa,15768E6);this.set(Va,18E5);this.set(Xa,j);this.set(ob,50);this.set(Ya,j);this.set(Za,h);this.set($a,
+h);this.set(ab,h);this.set(bb,h);this.set(cb,h);this.set(eb,"utm_campaign");this.set(db,"utm_id");this.set(fb,"gclid");this.set(gb,"utm_source");this.set(hb,"utm_medium");this.set(ib,"utm_term");this.set(jb,"utm_content");this.set(kb,"utm_nooverride");this.set(lb,100);this.set(oc,1);this.set(sc,j);this.set(mb,"/__utm.gif");this.set(nb,1);this.set(sb,[]);this.set(N,[]);this.set(pb,rd[ga](0));this.set(qb,[]);this.set(rb,[]);this.t("auto");this.set(xb,this.ra());this.set(uc,{hit:[],load:[]});this.a.g("0",
+Ad);this.a.g("1",pd);this.a.g("2",xd);this.a.g("3",qd);this.a.g("4",d("load"));this.a.g("5",Jd);this.a.c("A",Sc);this.a.c("B",Uc);this.a.c("C",pd);this.a.c("D",Rc);this.a.c("E",zc);this.a.c("F",Pd);this.a.c("G",md);this.a.c("H",Vc);this.a.c("I",bd);this.a.c("J",jd);this.a.c("K",d("hit"));this.a.c("L",Qd);this.a.c("M",Rd);0===this.get(Sa)&&F(111);this.a.J();this.w=g};D=R[v];D.h=function(){var a=this.get(tb);a||(a=new gd,this.set(tb,a));return a};
+D.ta=function(a){for(var b in a){var c=a[b];a.hasOwnProperty(b)&&this.set(b,c,h)}};D.z=function(a){if(this.get(sc))return j;var b=this,c=Od(this.a,function(c){b.set(vb,a,h);b.u(c)});this.set(sc,c);return c};D.na=function(a){a&&a!=g&&-1<(a.constructor+"")[p]("String")?(F(13),this.set(vb,a,h)):"object"===typeof a&&a!==i&&this.ta(a);this.w=a=this.get(vb);1>=1E3*k[sa]()&&Sd();this.a.f("page");this.z(a)};
+D.v=function(a,b,c,d,e){if(""==a||!dd(a)||""==b||!dd(b)||c!=g&&!dd(c)||d!=g&&!fd(d))return j;this.set(hc,a,h);this.set(ic,b,h);this.set(jc,c,h);this.set(kc,d,h);this.set(gc,!!e,h);this.a.f("event");return h};D.oa=function(a,b,c,d){if(!a||!b)return j;this.set(lc,a,h);this.set(mc,b,h);this.set(nc,c||I[x][ua],h);d&&this.set(vb,d,h);this.a.f("social");return h};D.ma=function(){this.set(oc,10);this.z(this.w)};D.pa=function(){this.a.f("trans")};D.u=function(a){this.set(ub,a,h);this.a.f("event")};
+D.V=function(a){this.m();var b=this;return{_trackEvent:function(c,d,e){F(91);b.v(a,c,d,e)}}};D.Y=function(a){return this.get(a)};D.ga=function(a,b){if(a)if(a!=g&&-1<(a.constructor+"")[p]("String"))this.set(a,b);else if("object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&this.set(c,a[c])};D.addEventListener=function(a,b){var c=this.get(uc)[a];c&&c[m](b)};D.removeEventListener=function(a,b){for(var c=this.get(uc)[a],d=0;c&&d<c[u];d++)if(c[d]==b){c.splice(d,1);break}};D.$=function(){return"5.2.4"};
+D.t=function(a){this.get(Za);a="auto"==a?Ga(I.domain):!a||"-"==a||"none"==a?"":a[C]();this.set(Ta,a)};D.ea=function(a){this.set(Za,!!a)};D.Z=function(a,b){return Dd(this.