1/* Encapsulate ALL the cards JS. */ 2jQuery.fn.searchCards = function (options) { 3 4 currentPosition = 0; 5 cardSlotsFilled = 0; 6 currentPage = 1; 7 ContainerID = this.attr('id'); 8 window.prevCard = undefined; 9 10 11 /* Define the available methods to fire. */ 12 var methods = { 13 setProductType: function () { 14 productType = methodArgs[1]; /* the product type is the second arg passed. */ 15 setupProductTypeOption(productType); 16 } 17 } 18 19 // If the options is a method name, save the arguments so they can be accessed later. 20 var methodArgs = null; 21 if (methods[options]) { 22 methodArgs = arguments; 23 } 24 25 var setup = function () { 26 27 if (!ContainerID) /* If no ID, then stop. */ 28 return; 29 30 /* Hide Product Type specific options. */ 31 hideProductTypeOptions(); 32 33 /* Type filter */ 34 if (jQuery('#' + ContainerID + ' .typefilter').length > 1) { 35 jQuery('#' + ContainerID + ' .typefilter').click(function (e) { 36 e.preventDefault(); 37 38 /* Hide Product Type specific options. */ 39 hideProductTypeOptions(); 40 41 var type = jQuery(this); 42 var isAlreadySelected = type.hasClass('selected'); 43 /* First things first, deselect any currently selected Types. */ 44 jQuery('#' + ContainerID + ' .typefilter').removeClass('selected'); 45 46 /* If the item is being de-selected... */ 47 if (isAlreadySelected) { 48 jQuery('#' + ContainerID).data('search_type', ''); 49 } else { /* Item is newly selected. */ 50 // Clean out any existing filters. 51 jQuery('#' + ContainerID).data('search_destination', jQuery('#' + ContainerID).data('search_destination_fixed')); 52 jQuery('#' + ContainerID).data('search_duration', ''); 53 jQuery('#' + ContainerID).data('search_price', ''); 54 jQuery('#' + ContainerID).data('search_rating', ''); 55 jQuery('#' + ContainerID).data('search_category', ''); 56 jQuery('#' + ContainerID).data('search_activity_category', ''); 57 jQuery('#' + ContainerID).data('search_starting_location', ''); 58 jQuery('#' + ContainerID).data('search_ending_location', ''); 59 /* Default the selected option to be "Select". */ 60 //jQuery('#' + ContainerID + ' .typeoptions .selectedvalue').text('Select'); 61 62 type.addClass('selected'); 63 var selectedType = ''; 64 if (type.attr('href')) { /* Get the selected code value (in a tag's href value). */ 65 selectedType = type.attr('href').substring(1); /* Just grab what's after the # */ 66 } 67 jQuery('#' + ContainerID).data('search_type', selectedType); 68 setupProductTypeOption(selectedType);
68 /* Set up the specific options for this type. */ 69 } 70 searchCards(); 71 }); 72 } 73 74 /* Region filter */ 75 var ddRegion = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterRegions')); 76 jQuery('#' + ContainerID + ' .ddlFilterRegions a').click(function () { 77 var filter = jQuery(this).attr('href'); 78 if (filter.length > 0) filter = filter.substring(1); 79 jQuery('#' + ContainerID).data('search_region', filter); 80 searchCards(); 81 }); 82 /* Destination filter */ 83 var ddDestination = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterDestinations')); 84 jQuery('#' + ContainerID + ' .ddlFilterDestinations a').click(function () { 85 var filter = jQuery(this).attr('href'); 86 if (filter.length > 0) filter = filter.substring(1); 87 jQuery('#' + ContainerID).data('search_destination', filter); 88 searchCards(); 89 }); 90 /* Length filter (Num hours, Num days) */ 91 var ddDuration = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterDuration')); 92 jQuery('#' + ContainerID + ' .ddlFilterDuration a').click(function () { 93 var filter = jQuery(this).attr('href'); 94 if (filter.length > 0) filter = filter.substring(1); 95 jQuery('#' + ContainerID).data('search_duration', filter); 96 searchCards(); 97 }); 98 /* Price Range filter */ 99 var ddPriceRange = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterPriceRange')); 100 jQuery('#' + ContainerID + ' .ddlFilterPriceRange a').click(function () { 101 var filter = jQuery(this).attr('href'); 102 if (filter.length > 0) filter = filter.substring(1); 103 jQuery('#' + ContainerID).data('search_price', filter); 104 searchCards(); 105 }); 106 /* Rating filter */ 107 var ddRating = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterRating')); 108 jQuery('#' + ContainerID + ' .ddlFilterRating a').click(function () { 109 var filter = jQuery(this).attr('href'); 110 if (filter.length > 0) filter = filter.substring(1); 111 jQuery('#' + ContainerID).data('search_rating', filter); 112 searchCards(); 113 }); 114 115 /* Activities Duration filter (Num hours, Num days) */ 116 var ddActivitiesDuration = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterActivitiesDuration')); 117 jQuery('#' + ContainerID + ' .ddlFilterActivitiesDuration a').click(function () { 118 var filter = jQuery(this).attr('href'); 119 if (filter.length > 0) filter = filter.substring(1); 120 jQuery('#' + ContainerID).data('search_duration', filter); 121 searchCards(); 122 }); 123 /* Activities Price Range filter */ 124 var ddActivitiesPriceRange = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterActivitiesPriceRange')); 125 jQuery('#' + ContainerID + ' .ddlFilterActivitiesPriceRange a').click(function () { 126 var filter = jQuery(this).attr('href'); 127 if (filter.length > 0) filter = filter.substring(1); 128 jQuery('#' + ContainerID).data('search_price', filter); 129 searchCards(); 130 }); 131 /* Activity Categories filter */ 132 var ddActivityCategories = new DropDown(jQuery('#' + ContainerID + ' .ddlFitlerActivityCategories')); 133 jQuery('#' + ContainerID + ' .ddlFitlerActivityCategories a').click(function () { 134 var filter = jQuery(this).attr('href'); 135 if (filter.length > 0) filter = filter.substring(1); 136 jQuery('#' + ContainerID).data('search_activity_category', filter); 137 searchCards(); 138 }); 139 140 /* Hotels Price Range filter */ 141 var ddHotelsPriceRange = new DropDown(jQuery('#' + ContainerID + ' .ddlFitlerHotelsPriceRange')); 142 jQuery('#' + ContainerID + ' .ddlFitlerHotelsPriceRange a').click(function () { 143 var filter = jQuery(this).attr('href'); 144 if (filter.length >
144 0) filter = filter.substring(1); 145 jQuery('#' + ContainerID).data('search_price', filter); 146 searchCards(); 147 }); 148 149 /* Vacations Duration filter (Num hours, Num days) */ 150 var ddVacationsDuration = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterVacationsDuration')); 151 jQuery('#' + ContainerID + ' .ddlFilterVacationsDuration a').click(function () { 152 var filter = jQuery(this).attr('href'); 153 if (filter.length > 0) filter = filter.substring(1); 154 jQuery('#' + ContainerID).data('search_duration', filter); 155 searchCards(); 156 }); 157 /* Vacations Price Range filter */ 158 var ddVacationsPriceRange = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterVacationsPriceRange')); 159 jQuery('#' + ContainerID + ' .ddlFilterVacationsPriceRange a').click(function () { 160 var filter = jQuery(this).attr('href'); 161 if (filter.length > 0) filter = filter.substring(1); 162 jQuery('#' + ContainerID).data('search_price', filter); 163 searchCards(); 164 }); 165 /* Vacations Categories filter */ 166 var ddVacationCategories = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterVacationCategories')); 167 jQuery('#' + ContainerID + ' .ddlFilterVacationCategories a').click(function () { 168 var filter = jQuery(this).attr('href'); 169 if (filter.length > 0) filter = filter.substring(1); 170 jQuery('#' + ContainerID).data('search_category', filter); 171 searchCards(); 172 }); 173 /* Brewster-Owned filter */ 174 jQuery('#' + ContainerID + ' a.brewsterownedfilter').click(function (e) { 175 e.preventDefault(); 176 177 var btn = jQuery(this); 178 var isAlreadySelected = btn.hasClass('selected'); 179 /* First things first, deselect any currently selected Types. */ 180 181 /* If the item is being de-selected... */ 182 if (isAlreadySelected) { 183 jQuery('#' + ContainerID).data('filteronlybrewsterowned', ''); 184 btn.removeClass('selected'); 185 } else { /* Item is newly selected. */ 186 jQuery('#' + ContainerID).data('filteronlybrewsterowned', 'true'); 187 btn.addClass('selected'); 188 } 189 searchCards(); 190 }); 191 192 /* Sort */ 193 var ddSort = new DropDown(jQuery('#' + ContainerID + ' .ddlSort')); 194 jQuery('#' + ContainerID + ' .ddlSort a').click(function () { 195 var filter = jQuery(this).attr('href'); 196 if (filter.length > 0) filter = filter.substring(1); 197 jQuery('#' + ContainerID).data('search_searchsort', filter); 198 if (filter == 'random') { 199 var randToken = (Math.random() * 1000000).toString(); 200 jQuery('#' + ContainerID).data('search_randomsorttoken', randToken); 201 } 202 searchCards(); 203 }); 204 /* Show More */ 205 jQuery('#' + ContainerID + ' .showMeMore').click(function (e) { 206 e.preventDefault(); 207 searchCards(currentPosition, true); 208 }); 209 210 /* Starting Location */ 211 var ddStartingLocation = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterStartLocation')); 212 jQuery('#' + ContainerID + ' .ddlFilterStartLocation ul').on('click', 'a', function (e) { 213 e.preventDefault(); 214 var filter = jQuery(this).attr('href'); 215 if (filter.length > 0) filter = filter.substring(1); 216 jQuery('#' + ContainerID).data('search_starting_location', filter); 217 jQuery('#' + ContainerID + ' .ddlFilterStartLocation span.selectedvalue').text(jQuery(this).text()); 218 jQuery('#' + ContainerID + ' .ddlFilterEndLocation span.selectedvalue').text('Select'); 219 jQuery('#' + ContainerID).data('search_ending_location', ''); /* Clear the Ending Location filter. */ 220 loadEndingLocations(filter); 221 searchCards(); 222 }); 223 if (jQuery('#' + ContainerID + ' .ddlFilterStartLocation').length > 0) { 224 /* Try and load the Starting From cities values. */ 225 loadStartingLocations(); 226 } 227 228 /* Ending Location */ 229 var ddEndingLocation = new DropDown(jQuery('#' + ContainerID + ' .ddlFilterEndLocation')); 230 jQuery('#' + ContainerID + ' .ddlFilterEndLocation ul').on('click', 'a', function (e) { 231 e.preventDefault(); 232 var filter = jQuery(this).attr('href'); 233 if (filter.length >
233 0) filter = filter.substring(1); 234 jQuery('#' + ContainerID).data('search_ending_location', filter); 235 jQuery('#' + ContainerID + ' .ddlFilterEndLocation span.selectedvalue').text(jQuery(this).text()); 236 searchCards(); 237 }); 238 239 /* By default, do a query. */ 240 if (this.ContainerID && jQuery('#' + this.ContainerID).data('search_staticlist') && jQuery('#' + this.ContainerID).data('search_staticlist').length > 0) { 241 loadStaticCards(); 242 } else { 243 searchCards(); 244 } 245 }; 246 247 var hideProductTypeOptions = function () { 248 /* Clear any filters. */ 249 // jQuery('#' + ContainerID).data('search_duration', ''); 250 // jQuery('#' + ContainerID).data('search_price', ''); 251 // jQuery('#' + ContainerID).data('search_rating', ''); 252 // jQuery('#' + ContainerID).data('search_category', ''); 253 // jQuery('#' + ContainerID).data('search_activity_category', ''); 254 // jQuery('#' + ContainerID).data('search_starting_location', ''); 255 // jQuery('#' + ContainerID).data('search_ending_location', ''); 256 /* Default the selected option to be "Select". */ 257 // jQuery('#' + ContainerID + ' .typeoptions .selectedvalue').text('Select'); 258 /* Hide the drop downs. */ 259 jQuery('#' + ContainerID + ' .filterBoxDestinations').hide(); 260 jQuery('#' + ContainerID + ' .typeoptions').hide(); 261 jQuery('#' + ContainerID + ' .filterBoxStartLocation .typeoptions').hide(); 262 jQuery('#' + ContainerID + ' .filterBoxEndLocation .typeoptions').hide(); 263 } 264 265 var setupProductTypeOption = function (type) { 266 267 switch (type) { 268 case "activities": 269 jQuery('#' + ContainerID + ' .filterBoxDestinations').show(); 270 jQuery('#' + ContainerID + ' .filterBoxActivitiesDuration').show(); 271 jQuery('#' + ContainerID + ' .filterBoxActivitiesPriceRange').show(); 272 jQuery('#' + ContainerID + ' .filterBoxActivityCategories').show(); 273 break; 274 case "hotels": 275 jQuery('#' + ContainerID + ' .filterBoxDestinations').show(); 276 jQuery('#' + ContainerID + ' .filterBoxRating').show(); 277 jQuery('#' + ContainerID + ' .filterBoxHotelsPriceRange').show(); 278 break; 279 case "vacations": 280 if (jQuery('#' + ContainerID + ' .filterBoxStartLocation').length > 0) { 281 jQuery('#' + ContainerID + ' .filterBoxStartLocation').show(); 282 jQuery('#' + ContainerID + ' .filterBoxEndLocation').show(); 283 } else { 284 jQuery('#' + ContainerID + ' .filterBoxDestinations').show(); 285 } 286 jQuery('#' + ContainerID + ' .filterBoxVacationsDuration').show(); 287 jQuery('#' + ContainerID + ' .filterBoxVacationsPriceRange').show(); 288 jQuery('#' + ContainerID + ' .filterBoxVacationCategories').show(); 289 break; 290 } 291 }; 292 293 var getFilterOptions = function () { 294 var category = jQuery('#' + ContainerID).data('search_category_fixed'); 295 if (!category) 296 category = jQuery('#' + ContainerID).data('search_category'); 297 298 var options = { 299 'indexes': jQuery('#' + ContainerID).data('search_indexes'), 300 'resultsperpage': jQuery('#' + ContainerID).data('search_resultsperpage'), 301 'noresultstext': jQuery('#' + ContainerID).data('search_noresultstext'), 302 'searchsort': jQuery('#' + ContainerID).data('search_searchsort'), 303 'filteronlybrewsterowned': jQuery('#' + ContainerID).data('filteronlybrewsterowned'), 304 'filtertype': jQuery('#' + ContainerID).data('search_type'), 305 'filterregion': jQuery('#' + ContainerID).data('search_region'), 306 'filterdestination': jQuery('#' + ContainerID).data('search_destination'), 307 'filterduration': jQuery('#' + ContainerID).data('search_duration'), 308 'filterprice': jQuery('#' + ContainerID).data('search_price'), 309 'filterrating': jQuery('#' + ContainerID).data('search_rating'), 310 'filtercategory': category, 311 'filtervacationcategory': jQuery('#' + ContainerID).data('search-vactioncategory_fixed'), 312 'filteractivitycategory': jQuery('#' + ContainerID).data('search_activity_category'), 313 'filterfeatured': jQuery('#' + ContainerID).data('search_featured'), 314 'filterbrewsterowned': jQuery('#' + ContainerID).data('search_brewsterowned'), 315 'path': jQuery('#' + ContainerID).data('search_path'), 316 'filterstartinglocation': jQuery('#' + ContainerID).data('search_starting_location'), 317 'filterendinglocation': jQuery('#' + ContainerID).data('search_ending_location'), 318 'searchrandtoken': jQuery('#' + ContainerID).data('search_randomsorttoken'), 319 'staticlist': jQuery('#' + ContainerID).data('search_staticlist'), 320 'staticlistpad': jQuery('#' + ContainerID).data('search_staticlistpad'), 321 'staticlistshowfeatured': jQuery('#' + ContainerID).data('search_staticlistshowfeatured'), 322 'uicontainerid': ContainerID 323 } 324 325 // console.log(data.Debug); 326 327 return options; 328 }; 329 330 var loadStartingLocations = function () { 331 jQuery('#' + ContainerID + ' .ddlFilterStartLocation li.city').remove(); /* Empty out the drop down. */ 332 var options = getFilterOptions(); 333 jQuery.post("/viadapi/cardlisting/get?action=startlocations", options, function (data, textStatus, jqXHR) { 334 if (data.Locations && data.Locations.length > 0) { 335 var cityItem = jQuery('<li>'); 336 cityItem.addClass('city'); 337 var cityLink = jQuery('<a>'); 338 cityItem.append(cityLink); 339 cityLink.attr('href', '#'); 340 cityLink.text('Show All'); 341 jQuery('#' + ContainerID + ' .ddlFilterStartLocation ul.dropdown').append(cityItem); 342 343 for (var i = 0; i < data.Locations.length; i++) { 344 var cityItem = jQuery('<li>'); 345 cityItem.addClass('city'); 346 var cityLink = jQuery('<a>'); 347 cityItem.append(cityLink); 348 cityLink.attr('href', '#' + data.Locations[i].Code); 349 cityLink.text(data.Locations[i].Name); 350 jQuery('#' + ContainerID + ' .ddlFilterStartLocation ul.dropdown').append(cityItem); 351 } 352 } 353 354 if (data.Debug) { 355 /* jQuery('#p_lt_ctl13_CardsListingPlaceholder_p_lt_ctl00_CardListing_pnlCardsBox .debug').text(data.Debug); */ 356 console.log(data.Debug); 357 } 358 }); 359 }; 360 361 var loadEndingLocations = function (startlocation) { 362 jQuery('#' + ContainerID + ' .ddlFilterEndLocation li.city').remove(); /* Empty out the drop down. */ 363 var options = getFilterOptions(); 364 jQuery.post("viadapi/cardlisting/get?action=endlocations&startlocation=" + escape(startlocation), options, function (data, textStatus, jqXHR) { 365 if (data.Locations && data.Locations.length > 0) { 366 for (var i = 0; i < data.Locations.length; i++) { 367 var cityItem = jQuery('<li>'); 368 cityItem.addClass('city'); 369 var cityLink = jQuery('<a>'); 370 cityItem.append(cityLink); 371 cityLink.attr('href', '#' + data.Locations[i].Code); 372 cityLink.text(data.Locations[i].Name); 373 jQuery('#' + ContainerID + ' .ddlFilterEndLocation ul.dropdown').append(cityItem); 374 } 375 } 376 377 if (data.Debug) { 378 /* jQuery('#' + ContainerID + ' .debug').text(data.Debug); */ 379 console.log(data.Debug); 380 } 381 }); 382 }; 383 384 var loadStaticCards = function () { 385 var options = getFilterOptions(); 386 387 /* DEBUG CODE */ 388 /* console.log(JSON.stringify(options)); */ 389 390 var oldCardResults = jQuery('#' + ContainerID + ' .cards:last'); 391 oldCardResults.empty(); 392 393 jQuery('#' + ContainerID + ' .loading').show(); /* Show the loading image. */ 394 jQuery('#' + ContainerID + ' .showMeMoreRow').hide(); 395 396 jQuery.post("/viadapi/cardlisting/get?action=static", options, function (data, textStatus, jqXHR) { 397 jQuery('#' + ContainerID + ' .loading').hide(); /* Hide the loading image. */ 398 399 /* DEBUG CODE */ 400 /* console.log(JSON.stringify(data)); */ 401 402 var cardResults = jQuery('#' + ContainerID + ' .cards:last'); 403 var cardsRef = jQuery('#' + ContainerID + '.clearfix:first'); 404 405 if (data.Cards && data.Cards.length > 0) { 406 for (var i = 0; i < data.Cards.length; i++) { 407 var card = createGridCard(data.Cards[i], i, window.prevCard); 408 window.prevCard = card; 409 410 411 if (i > 0 && i % 8 === 0 || i % 8 === 5) { 412 cardResults = jQuery("<div>", { 413 "class": "row cards" 414 }); 415 cardResults.insertBefore(cardsRef); 416 } 417 cardResults.append(card); 418 } 419 420 if (data.MorePages) { 421 jQuery('#' + ContainerID + ' .showMeMoreRow').show(); 422 } 423 } else { 424 cardResults.append('<span class="nodata">' + data.Status + '</span>'); 425 } 426 427 if (data.Debug) { 428 /* jQuery('#' + ContainerID + ' .debug').text(data.Debug); */ 429 console.log(data.Debug); 430 } 431 }).fail(function (e) { 432 console.log(e.statusText); 433 jQuery('#' + ContainerID + ' .loading').hide(); /* Hide the loading image. */ 434 jQuery('#' + ContainerID + ' .cards:last').append('<span class="error">Sorry. This feature is currently unavailable.</span>'); 435 }); 436 }; 437 438 var searchCards = function (position, leaveCards) { 439 if (!position) { 440 position = 0; 441 } 442 var fixedSearchSort = ''; 443 var options = getFilterOptions(); 444 445 /* DEBUG CODE */ 446 /* console.log(JSON.stringify(options)); */ 447 448 /* If we're not to leave existing cards (append cards), then... */ 449 450 if (!leaveCards) { 451 jQuery('#' + ContainerID + ' .cards').remove(); 452 var cRef = jQuery('#' + ContainerID).find('.next-cards:first'); 453 454 var newCardResults = jQuery("<div>", { 455 "class": "row cards" 456 }); 457 newCardResults.insertBefore(cRef); 458 459 // oldCardResults.empty(); 460 currentPosition = 0; /* Reset current position to 0. */ 461 cardSlotsFilled = 0; /* All card slots have been emptied. */ 462 window.prevCard = undefined; 463 } 464 jQuery('#' + ContainerID + ' .loading').show(); // Show the loading image. 465 jQuery('#' + ContainerID + ' .showMeMoreRow').hide(); 466 467 jQuery.post("/viadapi/cardlisting/get?position=" + position, options, function (data, textStatus, jqXHR) { 468 var ContainerID = data.UIContainerID; 469 470 jQuery('#' + ContainerID + ' .loading').hide(); /* Hide the loading image. */ 471 472 /* DEBUG CODE */ 473 /* console.log(JSON.stringify(data)); */ 474 475 var cardResults = jQuery('#' + ContainerID + ' .cards:last'); 476 var cardsRef = jQuery('#' + ContainerID).find('.next-cards:first'); 477 478 if (data.Cards && data.Cards.length > 0) { 479 var moreCards = false; 480 481 482 for (var i = 0; i < data.Cards.length; i++) { 483 484 var card = createGridCard(data.Cards[i], currentPosition, window.prevCard); 485 window.prevCard = card; 486 if (currentPosition > 0 && currentPosition % 8 === 0 || currentPosition % 8 === 5) { 487 cardResults = jQuery("<div>", { 488 "class": "row cards" 489 }); 490 cardResults.insertBefore(cardsRef); 491 } 492 cardResults.append(card); 493 494 /* Add to the current position. */ 495 currentPosition++; 496 /* Add to the card slots. */ 497 cardSlotsFilled++; 498 //if (data.Cards[i].IsFeatured) 499 // cardSlotsFilled++; 500 501 502 503 /* Break if we're up to the limit for cards per page. */ 504 if (cardSlotsFilled % jQuery('#' + ContainerID).data('search_resultsperpage') == 0) { 505 moreCards = true; 506 break; 507 } 508 } 509 if (data.MorePages){// || moreCards) { 510 jQuery('#' + ContainerID + ' .showMeMoreRow').show(); 511 } 512 } else { 513 cardResults.append('<div class="nocards"><span class="nomessage">' + data.Status + '</span></div>'); 514 } 515 516 if (data.Debug) { 517 console.log(data.Debug); 518 } 519 }).fail(function (e) { 520 console.log(e.statusText); 521 jQuery('#' + ContainerID + ' .loading').hide(); /* Hide the loading image. */ 522 jQuery('#' + ContainerID + ' .cards:last').append('<span class="error">Sorry. This feature is currently unavailable.</span>'); 523 }); 524 }; 525 526 /* Determine what to do based on options passed in. */ 527 return this.each(function () { 528 /* Method calling logic */ 529 if (methods[options]) {
530 /* If the first param is a method name, fire that method. */ 531 return methods[options].apply(this, Array.prototype.slice.call(arguments, 1)); 532 } else if (!options) { 533 setup(); 534 } else { 535 /* Unrecognized method. */ 536 console.log('Method ' + options + ' does not exist on jQuery.CardListing'); 537 } 538 }); 539};
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.