1 /* ********************************************************************** */ 2 /* USP Backwards Compatability w/ IB - written by Darnell Arford */ 3 /* ********************************************************************** */ 4 5 6 7/* ********************************************************************** */ 8/* LOGO SWAP CONFIG OPTIONS (do not localize) */ 9/* ********************************************************************** */ 10MstIncGlobal.cfg.swapIFSLogo = true; // set false to disable 11MstIncGlobal.cfg.swapIFSLogoAlt = "Digital Insight"; //value to place in alt attribute 12MstIncGlobal.cfg.swapIFSLogoLink = "javascript:void(0)"; //value to place in href attribute 13MstIncGlobal.cfg.swapIFSLogoStyle = "cursor:default;"; //value to place in style attribute 14MstIncGlobal.cfg.swapIFSLogoOnclick = "return false;"; // leave blank or set to false to keep hard-coded onclick attribute 15MstIncGlobal.cfg.swapIFSLogoImage = false; // set to true to enable image swapping 16// set these to the current filenames being pulled in 17MstIncGlobal.cfg.swapIFSLogoFilenames = new Array( 18 19 "intuit_100x22.png", // new Intuit Financial Services Logo - small 20 "intuit_120x25.png", // new Intuit Financial Services Logo - large 21 22 "logo_100x22.png", // new Intuit Financial Services Logo - small (use this) 23 "logo_120x25.png", // new Intuit Financial Services Logo - large (use this) 24 25 "logo_91x22.gif", // replacement logo for DI logo - small (gif was a mistake) 26 "logo_140x34.gif", // replacement logo for DI logo - large (gif was a mistake) 27 28 "logo_91x22.png", // replacement logo for DI logo - small 29 "logo_140x34.png", // replacement logo for DI logo - large 30 31 "di_140x34_1c_k.png", // old DI logo 32 "di_140x34_1c_w.png", // old DI logo 33 "di_140x34_2c.png", // old DI logo 34 "di_140x34_3c.png", // old DI logo 35 "di_91x22_1c_k.png", // old DI logo 36 "di_91x22_1c_w.png", // old DI logo 37 "di_91x22_2c.png", // old DI logo 38 "di_91x22_3c.png" // old DI logo 39 40); 41// set these mappings to replace any of the images above 42// set to false if the image should not be swapped for another 43MstIncGlobal.cfg.swapIFSLogoMapping = new Array(); 44 45MstIncGlobal.cfg.swapIFSLogoMapping['intuit_100x22.png'] = false; 46MstIncGlobal.cfg.swapIFSLogoMapping['intuit_120x25.png'] = false; 47 48MstIncGlobal.cfg.swapIFSLogoMapping['logo_100x22.png'] = false; 49MstIncGlobal.cfg.swapIFSLogoMapping['logo_120x25.png'] = false; 50 51MstIncGlobal.cfg.swapIFSLogoMapping['logo_91x22.gif'] = "logo_91x22.png"; // changed from false on 9/2 52MstIncGlobal.cfg.swapIFSLogoMapping['logo_140x34.gif'] = "logo_140x34.png"; // changed from false on 9/2 53 54MstIncGlobal.cfg.swapIFSLogoMapping['di_140x34_1c_k.png'] = "logo_140x34.png"; // changed from gif on 9/2 55MstIncGlobal.cfg.swapIFSLogoMapping['di_140x34_1c_w.png'] = "logo_140x34.png"; // changed from gif on 9/2 56MstIncGlobal.cfg.swapIFSLogoMapping['di_140x34_2c.png'] = "logo_140x34.png"; // changed from gif on 9/2 57MstIncGlobal.cfg.swapIFSLogoMapping['di_140x34_3c.png'] = "logo_140x34.png"; // changed from gif on 9/2 58MstIncGlobal.cfg.swapIFSLogoMapping['di_91x22_1c_k.png'] = "logo_91x22.png"; // changed from gif on 9/2 59MstIncGlobal.cfg.swapIFSLogoMapping['di_91x22_1c_w.png'] = "logo_91x22.png"; // changed from gif on 9/2 60MstIncGlobal.cfg.swapIFSLogoMapping['di_91x22_2c.png'] = "logo_91x22.png"; // changed from gif on 9/2 61MstIncGlobal.cfg.swapIFSLogoMapping['di_91x22_3c.png'] = "logo_91x22.png"; // changed from gif on 9/2 62 63 64 65/* ********************************************************************** */ 66/* LOGO SWAP CODE */ 67/* ********************************************************************** */ 68if (MstIncGlobal.cfg.swapIFSLogo) 69{ 70 MstIncGlobal.performLogoSwap = function(event) 71 { 72 // note: can use jQuery within this funciton, as this runs after jQuery is loaded 73 if ( !MstIncGlobal.cfg.bypassLogoSwap ) 74 { 75 // generate query for image elements 76 var logo_query = ""; 77 for ( var i in MstIncGlobal.cfg.swapIFSLogoFilenames ) 78 { 79 if ( typeof MstIncGlobal.cfg.swapIFSLogoFilenames[i] == "string" ) 80 { 81 if ( i != 0 ) logo_query += ","; 82 logo_query += "img[src$='" + MstIncGlobal.cfg.swapIFSLogoFilenames[i] + "']"; 83 } 84 } 85 86 // for each logo, replace attributes 87 jQuery(logo_query).each( function() { 88 thisElem = jQuery(this); 89 // replace attributes 90 if (typeof MstIncGlobal.cfg.swapIFSLogoAlt == "string") this.alt = MstIncGlobal.cfg.swapIFSLogoAlt; 91 if (typeof MstIncGlobal.cfg.swapIFSLogoLink == "string") this.parentNode.href = MstIncGlobal.cfg.swapIFSLogoLink; 92 if (typeof MstIncGlobal.cfg.swapIFSLogoStyle == "string") thisElem.parent().attr('style',MstIncGlobal.cfg.swapIFSLogoStyle); 93 if (typeof MstIncGlobal.cfg.swapIFSLogoOnclick == "string" && MstIncGlobal.cfg.swapIFSLogoOnclick != "") thisElem.parent().attr('onclick',MstIncGlobal.cfg.swapIFSLogoOnclick); 94 //if (typeof MstIncGlobal.cfg.swapIFSLogoStyle == "string") this.parentNode.attr('style',MstIncGlobal.cfg.swapIFSLogoStyle); 95 //if (typeof MstIncGlobal.cfg.swapIFSLogoOnclick == "string" && MstIncGlobal.cfg.swapIFSLogoOnclick != "") this.parentNode.attr('onclick',MstIncGlobal.cfg.swapIFSLogoOnclick); 96 if (MstIncGlobal.cfg.swapIFSLogoImage) 97 { 98 var urlPieces = this.src.toString().split("/"); 99 var current_filename = urlPieces[urlPieces.length-1]; 100 if (typeof MstIncGlobal.cfg.swapIFSLogoMapping[current_filename] == "string") 101 { 102 this.src = this.src.replace(current_filename, MstIncGlobal.cfg.swapIFSLogoMapping[current_filename]); 103 } 104 } 105 }); // img[].each 106 } 107 } 108 MstIncGlobal.addLoadListener(MstIncGlobal.performLogoSwap); 109} // /IFS logo swap 110 111 112 113/* ********************************************************************** */ 114/* IE6 PNG REPLACE */ 115/* ********************************************************************** */ 116if (navigator.appVersion.indexOf("MSIE") > -1) 117{ 118 var arVersion = navigator.appVersion.split("MSIE"); 119 var version = parseFloat(arVersion[1]); 120 if (version < 7 && version >= 5.5 && typeof correctPNG != 'function') 121 { 122 if (window.attachEvent) window.attachEvent("onload", function() // works in IE6 123 { 124 if (document.body.filters) 125 { 126 for (var i=0; i<document.images.length; i++) 127 { 128 var img = document.images[i]; 129 if(/png$/i.test(img.src)) 130 {
131 img.style.height = img.height; 132 img.style.width = img.width; 133 img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "', sizingMethod='scale')"; 134 img.src='/mstinc/web/images/blank.gif'; 135 i--; 136 } 137 } 138 } 139 }); 140 } 141} 142 143 144 145/* ********************************************************************** */ 146/* "Powered by Intuit" swap out */ 147/* ********************************************************************** */ 148 149MstIncGlobal.swapPoweredBySlogan = function(event) 150{ 151 jQuery("#_poweredBySlogan").html("Powered by Intuit"); 152} 153MstIncGlobal.addLoadListener(MstIncGlobal.swapPoweredBySlogan); 154 155 156 157/* ********************************************************************** */ 158/* MBox Style by Brandon */ 159/* ********************************************************************** */ 160 161MstIncGlobal.addMboxStylesheet = function() 162{ 163 jQuery(".mboxDefault").css({ visibility: "visible" }); 164} 165MstIncGlobal.addLoadListener(MstIncGlobal.addMboxStylesheet); 166 167 168 169 170 171 172 (function(){ 173 174 175 176 // ********************************** 177 // *** CHECK ABORT CASES 178 // ********************************** 179 180 // Abort if this script was loaded within IB, since we're only targeting Unix and WC sites 181 if ( 182 location.pathname.indexOf("Signon.cgi") < 0 183 && location.pathname.indexOf("signon.cgi") < 0 184 && location.pathname.indexOf("usp_Signon.html") < 0 185 && location.href.indexOf("Signon_usp") < 0 186 && (location.pathname.indexOf("/onlineserv/HB/") > -1 || location.pathname.indexOf("/preprod/HB/") > -1 || 187 location.pathname.indexOf("/HB3/") > -1 || location.pathname.indexOf("/preprod/HB3/") > -1) 188 ) 189 { 190 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("In USP Retro Override: Aborting for pages in IB other than the Signon"); 191 return; 192 } 193 194 // Abort if jQuery is from before version 1.7 195 if (!jQuery || !jQuery.fn.jquery) 196 { 197 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Global JS: USP Retro - Aborting because jQuery does not exist"); 198 return; 199 } 200 var jQuery_version = jQuery.fn.jquery.split("."); 201 if (jQuery_version.length < 2) { 202 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Global JS: USP Retro - Aborting because jQuery version number "+ 203 "does not contain minor and major version numbers"); 204 return; 205 } 206 var jQuery_majorVersion = parseInt(jQuery_version[0]); 207 var jQuery_minorVersion = parseInt(jQuery_version[1]); 208 if (jQuery_majorVersion < 1 || (jQuery_majorVersion === 1 && jQuery_minorVersion < 7)) 209 { 210 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Global JS: USP Retro - Aborting because jQuery version is not at least 1.7"); 211 return; 212 } 213 214 215 216 // ********************************** 217 // *** SET INITIAL VARIABLES 218 // ********************************** 219 var signon_remote_script_fetched = false, 220 site_is_webcenter = (location.pathname.substring(0, 6) === "/home/") || 221 (location.pathname.substring(0, 11) === "/wcnewsite/") || 222 (location.pathname.substring(0, 9) === "/wcmaint/"), 223 usp_settings_js2_retrograde = false, 224 usp_settings_js2_legacyfp = true, 225 usp_settings_js3_replied = false, 226 site_path_prefix = ""; 227 228 if (MstIncGlobal.Sha256.hash(location.hostname + location.pathname.substring(0, 9) + "ai3og9ain2r!gae^35") === 229 "d703edbdfeab88e488a35eb01e8ba7467c521867661d456c3cd0a0555f34665d") 230 { 231 var split_path = location.href.split("/"); 232 site_path_prefix = "//" + location.hostname + location.pathname.substring(0, 9) + split_path[4] + "/" + split_path[4] + "docs"; 233 } 234 235 236 if (typeof this.USP != "object") this.USP = {}; // to avoid errors later 237 if (MstIncGlobal.urlVars.USPRetro=="full" || MstIncGlobal.urlVars.USPRetro=="dual" || MstIncGlobal.urlVars.USPRetro=="disabled") 238 { 239 MstIncGlobal.cookie("MstIncGlobal_USPRetroOverride", MstIncGlobal.urlVars.USPRetro); 240 location.href = (location.href.indexOf("USPRetro=full&") > -1) || (location.href.indexOf("USPRetro=dual&") > -1) || (location.href.indexOf("USPRetro=disabled&") > -1)? 241 location.href=location.href.replace("USPRetro=full&", "").replace("USPRetro=dual&", "").replace("USPRetro=disabled&", ""): 242 location.href=location.href.replace("USPRetro=full", "").replace("USPRetro=dual", "").replace("USPRetro=disabled", ""); 243 } 244 if (MstIncGlobal.urlVars.USPRetro=="clear") 245 { 246 MstIncGlobal.cookie("MstIncGlobal_USPRetroOverride", ""); 247 248 location.href = (location.href.indexOf("USPRetro=clear&") > -1)? 249 location.href=location.href.replace("USPRetro=clear&", ""): 250 location.href=location.href.replace("USPRetro=clear", ""); 251 } 252 var usp_retro_override = MstIncGlobal.cookie("MstIncGlobal_USPRetroOverride")? 253 MstIncGlobal.cookie("MstIncGlobal_USPRetroOverride"): 254 false; 255 256 if (usp_retro_override === "full" || usp_retro_override === "dual" || usp_retro_override === "disabled") 257 { 258 jQuery(function(){ 259 jQuery("body").append("<div id='USPRetroTestingMessage' style='background-color: #BB0000; border: 3px double #000; "+ 260 "position: absolute; top: 2px; left: 0; margin-left: 25%; color: #fff; font-weight: bold; padding: 2px 4px; "+ 261 "text-align: center;filter:alpha(opacity=75); opacity:0.75;'>USP Retrograde Override Set To: "+ 262 usp_retro_override+"<br />"+ 263 "<a href='javascript:self.location.reload()' onclick='document.cookie=\"MstIncGlobal_USPRetroOverride=;path=/\"' "+ 264 "style='color: #fff;'>[Stop]</a></div>"); 265 }); 266 } 267 268 269
270 // ********************************** 271 // *** METHOD DECLARATION(S) 272 // ********************************** 273 274 // Declare retrogradeLogin method for later use 275 this.USP.retrogradeLogin = function( retrograde, legacyFP ) 276 { 277 // note: Inside this method, 'this' refers to MstIncGlobal.USP 278 279 if (typeof retrograde === 'undefined' || (retrograde !== true && retrograde !== "true" && retrograde !== "full" && retrograde !== "dual") || retrograde === "disabled") 280 { 281 return false; 282 } 283 284 var $usp_login_form = jQuery("form[action*='/tob/live/usp-core/app/initialLogin']"); 285 286 if ($usp_login_form.length > 0 && retrograde !== "dual") 287 { 288 // Retrograde login form 289 290 $usp_login_form 291 .attr("action", this.ib_url+"/Login.cgi") 292 .each(function(){ 293 if (jQuery("input[name='runmode']", this).length<1) 294 jQuery(this).prepend("<input type='hidden' value='SIGN_IN' name='runmode' />"); 295 if (jQuery("input[name='DISESSIONID']", this).length<1) 296 jQuery(this).prepend("<input type='hidden' value='' name='DISESSIONID' />"); 297 298 this.onsubmit = function() { 299 300 if (window.formField1) window.formField1 = function(form) 301 { 302 var theForm = document.Login; 303 var Ctrl; 304 if (theForm && typeof theForm.userNumber != "undefined") Ctrl = theForm.userNumber; 305 else if (theForm && typeof theForm.userid != "undefined") Ctrl = theForm.userid; 306 else return true; 307 308 if (Ctrl.value == "") 309 { 310 validatePrompt(Ctrl, "Please enter a valid User ID"); 311 return false; 312 } 313 else 314 { 315 return true; 316 } 317 }; 318 if(/(www\.)?dcu\.org/i.test(window.location.hostname) && typeof GArunImageSubmit!="undefined"){ 319 if(typeof pwUp!="undefined"){pwUp();} 320 return GArunImageSubmit(this.form,this); 321 }else{ 322 return runSubmit(this.form, this); 323 } 324 }; 325 jQuery("input[name='userid']", this).each(function(){ 326 this.name = "userNumber"; 327 }); 328 if (!signon_remote_script_fetched) 329 { 330 if (typeof runSubmit === "function" && typeof console != 'undefined' && typeof console.log != 'undefined') 331 { 332 console.log("USP Retrograde: Getting Signon.cgi?remote=TRUE even though runSubmit has previously been declared"); 333 } 334 signon_remote_script_fetched = true; 335 jQuery.ajax({ 336 url: MstIncGlobal.USP.ib_url+"/Signon.cgi?remote=TRUE", 337 "cache": false, 338 dataType: "script", 339 dataFilter: function(data){ 340 if (typeof data != "undefined") 341 { 342 return data.substring(84); 343 } 344 } 345 }); 346 } 347 }) // .each() 348 ; 349 350 351 352 if (this.demo_script_url) 353 { 354 jQuery.getScript(this.demo_script_url); 355 } 356 } 357 358 else if ($usp_login_form.length > 0 && retrograde == "dual") { 359 if (this.demo_script_url) 360 { 361 jQuery.getScript(this.demo_script_url); 362 } 363 } 364 365 if ($usp_login_form.length > 0 ) { 366 if( typeof testForDemo == 'undefined' ) 367 window.testForDemo = function( fileName ) { 368 document.location = fileName; 369 } 370 else if( retrograde !== true && retrograde !== "true" ) { 371 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("WARNING! testForDemo() still exists somewhere on this page and should be removed."); 372 } 373 } 374 375 //else 376 //{ 377 // page is not a login 378 //} 379 380 //if the legacyFP setting in usp_settings.js2 is true/"true", retrograde the FP link to legacy (retrograde and dual modes) 381 if( legacyFP == 'undefined' || ( legacyFP !== false && legacyFP !== "false" ) ) 382 jQuery("a[href*='/tob/live/usp-core/app/authUpdate']").attr("href", MstIncGlobal.USP.ib_url+"/ForgottenPW.html"); 383 384 jQuery("a[href*='"+MstIncGlobal.USP.ib_url+"/security_site/privacy.html']") 385 .add("a[href*='"+MstIncGlobal.USP.ib_url+"/BrowserTest.cgi']") 386 .removeAttr("onclick"); 387 388 if (typeof this.custom_callback == "function" && this.custom_callback) this.custom_callback(); // this is where all the dual-mode magic happens 389 390 } // End USP.retrogradeLogin() 391 392 393 394 /* This checks if MstIncGlobal.USP settings are set for WebCenter sites, and checks for these same values in 395 * usp_settings.js3 for Unix sites. Either way, if this function determines we should move forward with 396 * Stage 2, the MstIncGlobal.USP settings are sure to be set. 397 * 398 * Param: 399 * 400 * Return: No return value 401 */ 402 this.USP.testRetrogradeEligibility = function() 403 { 404 405 // *********** 406 // WEBCENTER 407 // *********** 408 if (site_is_webcenter) 409 { 410 if (typeof this.converted_to_usp != 'undefined' && this.converted_to_usp) 411 { 412 if (typeof this.ib_url == "undefined") 413 { 414 this.ib_url = "/onlineserv/HB"; 415 } 416 417 // Before checking settings.js2, see if we're overriding that settings via a cookie 418 if (usp_retro_override === "full" ||usp_retro_override === "dual" || usp_retro_override === "disabled") 419 { 420 if (usp_retro_override === "full") jQuery(function(){ MstIncGlobal.USP.retrogradeLogin(true,true) }); 421 if (usp_retro_override === "dual") jQuery(function(){ MstIncGlobal.USP.retrogradeLogin("dual",true) }); 422 return; 423 } 424 425 // Check activation via USP settings file (via AJAX) 426 jQuery.ajax(site_path_prefix + "/usp_settings.js2", { 427 "dataType": "json", 428 "cache": false, 429 "success": function(data, textStatus, jqXHR) 430 { 431 if (data.retrograde && (typeof data.retrograde == "boolean" || data.retrograde==="true" || data.retrograde==="dual")) 432 { 433 jQuery(function(){ MstIncGlobal.USP.retrogradeLogin(data.retrograde,data.legacyFP) }); 434 } 435 //else 436 //{ 437 // usp retrograde disabled in usp_settings.js2 438 //} 439 }, // success 440 "error": function(jqXHR, textStatus, errorThrown) 441 { 442 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Error getting usp_settings.js2: " + 443 (textStatus?"\""+textStatus+"\" ": "") + (errorThrown?errorThrown+" ": "")); 444 } // error 445 }); // jQ.ajax() 446 } 447 //else 448 //{ 449 // WebCenter detected, but MstIncGlobal.USP settings missing 450 //} 451 } // WebCenter retrograde 452 453 454 // *********** 455 // UNIX 456 // *********** 457 else 458 {
459 // Before checking settings.js2, see if we're overriding that settings via a cookie 460 if (usp_retro_override === "full" || usp_retro_override === "dual") 461 { 462 usp_settings_js2_retrograde = usp_retro_override; 463 } 464 else if (usp_retro_override === "disabled") 465 { 466 return; 467 } 468 else 469 { 470 // Check USP settings file (via AJAX) 471 jQuery.ajax(site_path_prefix + "/usp_settings.js2", { 472 "dataType": "json", 473 "cache": false, 474 "success": function(data, textStatus, jqXHR) 475 { 476 if (typeof data.retrograde != 'undefined' && data.retrograde && (typeof data.retrograde == "boolean" || data.retrograde==="true" || data.retrograde==="dual")) 477 { 478 usp_settings_js2_retrograde = data.retrograde; 479 usp_settings_js2_legacyfp = data.legacyFP; 480 if (usp_settings_js3_replied && typeof MstIncGlobal.USP.converted_to_usp != 'undefined' 481 && typeof MstIncGlobal.USP.converted_to_usp) 482 { 483 jQuery(function(){ MstIncGlobal.USP.retrogradeLogin(data.retrograde,data.legacyFP) }); 484 } 485 } 486 //else 487 //{ 488 // leave usp_settings_js2_retrograde as empty string so the retrograde is aborted 489 //} 490 }, 491 "error": function(jqXHR, textStatus, errorThrown) 492 { 493 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Error getting usp_settings.js2: " + (textStatus?"\""+textStatus+"\" ": "") + (errorThrown?errorThrown+" ": "")); 494 } 495 }); 496 } 497 498 // Check USP settings file (via AJAX) 499 jQuery.ajax(site_path_prefix + "/usp_settings.js3", { 500 "dataType": "json", 501 "cache": false, 502 "success": function(data, textStatus, jqXHR) 503 { 504 if (typeof data.converted_to_usp != 'undefined' && data.converted_to_usp) 505 { 506 jQuery.extend(MstIncGlobal.USP, data); 507 if (typeof MstIncGlobal.USP.ib_url == "undefined") 508 { 509 MstIncGlobal.USP.ib_url = "/onlineserv/HB"; 510 } 511 if (location.pathname.indexOf("/preprod/HB/") > -1 || location.pathname.indexOf("/preprod/HB3/") > -1) 512 { 513 MstIncGlobal.USP.ib_url = MstIncGlobal.USP.ib_url.replace("/onlineserv/HB", "/preprod/HB").replace("/HB3", "/preprod/HB3"); 514 } 515 if (typeof MstIncGlobal.USP.custom_callback == 'string') 516 { 517 eval("MstIncGlobal.USP.custom_callback = function(){"+MstIncGlobal.USP.custom_callback+"}"); 518 } 519 usp_settings_js3_replied = true; 520 if (usp_settings_js2_retrograde!==false) jQuery(function(){ MstIncGlobal.USP.retrogradeLogin(usp_settings_js2_retrograde,usp_settings_js2_legacyfp) }); 521 } 522 }, 523 "error": function(jqXHR, textStatus, errorThrown) 524 { 525 if (typeof console != 'undefined' && typeof console.log != 'undefined') console.log("Error getting usp_settings.js3: " + (textStatus?"\""+textStatus+"\" ": "") + (errorThrown?errorThrown+" ": "")); 526 } 527 }); 528 529 } // else (site is Unix) 530 531 } // End USP.testRetrogradeEligibility() 532 533 534 this.USP.testRetrogradeEligibility(); 535 536 537 538 539/************************************************************/ 540/* Adding Code for FrameBusting */ 541/************************************************************/ 542 543 544 if((document.referrer.indexOf('ap.diginsite.net') == -1) && (document.referrer.indexOf('aplogin.digitalinsight.com') == -1 )&& (document.referrer.indexOf(document.location.host) == -1)) { 545 top.location = self.location; 546 } 547 548 549/************************************************************/ 550/* Ending Code for FrameBusting */ 551/************************************************************/ 552 553 554/* ********************************************************************** */ 555/* iPad mobile app overlay - written by Brandon Card */ 556/* ********************************************************************** */ 557 558 jQuery(function(){ 559 jQ18 = window.jQuery; 560 561 // Replace the normal jQuery getScript function with one that supports 562 // debugging and which references the script files as external resources
563 // rather than inline. 564 jQ18.extend({ 565 getScript: function(url, callback) { 566 var head = document.getElementsByTagName("head")[0]; 567 var script = document.createElement("script"); 568 script.src = url; 569 570 // Handle Script loading 571 { 572 var done = false; 573 574 // Attach handlers for all browsers 575 script.onload = script.onreadystatechange = function(){ 576 if ( !done && (!this.readyState || 577 this.readyState == "loaded" || this.readyState == "complete") ) { 578 done = true; 579 if (callback) 580 callback(); 581 582 // Handle memory leak in IE 583 script.onload = script.onreadystatechange = null; 584 } 585 }; 586 } 587 588 head.appendChild(script); 589 590 // We handle everything using the script element injection 591 return undefined; 592 }, 593 }); 594 595 596 597 598 599 jQ18.getScript("/mstinc/grp/web_banner/js/web_banner_test.js?v="+(new Date().getTime()), function(data, textStatus, jqxhr){ 600 jQ18.mobile_dropdown({}); 601 }); 602 }); 603 604/* ********************************************************************** */ 605/* end iPad mobile app overlay - written by Brandon Card */ 606/* ********************************************************************** */ 607 608 609 610 }).apply(MstIncGlobal);
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.