1String.prototype.format = function() { 2 var args = arguments; 3 return this.replace(/{(\d+)}/g, function(match, number) { 4 return args[number] || '{' + number + '}'; 5 } 6 ); 7 }; 8 9function rec_remove(ancId) { 10 var anc = document.getElementById(ancId); 11 anc.innerHTML = ""; 12 anc.setAttribute("class", ""); 13} 14 15function recommendThis(id) 16{ 17 var spanId = 'R' + id; 18 var ancId = 'T' + id; 19 var anc = document.getElementById(ancId); 20 var span = document.getElementById(spanId); 21 var anc_before = anc.innerHTML; 22 anc.innerHTML = "<font color='red'>- (sending) -</font>"; 23 var count = invokeService(spanId); 24 if (count > 0) { 25 anc.innerHTML = "<b>Recommended!</b>"; 26 span.innerHTML = "{0} {1}".format(count, ((count > 1) ? "Recommendations" : "Recommendation")); 27 span.innerHTML = "<a href='readmsg.aspx?msgid=" + id + "&showwhorecd=1'>" + "{0} {1}".format(count, ((count > 1) ? "Recommendations" : "Recommendation") + "</a>"); 28 anc.removeAttribute("href"); 29 setTimeout("rec_remove('" + ancId + "');", 1000); 30 } 31 else { 32 anc.innerHTML = anc_before; 33 } 34 35} 36 37function invokeService(id) 38{ 39 if (window.XMLHttpRequest) { //IE7+, Firefox, Chrome, Opera, Safari 40 xmlhttp=new XMLHttpRequest(); 41 } 42 else{ // IE6, IE5 43 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 44 } 45 46 //var url = "Services.ashx?id={0}".format(id); 47 var url = "RecPost.ashx?id={0}".format(id); 48 xmlhttp.open("GET", url, false); 49 xmlhttp.send(); 50 return (xmlhttp.responseText); 51} 52 53function pinsearchmenu() 54{ 55 document.getElementById('p7').style.cssText='left:auto; right:0; opacity:1; '; 56 document.getElementById('p12').style.cssText='left:auto; right:100%; opacity:1; '; 57 document.getElementById('unpinsearch').style.visibility='visible'; 58} 59 60function unpinsearchmenu() 61{ 62 document.getElementById('p7').style.cssText='left:-9999px; right:auto; opacity:0;'; 63 document.getElementById('p12').style.cssText='left:-9999px; right:auto; opacity:0;' 64 document.getElementById('unpinsearch').style.visibility='hidden'; 65} 66 67function resetsearchmenu() 68{ 69 document.getElementById('p7').style.left=''; 70 document.getElementById('p7').style.right=''; 71 document.getElementById('p7').style.opacity=''; 72 document.getElementById('p12').style.left=''; 73 document.getElementById('p12').style.right=''; 74 document.getElementById('p12').style.opacity=''; 75 document.getElementById('unpinsearch').style.visibility='hidden'; 76} 77 78function clickLog(str) 79/* http://stackoverflow.com/questions/9384073/javascript-click-tracker-ahref-links */ 80/* <a href=" { url } / file .swf " onClick="clickLog(tshis.href)">Click Me</a> */ 81{ 82if (str=="") 83 { 84 document.getElementById("txtHint").innerHTML=""; 85 return; 86 } 87if (window.XMLHttpRequest) 88 {// code for IE7+, Firefox, Chrome, Opera, Safari 89 xmlhttp=new XMLHttpRequest(); 90 } 91else 92 {// code for IE6, IE5 93 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 94 } 95xmlhttp.onreadystatechange=function() 96 { 97 if (xmlhttp.readyState==4 && xmlhttp.status==200) 98 { 99 document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 100 } 101 } 102xmlhttp.open("GET","click-log.php?url="+str,true); 103xmlhttp.send(); 104} 105 106function searchpinfocus() 107{ 108 pinsearchmenu(); 109 document.getElementById("searchsubjects").focus(); 110} 111 112function createCookie(name,value,days) { 113 if (days) { 114 var date = new Date(); 115 date.setTime(date.getTime()+(days*24*60*60*1000)); 116 var expires = "; expires="+date.toGMTString(); 117 } 118 else var expires = ""; 119 document.cookie = name+"="+value+expires+"; path=/"; 120} 121 122function readCookie(name) { 123 var nameEQ = name + "="; 124 var ca = document.cookie.split(';'); 125 for(var i=0;i < ca.length;i++) { 126 var c = ca[i]; 127 while (c.charAt(0)==' ') c = c.substring(1,c.length); 128 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 129 } 130 return null; 131} 132
133function eraseCookie(name) { createCookie(name,"",-1); } 134 135function AudioToggle() { 136 if (readCookie("AudioOn") != 0) { 137 createCookie('AudioOn', '0', 365); // 1 = 1 day = 24 hours persistence 138 $("#audioctrl").attr("src", OUB + "images/audiooff.png"); 139 } else { 140 eraseCookie('AudioOn'); 141 $("#audioctrl").attr("src", OUB + "images/audioon.png"); 142 } 143} 144 145/** 146 * jQuery.browser.mobile (http://detectmobilebrowser.com/) 147 * 148 * jQuery.browser.mobile will be true if the browser is a mobile device 149 * 150 **/ 151(function (a) { (jQuery.browser = jQuery.browser || {}).mobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)) })(navigator.userAgent || navigator.vendor || window.opera); 152 153 154/*! Normalized address bar hiding for iOS & Android (c) @scottjehl MIT License */ 155(function (win) { 156 var doc = win.document; 157 158 // If there's a hash, or addEventListener is undefined, stop here 159 if (!win.navigator.standalone && !location.hash && win.addEventListener) { 160 161 //scroll to 1 162 win.scrollTo(0, 1); 163 var scrollTop = 1, 164 getScrollTop = function () { 165 return win.pageYOffset || doc.compatMode === "CSS1Compat" && doc.documentElement.scrollTop || doc.body.scrollTop || 0; 166 }, 167 168 //reset to 0 on bodyready, if needed 169 bodycheck = setInterval(function () { 170 if (doc.body) { 171 clearInterval(bodycheck); 172 scrollTop = getScrollTop(); 173 win.scrollTo(0, scrollTop === 1 ? 0 : 1); 174 } 175 }, 15); 176 177 win.addEventListener("load", function () { 178 setTimeout(function () { 179 //at load, if user hasn't scrolled more than 20 or so... 180 if (getScrollTop() < 20) { 181 //reset to hide addr bar at onload 182 win.scrollTo(0, scrollTop === 1 ? 0 : 1); 183 } 184 }, 0); 185 }, false); 186 } 187})(this);
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.