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