https://www.classicoldieswmid.com/wp-content/plugins/wpb-youtube-gallery/js/ajaxify-likes.js?ver=1.1
1function nggv_dis_like_click(e) { 2 var container = jQuery(this).parents('.nggv_container'); 3 4 container.find('img.nggv-star-loader').show(); 5 6 var url = jQuery(this).attr('href'); 7 url += '&ajaxify=1'; 8 jQuery.ajax({ 9 url: url, 10 data: '', 11 success: function(data, textStatus, XMLHttpRequest) { 12 13 //alert(data); 14 var ajaxVer = data.indexOf('var nggv_ajax_ver'); //bit of a hack to improve ajax with minification, but keeping backwards compat for older users 15 if(ajaxVer > -1) { //means it was actually found, the ver num is irrelevent for now 16 //alert(data); 17 eval(data); 18 }else{ 19 var start = data.indexOf("<!-- NGGV START AJAX RESPONSE -->") + 41; //find the start of the outputting by the ajax url (stupid wordpress and poor buffering options blah blah) 20 var end = data.indexOf("<script><!-- NGGV END AJAX RESPONSE -->"); 21 22 var js = data.substr(start, (end-start)); 23 js = js.replace(/(\r\n|\n|\r)/gm,''); 24 25 eval(js); //the array of voters gets echoed out at the ajax url 26 } 27 28 if(typeof(nggv_js) == 'object') { 29 var msg = ''; 30 if(nggv_js.saved) { 31 jQuery(document).focus(); 32 container.find('.nggv-vote-form').html(nggv_js.voting_form); 33 }else{ 34 if(nggv_js.msg) { 35 msg = nggv_js.msg 36 }else{ //there should always be a msg, but just in case lets default one 37 msg = jQuery('#ngg-genric-err-msg').val(); 38 } 39 40 //if we got markup back, replace the voting form with it 41 if(nggv_js.voting_form) { 42 jQuery(document).focus(); 43 container.find('.nggv-vote-form').html(nggv_js.voting_form); 44 } 45 } 46 }else{ 47 msg = jQuery('#ngg-genric-err-msg').val(); 48 } 49 50 if(msg) { 51 //the 'continer' div and 'nggv-error' div are on the same dom level, making them siblings 52 container.find('div.nggv-error').show(); 53 container.find('div.nggv-error').html(msg); 54 } 55 }, 56 error: function(XMLHttpRequest, textStatus, errorThrown) { 57 container.find('div.nggv-error').show(); 58 container.find('div.nggv-error').html(jQuery('#ngg-genric-err-msg').val()); 59 }, 60 complete: function() { 61 container.find('img.nggv-star-loader').hide(); 62 } 63 }); 64 65 e.preventDefault(); 66 return false; 67} 68 69jQuery(document).ready(function() { 70 jQuery('a.nggv-link-like, a.nggv-link-dislike').click(nggv_dis_like_click); 71 jQuery('.votecheckclass').click(voteByCheckbox); 72}); 73function voteByCheckbox(e){ 74 //votecheckclass 75 //banner-ajax-div-class 76 //alert(document.querySelector('.votecheckclass:checked')); 77 78 // jQuery('.banner-ajax-div-class').html(10 + Math.floor(Math.random()*91)); 79 80 // jQuery("#chkvote").trigger("click"); 81 // alert(jQuery("#chkvote"+pid).val()); 82 reloadBannerOnVote(); 83 84 var container = jQuery(this).parents('.nggv_container'); 85 86 container.find('img.nggv-star-loader').show(); 87 88 89 90 var url = jQuery(this).attr('href'); 91 url += '&ajaxify=1'; 92 93 //alert(url) 94 95 //alert(url1); 96 //return; 97 98 jQuery.ajax({ 99 url: url, 100 data: '', 101 success: function(data, textStatus, XMLHttpRequest) { 102 103 //alert(data); 104 var ajaxVer = data.indexOf('var nggv_ajax_ver'); //bit of a hack to improve ajax with minification, but keeping backwards compat for older users 105 if(ajaxVer > -1) { //means it was actually found, the ver num is irrelevent for now 106 //alert(data); 107 eval(data); 108 }else{ 109 var start = data.indexOf("<!-- NGGV START AJAX RESPONSE -->") + 41; //find the start of the outputting by the ajax url (stupid wordpress and poor buffering options blah blah) 110 var end = data.indexOf("<script><!-- NGGV END AJAX RESPONSE -->"); 111 112 var js = data.substr(start, (end-start)); 113 js = js.replace(/(\r\n|\n|\r)/gm,''); 114 115 eval(js); //the array of voters gets echoed out at the ajax url 116 } 117 118 if(typeof(nggv_js) == 'object') { 119 var msg = ''; 120 if(nggv_js.saved) { 121 jQuery(document).focus(); 122 container.find('.nggv-vote-form').html(nggv_js.voting_form); 123 }else{ 124 if(nggv_js.msg) { 125 msg = nggv_js.msg 126 }else{ //there should always be a msg, but just in case lets default one 127 msg = jQuery('#ngg-genric-err-msg').val(); 128 } 129 130 //if we got markup back, replace the voting form with it 131 if(nggv_js.voting_form) { 132 jQuery(document).focus(); 133 container.find('.nggv-vote-form').html(nggv_js.voting_form); 134 } 135 } 136 }else{ 137 msg = jQuery('#ngg-genric-err-msg').val(); 138 } 139 140 if(msg) { 141 //the 'continer' div and 'nggv-error' div are on the same dom level, making them siblings 142 container.find('div.nggv-error').show(); 143 container.find('div.nggv-error').html(msg); 144 } 145 }, 146 error: function(XMLHttpRequest, textStatus, errorThrown) { 147 container.find('div.nggv-error').show(); 148 container.find('div.nggv-error').html(jQuery('#ngg-genric-err-msg').val()); 149 }, 150 complete: function() { 151 container.find('img.nggv-star-loader').hide(); 152 } 153 }); 154 155 e.preventDefault(); 156 return false; 157} 158function reloadBannerOnVote(){ 159 var bannerDisplayedJsArr = new Array(); 160 var iBanneCount = 1; var timeOutValue_Last = 0; var displayed_banner_on_page = ''; var bannerDisplayIds = ''; var siteId_Banner = 0; 161 162 jQuery('.banner-ajax-hidden-class').each(function(index, ObjHidden){ 163 var bannerHiddenValue = ObjHidden.value; 164 if (bannerHiddenValue) { 165 var bannerHiddenValueArr = bannerHiddenValue.split('#:#'); 166 167 var bannerId_Ajax = bannerHiddenValueArr[0]; 168 var data_available_Ajax = bannerHiddenValueArr[1]; 169 var instance_Ajax = bannerHiddenValueArr[2]; 170 var location_Ajax = bannerHiddenValueArr[3]; 171 var bannerbinId_Ajax = bannerHiddenValueArr[4]; 172 var advPluginUrl_Ajax = bannerHiddenValueArr[5]; 173 var siteId_Ajax = bannerHiddenValueArr[6]; 174 var inc_path_Ajax = bannerHiddenValueArr[7]; 175 var gmt_offset_site_Ajax = bannerHiddenValueArr[8]; 176 177 var is_https_site_Ajax = bannerHiddenValueArr[9]; 178 var really_simple_ssl_plugin_Ajax = bannerHiddenValueArr[10]; 179 var chk_this = bannerHiddenValueArr[11]; //WPB-5212 180 181 //alert('instance : '+instance_Ajax + ' -- bannerId : ' + bannerId_Ajax + ' -- data available : ' + data_available_Ajax); 182 183 //WD-928 184 var extraBannerHiddenObj = jQuery('#banner-ajax-hidden-extra-'+instance_Ajax); 185 186 //WD-670 -- managing remove duplicate through javascript code, removed ajax dealy and cookie reading code to remove duplicate banners. 187 var bannerId_Ajax_For_div_Id = bannerId_Ajax; 188 //----------------------------------------------------------------------- 189 if (index == 0) { 190 siteId_Banner = siteId_Ajax; 191 192 //---------------------------------------------- 193 //Stop but keep code as usual............ 194 /*if (cookieInstanceCode) { 195 var cookieInstanceWithBanner = getCookie_Banner('bannerDisplayed_'+siteId_Banner); 196 //alert(cookieInstanceWithBanner); 197 if (cookieInstanceWithBanner) { 198 var partArr1 = cookieInstanceWithBanner.split("@"); 199 //alert(partArr1.length); 200 for (var i = 0; i < partArr1.length; i++) { 201 var partArr2 = partArr1[i].split(":"); 202 //alert(partArr2[0] + ' -- ' + partArr2[1]); 203 var instanceNo = partArr2[0]; 204 cookieInstanceWithBanner_arr[instanceNo] = partArr2[1]; 205 } 206 } 207 }*/ 208 //---------------------------------------------- 209 }//End of if (index == 0) 210 211 //alert(cookieInstanceWithBanner_arr.length); 212 213 //if data_available_Ajax comma separated banners found then only. 214 var data_available_arr = new Array(); 215 if (data_available_Ajax) { 216 data_available_arr = data_available_Ajax.split(","); 217 } 218 219 var index_banner = 0; 220 if (data_available_arr.length > 0) { 221 222 //make new array and remove banner which is already displayed on page. 223 /*var data_available_arr_new = new Array(); 224 var data_available_bannerId = 0; 225 var data_available_bannerIds_new_str = ''; 226 227 var j = 0; 228 for (var i = 0; i < data_available_arr.length; i++) { 229 data_available_bannerId = data_available_arr[i]; 230 if (bannerDisplayedJsArr[data_available_bannerId] && bannerDisplayedJsArr[data_available_bannerId] != 'undefined') { 231 //remove which is already displyed. ( from available array check displayed banner and unset it ) 232 } 233 else { 234 //if not displyaed then set into new array. 235 data_available_arr_new[j] = data_available_bannerId; 236 data_available_bannerIds_new_str = data_available_bannerId + ','; 237 j++; 238 } 239 }*/ 240 241 //instead of direct code, created separate fun. -- WD-928 242 var resultRemoveDuplicateArr = removeDuplicateBannersFromDisplayedBannersJsArr(bannerDisplayedJsArr, data_available_arr); 243 var data_available_arr_new = resultRemoveDuplicateArr['data_available_arr_new']; 244 var data_available_bannerIds_new_str = resultRemoveDuplicateArr['data_available_bannerIds_new_str']; 245 //alert(data_available_arr_new); //alert(data_available_bannerIds_new_str); 246 247 if (data_available_arr_new.length > 0) { 248 data_available_arr = data_available_arr_new; 249 250 data_available_bannerIds_new_str = data_available_bannerIds_new_str.slice(0,-1); 251 //alert(data_available_Ajax + ' >> ' + data_available_bannerIds_new_str); 252 //data_available_Ajax = data_available_bannerIds_new_str; 253 } 254 255 //pickup random banner from available banners. 256 index_banner = Math.floor(Math.random() * data_available_arr.length); 257 258 //---------------------------------------------- 259 //alert(cookieInstanceWithBanner_arr); 260 //Stop but keep code as usual............ 261 /*if (cookieInstanceWithBanner_arr && cookieInstanceCode) { 262 //for (var i in cookieInstanceWithBanner_arr) { 263 //alert('key is: ' + i + ', value is: ' + cookieInstanceWithBanner_arr[i]); 264 //} 265 if (cookieInstanceWithBanner_arr[instance_Ajax] && cookieInstanceWithBanner_arr[instance_Ajax] != 'undefined') { 266 var bannerOfInstance = cookieInstanceWithBanner_arr[instance_Ajax]; 267 //alert(bannerOfInstance); 268 for (var i = 0; i < data_available_arr.length; i++) { 269 if (bannerOfInstance == data_available_arr[i]) { 270 index_banner = i; 271 index_banner = index_banner + 1; //take next index means banner to next from last displyed banner. 272 if (index_banner >= data_available_arr.length) { 273 index_banner = 0; //take first one 274 } 275 break; 276 } 277 } 278 } 279 }//End of if (cookieInstanceWithBanner_arr)*/ 280 //---------------------------------------------- 281 282 //overwrite value which will pass into ajax request. 283 bannerId_Ajax = data_available_arr[index_banner]; 284 }//End of if (data_available_arr.length > 0) 285 //----------------------------------------------------------------------- 286 287 if (bannerDisplayedJsArr[bannerId_Ajax] && bannerDisplayedJsArr[bannerId_Ajax] != 'undefined') { 288 289 var donotAllowAjaxRequest = true; 290 //---------------------------------- 291 //WD-928 -- check run of sites banners and pickup anyone random. 292 if (extraBannerHiddenObj && extraBannerHiddenObj != 'undefined') { 293 var extraBannerHiddenValue = extraBannerHiddenObj.val(); 294 if (extraBannerHiddenValue) { 295 var extraBannerHiddenValueArr = extraBannerHiddenValue.split('#:#'); 296 297 var bannerCommaSepIds = extraBannerHiddenValueArr[0]; //all banners comma sep ids for particular banner bin. 298 var runOfSiteBannerCommaSepIds = extraBannerHiddenValueArr[1]; //only run of sites banners. 299 300 var run_of_sites_banner_arr = new Array(); 301 if (runOfSiteBannerCommaSepIds) { 302 run_of_sites_banner_arr = runOfSiteBannerCommaSepIds.split(","); 303 304 //check run of sites also not duplicates. 305 var resultRemoveDuplicateArr = removeDuplicateBannersFromDisplayedBannersJsArr(bannerDisplayedJsArr, run_of_sites_banner_arr); 306 var data_available_arr_new = resultRemoveDuplicateArr['data_available_arr_new']; 307 var data_available_bannerIds_new_str = resultRemoveDuplicateArr['data_available_bannerIds_new_str']; 308 309 if (data_available_arr_new.length > 0) { 310 run_of_sites_banner_arr = data_available_arr_new; 311 } 312 313 if (run_of_sites_banner_arr.length > 0) { 314 //pickup run of sites banner and display it. 315 index_banner = Math.floor(Math.random() * run_of_sites_banner_arr.length); 316 317 bannerId_Ajax = run_of_sites_banner_arr[index_banner]; 318 donotAllowAjaxRequest = false; //allow run of site banner. 319 } 320 } 321 }//End of if (extraBannerHiddenValue) 322 } 323 //---------------------------------- 324 325 if (donotAllowAjaxRequest) { 326 bannerDisplayIds = bannerDisplayIds + instance_Ajax + ':' + '0' + '@'; 327 return; 328 } 329 } 330 else { 331 bannerDisplayedJsArr[bannerId_Ajax] = bannerId_Ajax; 332 } 333 334 bannerDisplayIds = bannerDisplayIds + instance_Ajax + ':' + bannerId_Ajax + '@'; 335 var dealyOnEachAjaxRequest = 680; 336 // 337 // Send ajax request , after checking duplication into bannerDisplayedJsArr js array.
338 // 339 var urlVal = advPluginUrl_Ajax + 'advertise-ajax.php?bannerAjax=true&callFromFile=ajax-reload.php&bannerId='+bannerId_Ajax+'&dataAvailable='+data_available_Ajax+'&bannerInstance='+instance_Ajax+'&siteId='+siteId_Ajax+'&bannerBinSlug='+location_Ajax+'&bannerbinId='+bannerbinId_Ajax+'&inc_path='+inc_path_Ajax+'&gmt_offset_site='+gmt_offset_site_Ajax+'&_wpnonce='+chk_this; 340 var currentUrl = location.href; 341 if(currentUrl.indexOf("https:") >= 0){ 342 urlVal = urlVal.replace("http:","https:"); 343 } 344 345 var uniqueDivId = 'banner-ajax-div-'+bannerId_Ajax_For_div_Id+'-'+instance_Ajax; 346 if (iBanneCount == 1) { 347 var timeOutValue = 2; //2 milliseconds 348 } 349 else { 350 var timeOutValue = (20 + ((instance_Ajax - 1) * dealyOnEachAjaxRequest)); 351 } 352 353 jQuery('#'+uniqueDivId).html('<div style="height:200px;width:250px;" class="banner-loading-div-class"><br /><br /> <br /><br /></div>'); 354 355 //stop set time out and set async : false to ajax request. so, each ajax request will wait upto first one is not finished. 356 //if async : true then we may need setTimeout() things. 357 //setTimeout( function() { 358 jQuery.ajax({ 359 type: "GET", 360 url: urlVal, 361 async: true, //Async:False will hold the execution of rest code. Once you get response of ajax, only then, rest of the code will execute. 362 /*Setting async to false means that the statement you are calling has to complete before the next statement in your function can be called. 363 If you set async: true then that statement will begin it's execution and 364 the next statement will be called regardless of whether the async statement has completed yet.*/ 365 //dataType: "html", 366 success: function(data) { 367 //alert(data); 368 jQuery('#'+uniqueDivId).html(data); 369 }//End of success function. 370 }); 371 //}, timeOutValue ); 372 373 timeOutValue_Last = timeOutValue; 374 375 iBanneCount++; 376 }//End of if (bannerHiddenValue) 377 }); 378 379 //var checkedValue1 = document.querySelector('.votecheckclass:checked').value; 380 //alert("1="+checkedValue1) 381 //var checkedValue2 = $('.votecheckclass:checked').val(); 382 //alert("2="+checkedValue2) 383 384} 385 386 function removeDuplicateBannersFromDisplayedBannersJsArr(bannerDisplayedJsArr_param, data_available_arr_param) { 387 388 //make new array and remove banner which is already displayed on page. 389 var data_available_arr_new = new Array(); 390 var data_available_bannerId = 0; 391 var data_available_bannerIds_new_str = ''; 392 393 var j = 0; 394 for (var i = 0; i < data_available_arr_param.length; i++) { 395 data_available_bannerId = data_available_arr_param[i]; 396 if (bannerDisplayedJsArr_param[data_available_bannerId] && bannerDisplayedJsArr_param[data_available_bannerId] != 'undefined') { 397 //remove which is already displyed. ( from available array check displayed banner and unset it ) 398 } 399 else { 400 //if not displyaed then set into new array. 401 data_available_arr_new[j] = data_available_bannerId; 402 data_available_bannerIds_new_str = data_available_bannerId + ','; 403 j++; 404 } 405 } 406 407 var resultRetArr = new Array(); 408 resultRetArr['data_available_arr_new'] = data_available_arr_new; 409 resultRetArr['data_available_bannerIds_new_str'] = data_available_bannerIds_new_str; 410 411 return resultRetArr; 412 413 }//End of function removeDuplicateBannersFromDisplayedBannersJsArr 414 //*****************************************************************************************************************************************************
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.