1/***************** 2 3 Script Handles All actions dealing adding and removing items to the email recommendation builder and the compare tool as well as rendering the UI 4 5*****************/ 6 7 8$(document).ready(function(){ 9 /************* 10 11 Handle Adding and removing objects to the Email Builder 12 Used in search pages, and details pages 13 14 *************/ 15 $('body').on('click', '.add_email_recommendation_check', function(){ 16 var type = $(this).attr('data-type'); 17 var Id = $(this).attr('data-id'); 18 var checkbox = $(this); 19 20 21 if($(this).prop("checked") == true){ 22 var action = 'add-to-builder'; 23 }else{ 24 var action = 'remove-from-builder'; 25 } 26 27 var data = {}; 28 data['action'] = action; 29 data['type'] = type; 30 data['Id'] = Id; 31 32 var request = $.ajax({ 33 url: "/framework/ajax/email-builder-compare/actions.php", 34 method: "POST", 35 data: data, 36 dataType: "json" 37 }); 38 39 request.fail(function( jqXHR, textStatus ) { 40 console.log("Request failed: " + textStatus); 41 }); 42 43 request.done(function(result) { 44 if(result['result']){ 45 initNoty(result['message'], 'info', 2000, 'topRight'); 46 if(result['bottom_overlay']){ 47 $('#bottom_overlay').replaceWith(result['bottom_overlay']); 48 $('#bottom_overlay_email_tab_button').click(); 49 //$('.toggle-overlay-notch').click(); 50 }else{ 51 window.location.reload(); 52 } 53 54 }else{ 55 initNoty(result['message'], 'error', 2000, 'topRight'); 56 $(checkbox).attr("checked", false); 57 } 58 59 }); 60 61 // pop up recommend overlay once checkbox is clicked 62 if(type == 'villa' || 'hotel'){ 63 $('#bottom_overlay_villas_tab_button').removeClass('active'); 64 $('#bottom_overlay_email_tab_button').addClass('active'); 65 $('#bottom_overlay_compare_tab_button').removeClass('active'); 66 67 var toggle = $('.toggle-overlay-notch').find('i'); 68 69 $('.bottom_overlay_email_objects_pane').fadeIn('fast'); 70 $('.bottom_overlay_compare_objects_pane').fadeOut('fast'); 71 $('.bottom_overlay_email_objects_pane').removeClass('hidden-bottom-overlay-pane'); 72 $('.bottom_overlay_villas_objects_pane').fadeOut('fast'); 73 74 if($(toggle).hasClass('fa-sort-up')){ 75 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 76 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 77 $(toggle).removeClass('fa-sort-up'); 78 $(toggle).addClass('fa-sort-down'); 79 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 80 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 81 }else{ 82 } 83 84 $('.bottom_overlay_email_objects_pane').removeClass('hidden-bottom-overlay-pane'); 85 $('.bottom_overlay_email_objects_pane').fadeIn('fast'); 86 } 87 88 }); 89 /************* 90 91 Handle Adding and removing objects to the Comparison 92 Used in search pages, and details pages 93 94 *************/ 95 $('body').on('click', '.add_compare_check', function(){ 96 var type = $(this).attr('data-type'); 97 var Id = $(this).attr('data-id'); 98 var checkbox = $(this); 99 100 if(type == 'villa'){ 101 $('#bottom_overlay_villas_tab_button').addClass('active'); 102 $('#bottom_overlay_email_tab_button').removeClass('active'); 103 $('#bottom_overlay_compare_tab_button').removeClass('active'); 104 105 var toggle = $('.toggle-overlay-notch').find('i'); 106 107 $('.bottom_overlay_email_objects_pane').fadeOut('fast'); 108 $('.bottom_overlay_compare_objects_pane').fadeOut('fast'); 109 $('.bottom_overlay_villas_objects_pane').removeClass('hidden-bottom-overlay-pane'); 110 $('.bottom_overlay_villas_objects_pane').fadeIn('fast'); 111 112 if($(toggle).hasClass('fa-sort-up')){ 113 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 114 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 115 $(toggle).removeClass('fa-sort-up'); 116 $(toggle).addClass('fa-sort-down'); 117 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 118 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 119 }else{ 120 } 121 122 $('.bottom_overlay_villas_objects_pane').removeClass('hidden-bottom-overlay-pane'); 123 $('.bottom_overlay_villas_objects_pane').fadeIn('fast'); 124 }else if (type == 'hotel'){ 125 126 $('#bottom_overlay_compare_tab_button').addClass('active'); 127 $('#bottom_overlay_villas_tab_button').removeClass('active'); 128 $('#bottom_overlay_email_tab_button').removeClass('active'); 129 $('#bottom_overlay_email_tab_button').removeClass('active'); 130 131 var toggle = $('.toggle-overlay-notch').find('i'); 132 133 $('.bottom_overlay_email_objects_pane').fadeOut('fast'); 134 $('.bottom_overlay_villas_objects_pane').fadeOut('fast'); 135 $('.bottom_overlay_compare_objects_pane').removeClass('hidden-bottom-overlay-pane'); 136 $('.bottom_overlay_compare_objects_pane').fadeIn('fast'); 137 138 139 140 if($(toggle).hasClass('fa-sort-up')){ 141 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 142 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 143 $(toggle).removeClass('fa-sort-up'); 144 $(toggle).addClass('fa-sort-down'); 145 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 146 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 147 }else{ 148 149 } 150 151 } 152 153 if($(this).prop("checked") == true){ 154 var action = 'add-to-compare'; 155 }else{ 156 var action = 'remove-from-compare'; 157 } 158 var data = {}; 159 data['action'] = action; 160 data['type'] = type; 161 data['Id'] = Id; 162 163 var request = $.ajax({
164 url: "/framework/ajax/email-builder-compare/actions.php", 165 method: "POST", 166 data: data, 167 dataType: "json" 168 }); 169 request.fail(function( jqXHR, textStatus ) { 170 console.log("Request failed: " + textStatus); 171 }); 172 request.done(function(result) { 173 if(result['result']){ 174 initNoty(result['message'], 'info', 2000, 'topRight'); 175 if(result['bottom_overlay']){ 176 console.log(result['bottom_overlay']); 177 $('#bottom_overlay').replaceWith(result['bottom_overlay']); 178 if(type == 'hotel'){ 179 $('#bottom_overlay_compare_tab_button').click(); 180 }else{ 181 $('#bottom_overlay_villas_tab_button').click(); 182 } 183 }else{ 184 window.location.reload(); 185 } 186 187 }else{ 188 initNoty(result['message'], 'error', 2000, 'topRight'); 189 $(checkbox).attr("checked", false); 190 } 191 192 }); 193 }); 194 /************* 195 196 Handle Removing Items from the Email Builder Bottom Overlay 197 198 *************/ 199 $('body').on('click', '.remove-from-email-builder-bottom-overlay', function(){ 200 var type = $(this).attr('data-type'); 201 var Id = $(this).attr('data-id'); 202 var fromOverlay = $(this).attr('data-from-overlay'); 203 var data = {}; 204 data['action'] = 'remove-from-builder'; 205 data['type'] = type; 206 data['Id'] = Id; 207 if(fromOverlay){ 208 data['fromOverlay'] = fromOverlay; 209 } 210 211 var request = $.ajax({ 212 url: "/framework/ajax/email-builder-compare/actions.php", 213 method: "POST", 214 data: data, 215 dataType: "json" 216 }); 217 request.fail(function( jqXHR, textStatus ) { 218 console.log("Request failed: " + textStatus); 219 }); 220 request.done(function(result) { 221 if(result['result']){ 222 window.location.reload(); 223 }else{ 224 initNoty(result['message'], 'error', 2000, 'topRight'); 225 } 226 }); 227 }); 228 /************* 229 230 Handle Removing Items from the Comparison Bottom Overlay 231 232 *************/ 233 $('body').on('click', '.remove-from-compare-bottom-overlay', function(){ 234 var type = $(this).attr('data-type'); 235 var Id = $(this).attr('data-id'); 236 var fromOverlay = $(this).attr('data-from-overlay'); 237 var data = {}; 238 data['action'] = 'remove-from-compare'; 239 data['type'] = type; 240 data['Id'] = Id; 241 if(fromOverlay){ 242 data['fromOverlay'] = fromOverlay; 243 } 244 245 var request = $.ajax({ 246 url: "/framework/ajax/email-builder-compare/actions.php", 247 method: "POST", 248 data: data, 249 dataType: "json" 250 }); 251 request.fail(function( jqXHR, textStatus ) { 252 console.log("Request failed: " + textStatus); 253 }); 254 request.done(function(result) { 255 if(result['result']){ 256 window.location.reload(); 257 }else{ 258 initNoty(result['message'], 'error', 2000, 'topRight'); 259 } 260 261 }); 262 }) 263 /************* 264 265 Handle the overlay notch that will collapse and expand the bottom overlay 266 267 *************/ 268 $('body').on('click', '.toggle-overlay-notch', function(){ 269 var toggle = $(this).find('i'); 270 271 if($(toggle).hasClass('fa-sort-up')){ 272 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 273 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 274 // $('#bottom_overlay_compare_tab_button').addClass('active'); 275 $(toggle).removeClass('fa-sort-up'); 276 $(toggle).addClass('fa-sort-down'); 277 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 278 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 279 }else{ 280 $('#bottom_overlay').addClass('bottom_overlay_collapsed'); 281 $('#bottom_overlay').removeClass('bottom_overlay_expanded'); 282 $(toggle).addClass('fa-sort-up'); 283 $(toggle).removeClass('fa-sort-down'); 284 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-collapsed'); 285 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-expanded'); 286 } 287 288 289 }); 290 /************* 291 292 Handle the tab buttons that are used to switch between email and compare items in the bottom overlay 293 294 *************/ 295 $('body').on("click", '#bottom_overlay_email_tab_button', function(){ 296 297 $('#bottom_overlay_email_tab_button').addClass('active'); 298 $('#bottom_overlay_compare_tab_button').removeClass('active'); 299 $('#bottom_overlay_villas_tab_button').removeClass('active'); 300 301 var toggle = $('.toggle-overlay-notch').find('i'); 302 303 $('.bottom_overlay_compare_objects_pane').fadeOut('fast'); 304 $('.bottom_overlay_villas_objects_pane').fadeOut('fast'); 305 $('.bottom_overlay_email_objects_pane').removeClass('hidden-bottom-overlay-pane'); 306 $('.bottom_overlay_email_objects_pane').fadeIn('fast'); 307 308 if($(toggle).hasClass('fa-sort-up')){ 309 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 310 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 311 $(toggle).removeClass('fa-sort-up'); 312 $(toggle).addClass('fa-sort-down'); 313 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 314 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 315 } 316 }); 317 // hotel tab overlay 318 $('body').on("click", '#bottom_overlay_compare_tab_button', function(){ 319 320 $('#bottom_overlay_compare_tab_button').addClass('active'); 321 $('#bottom_overlay_villas_tab_button').removeClass('active'); 322 $('#bottom_overlay_email_tab_button').removeClass('active'); 323 324 $('#bottom_overlay_email_tab_button').removeClass('active'); 325 326 var toggle = $('.toggle-overlay-notch').find('i'); 327 328 $('.bottom_overlay_email_objects_pane').fadeOut('fast'); 329 $('.bottom_overlay_villas_objects_pane').fadeOut('fast'); 330 $('.bottom_overlay_compare_objects_pane').removeClass('hidden-bottom-overlay-pane'); 331 $('.bottom_overlay_compare_objects_pane').fadeIn('fast'); 332 333 if($(toggle).hasClass('fa-sort-up')){ 334 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 335 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 336 $(toggle).removeClass('fa-sort-up'); 337 $(toggle).addClass('fa-sort-down'); 338 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 339 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 340 }else{ 341 342 } 343 }); 344 345 346 // villa tab on the bottom overlay 347 $('body').on("click", '#bottom_overlay_villas_tab_button', function(){ 348 349 $('#bottom_overlay_villas_tab_button').addClass('active'); 350 $('#bottom_overlay_email_tab_button').removeClass('active'); 351 $('#bottom_overlay_compare_tab_button').removeClass('active'); 352 353 var toggle = $('.toggle-overlay-notch').find('i'); 354 355 $('.bottom_overlay_email_objects_pane').fadeOut('fast'); 356 $('.bottom_overlay_compare_objects_pane').fadeOut('fast'); 357 $('.bottom_overlay_villas_objects_pane').removeClass('hidden-bottom-overlay-pane'); 358 $('.bottom_overlay_villas_objects_pane').fadeIn('fast'); 359 360 if($(toggle).hasClass('fa-sort-up')){ 361 $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 362 $('#bottom_overlay').addClass('bottom_overlay_expanded'); 363 $(toggle).removeClass('fa-sort-up'); 364 $(toggle).addClass('fa-sort-down'); 365 $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 366 $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 367 }else{ 368 369 } 370 371 // if( $('#bottom_overlay_villas_tab_button').hasClass('active') ){ 372 // $('#bottom_overlay_villas_tab_button').removeClass('active'); 373 // }else{ 374 // $('#bottom_overlay_villas_tab_button').addClass('active'); 375 // $('.villa-inner-bottom-overlay-collapsed').css('display', 'block'); 376 // $('.inner-bottom-overlay-expanded').css('display', 'none'); 377 // if( $('#bottom_overlay_tab_button').hasClass('active') ){ 378 // $('#bottom_overlay_tab_button').removeClass('active'); 379 // } 380 // } 381 382 383 // $('#bottom_overlay_email_tab_button').removeClass('active'); 384 385 // var toggle = $('.toggle-overlay-notch').find('i'); 386 387 // $('.bottom_overlay_email_objects_pane').fadeOut('fast'); 388 // $('.bottom_overlay_compare_objects_pane').removeClass('hidden-bottom-overlay-pane'); 389 // $('.bottom_overlay_compare_objects_pane').fadeIn('fast'); 390 391 // if($(toggle).hasClass('fa-sort-up')){ 392 // $('#bottom_overlay').removeClass('bottom_overlay_collapsed'); 393 // $('#bottom_overlay').addClass('bottom_overlay_expanded'); 394 // $(toggle).removeClass('fa-sort-up'); 395 // $(toggle).addClass('fa-sort-down'); 396 // $('#inner_bottom_overlay').removeClass('inner-bottom-overlay-collapsed'); 397 // $('#inner_bottom_overlay').addClass('inner-bottom-overlay-expanded'); 398 // }else{ 399 400 // } 401 }); 402 403 // used to tab between hotels and villas comparison overlay 404 // if( $('#bottom_overlay_compare_villas_tab_button').hasClass('active') ){ 405 // $('.compare_villas_overlay_div').css('display', 'flex'); 406 // $('.compare_hotels_overlay_div').css('display', 'none'); 407 // } 408 409}); 410 411 412 413
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.