1function CreateMenu() { 2 3 $("#top-menu").html(''); 4 5 try { 6 7 var path = window.location.href; 8 var page = path.split("/").pop(); 9 if (sessionStorage.MenuData) 10 var jObj = JSON.parse(sessionStorage.MenuData); 11 else 12 return; 13 14 var sHTML = ''; 15 16 //debugger; 17 18 for (var index = 0; index < jObj.length; index++) { 19 if (jObj[index].ParentMenuID == '0') { 20 var sHTMLChilds = ''; 21 if (jObj[index].HasChilds) { 22 sHTMLChilds = getChildMenus(jObj[index], jObj); 23 } 24 25 var sLink = ''; 26 if (jObj[index].LinkFlag) { 27 sLink = jObj[index].Link; 28 } 29 else 30 sLink = '#'; 31 sHTML = sHTML + '<li class="ParentLi"><a href=' + sLink + jObj[index].EncryptedQS + '>' + jObj[index].Caption + '</a>' + sHTMLChilds + '</li>'; 32 33 } 34 } 35 36 $("#top-menu").html(sHTML); 37 38 39 40 } catch (e) { 41 42 } 43 44 45} 46 47var ctrlUserPropDDL = "ddlProp"; 48var ctrlUserPropDDLLabel = "Property"; 49 50var ctrlUserProjectsDDL = "ddlProjects"; 51var ctrlUserProjectsDDLLabel = "Projects"; 52 53var ctrlUserContractDDL = "ddlContract"; 54var ctrlUserContractDDLLabel = "Contract"; 55 56var ctrlUserChequeDDL = "ddlCheque"; 57var ctrlUserChequeDDLLabel = "Cheques"; 58 59var ctrlUserSubCategoryDDL = "ddlSubCategory"; 60var ctrlUserSubCategoryDDLLabel = "Activities"; 61 62var ctrlUserServiceProviderDDL = "ddlServiceProvider"; 63var ctrlUserServiceProviderDDLLabel = "Service Provider"; 64 65function getChildMenus(obj, jObjArray) { 66 var retHTML = ''; 67 68 for (var i = 0; i < jObjArray.length; i++) { 69 if (jObjArray[i].ParentMenuID == obj.MenuID) { 70 var sHTMLChilds = ''; 71 if (jObjArray[i].HasChilds) 72 sHTMLChilds = getChildMenus(jObjArray[i].MenuID, jObjArray);
73 74 75 var sLink = ''; 76 var queryString = ''; 77 if (jObjArray[i].LinkFlag) { 78 sLink = jObjArray[i].Link; 79 } 80 else 81 queryString = '#'; 82 83 retHTML = retHTML + '<li><a onmousedown="SaveCurrentClicked(this)" id="' + 'MId' + jObjArray[i].MenuID + '" href=' + baseMainUrl + sLink + jObjArray[i].EncryptedQS + '>' + jObjArray[i].Caption + '</a>' + sHTMLChilds + '</li>'; 84 85 } 86 } 87 88 if (retHTML) 89 retHTML = "<ul class=''>" + retHTML + "</ul>"; 90 else 91 retHTML = ""; 92 93 return retHTML; 94} 95 96 97function FillMenu() { 98 var input = {}; 99 //input.registrationID = globalRegistrationID; 100 input.systemID = systemID; 101 input.userRegBO = JSON.parse(sessionStorage.UserObject); 102 103 if (input.registrationID == 0) return; 104 105 // Success Method 106 var successAction = function (result) { sessionStorage.MenuData = JSON.stringify(result); } 107 CallRestMethod('RestServices.svc/GetMenuForUserRegistrationID', JSON.stringify(input), successAction, 'POST', sessionStorage.apiKey, false); 108} 109 110function SaveCurrentClicked(ctrl) { 111 112 sessionStorage.clickedID = ctrl.id; 113 //sessionStorage.FirstStepLink = ctrl; 114 //sessionStorage.FirstStepText = ctrl.innerText; 115} 116 117function detectIE() { 118 var ua = window.navigator.userAgent; 119 120 var msie = ua.indexOf('MSIE '); 121 if (msie > 0) { 122 // IE 10 or older => return version number 123 return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); 124 } 125 126 var trident = ua.indexOf('Trident/'); 127 if (trident > 0) { 128 // IE 11 => return version number 129 var rv = ua.indexOf('rv:'); 130 return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); 131 } 132 133 var edge = ua.indexOf('Edge/'); 134 if (edge > 0) { 135 // IE 12 (aka Edge) => return version number 136 return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); 137 } 138 139 // other browser 140 return true; 141} 142 143 144 145$.widget("custom.catcomplete", $.ui.autocomplete, { 146 _create: function () { 147 this._super(); 148 this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); 149 }, 150 _renderMenu: function (ul, items) { 151 var that = this, 152 currentCategory = ""; 153 $.each(items, function (index, item) { 154 var li; 155 if (item.category != currentCategory) { 156 ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>"); 157 currentCategory = item.category; 158 } 159 li = that._renderItemData(ul, item); 160 if (item.category) { 161 li.attr("aria-label", item.category + " : " + item.label); 162 } 163 }); 164 } 165}); 166function OpenPage(anchorClicked) { 167 //anchorClicked.href = varNakheelURL + anchorClicked.href.substring(anchorClicked.href.lastIndexOf("/") + 1); 168 169 // Create a URL object from the href 170 var urlObj = new URL(anchorClicked.href); 171 172 // Only get the pathname from the URL object 173 var pathName = urlObj.pathname; 174 175 // Open the new window with the combined URL 176 var win = window.open(varNakheelURL + pathName, '_blank'); 177 178 if (win) { 179 // Browser has allowed it to be opened 180 win.focus(); 181 } 182 183 return false; 184} 185 186$(document).ready(function () { 187 188 if (!(detectIE() === true || detectIE() > 8)) { 189 190 var pathname = window.location.pathname; 191 192 if (pathname.toLowerCase().indexOf("notsupportedbrowser.aspx") > -1) return; 193 194 window.location.href = baseMainUrl + 'NotSupportedBrowser.aspx'; 195 } 196 197 198 // var opts = { 199 // lines: 9 // The number of lines to draw 200 //, length: 28 // The length of each line 201 //, width: 14 // The line thickness 202 //, radius: 42 // The radius of the inner circle 203 //, scale: 1 // Scales overall size of the spinner 204 //, corners: 1 // Corner roundness (0..1) 205 //, color: '#000' // #rgb or #rrggbb or array of colors 206 //, opacity: 0.25 // Opacity of the lines 207 //, rotate: 0 // The rotation offset 208 //, direction: 1 // 1: clockwise, -1: counterclockwise 209 //, speed: 1 // Rounds per second 210 //, trail: 60 // Afterglow percentage 211 //, fps: 20 // Frames per second when using setTimeout() as a fallback for CSS 212 //, zIndex: 2e9 // The z-index (defaults to 2000000000) 213 //, className: 'spinner' // The CSS class to assign to the spinner 214 //, top: '50%' // Top position relative to parent 215 //, left: '50%' // Left position relative to parent 216 //, shadow: false // Whether to render a shadow 217 //, hwaccel: false // Whether to use hardware acceleration 218 //, position: 'absolute' // Element positioning 219 //, color: '#2e6de0' // #rbg or #rrggbb 220 221 // }; 222 // target = document.getElementById('loadingDiv'); 223 // spinner = new Spinner(opts); 224 225 226 // // var $loading = $('#loadingDiv').show(); 227 // $(document) 228 // .ajaxStart(function () { 229 // // $loading.show(); 230 // spinner.spin(target); 231 // }) 232 // .ajaxStop(function () { 233 // //$loading.show(); 234 // spinner.stop(target); 235 236 // //setTimeout(function () { spinner.stop(target); }, 3000) 237 // }); 238 239 240 try { 241 242 $("#lnkLogOut").attr("href", varLO); 243 244 CheckingSeassion(); 245 246 247 if (!sessionStorage.MenuData || sessionStorage.MenuData == "[]") 248 FillMenu(); 249 250 CreateMenu(); 251 $('#top-menu').prmenu(); 252 253 254 } catch (e) { 255 256 } 257 258 259 $('#lnkLogOut').click(function () { 260 sessionStorage.removeItem("MenuData"); 261 localStorage.setItem("activetab", null); 262 localStorage.setItem("hrf_QuickPay", ''); 263 });
264 265 266 267 // setMyStorage('HUSSEIN', 'this is test value'); 268 269 // getMyStorage('HUSSEIN'); 270}); 271 272 273 274//var storage = new secStore, 275//options = { 276// encrypt: true, 277// storage: 'session' 278//}; 279 280//function getMyStorage(myKey) { 281// var res = ''; 282// storage.get(options, function (err, results) { 283// if (err) throw err; 284// console.log(results.myKey); 285// }); 286//} 287 288//function setMyStorage(myKey, myValue) { 289// options.data = {}; 290// options.data.myKey = myValue; 291// storage.set(options, function (err, results) { 292// if (err) throw err; 293// console.log(results); 294// }); 295//} 296 297 298function CheckingSeassion() { 299 300 var pathname = window.location.pathname; 301 //var appDomainEndding = 'login.aspx'; 302 303 //if (pathname.toLowerCase().indexOf("login.aspx") > -1 || 304 // pathname.toLowerCase().indexOf("forgetpassword.aspx") > -1 || 305 // pathname.toLowerCase().indexOf("register.aspx") > -1 || 306 // pathname.toLowerCase().indexOf("adminnewservicerequest.aspx") > -1 || 307 // pathname.toLowerCase().indexOf("adminservicecontent.aspx") > -1 || 308 // pathname.toLowerCase().indexOf("errorpage.aspx") > -1 || 309 // pathname.toLowerCase().indexOf("forgetpasswordsuccess.aspx") > -1 || 310 // pathname.toLowerCase().indexOf("registrationsuccess.aspx") > -1 || 311 // pathname.toLowerCase().indexOf("profileactivation.aspx") > -1 || 312 // pathname.toLowerCase().indexOf("notsupportedbrowser.aspx") > -1 || 313 // pathname.toLowerCase().indexOf("servicecontent.aspx") > -1 314 // //|| pathname.toLowerCase().indexOf("allservices.aspx") > -1 315 // ) return; 316 //|| pathname.indexOf(appDomainEndding, pathname.length - appDomainEndding.length) > -1) 317 318 319 $.ajax({
320 type: "POST", 321 async: false, 322 url: baseMainUrl + "Login.aspx/LogoutCheck", 323 data: "{}", 324 contentType: "application/json; charset=utf-8", 325 dataType: "json", 326 success: function (response) { 327 328 if (response.d == 0 && $('#divNavigation').is(":visible")) 329 window.location = varLO; 330 331 //else if(response.d == 0) { 332 // window.location = baseMainUrl + "Modules/Services/AllServices.aspx"; 333 //} 334 }, 335 failure: function (msg) { 336 $.alert({ 337 content: 'We are experiencing an internal system error; Please try again. (Error Code:1003)', title: 'System Error' 338 , animationBounce: 2, animationSpeed: 1500, theme: 'supervan', icon: 'glyphicon glyphicon-ban-circle' 339 , backgroundDismiss: true, confirmButton: 'OK', confirmButtonClass: 'btn-primary' 340 }); 341 // console.log(msg); 342 } 343 }); 344} 345 346 347//function resize() { 348// var height = document.getElementsByTagName("html")[0].scrollHeight; 349// window.parent.postMessage(["setHeight", height], "*"); 350//} 351 352//function getParameterByName(name) { 353// name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 354// var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 355// results = regex.exec(location.search); 356// return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 357//} 358 359 360function jsUserName(e) { 361 362 var evt = (e) ? e : window.event; 363 var key = (evt.keyCode) ? evt.keyCode : evt.which; 364 365 if (key == 32 || key == 222) 366 return true; 367 if (key != null) { 368 key = parseInt(key, 10); 369 if ((key < 65 || key > 90) && (key < 97 || key > 122)) { 370 //if ((key < 48 || key > 57) && (key < 96 || key > 105)) { 371 if (!jsIsUserFriendlyChar(key, "Numbers")) { 372 return false; 373 } 374 } 375 else { 376 if (evt.shiftKey) { 377 return true; 378 } 379 } 380 } 381 return true; 382} 383 384 385function jsIsUserFriendlyChar(val, step) { 386 // Backspace, Tab, Enter, Insert, and Delete 387 if (val == 8 || val == 9 || val == 13 || val == 45 || val == 46) { 388 return true; 389 } 390 // Ctrl, Alt, CapsLock, Home, End, and Arrows 391 if ((val > 16 && val < 21) || (val > 34 && val < 41)) { 392 return true; 393 } 394 if (step == "Decimals") { 395 if (val == 190 || val == 110) { 396 return true; 397 } 398 } 399 // The rest 400 return false; 401} 402 403function BackToServiceRequests() { 404 window.location.href = window.location.href.split('#')[0]; 405} 406 407 408function ValidateDate(sender, args) { 409 410 var dateString = document.getElementById(sender.controltovalidate).value; 411 var regex = /(((0|1)[1-9]|2[1-9]|3[0-1])\/(0[1-9]|1[0-2])\/((19|20)\d\d))$/; 412 if (regex.test(dateString)) { 413 var parts = dateString.split("/"); 414 var dt = new Date(parts[1] + "/" + parts[0] + "/" + parts[2]); 415 args.IsValid = (dt.getDate() == parts[0] && dt.getMonth() + 1 == parts[1] && dt.getFullYear() == parts[2]); 416 } else { 417 args.IsValid = false; 418 } 419} 420 421 422function formatDate(date) { 423 var hours = date.getHours(); 424 var minutes = date.getMinutes(); 425 var ampm = hours >= 12 ? 'pm' : 'am'; 426 hours = hours % 12; 427 hours = hours ? hours : 12; // the hour '0' should be '12' 428 minutes = minutes < 10 ? '0' + minutes : minutes; 429 var strTime = hours + ':' + minutes + ' ' + ampm; 430 return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear() + " " + strTime; 431} 432 433function geformattedDate(date) { 434 return ("0" + date.getDate()).slice(-2) + "/" + ("0" + (date.getMonth() + 1)).slice(-2) + "/" + date.getFullYear(); 435} 436 437function NumberLimit(element, max) { 438 var max_chars = max; 439 if (element.value.length > max_chars) { 440 element.value = element.value.substr(0, max_chars); 441 } 442 element.value = element.value.replace(/[^0-9]/g, ''); 443 element.value = element.value.replace(/(\..*)\./g, '$1'); 444} 445 446function DeceimalNumberLimit(element, max) { 447 var max_chars = max; 448 if (element.value.length > max_chars) { 449 element.value = element.value.substr(0, max_chars); 450 } 451 452 453 var pos = element.value.indexOf("."); 454 var result; 455 if (pos !== -1) { 456 var part1 = element.value.substr(0, pos); 457 var part2 = element.value.substr(pos + 1); 458 result = clean(part1) + "." + clean(part2); 459 } else { 460 result = clean(element.value); 461 } 462 463 element.value = result;//element.value.replaceAll(^[0-9](\.[0-9]+)?$, ''); 464} 465 466function clean(string) { 467 return string.replace(/[^0-9]/g, ""); 468} 469 470 471function CheckIsAuth() { 472 var res = false; 473 474 $.ajax({
475 type: "POST", 476 async: false, 477 url: baseMainUrl + "Login.aspx/LogoutCheck", 478 data: "{}", 479 contentType: "application/json; charset=utf-8", 480 dataType: "json", 481 success: function (response) { 482 483 if (response.d == 1) 484 res = true; 485 else 486 res = false; 487 }, 488 failure: function (msg) { 489 $.alert({ 490 content: 'We are experiencing an internal system error; Please try again. (Error Code:1015)', title: 'System Error' 491 , animationBounce: 2, animationSpeed: 1500, theme: 'supervan', icon: 'glyphicon glyphicon-ban-circle' 492 , backgroundDismiss: true, confirmButton: 'OK', confirmButtonClass: 'btn-primary' 493 }); 494 //console.log(msg); 495 496 res = false; 497 } 498 }); 499 500 return res; 501} 502 503function CallRestMethod(methodName, methodParams, methodSuccess, methodType, serviceToken, isAsync) { 504 //debugger; 505 //$('#loadingmessage').show(); 506 var urlS = globalServiceUrl + methodName; //+ '?APIKey=' + serviceToken; 507 var username = RestServiceUserName; 508 var password = RestServicePassword; 509 var token = "Basic " + btoa(username + ':' + password); 510 $.support.cors = true; 511 $.ajax({
512 type: methodType, 513 url: urlS, 514 data: methodParams, 515 beforeSend: function (xhr) { 516 xhr.setRequestHeader('Authorization', token); 517 }, 518 contentType: 'application/json; charset=utf-8', 519 crossDomain: true, 520 async: isAsync, 521 dataType: 'json', 522 success: methodSuccess, 523 error: function (jqXHR, exception) { 524 //$('.loader_newSR').hide(); 525 $('#loader_new').css('display', 'none'); 526 var msg = ''; 527 if (jqXHR.status === 0) { 528 //msg = 'Not connect.\n Verify Network.'; 529 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1005)'; 530 } else if (jqXHR.status == 404) { 531 //msg = 'Requested page not found. [404]'; 532 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1006)'; 533 } else if (jqXHR.status == 500) { 534 //msg = 'Internal Server Error [500].'; 535 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1007)'; 536 } 537 else if (jqXHR.status == 406 || jqXHR.status == 401 || jqXHR.status == 401) { 538 msg = jqXHR.statusText + ' (Error Code:1008)'; 539 } 540 else if (exception === 'parsererror') { 541 //msg = 'Requested JSON parse failed.'; 542 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1009)'; 543 } else if (exception === 'timeout') { 544 //msg = 'Time out error.'; 545 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1010)'; 546 } else if (exception === 'abort') { 547 //msg = 'Ajax request aborted.'; 548 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1011)'; 549 } else { 550 //msg = 'Uncaught Error. Status: ' + jqXHR.status + ' Exception Text: '+ exception + ' Staus Text: ' + jqXHR.statusText + ' \n' + jqXHR.responseText; 551 msg = 'We are experiencing an internal system error; Please try again. (Error Code:1012)'; 552 } 553 554 $.alert({ 555 content: msg, title: 'System Error' 556 , animationBounce: 2, animationSpeed: 1500, theme: 'supervan', icon: 'glyphicon glyphicon-ban-circle' 557 , backgroundDismiss: true, confirmButton: 'OK', confirmButtonClass: 'btn-primary', columnClass: 'col-xs-12', columnClass: 'col-xs-12' 558 }); 559 560 // console.log(jqXHR); 561 }, 562 563 headers: { 564 "Authorization": "Basic " + btoa(username + ":" + password) 565 }, 566 }); 567} 568 569 570String.prototype.replaceAll = function (search, replacement) { 571 var target = this; 572 return target.replace(new RegExp(search, 'g'), replacement); 573}; 574 575//String.prototype.replaceAll = function (search, replace) { 576// //if replace is not sent, return original string otherwise it will 577// //replace search string with 'undefined'. 578// if (replace === undefined) { 579// return this.toString(); 580// } 581 582// return this.replace(new RegExp('[' + search + ']', 'g'), replace); 583//}; 584 585//function EncryptQS(q) { 586// var result = ''; 587 588// var obj = {}; 589// obj.q = q; 590 591// $.ajax({
592// type: "POST", 593// async: false, 594// url: baseMainUrl + "Login.aspx/EncryptQS", 595// data: JSON.stringify(obj), 596// contentType: "application/json; charset=utf-8", 597// dataType: "json", 598// success: function (response) { 599 600// result = response.d; 601// }, 602// failure: function (msg) { 603// $.alert({ 604// content: 'Sorry, An internal error occurred', title: 'System Error' 605// , animationBounce: 2, animationSpeed: 1500, theme: 'supervan', icon: 'glyphicon glyphicon-ban-circle' 606// , backgroundDismiss: true, confirmButton: 'OK', confirmButtonClass: 'btn-primary' 607// }); 608// console.log(msg); 609 610// result = ''; 611// } 612// }); 613 614// return result; 615 616//} 617 618 619function getDateFromMSDate(jsonDate) { 620 if (jsonDate) { 621 var sDate = new Date(parseInt(jsonDate.substr(6))); 622 return sDate.getDate() + " / " + (sDate.getMonth() + 1) + " / " + sDate.getFullYear(); 623 } 624 else 625 return ''; 626} 627 628function populateAndSelectDropdown(id, result, servicePath, valueField, textField, selectedValue) { 629 var successAction = function (data) { 630 631 //$("#" + id).append("<option value='-1'>--Select--</option>"); 632 633 for (var i = 0; i < data[result].length; i++) { 634 var option; 635 if (data[result][i][valueField] == selectedValue) 636 option = $("<option selected='selected' />"); 637 else 638 option = $("<option/>"); 639 640 option.attr("value", data[result][i][valueField]).text(data[result][i][textField]); 641 642 $("#" + id).append(option); 643 } 644 645 646 } 647 648 CallRestMethod(servicePath, null, successAction, 'POST', true); 649} 650 651function GetOptionTextByValue(id, searchValue) { 652 var value; 653 $("#" + id + " option").each(function () { 654 if (this.value == searchValue) 655 value = this.text; 656 }); 657 return value; 658} 659 660 661function ddlBindAndSelectValue(data, id, result, valueField, textField, selectedValue) { 662 for (var i = 0; i < data[result].length; i++) { 663 var option; 664 if (data[result][i][valueField] == selectedValue) 665 option = $("<option selected='selected' />"); 666 else 667 option = $("<option/>"); 668 669 option.attr("value", data[result][i][valueField]).text(data[result][i][textField]); 670 671 $("#" + id).append(option); 672 } 673} 674 675function ddlBindByArray(data, id, valueField, textField) { 676 if (data && data.length > 0) { 677 for (var i = 0; i < data.length; i++) { 678 var option = $("<option/>"); 679 680 option.attr("value", data[i][valueField]).text(data[i][textField]); 681 682 $("#" + id).append(option); 683 } 684 } 685} 686 687function ddlBindWithIntialText(id,data, result, valueField, textField, intialText) { 688 dllRemoveAllOptions(id); 689 // Fill Intial Value 690 var intialOption = $("<option selected='selected' />"); 691 intialOption.attr("value", '').text(intialText); 692 $("#" + id).append(intialOption); 693 694 695 for (var i = 0; i < data[result].length; i++) { 696 var option = $("<option/>"); 697 option.attr("value", data[result][i][valueField]).text(data[result][i][textField]); 698 $("#" + id).append(option); 699 } 700} 701 702function dllRemoveAllOptions(id) { 703 $('#' + id) 704 .empty() 705 // .append('<option selected="selected" value="whatever">text</option>') 706 ; 707} 708 709 710 711function uaepasslnkLogOut() { 712 $.ajax({
713 type: "POST", 714 async: false, 715 url: baseMainUrl + "Login.aspx/uaepasslnkLogOut_Click", 716 data: "{}", 717 contentType: "application/json; charset=utf-8", 718 dataType: "json", 719 success: function (response) { 720 if (response.d == '0') { } else { 721 location.href = response.d; 722 } 723 localStorage.setItem("activetab", null); 724 localStorage.setItem("hrf_QuickPay", ''); 725 }, 726 failure: function (msg) { 727 alert("Something went wrong."); 728 } 729 }); 730} 731function clearCustomSession() { 732 $.ajax({ 733 type: "POST", 734 async: false, 735 url: baseMainUrl + "Login.aspx/clearCustomSession", 736 data: "{}", 737 contentType: "application/json; charset=utf-8", 738 dataType: "json", 739 success: function (response) { 740 }, 741 failure: function (msg) { 742 alert("Something went wrong."); 743 } 744 }); 745} 746function checkSession() { 747 var res = 0; 748 $.ajax({
749 type: "POST", 750 async: false, 751 url: baseMainUrl + "Modules/Services/AllServices.aspx/checkSession", 752 data: "{}", 753 contentType: "application/json; charset=utf-8", 754 dataType: "json", 755 success: function (response) { 756 // console.log(response); 757 res = response.d; 758 }, 759 failure: function (msg) { 760 //alert("Something went wrong."); 761 res = 0; 762 } 763 }); 764 return res; 765}
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.