1var Olb = (typeof Olb == "undefined" || !Olb) ? {} : Olb; 2(function (NS) { 3 var LoadFunctions = []; 4 5 NS.AddLoadEvent = AddLoadEvent; 6 function AddLoadEvent(Func) { 7 LoadFunctions.push(Func); 8 } 9 NS.RemoveLoadEvent = RemoveLoadEvent; 10 function RemoveLoadEvent(Func) { 11 while (LoadFunctions.indexOf(Func) != -1) { 12 LoadFunctions.splice(LoadFunctions.indexOf(Func), 1); 13 } 14 } 15 16 NS.Load = Load; 17 function Load() { 18 for (var I in LoadFunctions) { 19 LoadFunctions[I](); 20 } 21 } 22 23 NS.SetFocus = SetFocus; 24 function SetFocus(Container) { 25 Container = jQuery(Container); 26 var Input = Container.find("input:not([readonly])"); 27 Input.first().focus(); 28 } 29 30 NS.IsPageValid = IsPageValid; 31 function IsPageValid() { 32 if (typeof (Page_ClientValidate) == 'function') { 33 Page_ClientValidate(); 34 return Page_IsValid; 35 } 36 return true; 37 } 38 39 NS.SetUniqueRadioButton = SetUniqueRadioButton; 40 function SetUniqueRadioButton(Container, Current) { 41 Container = jQuery('#' + Container); 42 var Controls = Container.find("input[type='radio'][value = '" + Current.value + "']"); 43 Controls.each(function () { 44 this.checked = false; 45 }); 46 Current.checked = true; 47 } 48}(Olb = Olb || {})); 49 50var RootUrl; 51function Startup(RootUrlParam) { 52 RootUrl = RootUrlParam; 53 54 if (typeof jQuery == "undefined") { 55 setTimeout(function () { Startup(RootUrl) }, 50); 56 return; 57 }; 58 59 //Make changes to custom css classes 60 Olb.AddLoadEvent(ChangeClasses); 61 62 jQuery(document).ready(function () { 63 Olb.Load(); 64 65 //AutoFocus 66 jQuery(".AutoFocus:first").each(function () { 67 var X = jQuery(document).scrollLeft(); 68 var Y = jQuery(document).scrollTop(); 69 jQuery(this).focus(); 70 setTimeout(function () { window.scrollTo(X, Y); }, 100); 71 }); 72 73 setTimeout(function () { 74 if (typeof Sys == "undefined") return; 75 var RequestManager = Sys.WebForms.PageRequestManager.getInstance(); 76 RequestManager.add_initializeRequest(RequestManager_BeginRequest); 77 RequestManager.add_endRequest(RequestManager_EndRequest); 78 }, 1); 79 }); 80 81 var WaitDialog; 82 var InRequest; 83 function RequestManager_BeginRequest(sender, args) { 84 var Element = args.get_postBackElement(); 85 if (Element == null) return; 86 var Pannel = jQuery(Element).parents(".OlbUpdatePanel"); 87 InRequest = true; 88 RemoveClassChanges(); 89 90 if (Pannel.length > 0) { 91 setTimeout(function () { 92 if (InRequest) WaitDialog = ShowWaitDialog(); 93 }, 500); 94 } 95 } 96 function RequestManager_EndRequest(sender, args) { 97 if (WaitDialog != null) { 98 WaitDialog.dialog("close"); 99 WaitDialog = null; 100 } 101 InRequest = false; 102 Olb.Load(); 103 } 104 105 var Shown = []; 106 function ChangeClasses() { 107 jQuery(".AutoHide").each(function () { 108 var UniqueID = GetUniqueID(this); 109 if (Shown.indexOf(UniqueID) == -1) { 110 jQuery(this).hide(); 111 } 112 jQuery(this).removeClass("AutoHide"); 113 }); 114 115 //Expanding 116 var ExpandHeader = jQuery(".ExpandHeader"); 117 ExpandHeader.click(function () { 118 var All = jQuery(".ExpandHeaderED,.ExpandContent"); 119 var Index = All.index(this); 120 var Next = All.filter(":gt(" + Index + ")").filter(".ExpandContent").first(); 121 122 var UniqueID = GetUniqueID(Next); 123 if (Next.is(":visible")) { 124 Shown = jQuery.grep(Shown, function (value) { 125 return value != UniqueID; 126 }); 127 } else { 128 Shown.push(UniqueID); 129 } 130 Next.slideToggle(300);
131 if ($(All[Index]).attr("aria-expanded") === "false") { 132 $(All[Index]).attr("aria-expanded", "true"); 133 } 134 else { 135 $(All[Index]).attr("aria-expanded", "false"); 136 } 137 138 }); 139 ExpandHeader.css('cursor', 'pointer'); 140 ExpandHeader.addClass("ExpandHeaderED").removeClass("ExpandHeader"); 141 142 //Date picker 143 var DatePickers = jQuery(".DatePicker:not([readonly])"); 144 DatePickers.datetimepicker({ 145 format: "m/d/Y", 146 timepicker: false, 147 scrollMonth: false, 148 scrollInput: false 149 }); 150 DatePickers.removeClass("DatePicker"); 151 152 //DateTime picker 153 var DatePickers = jQuery(".DateTimePicker"); 154 DatePickers.datetimepicker({ 155 formatTime: 'h:i A', 156 format: "m/d/Y h:i:s A", 157 timepicker: true 158 }); 159 DatePickers.removeClass("DateTimePicker"); 160 161 //Tool tips 162 jQuery(document).ready(function () { 163 jQuery(document).tooltip({ 164 items: ".OlbToolTip", 165 content: function () { 166 var Content = jQuery(this).nextAll(".OlbToolTipContent:first"); 167 Content = Content.clone(); 168 Content.show(); 169 return Content; 170 } 171 }); 172 }); 173 174 //Image zoom 175 setTimeout(function () { 176 jQuery(".ImageZoom").each(function (index) { 177 var HPos = "right"; 178 var VPos = "tops"; 179 180 if (jQuery(this).hasClass("ImageZoomBelow")) { 181 HPos = "center"; 182 VPos = "below"; 183 } 184 185 jQuery(this).addimagezoom({ 186 zoomrange: [3, 10], 187 magnifiersize: [300, 300], 188 magnifierpos: HPos, 189 magnifierVerticalPos: VPos, 190 cursorshade: true, 191 multizoom: null 192 }); 193 }); 194 jQuery(".ImageZoom").addClass("ImageZoomED").removeClass("ImageZoom"); 195 }, 5000); 196 197 //Tabs 198 jQuery(".OlbTabs").each(function () { 199 var UxTabContainer = jQuery(this); 200 var UxDefaultTab = UxTabContainer.find("input[type=hidden]:first"); 201 var UxLinks = UxTabContainer.find("ul:first li a"); 202 var UxTabs = UxTabContainer.children("div"); 203 UxTabContainer.removeClass("OlbTabs"); 204 205 //Wire up the links to the tabs 206 UxLinks.each(function (Index) { 207 var Link = jQuery(this); 208 Link.attr("href", "#" + UxTabs[Index].id); 209 }); 210 211 UxTabContainer.tabs(); 212 UxTabContainer.tabs({ 213 active: UxDefaultTab.val() 214 }); 215 216 217 UxLinks.click(function () { 218 var Clicked = this; 219 UxLinks.each(function (Index) { 220 if (this.id == Clicked.id) { 221 UxDefaultTab.val(Index); 222 } 223 }); 224 }); 225 226 UxTabContainer.find("ul:first li").each(function () { 227 var li = jQuery(this); 228 li.removeAttr("aria-expanded"); 229 }); 230 }); 231 232 //Disable buttons when clicked (to prevent double clicking buttons) 233 jQuery(".DisableOnClick").click(function () { 234 var Button = jQuery(this) 235 setTimeout(function () { 236 Button.prop("disabled", true); 237 }, 1); 238 setTimeout(function () { 239 Button.prop("disabled", false); 240 }, 2000); 241 }); 242 243 //Some browsers need this for checkboxes to be disabled 244 jQuery("span[disabled='disabled'] input[type='checkbox']").prop("disabled", true); 245 } 246 247 function RemoveClassChanges() { 248 jQuery(".ImageZoomED").each(function (index) { 249 jQuery(this).removeimagezoom(); 250 }); 251 jQuery(".ImageZoomED").addClass("ImageZoom").removeClass("ImageZoomED"); 252 } 253 254 function GetUniqueID(Element) { 255 function GetIndex(node) { 256 var parent = node.parentElement || node.parentNode; 257 var i = -1; 258 var child; 259 while (parent && (child = parent.childNodes[++i])) { 260 if (child == node) return i; 261 } 262 return -1; 263 } 264 265 //Get a node's path 266 function GetPath(Node) { 267 if (Node == null) return [];
268 var Path = []; 269 if (Node.id == "") { 270 Path = GetPath(Node.parentElement || Node.parentNode); 271 var Index = GetIndex(Node); 272 if (Index > -1) Path.push(Index); 273 } else { 274 Path.push(Node.id); 275 } 276 return Path; 277 } 278 279 return GetPath(Element).join(","); 280 } 281} 282 283 284// Remove all leading and trailing spaces 285function Trim(String) { 286 // Remove the spaces in front of the string 287 while (String.substring(0, 1) == ' ') { 288 String = String.substring(1, String.length); 289 } 290 // Remove the spaces in the back of the string 291 while (String.substring(String.length - 1, String.length) == ' ') { 292 String = String.substring(0, String.length - 1); 293 } 294 return String; 295} 296 297 298function IsNumeric(str) { 299 return /^\d+$/.test(str) 300} 301 302function ValidateRoutingNumber(sender, args) { 303 var ABA = "" + args.Value; 304 if (!IsNumeric(ABA) || ABA.length != 9) { 305 args.IsValid = false; 306 return; 307 } 308 309 var checksum = 0; 310 for (var i = 0; i < ABA.length - 1; i += 3) { 311 checksum += parseInt(ABA.charAt(i) * 3, 10); 312 checksum += parseInt(ABA.charAt(i + 1) * 7, 10); 313 checksum += parseInt(ABA.charAt(i + 2), 10); 314 } 315 316 args.IsValid = (checksum && !(checksum % 10)); 317} 318 319function FormatMoney(Amount) { 320 if (isNaN(Amount) || Amount == 0) { 321 return "0.00"; 322 } 323 var StrAmt = "" + Math.round(Amount * 100); 324 var Dec = StrAmt.substr(StrAmt.length - 2); 325 var Dol = StrAmt.substr(0, StrAmt.length - 2); 326 327 if (parseInt(Dec) < 0) { 328 Dec = "(" + -(parseInt(Dec)) + ")" 329 } 330 331 if (Dol.length > 3) { 332 var split = Dol.split(""); 333 var NewDol = ""; 334 var count = 0; 335 var End = Amount < 0 ? 1 : 0 336 for (var i = (split.length - 1); i >= End; i--) { 337 if (count == 3) { 338 NewDol = "," + NewDol; 339 count = 0; 340 } 341 NewDol = split[i] + NewDol; 342 count++; 343 } 344 Dol = NewDol; 345 } 346 347 if (Amount < 0) { 348 return "(" + Dol + "." + Dec + ")" 349 } else { 350 return Dol + "." + Dec; 351 } 352 353} 354 355function CheckAll(ChkMaster, ChildName) { 356 DoAll(ChkMaster, ChildName, function (Item) { if (!Item.disabled) { Item.checked = ChkMaster.checked; } }); 357} 358 359//function CheckAllAccess(ChkMaster, ChildNameOne, ChildNameTwo, ChildNameThree) { 360// DoAllAccess(ChkMaster, ChildNameOne, ChildNameTwo, ChildNameThree, function (Item) { if (!Item.disabled) { Item.checked = ChkMaster.checked; } }, function (Item) { if (ChkMaster.checked) { Item.disabled = false; } else { Item.disabled = true; Item.checked = false; } } ); 361//} 362 363//function EnableRow(ChkMaster, ChkChildOne, ChkChildTwo) { 364// EnableRowFunc(ChkMaster, ChkChildOne, ChkChildTwo, function (Item) { if (ChkMaster.checked) { Item.disabled = false; Item.checked = false; } else { Item.disabled = true; Item.checked = false; } }); 365 366//} 367 368function DisableAll(ChkMaster, ChildName) { 369 DoAll(ChkMaster, ChildName, function (Item) { Item.disabled = ChkMaster.checked; }); 370 //Some browsers need this for checkboxes to be disabled 371 jQuery("span[disabled='disabled'] input[type='checkbox']").prop("disabled", true); 372} 373 374function DoAll(ChkMaster, ChildName, Action) { 375 var Parant = ChkMaster.parentNode; 376 377 while (Parant.tagName != "TABLE") { 378 Parant = Parant.parentNode 379 } 380 381 var Tags = Parant.getElementsByTagName("*"); 382 383 for (var I = 0; I < Tags.length; I++) { 384 if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChildName) != -1) { 385 Action(Tags[I]); 386 } 387 } 388} 389 390//function DoAllAccess(ChkMaster, ChildNameOne, ChildNameTwo, ChildNameThree, ActionSelect, ActionEnable) { 391// var Parant = ChkMaster.parentNode; 392 393// while (Parant.tagName != "TABLE") { 394// Parant = Parant.parentNode 395// } 396 397// var Tags = Parant.getElementsByTagName("*"); 398 399// for (var I = 0; I < Tags.length; I++) { 400// if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChildNameOne) != -1) { 401// ActionSelect(Tags[I]);
402// } 403 404// if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChildNameTwo) != -1) { 405// ActionEnable(Tags[I]); 406// } 407 408// if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChildNameThree) != -1) { 409// ActionEnable(Tags[I]); 410// } 411// } 412//} 413 414//function EnableRowFunc(ChkMaster, ChkChildOne, ChkChildTwo, Action) { 415// var Parant = ChkMaster.parentNode; 416 417// while (Parant.tagName != "TR") { 418// Parant = Parant.parentNode 419// } 420 421// var Tags = Parant.getElementsByTagName("*"); 422 423// for (var I = 0; I < Tags.length; I++) { 424// if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChkChildOne) != -1) { 425// Action(Tags[I]); 426// } 427 428// if (Tags[I].type == "checkbox" && Tags[I].name.indexOf(ChkChildTwo) != -1) { 429// Action(Tags[I]); 430// } 431// } 432//} 433 434function CheckAllOption(RdoMaster, GroupName, Value) { 435 var Parant = RdoMaster.parentNode; 436 437 while (Parant.tagName != "TABLE") { 438 Parant = Parant.parentNode 439 } 440 441 var Tags = Parant.getElementsByTagName("*"); 442 443 for (var I = 0; I < Tags.length; I++) { 444 if (Tags[I].type == "radio") { 445 if (Tags[I].name.indexOf(GroupName) != -1 && Tags[I].value == Value) { 446 if (Tags[I].checked != RdoMaster.checked) { 447 Tags[I].click(); 448 } 449 } 450 } 451 } 452} 453 454function SetTableOption(Sender, GroupName) { 455 var Parant = Sender.parentNode; 456 457 while (Parant.tagName != "TABLE") { 458 Parant = Parant.parentNode 459 } 460 461 var Tags = Parant.getElementsByTagName("*"); 462 463 for (var I = 0; I < Tags.length; I++) { 464 if (Tags[I].type == "radio") { 465 if (Tags[I].name.indexOf(GroupName) != -1) { 466 if (Tags[I] == Sender) { 467 Tags[I].click(); 468 } else { 469 Tags[I].checked = false; 470 } 471 } 472 } 473 } 474} 475 476var OriginalAlert = window.alert; 477function FancyAlert(Message, Image, Options) { 478 try { 479 if (Image == null) Image = RootUrl + "Pages/images/icons/warning.png"; 480 481 if (Options == null) Options = {}; 482 Options["buttons"] = { 483 "OK": function () { 484 jQuery(this).dialog("close"); 485 } 486 }; 487 488 var Dialog = BuildFancyDialog(Message, Image, Options); 489 return (Dialog != null); 490 } 491 catch (err) { 492 //OriginalAlert(err + " " + err.stack); 493 OriginalAlert(Message); 494 } 495} 496window.alert = function (Msg) { 497 return FancyAlert(Msg); 498}; 499 500//below allows you to put html tags in the title of the FancyDialog, its prevented by default to stop scripting vulnerabilities 501//this overrides it 502$.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, { 503 _title: function (title) { 504 if (!this.options.title) { 505 title.html(" "); 506 } else { 507 title.html(this.options.title); 508 } 509 } 510})); 511 512var LastFancyConfirm; 513var OriginalConfirm = window.confirm; 514function FancyConfirm(Button, Message, Image, Options) { 515 try { 516 if (Button == null || Button.click == null) { 517 return OriginalConfirm(Message); 518 } 519 520 if (Button == LastFancyConfirm) { 521 LastFancyConfirm = null; 522 return true; 523 } 524 525 if (Image == null) Image = RootUrl + "Pages/images/icons/question.gif"; 526 527 if (Options == null) Options = {}; 528 Options["buttons"] = { 529 "Yes": function () { 530 jQuery(this).dialog("close"); 531 LastFancyConfirm = Button; 532 jQuery(Button).prop("disabled", false); 533 Button.click(); 534 }, 535 "No": function () { 536 jQuery(this).dialog("close"); 537 } 538 }; 539 540 var Dialog = BuildFancyDialog(Message, Image, Options); 541 return false; 542 } 543 catch (err) { 544 //OriginalAlert(err + " " + err.stack); 545 return OriginalConfirm(Message); 546 } 547} 548window.confirm = function (Msg, E) { 549 var Source; 550 if ((typeof event != "undefined") && (event != null)) { 551 Source = event.target || event.srcElement; 552 } else { 553 if ((typeof E == "undefined") || (E == null)) { 554 Msg = Msg.replace("<br/>", "\r\n") 555 Msg = Msg.replace("<br />", "\r\n") 556 Msg = Msg.replace("<br>", "\r\n") 557 Msg = Msg.replace("<p>", "\r\n\r\n") 558 Msg = Msg.replace("</p>", "") 559 return OriginalConfirm(Msg); 560 } 561 Source = E.target || E.srcElement; 562 } 563 564 return FancyConfirm(Source, Msg); 565}; 566 567function ShowWaitDialog(Message, Image, Options) { 568 try { 569 if (Message == null) Message = "<p><strong>Please Wait</strong></p> The task is being executed. Please wait until it is completed." 570 if (Image == null) Image = RootUrl + "Pages/images/CircleSections.gif"; 571 572 var Div = document.getElementById(Message); 573 if (Div == null) Div = BuildFancyMessage(Message, Image); 574 575 if (Options == null) Options = {}; 576 if (Options["title"] == null) Options["title"] = "Please Wait"; 577 if (Options["resizable"] == null) Options["resizable"] = false; 578 if (Options["modal"] == null) Options["modal"] = true; 579 if (Options["hide"] == null) Options["hide"] = "fade"; 580 if (Options["show"] == null) Options["show"] = "fade"; 581 Options["closeOnEscape"] = false; 582 Options["buttons"] = { 583 }; 584 585 return jQuery(Div).dialog(Options); 586 } 587 catch (err) { 588 //OriginalAlert(err + " " + err.stack); 589 } 590} 591 592function BuildFancyDialog(Message, Image, Options) { 593 if (Image == null) Image = RootUrl + "Pages/images/icons/warning.png"; 594 595 if (Options == null) Options = {}; 596 if (Options["title"] == null) Options["title"] = "<h1>Alert</h1>"; //we're commenting this out so there is no title, a360 was mad it wasn't in a <h1> tag, we're moving it to the body instead 597 if (Options["resizable"] == null) Options["resizable"] = false; 598 if (Options["modal"] == null) Options["modal"] = true; 599 if (Options["hide"] == null) Options["hide"] = "clip"; 600 if (Options["show"] == null) Options["show"] = "clip"; 601 if (Options["buttons"] == null) { 602 Options["buttons"] = { 603 "OK": function () { 604 jQuery(this).dialog("close"); 605 } 606 }; 607 } 608 609 610 var Div = document.getElementById(Message); 611 if (Div == null) Div = BuildFancyMessage(Message, Image, Options["title"]); 612 613 var Dialog = jQuery(Div); 614 Dialog.dialog(Options); 615 return Dialog; 616} 617function BuildFancyMessage(Message, Image, ImageAlt) { 618 var Div = document.createElement("div"); 619 Div.style.display = "none"; 620 621 if (Image != null) { 622 var Img = document.createElement("img"); 623 Img.alt = ""; 624 Img.style.float = "left"; 625 Img.style.margin = "0 7px 20px 0"; 626 try { 627 Img.src = Image; 628 Div.appendChild(Img); 629 } 630 catch (e) { 631 //The url must not be valid, just forget the image 632 } 633 } 634 635 var P = document.createElement("p"); 636 P.className = "PageText"; 637 P.innerHTML = Message; 638 Div.appendChild(P); 639 document.body.appendChild(Div); 640 641 return Div; 642}
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.