1var calendar = { 2 config: { 3 id: null, 4 ok: null, 5 maxDay: null, 6 minDay: null, 7 zIndex: 1000, 8 ishotel: false, 9 format: "yyyy-MM-dd" 10 }, 11 clear: function () { 12 calendar.config.id = null; 13 calendar.config.ok = null; 14 calendar.config.maxDay = null; 15 calendar.config.minDay = null; 16 calendar.config.zIndex = 1000; 17 calendar.config.ishotel = false; 18 }, 19 _setDay: function (m, y, d) { 20 var currDay = d; 21 var currMon = m; 22 var currYear = y; 23 24 var setMon = new Date().getMonth() + 1; 25 var setYear = new Date().getFullYear(); 26 var setDay = new Date().getDate(); 27 28 var firstDay = new Date(y + "/" + m + "/" + 1).getDay(); 29 var calDay = []; 30 var _d = 1; 31 var lastDay = new Date(y, m, 0).getDate(); 32 for (var i = 0; i < 6; i++) { 33 calDay.push("<tr>"); 34 for (var j = 0; j < 7; j++) { 35 if (i == 0) { 36 if (firstDay > j) { 37 calDay.push("<td date=''> </td>"); 38 } 39 else { 40 var f = calendar.festivals(m, _d); 41 var _dx = (y + "-" + m + "-" + _d); 42 if (m == currMon && currDay == _d && currYear == y) { 43 calDay.push("<td date='" + _dx + "' class='_selDay'>" + _d + "</td>"); 44 } 45 else if (m == setMon && setDay == _d && setYear == y) { 46 calDay.push("<td date='" + _dx + "' title='" + _d + "å·' class='_sday'>ä»å¤©</td>"); 47 } 48 else if (f !== "") { 49 calDay.push("<td date='" + _dx + "' class='festival'>" + f + "</td>"); 50 } 51 else if (calendar.config.minDay != null && new Date(calendar.config.minDay.replace(/[å¹´ææ¥-]/g, "\/")) > new Date(_dx.replace(/[-]/g, "\/"))) { 52 calDay.push("<td date='' class='disDay'>" + _d + "</td>"); 53 } 54 else if (calendar.config.maxDay != null && new Date(calendar.config.maxDay.replace(/[å¹´ææ¥-]/g, "\/")) < new Date(_dx.replace(/[-]/g, "\/"))) { 55 calDay.push("<td date='' class='disDay'>" + _d + "</td>"); 56 } 57 else { 58 calDay.push("<td date='" + _dx + "'>" + _d + "</td>"); 59 } 60 _d++; 61 } 62 } 63 else { 64 if (_d <= lastDay) { 65 var f = calendar.festivals(m, _d); 66 var _dx = (y + "-" + m + "-" + _d); 67 if (m == currMon && currDay == _d && currYear == y) { 68 calDay.push("<td date='" + _dx + "' class='_selDay'>" + _d + "</td>"); 69 } 70 else if (m == setMon && setDay == _d && setYear == y) { 71 calDay.push("<td date='" + _dx + "' title='" + _d + "å·' class='_sday'>ä»å¤©</td>"); 72 } 73 else if (f !== "") { 74 calDay.push("<td date='" + _dx + "' title='" + m + "-" + _d + "' class='festival'>" + f + "</td>"); 75 } 76 else if (calendar.config.minDay != null && new Date(calendar.config.minDay.replace(/[å¹´ææ¥-]/g, "\/")) > new Date(_dx.replace(/[-]/g, "\/"))) { 77 calDay.push("<td date='' class='disDay'>" + _d + "</td>"); 78 } 79 else if (calendar.config.maxDay != null && new Date(calendar.config.maxDay.replace(/[å¹´ææ¥-]/g, "\/")) < new Date(_dx.replace(/[-]/g, "\/"))) { 80 calDay.push("<td date='' class='disDay'>" + _d + "</td>"); 81 } 82 else { 83 calDay.push("<td date='" + _dx + "'>" + _d + "</td>"); 84 } 85 _d++; 86 } 87 else calDay.push("<td date=''> </td>"); 88 } 89 } 90 calDay.push("</tr>"); 91 } 92 return calDay.join(""); 93 }, 94 L: function (e) { 95 var l = 0; while (e) { l += e.offsetLeft; e = e.offsetParent; } 96 return l 97 }, 98 T: function (e) { 99 var t = 0; while (e) { t += e.offsetTop; e = e.offsetParent; } 100 return t 101 }, 102 colse: function () { 103 if (document.getElementById("_calendar")) { 104 document.body.removeChild(document.getElementById("_calendar")); 105 $(".calendar").remove(); 106 } 107 }, 108 show: function () { 109 calendar.colse(); 110 var config = arguments[0]; var that = calendar.config; 111 calendar.clear(); 112 for (var i in that) { if (config[i] != undefined) { that[i] = config[i]; } }; 113 calendar.init(calendar.config.id); 114 }, 115 festivals: function (m, d) { 116 var lFtv = ["101:å½åº", "1225:å£è¯"]; 117 var f = ""; 118 for (var i = 0; i < lFtv.length; i++) { 119 if (lFtv[i].split(':')[0] == (m.toString() + d.toString())) 120 f = lFtv[i].split(':')[1]; 121 } 122 return f; 123 }, 124 init: function (s) { 125 126 var obj = s; 127 var oDay = s.value.replace(/[å¹´æ]/g, "-").replace(/[æ¥]/g, ""); 128 if ($(s).attr("date") != "" && $(s).attr("date") != undefined) { 129 oDay = $(s).attr("date"); 130 } 131 var currMon = new Date().getMonth() + 1; 132 var currYea = new Date().getFullYear(); 133 var currDay = new Date().getDate(); 134 var reg = /^(\d{4})-(\d{2})-(\d{2})$/; 135 if (oDay != "" && reg.test(oDay)) { 136 currMon = parseInt(oDay.split('-')[1]); 137 currDay = parseInt(oDay.split('-')[2]); 138 currYea = oDay.split('-')[0]; 139 } 140 var modMone = new Date().getFullYear(); 141 modMone = modMone - 5; 142 var _yers = []; 143 _yers.push("<table style='display:none;' id='calYear' class='calYear'>"); 144 for (var m = 0; m < 4; m++) { 145 _yers.push("<tr>"); 146 for (var n = 0; n < 3; n++) { 147 _yers.push("<td>" + modMone + "</td>"); 148 modMone++; 149 } 150 _yers.push("</tr>"); 151 } 152 _yers.push("</table>"); 153 154 var _c = []; 155 var t = s.offsetHeight; 156 _c.push("<div id='calendar_head' class='calendar_head'><em class='calendaremL'>«</em>
156<input id='_calyear' type='text' value='" + currYea + "' /><input id='_calmod' type='text' value='" + currMon + "' /><em class='calendaremR'>»</em>"); 157 _c.push(_yers.join("")); 158 _c.push("<table style='display:none;' id='calMonth' class='calMonth'><tr><td>1æ</td><td>2æ</td><td>3æ</td><td>4æ</td></tr><tr><td>5æ</td><td>6æ</td><td>7æ</td><td>8æ</td></tr><tr><td>9æ</td><td>10æ</td><td>11æ</td><td>12æ</td></tr></table>"); 159 _c.push("</div>"); 160 _c.push("<div class='calendar_boy' ><i id='_bgMon'>" + currMon + "</i>"); 161 _c.push("<table id='_tdCal' class='_caltable' border='0'><tr><td>æ¥</td><td>ä¸</td><td>äº</td><td>ä¸</td><td>å</td><td>äº</td><td>å </td></tr>"); 162 _c.push("" + calendar._setDay(currMon, currYea, currDay) + ""); 163 _c.push("</table>"); 164 165 var calTop = calendar.T(s) + t; 166 var calLeft = calendar.L(s); 167 var bodyHith = document.body.parentNode.offsetHeight; 168 var bodywidth = document.body.parentNode.offsetWidth; 169 if ((calTop + 225) > bodyHith) { calTop = calendar.T(s) - 225; } 170 var _boy = document.getElementsByTagName("body").item(0); 171 var _div = document.createElement("div"); 172 _div.setAttribute('id', "_calendar"); 173 _div.setAttribute('class', "calendar"); 174 _div.setAttribute('style', "left:" + calLeft + "px;top:" + calTop + "px;z-index:" + calendar.config.zIndex + ";"); 175 _boy.appendChild(_div); 176 document.getElementById("_calendar").innerHTML = _c.join(""); 177 178 $("#_calyear").click(function () { 179 $("#calYear").show(); 180 $("#calMonth").hide(); 181 $("#calYear td").click(function () { 182 $("#_calyear").val(this.innerHTML); 183 calendar._yearMon($("#_calmod").val(), this.innerHTML, s); 184 $("#calYear").hide(); 185 }); 186 }).blur(function () { 187 calendar._yearMon($("#_calmod").val(), this.value, s); 188 }).keyup(function () { 189 $("#calYear").hide(); 190 $("#calMonth").hide(); 191 this.value = this.value.replace(/[^\d]/g, ""); 192 }); 193 $("#_calmod").click(function () { 194 $("#calYear").hide(); 195 $("#calMonth").show(); 196 $("#calMonth td").click(function () { 197 $("#_calmod").val(this.innerHTML.replace(/[æ]/g, "")); 198 calendar._yearMon(this.innerHTML.replace(/[æ]/g, ""), $("#_calyear").val(), s); 199 $("#calMonth").hide(); 200 }); 201 }).blur(function () { 202 if (0 < parseInt(this.value) < 13) { 203 calendar._yearMon(this.value, $("#_calyear").val(), s); 204 } 205 }).keyup(function () { 206 $("#calYear").hide(); 207 $("#calMonth").hide(); 208 this.value = this.value.replace(/[^\d]/g, ""); 209 }); 210 211 $("#_tdCal tr:gt(0) td[date!='']").click(function () { 212 s.value = new Date($(this).attr("date").replace(/[-]/g, "/")).format(calendar.config.format); 213 $(s).attr("date", new Date($(this).attr("date").replace(/[-]/g, "/")).format("yyyy-MM-dd")); 214 if (calendar.config.ok != null) { 215 eval(calendar.config.ok()); 216 } 217 calendar.colse(); 218 }).on("mouseover", function () { 219 $(this).css({ "color": "#fff", "background-color": "#ff9900" }); 220 }).on("mouseout", function () { $(this).removeAttr("style") }); 221 222 223 $("#calendar_head em").click(function () { 224 if ($("#calendar_head em").index(this) == 0) { 225 calendar._nexPrv("L", $("#_calmod").val(), $("#_calyear").val(), s); 226 } 227 else { 228 calendar._nexPrv("R", $("#_calmod").val(), $("#_calyear").val(), s); 229 } 230 }); 231 $("#_tdCal").click(function () { 232 $("#calYear").hide(); 233 $("#calMonth").hide(); 234 }); 235 document.onclick = function (e) { 236 var event = e || window.event; 237 var Target = event.target || event.srcElement; 238 calendar.hide(event, Target, obj); 239 } 240 }, 241 hide: function (event, Target, obj) { 242 var oPare = Target.parentNode; 243 var isChild = true; 244 if (oPare == obj || Target == obj) { 245 isChild = true; 246 } else { 247 loop: while (oPare != document.getElementById("_calendar")) { 248 oPare = oPare.parentNode; 249 if (oPare == obj || oPare == null) { 250 isChild = false; 251 break loop; 252 } 253 } 254 } 255 if (!isChild) { 256 calendar.colse(); 257 } 258 }, 259 _selCal: function (e) { 260 $("#_tdCal tr:gt(0) td[date!='']").click(function () { 261 e.value = new Date($(this).attr("date").replace(/[-]/g, "/")).format(calendar.config.format); 262 $(e).attr("date", new Date($(this).attr("date").replace(/[-]/g, "/")).format("yyyy-MM-dd")); 263 if (calendar.config.ok != null) { 264 eval(calendar.config.ok()); 265 } 266 calendar.colse(); 267 }); 268 }, 269 _yearMon: function (m, y, s) { 270 $("#_tdCal tr:gt(0)").remove(); 271 $("#_tdCal").append(calendar._setDay(m, y, 0)); 272 $("#_bgMon").html(parseInt(m)); 273 $("#_tdCal tr:gt(0) td[date!='']").click(function () { 274 s.value = new Date($(this).attr("date").replace(/[-]/g, "/")).format(calendar.config.format); 275 calendar.colse(); 276 }); 277 }, 278 _nexPrv: function (t, m, y, s) { 279 280 var ys = y; 281 var ms = m; 282 if (t == "L") { 283 if (m == 1) { 284 ms = 12; 285 ys = parseInt(y) - 1; 286 } 287 else { 288 ms = parseInt(m) - 1; 289 } 290 } 291 else { 292 if (m == 12) { 293 ms = 1; 294 ys = parseInt(y) + 1; 295 } 296 else { 297 ms = parseInt(m) + 1; 298 } 299 } 300 $("#_tdCal tr:gt(0)").remove(); 301 $("#_tdCal").append(calendar._setDay(ms, ys, 0));
302 $("#_calmod").val(ms); 303 $("#_calyear").val(ys); 304 $("#_bgMon").html(ms); 305 $("#_tdCal tr:gt(0) td[date!='']").click(function () { 306 s.value = new Date($(this).attr("date").replace(/[-]/g, "/")).format(calendar.config.format); 307 $(s).attr("date", new Date($(this).attr("date").replace(/[-]/g, "/")).format("yyyy-MM-dd")); 308 calendar.colse(); 309 }); 310 } 311}; 312Date.prototype.format = function (format) { 313 var o = 314 { 315 "M+": this.getMonth() + 1, 316 "d+": this.getDate(), 317 "h+": this.getHours(), 318 "m+": this.getMinutes(), 319 "s+": this.getSeconds(), 320 "q+": Math.floor((this.getMonth() + 3) / 3), 321 "S": this.getMilliseconds() 322 }; 323 if (/(y+)/.test(format)) { 324 format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 325 }; 326 for (var k in o) { 327 if (new RegExp("(" + k + ")").test(format)) { 328 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); 329 }; 330 }; 331 return format; 332}; 333document.write("");
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.