1; (function($) { 2 if (!dateFormat || typeof (dateFormat) != "function") { 3 var dateFormat = function(format) { 4 var o = { 5 "M+": this.getMonth() + 1, 6 "d+": this.getDate(), 7 "h+": this.getHours(), 8 "H+": this.getHours(), 9 "m+": this.getMinutes(), 10 "s+": this.getSeconds(), 11 "q+": Math.floor((this.getMonth() + 3) / 3), 12 "w": "0123456".indexOf(this.getDay()), 13 "S": this.getMilliseconds() 14 }; 15 if (/(y+)/.test(format)) { 16 format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 17 } 18 for (var k in o) { 19 if (new RegExp("(" + k + ")").test(format)) 20 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); 21 } 22 return format; 23 }; 24 } 25 if (!DateAdd || typeof (DateDiff) != "function") { 26 var DateAdd = function(interval, number, idate) { 27 number = parseInt(number); 28 var date; 29 if (typeof (idate) == "string") { 30 date = idate.split(/\D/); 31 eval("var date = new Date(" + date.join(",") + ")"); 32 } 33 if (typeof (idate) == "object") { 34 date = new Date(idate.toString()); 35 } 36 switch (interval) { 37 case "y": date.setFullYear(date.getFullYear() + number); break; 38 case "m": date.setMonth(date.getMonth() + number); break; 39 case "d": date.setDate(date.getDate() + number); break; 40 case "w": date.setDate(date.getDate() + 7 * number); break; 41 case "h": date.setHours(date.getHours() + number); break; 42 case "n": date.setMinutes(date.getMinutes() + number); break; 43 case "s": date.setSeconds(date.getSeconds() + number); break; 44 case "l": date.setMilliseconds(date.getMilliseconds() + number); break; 45 } 46 return date; 47 } 48 } 49 if (!DateDiff || typeof (DateDiff) != "function") { 50 var DateDiff = function(interval, d1, d2) { 51 switch (interval) { 52 case "d": //date 53 case "w": 54 d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate()); 55 d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate()); 56 break; //w 57 case "h": 58 d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours()); 59 d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours()); 60 break; //h 61 case "n": 62 d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes()); 63 d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes()); 64 break; 65 case "s": 66 d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes(), d1.getSeconds()); 67 d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes(), d2.getSeconds()); 68 break; 69 } 70 var t1 = d1.getTime(), t2 = d2.getTime(); 71 var diff = NaN; 72 switch (interval) { 73 case "y": diff = d2.getFullYear() - d1.getFullYear(); break; //y 74 case "m": diff = (d2.getFullYear() - d1.getFullYear()) * 12 + d2.getMonth() - d1.getMonth(); break; //m 75 case "d": diff = Math.floor(t2 / 86400000) - Math.floor(t1 / 86400000); break; 76 case "w": diff = Math.floor((t2 + 345600000) / (604800000)) - Math.floor((t1 + 345600000) / (604800000)); break; //w 77 case "h": diff = Math.floor(t2 / 3600000) - Math.floor(t1 / 3600000); break; //h 78 case "n": diff = Math.floor(t2 / 60000) - Math.floor(t1 / 60000); break; // 79 case "s": diff = Math.floor(t2 / 1000) - Math.floor(t1 / 1000); break; //s 80 case "l": diff = t2 - t1; break; 81 } 82 return diff; 83 84 } 85 } 86 87 var userAgent = window.navigator.userAgent.toLowerCase(); 88 //ä¸åæ¯æie6\7\8 89 // $.browser.msie8 = false; 90 // $.browser.msie7 = false; 91 // $.browser.msie6 = false; 92 if ($.fn.noSelect == undefined) { 93 $.fn.noSelect = function(p) { //no select plugin by me :-) 94 if (p == null) 95 prevent = true; 96 else 97 prevent = p; 98 if (prevent) { 99 return this.each(function() { 100 if ($.browser.msie || $.browser.safari) $(this).bind('selectstart', function() { return false; }); 101 else if ($.browser.mozilla) { 102 $(this).css('MozUserSelect', 'none'); 103 $('body').trigger('focus'); 104 } 105 else if ($.browser.opera) $(this).bind('mousedown', function() { return false; }); 106 else $(this).attr('unselectable', 'on'); 107 }); 108 109 } else { 110 return this.each(function() { 111 if ($.browser.msie || $.browser.safari) $(this).unbind('selectstart'); 112 else if ($.browser.mozilla) $(this).css('MozUserSelect', 'inherit'); 113 else if ($.browser.opera) $(this).unbind('mousedown'); 114 else $(this).removeAttr('unselectable', 'on'); 115 }); 116 117 } 118 }; //end noSelect 119 }; 120 $.fn.datepicker = function(o) { 121 var def = { 122 weekStart: 0, 123 weekName: [i18n.datepicker.dateformat.sun, i18n.datepicker.dateformat.mon, i18n.datepicker.dateformat.tue, i18n.datepicker.dateformat.wed, i18n.datepicker.dateformat.thu, i18n.datepicker.dateformat.fri, i18n.datepicker.dateformat.sat], //week language support 124 monthName: [i18n.datepicker.dateformat.jan, i18n.datepicker.dateformat.feb, i18n.datepicker.dateformat.mar, i18n.datepicker.dateformat.apr, i18n.datepicker.dateformat.may, i18n.datepicker.dateformat.jun, i18n.datepicker.dateformat.jul, i18n.datepicker.dateformat.aug, i18n.datepicker.dateformat.sep, i18n.datepicker.dateformat.oct, i18n.datepicker.dateformat.nov, i18n.datepicker.dateformat.dec], 125 monthp: i18n.datepicker.dateformat.postfix, 126 Year: new Date().getFullYear(), //default year 127 Month: new Date().getMonth() + 1, //default month 128 Day: new Date().getDate(), //default date 129 today: new Date(), 130 btnOk: i18n.datepicker.ok, 131 btnCancel: i18n.datepicker.cancel, 132 btnToday: i18n.datepicker.today, 133 inputDate: null, 134 onReturn: false, 135 version: "1.1", 136 applyrule: false, //function(){};return rule={startdate,endate}; 137 showtarget: null, 138 picker: "" 139 }; 140 $.extend(def, o); 141 var cp = $("#BBIT_DP_CONTAINER"); 142 if (cp.length == 0) { 143 var cpHA = [];
144 cpHA.push("<div id='BBIT_DP_CONTAINER' class='bbit-dp' style='width:175px;z-index:999;'>"); 145 if ($.browser.msie6) { 146 cpHA.push('<iframe style="position:absolute;z-index:-1;width:100%;height:205px;top:0;left:0;scrolling:no;" frameborder="0" src="about:blank"></iframe>'); 147 } 148 cpHA.push("<table class='dp-maintable' cellspacing='0' cellpadding='0' style='width:175px;'><tbody><tr><td>"); 149 //caption bar goes here 150 cpHA.push("<table class='bbit-dp-top' cellspacing='0'><tr><td class='bbit-dp-top-left'> <a id='BBIT_DP_LEFTBTN' href='javascript:void(0);' title='", i18n.datepicker.prev_month_title, "'> </a></td><td class='bbit-dp-top-center' align='center'><em><button id='BBIT_DP_YMBTN'></button></em></td><td class='bbit-dp-top-right'><a id='BBIT_DP_RIGHTBTN' href='javascript:void(0);' title='", i18n.datepicker.next_month_title, "'> </a></td></tr></table>"); 151 cpHA.push("</td></tr>"); 152 cpHA.push("<tr><td>"); 153 //week 154 cpHA.push("<table id='BBIT_DP_INNER' class='bbit-dp-inner' cellspacing='0'><thead><tr>"); 155 //calculat for week 156 for (var i = def.weekStart, j = 0; j < 7; j++) { 157 cpHA.push("<th><span>", def.weekName[i], "</span></th>"); 158 if (i == 6) { i = 0; } else { i++; } 159 } 160 cpHA.push("</tr></thead>"); 161 //to generat tBody, everything need to rebuilt 162 cpHA.push("<tbody></tbody></table>"); 163 //end tbody 164 cpHA.push("</td></tr>"); 165 cpHA.push("<tr>
165<td class='bbit-dp-bottom' align='center'><button id='BBIT-DP-TODAY'>", def.btnToday, "</button></td></tr>"); 166 cpHA.push("</tbody></table>"); 167 //for drop down to select year & month 168 cpHA.push("<div id='BBIT-DP-MP' class='bbit-dp-mp' style='z-index:auto;'><table id='BBIT-DP-T' style='width: 175px; height: 193px' border='0' cellspacing='0'><tbody>"); 169 cpHA.push("<tr>"); 170 //tow buttons for Jan & Jul 171 cpHA.push("<td class='bbit-dp-mp-month' xmonth='0'><a href='javascript:void(0);'>", def.monthName[0], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='6'><a href='javascript:void(0);'>", def.monthName[6], "</a></td><td class='bbit-dp-mp-ybtn' align='middle'><a id='BBIT-DP-MP-PREV' class='bbit-dp-mp-prev'></a></td><td class='bbit-dp-mp-ybtn' align='middle'><a id='BBIT-DP-MP-NEXT' class='bbit-dp-mp-next'></a></td>"); 172 cpHA.push("</tr>"); 173 cpHA.push("<tr>"); 174 cpHA.push("<td class='bbit-dp-mp-month' xmonth='1'><a href='javascript:void(0);'>", def.monthName[1], "</a></td>
174<td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='7'><a href='javascript:void(0);'>", def.monthName[7], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>"); 175 cpHA.push("</tr>"); 176 cpHA.push("<tr>"); 177 cpHA.push("<td class='bbit-dp-mp-month' xmonth='2'><a href='javascript:void(0);'>", def.monthName[2], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='8'><a href='javascript:void(0);'>", def.monthName[8], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>"); 178 cpHA.push("</tr>"); 179 cpHA.push("<tr>"); 180 cpHA.push("<td class='bbit-dp-mp-month' xmonth='3'><a href='javascript:void(0);'>", def.monthName[3], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='9'><a href='javascript:void(0);'>", def.monthName[9], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>
180<td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>"); 181 cpHA.push("</tr>"); 182 183 cpHA.push("<tr>"); 184 cpHA.push("<td class='bbit-dp-mp-month' xmonth='4'><a href='javascript:void(0);'>", def.monthName[4], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='10'><a href='javascript:void(0);'>", def.monthName[10], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>"); 185 cpHA.push("</tr>"); 186 187 cpHA.push("<tr>"); 188 cpHA.push("<td class='bbit-dp-mp-month' xmonth='5'><a href='javascript:void(0);'>", def.monthName[5], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='11'><a href='javascript:void(0);'>", def.monthName[11], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>"); 189 cpHA.push("</tr>"); 190 cpHA.push("<tr class='bbit-dp-mp-btns'>"); 191 cpHA.push("<td colspan='4'><button id='BBIT-DP-MP-OKBTN' class='bbit-dp-mp-ok'>", def.btnOk, "</button><button id='BBIT-DP-MP-CANCELBTN' class='bbit-dp-mp-cancel'>", def.btnCancel, "</button></td>"); 192 cpHA.push("</tr>"); 193 194 cpHA.push("</tbody></table>"); 195 cpHA.push("</div>"); 196 cpHA.push("</div>"); 197 198 var s = cpHA.join(""); 199 $(document.body).append(s); 200 cp = $("#BBIT_DP_CONTAINER"); 201 202 initevents(); 203 } 204 function initevents() { 205 //1 today btn; 206 $("#BBIT-DP-TODAY").click(returntoday); 207 cp.click(returnfalse); 208 $("#BBIT_DP_INNER tbody").click(tbhandler); 209 $("#BBIT_DP_LEFTBTN").click(prevm); 210 $("#BBIT_DP_RIGHTBTN").click(nextm); 211 $("#BBIT_DP_YMBTN").click(showym); 212 $("#BBIT-DP-MP").click(mpclick).dblclick(mpdblclick); 213 214 $("#BBIT-DP-MP-PREV").click(mpprevy); 215 $("#BBIT-DP-MP-NEXT").click(mpnexty); 216 $("#BBIT-DP-MP-OKBTN").click(mpok); 217 $("#BBIT-DP-MP-CANCELBTN").click(mpcancel); 218 } 219 function mpcancel() { 220 $("#BBIT-DP-MP").animate({ top: -193 }, { duration: 200, complete: function() { $("#BBIT-DP-MP").hide(); } }); 221 return false; 222 } 223 function mpok() { 224 def.Year = def.cy; 225 def.Month = def.cm + 1; 226 def.Day = 1; 227 $("#BBIT-DP-MP").animate({ top: -193 }, { duration: 200, complete: function() { $("#BBIT-DP-MP").hide(); } }); 228 writecb(); 229 return false; 230 } 231 function mpprevy() { 232 var y = def.ty - 10 233 def.ty = y; 234 rryear(y); 235 return false; 236 } 237 function mpnexty() { 238 var y = def.ty + 10 239 def.ty = y; 240 rryear(y); 241 return false; 242 } 243 function rryear(y) { 244 var s = y - 4; 245 var ar = []; 246 for (var i = 0; i < 5; i++) { 247 ar.push(s + i); 248 ar.push(s + i + 5); 249 } 250 $("#BBIT-DP-MP td.bbit-dp-mp-year").each(function(i) { 251 if (def.Year == ar[i]) { 252 $(this).addClass("bbit-dp-mp-sel"); 253 } 254 else { 255 $(this).removeClass("bbit-dp-mp-sel"); 256 } 257 $(this).html("<a href='javascript:void(0);'>" + ar[i] + "</a>").attr("xyear", ar[i]); 258 }); 259 } 260 function mpdblclick(e) { 261 var et = e.target || e.srcElement; 262 var td = getTd(et); 263 if (td == null) { 264 return false; 265 } 266 if ($(td).hasClass("bbit-dp-mp-month") || $(td).hasClass("bbit-dp-mp-year")) { 267 mpok(e); 268 } 269 return false; 270 } 271 function mpclick(e) { 272 var panel = $(this); 273 var et = e.target || e.srcElement; 274 var td = getTd(et); 275 if (td == null) { 276 return false; 277 } 278 if ($(td).hasClass("bbit-dp-mp-month")) { 279 if (!$(td).hasClass("bbit-dp-mp-sel")) { 280 var ctd = panel.find("td.bbit-dp-mp-month.bbit-dp-mp-sel"); 281 if (ctd.length > 0) { 282 ctd.removeClass("bbit-dp-mp-sel"); 283 } 284 $(td).addClass("bbit-dp-mp-sel") 285 def.cm = parseInt($(td).attr("xmonth")); 286 } 287 } 288 if ($(td).hasClass("bbit-dp-mp-year")) { 289 if (!$(td).hasClass("bbit-dp-mp-sel")) { 290 var ctd = panel.find("td.bbit-dp-mp-year.bbit-dp-mp-sel"); 291 if (ctd.length > 0) { 292 ctd.removeClass("bbit-dp-mp-sel"); 293 } 294 $(td).addClass("bbit-dp-mp-sel") 295 def.cy = parseInt($(td).attr("xyear")); 296 } 297 } 298 return false; 299 } 300 function showym() { 301 var mp = $("#BBIT-DP-MP"); 302 var y = def.Year; 303 def.cy = def.ty = y; 304 var m = def.Month - 1; 305 def.cm = m; 306 var ms = $("#BBIT-DP-MP td.bbit-dp-mp-month"); 307 for (var i = ms.length - 1; i >= 0; i--) { 308 var ch = $(ms[i]).attr("xmonth"); 309 if (ch == m) { 310 $(ms[i]).addClass("bbit-dp-mp-sel"); 311 } 312 else { 313 $(ms[i]).removeClass("bbit-dp-mp-sel"); 314 } 315 } 316 rryear(y); 317 mp.css("top", -193).show().animate({ top: 0 }, { duration: 200 }); 318 } 319 function getTd(elm) { 320 if (elm.tagName.toUpperCase() == "TD") { 321 return elm; 322 } 323 else if (elm.tagName.toUpperCase() == "BODY") { 324 return null; 325 } 326 else { 327 var p = $(elm).parent(); 328 if (p.length > 0) { 329 if (p[0].tagName.toUpperCase() != "TD") { 330 return getTd(p[0]); 331 } 332 else { 333 return p[0]; 334 } 335 } 336 } 337 return null; 338 } 339 function tbhandler(e) { 340 var et = e.target || e.srcElement; 341 var td = getTd(et); 342 if (td == null) { 343 return false; 344 } 345 var $td = $(td); 346 if (!$(td).hasClass("bbit-dp-disabled")) { 347 var s = $td.attr("xdate");
348 cp.data("indata",stringtodate(s)); 349 returndate(); 350 } 351 return false; 352 } 353 function returnfalse() { 354 return false; 355 } 356 357 function stringtodate(datestr) { 358 try 359 { 360 var arrs = datestr.split(i18n.datepicker.dateformat.separator); 361 var year = parseInt(arrs[i18n.datepicker.dateformat.year_index]); 362 var month = parseInt(arrs[i18n.datepicker.dateformat.month_index]) - 1; 363 var day = parseInt(arrs[i18n.datepicker.dateformat.day_index]); 364 return new Date(year, month, day); 365 } 366 catch(e) 367 { 368 return null; 369 } 370 } 371 function prevm() { 372 if (def.Month == 1) { 373 def.Year--; 374 def.Month = 12; 375 } 376 else { 377 def.Month-- 378 } 379 writecb(); 380 return false; 381 } 382 function nextm() { 383 if (def.Month == 12) { 384 def.Year++; 385 def.Month = 1; 386 } 387 else { 388 def.Month++ 389 } 390 writecb(); 391 return false; 392 } 393 function returntoday() { 394 cp.data("indata", new Date()); 395 returndate(); 396 } 397 function returndate() { 398 var ct = cp.data("ctarget"); 399 var ck = cp.data("cpk"); 400 var re = cp.data("onReturn"); 401 var ndate = cp.data("indata") 402 var ads = cp.data("ads"); 403 var ade = cp.data("ade"); 404 var dis = false; 405 if (ads && ndate < ads) { 406 dis = true; 407 } 408 if (ade && ndate > ade) { 409 dis = true; 410 } 411 if (dis) { 412 return; 413 } 414 if (re && jQuery.isFunction(re)) { 415 re.call(ct[0], cp.data("indata")); 416 } 417 else { 418 ct.val(dateFormat.call(cp.data("indata"), i18n.datepicker.dateformat.fulldayvalue)); 419 } 420 ck.attr("isshow", "0"); 421 cp.removeData("ctarget").removeData("cpk").removeData("indata").removeData("onReturn") 422 .removeData("ads").removeData("ade"); 423 cp.css("visibility", "hidden"); 424 ct = ck = null; 425 } 426 function writecb() { 427 var tb = $("#BBIT_DP_INNER tbody"); 428 $("#BBIT_DP_YMBTN").html(def.monthName[def.Month - 1] + def.monthp + " " + def.Year); 429 var firstdate = new Date(def.Year, def.Month - 1, 1); 430 431 var diffday = def.weekStart - firstdate.getDay(); 432 var showmonth = def.Month - 1; 433 if (diffday > 0) { 434 diffday -= 7; 435 } 436 var startdate = DateAdd("d", diffday, firstdate); 437 var enddate = DateAdd("d", 42, startdate); 438 var ads = cp.data("ads"); 439 var ade = cp.data("ade"); 440 var bhm = []; 441 var tds = dateFormat.call(def.today, i18n.datepicker.dateformat.fulldayvalue); 442 var indata = cp.data("indata"); 443 var ins = indata != null ? dateFormat.call(indata, i18n.datepicker.dateformat.fulldayvalue) : ""; 444 for (var i = 1; i <= 42; i++) { 445 if (i % 7 == 1) { 446 bhm.push("<tr>"); 447 } 448 var ndate = DateAdd("d", i - 1, startdate); 449 var tdc = []; 450 var dis = false; 451 if (ads && ndate < ads) { 452 dis = true; 453 } 454 if (ade && ndate > ade) { 455 dis = true; 456 } 457 if (ndate.getMonth() < showmonth) { 458 tdc.push("bbit-dp-prevday"); 459 } 460 else if (ndate.getMonth() > showmonth) { 461 tdc.push("bbit-dp-nextday"); 462 } 463 464 if (dis) { 465 tdc.push("bbit-dp-disabled"); 466 } 467 else { 468 tdc.push("bbit-dp-active"); 469 } 470 471 var s = dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue); 472 if (s == tds) { 473 tdc.push("bbit-dp-today"); 474 } 475 if (s == ins) { 476 tdc.push("bbit-dp-selected"); 477 } 478 479 bhm.push("<td class='", tdc.join(" "), "' title='", dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue), "' xdate='", dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue), "'><a href='javascript:void(0);'><em><span>
479", ndate.getDate(), "</span></em></a></td>"); 480 if (i % 7 == 0) { 481 bhm.push("</tr>"); 482 } 483 } 484 tb.html(bhm.join("")); 485 } 486 487 return $(this).each(function() { 488 489 var obj = $(this).addClass("bbit-dp-input"); 490 var picker = $(def.picker); 491 def.showtarget == null && obj.after(picker); 492 picker.click(function(e) { 493 var isshow = $(this).attr("isshow"); 494 //hide it initially 495 var me = $(this); 496 497 if (cp.css("visibility") == "visible") { 498 cp.css(" visibility", "hidden"); 499 } 500 if (isshow == "1") { 501 me.attr("isshow", "0"); 502 cp.removeData("ctarget").removeData("cpk").removeData("indata").removeData("onReturn"); 503 return false; 504 } 505 var v = obj.val(); 506 if (v != "") { 507 v = stringtodate(v); 508 } 509 if (v == null || v == "") { 510 def.Year = new Date().getFullYear(); 511 def.Month = new Date().getMonth() + 1; 512 def.Day = new Date().getDate(); 513 def.inputDate = null 514 } 515 else { 516 def.Year = v.getFullYear(); 517 def.Month =v.getMonth() + 1; 518 def.Day = v.getDate(); 519 def.inputDate = v; 520 } 521 cp.data("ctarget", obj).data("cpk", me).data("indata", def.inputDate).data("onReturn", def.onReturn); 522 if (def.applyrule && $.isFunction(def.applyrule)) { 523 var rule = def.applyrule.call(obj, obj[0].id); 524 if (rule) { 525 if (rule.startdate) { 526 cp.data("ads", rule.startdate); 527 } 528 else { 529 cp.removeData("ads"); 530 } 531 if (rule.enddate) { 532 cp.data("ade", rule.enddate); 533 } 534 else { 535 cp.removeData("ade"); 536 } 537 } 538 } 539 else { 540 cp.removeData("ads").removeData("ade") 541 } 542 writecb(); 543 544 545 $("#BBIT-DP-T").height(cp.height()); 546 var t = def.showtarget || obj; 547 var pos = t.offset(); 548 549 550 var height = t.outerHeight(); 551 var newpos = { left: pos.left, top: pos.top + height }; 552 var w = cp.width(); 553 var h = cp.height(); 554 var bw = document.documentElement.clientWidth; 555 var bh = document.documentElement.clientHeight; 556 if ((newpos.left + w) >= bw) { 557 newpos.left = bw - w - 2; 558 } 559 if ((newpos.top + h) >= bh) { 560 newpos.top = pos.top - h - 2; 561 } 562 if (newpos.left < 0) { 563 newpos.left = 10; 564 } 565 if (newpos.top < 0) { 566 newpos.top = 10; 567 } 568 $("#BBIT-DP-MP").hide(); 569 newpos.visibility = "visible"; 570 cp.css(newpos); 571 572 573 574 //cp.show(); 575 $(this).attr("isshow", "1"); 576 577 $(document).one("click", function(e) { 578 me.attr("isshow", "0"); 579 cp.removeData("ctarget").removeData("cpk").removeData("indata"); 580 cp.css("visibility", "hidden"); 581 }); 582 583 return false; 584 }); 585 }); 586 }; 587})(jQuery);
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.