PageSourceSearch

https://www.dognet.cz/wp-content/themes/dognet/assets/js/extra.js?ver=1.3.95

js dognet.cz collected 2026-10-06 13:56:43 UTC 51,074 bytes, 1,419 lines download raw bytes

1(function ($) {
2    $.fn.fixMe = function() {
3        return this.each(function() {
4        var $this = $(this),
5            $t_fixed;
6        function init() {
7            $this.wrap('<div class="container" />');
8            $t_fixed = $this.clone();
9            $t_fixed.addClass("fixed").insertBefore($this);
10            resizeFixed();
11            $t_fixed.find("tbody").remove();
12            $t_fixed.find("tfoot").remove();
13        }
14        function resizeFixed() {
15            $t_fixed.find("th").each(function(index) {
16                $(this).css("width",$this.find("th").eq(index).outerWidth()+"px");
17            });
18        }
19        function scrollFixed() {
20            var offset = $(this).scrollTop(),
21            tableOffsetTop = $this.offset().top,
22            tableOffsetBottom = tableOffsetTop + $this.height() - $this.find("thead").height();
23            if(offset < tableOffsetTop || offset > tableOffsetBottom)
24                $t_fixed.hide();
25            else if(offset >= tableOffsetTop && offset <= tableOffsetBottom && $t_fixed.is(":hidden"))
26                $t_fixed.show();
27        }
28        $(window).resize(resizeFixed);
29        $(window).scroll(scrollFixed);
30        init();
31        });
32    }
33})(jQuery);
34
35jQuery(document).ready(function($) {
36
37    var myLazyLoad = new LazyLoad({
38		elements_selector: ".lazyimage"
39	});
40	
41    /**
42	 * Campains table
43	 * 
44	 */
45	var $campaignsTable = $('.campaigns-list-table:not(.footable-details)');
46    if ($campaignsTable.length) {
47
48
49
50
51		// var totalload = 20;
52		// var rows = $campaignsTable.find('tbody tr:visible').length;
53
54		function fix_table_header_width() {
55			$campaignsTable.find("thead th").each(function(index) {
56			   $(this).css("width",$campaignsTable.find("thead th").eq(index).outerWidth()+"px");
57			});
58		}
59		fix_table_header_width();
60		$(window).resize(function() {
61			fix_table_header_width();
62		});
63		$campaignsTable.fixMe();
64
65		//Fiter dorpdowns
66		$( '.campaigns-filter-main-categories-input' ).on( 'click', function( e ) {
67			$( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle();
68			$( this ).toggleClass( 'open' );
69			$( '#campaigns-filter-main-categories-search' ).focus();
70		});
71		$( '.campaigns-filter-main-countries-input' ).on( 'click', function( e ) {
72			$( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle();
73			$( this ).toggleClass( 'open' );
74			$( '#campaigns-filter-main-countries-search' ).focus();
75		});
76
77		//Dropdown categories select active toggle
78		$( '.campaigns-filter-main-categories-dropdown-item' ).on( 'click', function( e ) {
79			e.preventDefault();
80			$( this ).toggleClass( 'active' );
81		});
82		//Categories dropdown reset button
83		$( '.campaigns-filter-dropdown-buttons .categories-reset-button' ).on( 'click', function( e ) {
84			e.preventDefault();
85			var data = $( '.campaigns-filter-main-categories-dropdown' );
86			$( data ).find('a').each(function() {
87				var target = $( this ).data( 'target' );
88				var label = $( this ).data( 'label' );
89				if( $( this ).hasClass( 'active' ) ){
90					$( this ).removeClass( 'active' );	
91					$( '.main-filter-selected-filters' ).find( '#label-span-' + target ).remove();
92				}
93			});
94			$( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle();
95			$( '.campaigns-filter-main-categories-input' ).toggleClass( 'open' );
96		});
97		//Categories dropdonw confirm button
98		$( '.campaigns-filter-dropdown-buttons .categories-confirm-button' ).on( 'click', function( e ) {
99			e.preventDefault();
100			closeCategoriesFilterAndSearch();
101		});
102
103		const $categoriesFilterDropdown = $('.campaigns-filter-main-categories-dropdown-wrap');
104		$(document).mouseup(e => {
105			if ( $( '.campaigns-filter-main-categories-input' ).hasClass( 'open' ) ) {
106				if (!$categoriesFilterDropdown.is(e.target)
107				&& $categoriesFilterDropdown.has(e.target).length === 0) {
108					closeCategoriesFilterAndSearch();
109				}
110			}
111		});
112
113		function closeCategoriesFilterAndSearch() {
114			var data = $( '.campaigns-filter-main-categories-dropdown' );
115			$( data ).find('a').each(function() {
116				var target = $( this ).data( 'target' );
117				var label = $( this ).data( 'label' );
118				if( $( this ).hasClass( 'active' ) ){
119					var filterItem = $( '.main-filter-selected-filters' ).find( '#label-span-' + target );	
120					if ( filterItem.length < 1 ) {
121						$( '.main-filter-selected-filters' ).append( '<span id="label-span-' + target + '" data-item="' + target + '" data-type="category"><i class="fas fa-times" class="label-span-i" data-item="' + target + '"></i>' + label + '</span>' );
122					}
123				} else {
124					$( '.main-filter-selected-filters' ).find( '#label-span-' + target ).remove();
125				}
126			});
127			$( '.campaigns-filter-main-categories-dropdown-wrap' ).slideToggle();
128			$( '.campaigns-filter-main-categories-input' ).toggleClass( 'open' );
129			$( '.campaigns-filter-main-categories-dropdown li' ).show();
130			$( '#campaigns-filter-main-categories-search' ).val('');
131		}
132
133		if ( $( '.campaigns-filter-main-categories-input' ).length ) {
134			$(document).on('keypress',function(e) {
135				if(e.which == 13) {
136					if( $( '.campaigns-filter-main-categories-input' ).hasClass( 'open' ) ) {
137						var data = $( '.campaigns-filter-main-categories-dropdown' );
138						var visible_li_count = $( data ).find('li:visible:not(.campaigns-filter-main-categories-search)').length;
139						if ( visible_li_count == 1 ) {
140							$( data ).find('li:visible:not(.campaigns-filter-main-categories-search)').each(function() {
141								$( this ).children( 'a' ).addClass( 'active' );
142							});
143							closeCategoriesFilterAndSearch();
144						}
145					}
146				}
147			});
148		}
149
150		//Dropdown countries select active toggle
151		$( '.campaigns-filter-main-countries-dropdown-item' ).on( 'click', function( e ) {
152			e.preventDefault();
153			$( this ).toggleClass( 'active' );
154		});
155		//Countries dropdonw reset button
156		$( '.campaigns-filter-dropdown-buttons .countries-reset-button' ).on( 'click', function( e ) {
157			e.preventDefault();
158			var data = $( '.campaigns-filter-main-countries-dropdown' );
159			$( data ).find('a').each(function() {
160				var lang = $( this ).data( 'lang' );
161				var label = $( this ).data( 'label' );
162				if( $( this ).hasClass( 'active' ) ){
163					$( this ).removeClass( 'active' );	
164					$( '.main-filter-selected-filters' ).find( '#label-span-' + lang ).remove();
165				}
166			});
167			$( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle();
168			$( '.campaigns-filter-main-countries-input' ).toggleClass( 'open' );
169		});
170		//Countries dropdonw confirm button
171		$( '.campaigns-filter-dropdown-buttons .countries-confirm-button' ).on( 'click', function( e ) {
172			e.preventDefault();
173			closeCountriesFilterAndSearch();
174		});
175
176		const $countriesFilterDropdown = $('.campaigns-filter-main-countries-dropdown-wrap');
177		$(document).mouseup(e => {
178			if ( $( '.campaigns-filter-main-countries-input' ).hasClass( 'open' ) ) {
179				if (!$countriesFilterDropdown.is(e.target)
180				&& $countriesFilterDropdown.has(e.target).length === 0) {
181					closeCountriesFilterAndSearch();
182				}
183			}
184		});
185
186		function closeCountriesFilterAndSearch() {
187			var data = $( '.campaigns-filter-main-countries-dropdown' );
188			$( data ).find('a').each(function() {
189				var lang = $( this ).data( 'lang' );
190				var label = $( this ).data( 'label' );
191				if( $( this ).hasClass( 'active' ) ){
192					var filterItem = $( '.main-filter-selected-filters' ).find( '#label-span-' + lang );	
193					if ( filterItem.length < 1 ) {
194						$( '.main-filter-selected-filters' ).append( '<span id="label-span-' + lang + '" data-item="' + lang + '" data-type="country"><i class="fas fa-times" class="label-span-i" data-item="' + lang + '"></i>' + label + '</span>' );
195					}
196				} else {
197					$( '.main-filter-selected-filters' ).find( '#label-span-' + lang ).remove();
198				}
199			});
200			$( '.campaigns-filter-main-countries-dropdown-wrap' ).slideToggle();
201			$( '.campaigns-filter-main-countries-input' ).toggleClass( 'open' );
202			$( '.campaigns-filter-main-countries-dropdown li' ).show();
203			$( '#campaigns-filter-main-countries-search' ).val('');
204		}
205
206		if ( $( '.campaigns-filter-main-countries-input' ).length ) {
207			$(document).on('keypress',function(e) {
208				if(e.which == 13) {
209					if( $( '.campaigns-filter-main-countries-input' ).hasClass( 'open' ) ) {
210						var data = $( '.campaigns-filter-main-countries-dropdown' );
211						var visible_li_count = $( data ).find('li:visible:not(.campaigns-filter-main-countries-search)').length;
212						if ( visible_li_count == 1 ) {
213							$( data ).find('li:visible:not(.campaigns-filter-main-countries-search)').each(function() {
214								$( this ).children( 'a' ).addClass( 'active' );
215							});
216							closeCountriesFilterAndSearch();
217						}
218					}
219				}
220			});
221		}
222
223		//Show extended filter
224		$( '.extended-filter-label-show' ).on( 'click', function( e ) {
225			e.preventDefault();
226			$( '.extended-filter-wrap' ).slideToggle();
227			$( '.extended-filter-label-show' ).slideToggle();
228			$( '.extended-filter-label-hide' ).slideToggle();
229		});
230		//Show extended filter
231		$( '.extended-filter-label-hide' ).on( 'click', function( e ) {
232			e.preventDefault();
233			$( '.extended-filter-wrap' ).slideToggle();
234			$( '.extended-filter-label-show' ).slideToggle();
235			$( '.extended-filter-label-hide' ).slideToggle();
236		});
237
238		//Select item in extended filter
239		$( '.extended-filter-item label' ).on( 'click', function( e ) {
240			e.preventDefault();
241			var label = $( this ).data( 'label' );
242			var item = $( this ).data( 'item' );
243			if( $( this ).hasClass( 'active' ) ){
244				$( '#label-span-' + item ).remove();
245			} else {
246				$( '.main-filter-selected-filters' ).append( '<span id="label-span-' + item + '" data-item="' + item + '" data-type="extended"><i class="fas fa-times" class="label-span-i" data-item="' + item + '"></i>' + label + '</span>' );
247			}
248			$( this ).toggleClass( 'active' );
249		});
250		//Remove item in extended filter
251		$( '.main-filter-selected-filters' ).on( 'click', 'span', function( e ) {
252			var item = $( this ).data( 'item' );
253			var type = $( this ).data( 'type' );
254			if ( type == 'extended' ) {
255				var sectedExtendedItem = jQuery( '#extended-' + item );
256				if( sectedExtendedItem.hasClass( 'active' ) ){
257					sectedExtendedItem.removeClass( 'active' )
258				}
259			}
260			if ( type == 'category' ) {
261				var sectedCategoryItem = jQuery( '#dropdown-category-' + item );
262				if( sectedCategoryItem.hasClass( 'active' ) ){
263					sectedCategoryItem.removeClass( 'active' )
264				}
265			}
266			if ( type == 'country' ) {
267				console.log( item );
268				var sectedCountryItem = jQuery( '#dropdown-country-' + item );
269				if( sectedCountryItem.hasClass( 'active' ) ){
270					sectedCountryItem.removeClass( 'active' )
271				}
272			}
273			$( this ).remove();
274		});
275
276		//Clear all filter
277		$( '.main-filter-buttons-reset' ).on( 'click', function() {
278
279			var data = $( '.main-filter-selected-filters' );
280			$( data ).find('span').each(function() {
281				var item = $( this ).data( 'item' );
282				var type = $( this ).data( 'type' );
283				if ( type == 'extended' ) {
284					var sectedExtendedItem = jQuery( '#extended-' + item );
285					if( sectedExtendedItem.hasClass( 'active' ) ){
286						sectedExtendedItem.removeClass( 'active' )
287					}
288				}
289				if ( type == 'category' ) {
290					var sectedCategoryItem = jQuery( '#dropdown-category-' + item );
291					if( sectedCategoryItem.hasClass( 'active' ) ){
292						sectedCategoryItem.removeClass( 'active' )
293					}
294				}
295				if ( type == 'country' ) {
296					console.log( item );
297					var sectedCountryItem = jQuery( '#dropdown-country-' + item );
298					if( sectedCountryItem.hasClass( 'active' ) ){
299						sectedCountryItem.removeClass( 'active' )
300					}
301				}
302				$( this ).remove();
303			});
304			var searchQuery = $( '#fiter-search' );
305			searchQuery.val( '' ); 
306			var searchData = '';
307			window.history.pushState({url: "" + targetUrl + ""}, "", targetUrl);
308
309			var searchQuery = $( '#fiter-search' );
310			var sQ = searchQuery.val();
311			var sQf = accentsTidy( sQ );
312			var result = index.search( '*'+sQf+'*' );
313			
314			displaySelectedCampaigns( result );
315
316		});
317
318		//Display fltered data
319		$( 'body' ).on( 'click', '.main-filter-buttons-search', function(){
320
321			//Get search request
322			var searchQuery = $( '#fiter-search' );
323			var sQ = searchQuery.val();
324			var sQf = accentsTidy( sQ );
325			var result = index.search( '*'+sQf+'*' );
326			
327			displaySelectedCampaigns( result );
328
329		});
330
331		//Display fltered data
332		$( '#fiter-search' ).on( 'refreshSearch', function(){
333
334			//Get search request
335			var searchQuery = $( '#fiter-search' );
336			var sQ = searchQuery.val();
337			var sQf = accentsTidy( sQ );
338			var result = index.search( '*'+sQf+'*' );
339			
340			displaySelectedCampaigns( result );
341
342		});
343
344		$( '#fiter-search' ).keypress( function (e) {
345			var key = e.which;
346			if( key == 13 ) {
347				var searchQuery = $( '#fiter-search' );
348				var sQ = searchQuery.val();
349				var sQf = accentsTidy( sQ );
350				var result = index.search( '*'+sQf+'*' );
351				displaySelectedCampaigns( result );
352			}
353		}); 
354
355		$('#campaigns-filter-main-categories-search').keyup(function(){
356			var that = this;
357			var all_list = $('.campaigns-filter-main-categories-dropdown li:not(.campaigns-filter-main-categories-search)');
358			var matching_list = all_list.filter(function(i, li){
359				var list_item_text = accentsTidy($(li).text());
360				var search_text = accentsTidy(that.value);
361				return ~list_item_text.indexOf(search_text);
362			});
363			
364			all_list.hide();
365			matching_list.show();
366		});
367
368		$('#campaigns-filter-main-countries-search').keyup(function(){
369			var that = this;
370			var all_list = $('.campaigns-filter-main-countries-dropdown li:not(.campaigns-filter-main-countries-search)');
371			var matching_list = all_list.filter(function(i, li){
372				var list_item_text = accentsTidy($(li).text());
373				var search_text = accentsTidy(that.value);
374				return ~list_item_text.indexOf(search_text);
375			});
376			
377			all_list.hide();
378			matching_list.show();
379		});
380
381		// var NewCampains  = JSON.parse( cNewCampains );
382		var basicData = JSON.parse( cBasicData );
383		var cccData = JSON.parse( cData );	
384		
385		function accentsTidy(s){
386			var r=s.toLowerCase();
387			r = r.replace(new RegExp(/\s/g),"");
388			r = r.replace(new RegExp(/[àáâãäå]/g),"a");
389			r = r.replace(new RegExp(/æ/g),"ae");
390			r = r.replace(new RegExp(/ç/g),"c");
391			r = r.replace(new RegExp(/[èéêëě]/g),"e");
392			r = r.replace(new RegExp(/[Å¡]/g),"s");
393			r = r.replace(new RegExp(/[č]/g),"c");
394			r = r.replace(new RegExp(/[ř]/g),"r");
395			r = r.replace(new RegExp(/[ž]/g),"z");
396			r = r.replace(new RegExp(/[ľ]/g),"l");
397			r = r.replace(new RegExp(/[ìíîï]/g),"i");
398			r = r.replace(new RegExp(/[ñň]/g),"n");                
399			r = r.replace(new RegExp(/[òóôõö]/g),"o");
400			r = r.replace(new RegExp(/œ/g),"oe");
401			r = r.replace(new RegExp(/[ùúûüů]/g),"u");
402			r = r.replace(new RegExp(/[ýÿ]/g),"y");
403			r = r.replace(new RegExp(/\W/g),"");
404			return r;
405		};
406
407		// function removeItemAll(arr, value) {
408		// 	for( var i = 0; i < arr.length; i++){ 
409                                   
410		// 		if ( arr[i] === value) { 
411		// 			arr.splice(i, 1); 
412		// 			i--; 
413		// 		}
414		// 	}
415		// 	return arr;
416		// }
417
418		/**
419		 * Get all selected values from filter
420		 * 
421		 */
422		function displaySelectedCampaigns( searchData ) {
423			
424			//Get categories
425			var cats = getSelectedFilterFromDropdown( 'campaigns-filter-main-categories-dropdown', 'target' );
426			var countries = getSelectedFilterFromDropdown( 'campaigns-filter-main-countries-dropdown', 'lang' );
427			var extended = getSelectedFilterFromExtended();
428			var result = [];
429			var filtered = [];
430
431			// console.log("extended: " + extended);
432			
433			//console.log( cccData );
434			var extendedResult = [];
435			//Find extended
436			for( var index in basicData ) {
437				for ( var i = 0; i < extended.length; ++i) {
438					var value = extended[i];
439					if( basicData[index][value] == 1 ){						
440						if( extendedResult.indexOf( index ) === -1 ) {
441							extendedResult.push(index);
442						}						
443					}
444				}
445			}
446
447			// for ( var ii = 0; ii < extended.length; ++ii) {
448			// 	var value = extended[ii];
449			// 	if ( ii == 0 ) {
450			// 		for( var index in basicData ) {
451			// 			if( basicData[index][value] == 1 ){						
452			// 				if( extendedResult.indexOf( index ) === -1 ) {
453			// 					extendedResult.push(index);
454			// 				}						
455			// 			}
456			// 		}
457			// 	} else {
458			// 		console.log("res1: " +extendedResult);
459			// 		var helper_extendedRe
459sult = extendedResult;
460			// 		console.log(helper_extendedResult);
461			// 		helper_extendedResult.forEach(myFunction);
462			// 		for ( )
463			// 		function myFunction(item) {
464			// 			console.log(item);
465			// 			if( basicData[item][value] == 0 ){						
466			// 				removeItemAll(extendedResult, item);
467			// 			}
468			// 		}
469			// 	}
470				
471			// }
472			// console.log("res: " + extendedResult);
473			// extendedResult.forEach(myFunction);
474			
475
476			var countriesResult = [];
477			//Find countries
478			for( var index in basicData ) {
479				for ( var i = 0; i < countries.length; ++i) {
480					var value = countries[i];
481					var markets = basicData[index].markets;
482					if( markets.indexOf(value) !== -1 ){	
483						if( countriesResult.indexOf(index) === -1 ) {
484							countriesResult.push(index);
485						}
486						
487					}
488				}
489			}
490			
491			var categoriesResult = [];
492			//Find categories
493			for( var index in basicData ) {
494				//console.log( basicData[index]);
495				for ( var i = 0; i < cats.length; ++i) {
496					//console.log(countries[i]);
497					var value = cats[i];
498					//console.log( value );
499					if ( cccData[index] ) {
500						var categories = cccData[index].categories;
501						//console.log( Object.keys( categories ) );
502						//console.log( categories.hasOwnProperty( value ) );
503						if( categories.hasOwnProperty( value ) ){
504						
505							if( categoriesResult.indexOf(index) === -1 ) {
506								categoriesResult.push(index);
507							}
508						
509						}
510					}
511				}
512			}
513			var searchResult = [];
514			if ( searchData.length ) {
515				for ( var i = 0; i < searchData.length; ++i) {
516					if ( searchData[i].ref.length ) {
517						if( searchResult.indexOf(searchData[i].ref) === -1 ) {
518							searchResult.push(searchData[i].ref);
519						}
520					}
521				}
522			}
523			
524			var intersectData = [];
525			if ( extendedResult.length ) {
526				intersectData.push(extendedResult);
527			}
528			if ( countriesResult.length ) {
529				intersectData.push(countriesResult);
530			}
531			if ( categoriesResult.length ) {
532				intersectData.push(categoriesResult);
533			}
534			if ( searchResult.length ) {
535				intersectData.push(searchResult);
536			}
537			var result = intersect( intersectData );
538
539			function intersect( arrays ) {
540    			if (0 === arrays.length) {
541        			return [];
542    			}
543    			return arrays.reduce((intersection, array) => {
544        			return intersection.filter(intersectedItem => array.some(item => intersectedItem === item));
545    			}, arrays[0]);
546			}
547
548			if ( result.length > 0 ) {	
549				//Pagination
550				renderFilteredCampains( result );
551				// displayNewRenderedCampaigns( result )
552				handleUrlRoute()
553				//handleUrlPaggination( result.length );
554
555			} else {
556				var tableBody = $( '#campaigns-list-table-body' );
557				tableBody.html( '' );
558				$( '.campains-pagination' ).html( '' );
559			}
560
561		}
562
563		/**
564		 * 
565		 */
566		function handleUrlRoute(){
567
568			var categories = [];
569			var countries = [];
570			var extended = [];
571			var routeTargetUrl = targetUrl;
572
573			$('.main-filter-selected-filters span').each( function() {
574				var item = $( this ).data( 'item' );
575				var type = $( this ).data( 'type' );			
576				if ( type == 'category' ) {
577					categories.push( item );
578				}
579				if ( type == 'country' ) {
580					countries.push( item );
581				}
582				if ( type == 'extended' ) {
583					extended.push( item );
584				}
585			});
586
587			//Search query
588			var searchQuery = $( '#fiter-search' ).val();
589			
590			//Selected categoriesky
591			if ( categories.length > 0 ) {
592				var categoryUrl = categories.join('+');
593			} else {
594				var categoryUrl = 'vsetky-kategorie';
595			}
596
597			//selected countries
598			if ( countries.length > 0 ) {
599				var countryUrl = countries.join('+');
600			} else {
601				var countryUrl = 'vsetky-krajiny';
602			}
603			
604			//selected extended filter items
605			if ( extended.length > 0 ) {
606				var extendedUrl = extended.join('+');
607			} else {
608				var extendedUrl = 'vsetky-typy';
609			}
610
611			routeTargetUrl = targetUrl + categoryUrl + '/' + countryUrl + '/' + extendedUrl + '/';
612			if ( searchQuery.length > 0 ){
613				routeTargetUrl += searchQuery + '/';
614			}
615			
616			window.history.pushState({url: "" + routeTargetUrl + ""}, "", routeTargetUrl);
617
618		}
619
620		/**
621		 * Paggination
622		 */
623		function handleUrlPaggination( count ){
624			var limit = 50;
625			if ( limit > count ) {
626				$( '.campains-pagination' ).html( '' );
627			} else {
628				var currentLocation = window.location;
629				var pages = Math.ceil( count / limit );
630				var pagginationString = '';
631				for ( var i = 1; i <= pages; ++i) {
632					if ( i == 1 ) {
633						pagginationString += '<span class="btn btn-default campains-pagination-current" data-page="1">1</span>';
634					} else {
635						pagginationString += '<a class="btn btn-primary campains-pagination-item" href="' + currentLocation.href + i +'/" data-page="' + i + '">' + i + '</a>';
636					}
637				}
638
639				$( '.campains-pagination' ).html( pagginationString );
640
641			}
642
643		}
644
645		/**
646		 * Get all selected values from dropdown
647		 * 
648		 */
649		function getSelectedFilterFromDropdown( source, attr ) {
650			var data = $( '.' + source );
651			var output = [];
652			$( data ).find('a').each(function() {
653				if( $( this ).hasClass( 'active' ) ){
654					var target = $( this ).data( attr );
655					output.push( target );
656				}
657			});
658			return output;
659		}
660		/**
661		 * Get all selected values from extended filter
662		 * 
663		 */
664		function getSelectedFilterFromExtended() {
665			var data = $( '.extended-filter-item' );
666			var output = [];
667			$( data ).find('label').each(function() {
668				if( $( this ).hasClass( 'active' ) ){
669					var target = $( this ).data( 'item' );
670					output.push( target );
671				}
672			});
673			return output;
674		}
675		/**
676		 * Render all filtered campains
677		 * campains - array with id filtered campains
678		 */
679		function renderFilteredCampains( campains ) {
680
681			//reorder campains
682			var myArray = [];
683			for ( var i = 0; i < campains.length; ++i) {
684				var name = cccData[campains[i]].title;
685				var nameCapitalized = name.charAt(0).toUpperCase() + name.slice(1)
686				var obj = { id : campains[i], 'title' : nameCapitalized  };
687				myArray.push({
688					key:i,
689					value: obj
690				});
691			}
692			myArray.sort(function(a,b){
693				// povodny filter - nefunguje s diakritikou
694				// return a.value.title < b.value.title ? -1 : 1;
695
696				// novy filter - podporuje diakritiku
697				var first_value = a.value.title;
698				var second_value = b.value.title;
699				return first_value.localeCompare(second_value);
700			});
701
702			var limit = 50;
703			var tableBody = $( '#campaigns-list-table-body' );
704			//console.log( cccData );
705			tableBody.html( '' );
706			var newTableBody = '';
707			for ( var x = 0; x < myArray.length; ++x) {
708
709				//Limit results
710				//if ( x > limit ) { continue; }
711				var i = myArray[x].key;
712				
713				var basicDataItem = basicData[campains[i]];
714				var categoriesClasses = '';
715				var categoriesSource = cccData[campains[i]].categories;
716				for ( var key in categoriesSource ) {
717					categoriesClasses += key + ' ';					
718				}
719				var parameters = '';
720				for ( var key in basicDataItem ) {
721					if ( basicDataItem[key] === 1 ) {
722						parameters += key + ' ';
723					}
724				}
725				var marketsSource = basicData[campains[i]].markets;
726				var markets = '';
727				for ( var iterator = 0; iterator < marketsSource.length; ++iterator) {
728					markets += ' trh-' + marketsSource[iterator];					
729				}
730
731				var badgesSource = basicData[campains[i]].badge;
732				var badges = '';
733				for ( var key in badgesSource ) {
734					badges += '<span class="campaign-badge ' + badgesSource[key] + '" style="border-color:' + campaignBadges[badgesSource[key]].color + ';color:' + campaignBadges[badgesSource[key]].color + ';">' + campaignBadges[badgesSource[key]].label + '</span>';					
735				}
736
737				newTableBody += '<tr data-href="' + cccData[campains[i]].permalink + '" class="all ' + categoriesClasses + ' ' + parameters + ' ' + markets + '" data-id="' + campains[i] + '" data-expanded="false" data-time="' + basicData[campains[i]].time_add + '">';
738				
739					newTableBody += '<td class="campaign-title">';
740						newTableBody += '<span class="footable-toggle fooicon fooicon-plus"></span>';
741						newTableBody += '<span class="title">';
742							newTableBody += '<div>' + badges + '</div>';
743							newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + cccData[campains[i]].title + '</a>';
744							if( cccData[campains[i]].commision === '' ) {
745								newTableBody += '<strong class="val">
745' + basicDataItem.commision + '</strong>';	
746							} else {
747								newTableBody += '<strong class="val">' + cccData[campains[i]].commision + '</strong>';
748							}
749						newTableBody += '</span>';
750						newTableBody += '<span class="product">';
751						var catsLinks = '';
752						for ( var key in cccData[campains[i]].categories ) {
753							catsLinks += '<span class="cat-name">' + cccData[campains[i]].categories[key] + '</span> ';
754						}	
755						newTableBody += catsLinks;
756						newTableBody += '</span>';
757					newTableBody += '</td>';
758
759					var strImage = cccData[campains[i]].thumb;
760					var thumb = strImage.replace( 'data-src', 'src');
761
762					newTableBody += '<td class="campaigns-logo" data-detail-for="campaign-logo">';
763						newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + thumb + '</a>';
764					newTableBody += '</td>';
765					newTableBody += '<td class="campaign-commission" data-show-column="true" data-detail-for="campaign-comission">';
766					
767						if( cccData[campains[i]].commision ) {
768							newTableBody += '<strong class="val">' + cccData[campains[i]].commision + '</strong>';
769						} else {
770							newTableBody += '<strong class="val">' + basicDataItem.commision + '</strong>';	
771						}
772					newTableBody += '</td>';
773				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-banners">';
774					newTableBody += displayYepNope( basicData[campains[i]].banners );
775				newTableBody += '</td>';
776				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-iframe">';
777					newTableBody += displayYepNope( basicData[campains[i]].iframe );
778				newTableBody += '</td>';
779				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-pr">';
780					newTableBody += displayYepNope( basicData[campains[i]].pr );
781				newTableBody += '</td>';
782				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-coupon">';
783					newTableBody += displayYepNope( basicData[campains[i]].coupon );
784				newTableBody += '</td>';
785				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-influencers">';
786					newTableBody += displayYepNope( basicData[campains[i]].influenceri );
787				newTableBody += '</td>';
788				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-xml">';
789					newTableBody += displayYepNope( basicData[campains[i]].xmlfeed );
790				newTableBody += '</td>';
791				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-email-theme">';
792					newTableBody += displayYepNope( basicData[campains[i]]['email-theme'] );
793				newTableBody += '</td>';
794				// newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-banea">';
795				// 	newTableBody += displayYepNope( basicData[campains[i]].banea );
796				// newTableBody += '</td>';
797				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-extra-coo">';
798					newTableBody += displayYepNope( basicData[campains[i]]['extra-coo'] );
799				newTableBody += '</td>';
800				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-dognet-media">';
801					newTableBody += displayYepNope( basicData[campains[i]]['dognet-media'] );
802				newTableBody += '</td>';
803				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-cash-back" data-breakpoints="x-small">';
804					newTableBody += displayYepNope( basicData[campains[i]].cashback );			
805				newTableBody += '</td>';
806				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-content">';
807					newTableBody += displayYepNope( basicData[campains[i]].content );
808				newTableBody += '</td>';
809				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-coupon_webs">';
810					newTableBody += displayYepNope( basicData[campains[i]]['coupon_webs'] );			
811				newTableBody += '</td>';
812				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-emailing">';
813					newTableBody += displayYepNope( basicData[campains[i]].emailing );			
814				newTableBody += '</td>';
815				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-ppc">';
816					newTableBody += displayYepNope( basicData[campains[i]].ppc );			
817				newTableBody += '</td>';
818				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-css">';
819					newTableBody += displayYepNope( basicData[campains[i]].css );			
820				newTableBody += '</td>';
821				newTableBody += '<td class="campaign-component" data-show-column="true" data-detail-for="campaign-ext-coupons">';	
822					newTableBody += displayYepNope( basicData[campains[i]]['ext-coupons'] );		
823				newTableBody += '</td>';
824				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-cookies">';
825					newTableBody += formatDayDays( basicData[campains[i]].cookies );
826				newTableBody += '</td>';
827				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-ip-tracking">';
828					newTableBody += formatDayDays( basicData[campains[i]]['ip-tracking'], basicData[campains[i]]['ip-tracking-show-in-hours'] );
829				newTableBody += '</td>';
830				newTableBody += '<td class="campaign-component" data-show-column="false" data-detail-for="campaign-dlzka-schvalovania">';
831					newTableBody += formatDayDays( basicData[campains[i]]['dlzka-schvalovania'] );
832				newTableBody += '</td>';
833				newTableBody += '</tr>';
834				//Footable detail row
835				newTableBody += '<tr class="footable-detail-row">';
836				newTableBody += '<td colspan="12">';
837				newTableBody += '<table class="campaigns-list-table footable-details">';
838				newTableBody += '<tr data-detail-display="campaign-logo">';
839				newTableBody += '</tr>';
840				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-comission">';
841				newTableBody += '</tr>';
842				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-banners">';
843				newTableBody += '</tr>';
844				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-iframe">';
845				newTableBody += '</tr>';
846				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-pr">';
847				newTableBody += '</tr>';
848				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-coupon">';
849				newTableBody += '</tr>';
850				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-influencers">';
851				newTableBody += '</tr>';
852				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-xml">';
853				newTableBody += '</tr>';
854				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-email-theme">';
855				newTableBody += '</tr>';
856				// newTableBody += '<tr data-show-column="false" data-detail-display="campaign-banea">';
857				// newTableBody += '</tr>';
858				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-extra-coo">';
859				newTableBody += '</tr>';
860				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-dognet-media">';
861				newTableBody += '</tr>';
862				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-cash-back">';
863				newTableBody += '</tr>';
864				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-content">';
865				newTableBody += '</tr>';
866				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-coupon_webs">';
867				newTableBody += '</tr>';
868				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-emailing">';
869				newTableBody += '</tr>';
870				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-ppc">';
871				newTableBody += '</tr>';
872				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-css">';
873				newTableBody += '</tr>';
874				newTableBody += '<tr data-show-column="true" data-detail-display="campaign-ext-coupons">';
875				newTableBody += '</tr>';
876				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-cookies">';
877				newTableBody += '</tr>';
878				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-ip-tracking">';
879				newTableBody += '</tr>';
880				newTableBody += '<tr data-show-column="false" data-detail-display="campaign-dlzka-schvalovania">';
881				newTableBody += '</tr>';
882				newTableBody += '</table>';
883				newTableBody += '</td>';
884				newTableBody += '</tr>';
885
886			}
887
888			tableBody.html( newTableBody );
889			reoganize_columns_after_filter();
890
891		}
892
893		function reoganize_columns_after_filter() {
894			$( 'table.campaigns-list-table th' ).each(function( index ) {
895				var $this = $( this );
896				var column_name = $this.attr( 'data-detail-for' );
897				var column_value = $this.attr( 'data-show-column' );
898				$( 'table.campaigns-list-table td[data-detail-for="' + column_name + '"]' ).attr( 'data-show-column', column_value );
899			});
900		}
901
902		function displayYepNope( value ){
903			// if ( value == 1 ) {
904			// 	return '<img src="' + displayYepImage + '" class="lazyimage" />';
905			// } else {
906			// 	return '<img src="' + displayNopImage + '" class="lazyimage" />';
907			// }
908			return '<span class="check check-' + value + '" ></span>';
909		}
910
911		function formatDayDays( $days, $show_in_hours = false) {
912			var $days = ($days) ? 1 : $days;
913	
914			if ($days == 1) {
915				var $daysText = text.den;
916			} else {
917				var $daysText = text.dni;
918			}
919			
920			if ( $show_in_hours ) {
921				
922				if ( $days == 1 ) {
923					var $daysText = text.hodina;
924				} else if ( $days == 2 || $days == 3 || $days == 4 ) {
925					var $daysText = text.hodiny;
926				} else {
927					var $daysText = text.hodin;
928				}
929				
930			}
931			return $days + ' ' + $daysText;
932		}
933
934		// displayNewCampaigns();
935		
936		//displayFilteredCampaigns();
937
938		/*$('ul.campaigns-navigation ul.cat-items > li > a').on('click', function(e) {
939			e.preventDefault();
940
941			var $link = $(this);
942
943			$('ul.campaigns-navigation ul.cat-items > li').removeClass('active');
944
945			$link.closest('li').addClass('active');
946
947			selectedCat = $('ul.cat-items li.active a').data('target');
948
949			displayFilteredCampaigns();
950			// displayNewCampaigns();
951
952		});*/
953
954		/*$('form#campaigns-filter input[type="reset"]').on('click', function(e) {
955			e.preventDefault();
956			$('form#campaigns-filter input[type="checkbox"]').prop('checked', false);
957			displayFilteredCampaigns();
958		});
959		$('form#campaigns-filter input').on('change', function(e) {
960			displayFilteredCampaigns();
961		});*/
962
963		function displayFilteredCampaigns() {
964
965			
966			var $filter = [],
967				$filterMarkets = [];
968			var $formData = $('form#campaigns-filter').serializeArray();
969
970			$campaignsTable.children('tbody').children('tr:not(.footable-detail-row)').hide().removeClass('matching').attr('data-expanded', 'false');
971
972			$campaignsTable.children('tbody').children('tr:not(.footable-detail-row)').find('.footable-toggle').addClass('fooicon-plus').removeClass('fooicon-minus');
973
974				$.each($formData, function(k) {
975					if ($formData[k].name.substr(0,4) == 'trh-' && $formData[k].value == 1) {
976						$filterMarkets.push($formData[k].name);
977						// $formData.splice(k, 1);
978					} else {
979						if ($formData[k].value == 1) {
980							$filter.push($formData[k].name);
981						}
982					}
983				});
984
985			//Push category to filter
986			/*
987			$filter.push($('ul.campaigns-navigation ul.cat-items > li.active > a').data('target'));
988
989			$campaignsTable.find('tbody tr.'+$filter.join('.')+':not(.footable-detail-row)').each(function() {
990				var $row = $(this);
991				if ($filterMarkets.length > 0) {
992					if ($row.hasClasses($filterMarkets)) {
993						$row.show().addClass('matching');
994					}
995				} else {
996					$row.show().addClass('matching');
997				}
998			});
999*/
1000			//displayNewCampaigns( $campaignsTable.find('tbody tr.matching:not(.newCloned)').length );
1001
1002			// totalload = 20;
1003			// rows = $campaignsTable.find('tbody tr.matching:not(.newCloned)').length;
1004			// $campaignsTable.find('tbody tr.matching:not(.newCloned):visible:gt('+(totalload-1)+')').hide();
1005			//
1006			// if (rows > totalload) {
1007			// 	$('.load-more').show();
1008			// }
1009			// if (totalload >= rows) {
1010			// 	$('.load-more').hide();
1011			// }
1012
1013		}
1014
1015		function displayNewRenderedCampaigns( result ) {
1016			var NewCampains  = JSON.parse( cNewCampains );
1017			var NewRenderedCampains = [];
1018			for( var index in NewCampains ) {
1019				if ( result.includes(index) ) {
1020					NewRenderedCampains.push( index );
1021				}				
1022			}
1023
1024			var campainTable = $( '#campaigns-list-table-body' );
1025
1026			var displayNews = 5;
1027			if ( NewRenderedCampains.length <= 10 ) {
1028				displayNews = 3;
1029			}
1030			if ( NewRenderedCampains.length <= 5 ) {
1031				displayNews = 0;
1032			}
1033
1034			if ( displayNews == 0 ) {
1035				return;
1036			}
1037
1038			//Zapneme loader
1039			$('.campaigns-list-table tr.loader').show();
1040
1041			var tableNewContent = dognetRenderTableLines( NewRenderedCampains, displayNews );
1042			var ddd = campainTable.html();
1043			campainTable.html( tableNewContent + ddd );
1044			$('.campaigns-list-table tr.loader').hide();
1045			myLazyLoad.update();
1046
1047
1048		}
1049		
1050		function displayNewCampaigns() {
1051
1052			var NewCampains  = JSON.parse( filteredNewCampain );
1053			
1054			var campainTable = $( '#campaigns-list-table-body' );
1055			
1056			var displayNews = 10;
1057			if ( NewCampains.length <= 10 ) {
1058				displayNews = NewCampains.length;
1059			}
1060			// if ( NewCampains.length <= 5 ) {
1061			// 	displayNews = 0;
1062			// }
1063
1064			if ( displayNews == 0 ) {
1065				return;
1066			}
1067
1068			//Zapneme loader
1069			$('.campaigns-list-table tr.loader').show();
1070
1071			var tableNewContent = dognetRenderTableLines( NewCampains, displayNews );
1072			var ddd = campainTable.html();
1073			campainTable.html( tableNewContent + ddd );
1074			$('.campaigns-list-table tr.loader').hide();
1075			myLazyLoad.update();
1076		
1077		}
1078
1079		/**
1080		 * Render table line
1081		 * 
1082		 */
1083		function dognetRenderTableLines( campains, displayNews ){
1084
1085			var newTableBody = '';
1086
1087			//reorder array
1088			var reorderCampains = [];
1089			for ( var i = 0; i < campains.length; ++i) {
1090				reorderCampains.push( { time_add: basicData[campains[i]].time_add, id: campains[i]} );
1091			}
1092
1093			reorderCampains.sort( function(a, b){return b.time_add - a.time_add} );
1094			campains = [];
1095
1096			for ( var i = 0; i < reorderCampains.length; ++i) {
1097				campains.push( reorderCampains[i].id );
1098			}
1099
1100			for ( var i = 0; i < displayNews; ++i) {
1101				if( cccData[campains[i]] ){
1102					var basicDataItem = basicData[campains[i]];
1103					var categoriesClasses = '';
1104					
1105					var categoriesSource = cccData[campains[i]].categories;
1106					for ( var key in categoriesSource ) {
1107						categoriesClasses += key + ' ';					
1108					}
1109					
1110					var parameters = '';
1111					for ( var key in basicDataItem ) {
1112						if ( basicDataItem[key] === 1 ) {
1113							parameters += key + ' ';
1114						}
1115					}
1116					var marketsSource = basicData[campains[i]].markets;
1117					var markets = '';
1118					for ( var iterator = 0; iterator < marketsSource.length; ++iterator) {
1119						markets += ' trh-' + marketsSource[iterator];					
1120					}
1121
1122					var badgesSource = basicData[campains[i]].badge;
1123					var badges = '';
1124					for ( var key in badgesSource ) {
1125						badges += '<span class="campaign-badge ' + badgesSource[key] + '" style="border-color:' + campaignBadges[badgesSource[key]].color + ';color:' + campaignBadges[badgesSource[key]].color + ';">' + campaignBadges[badgesSource[key]].label + '</span>';					
1126					}
1127					
1128					newTableBody += '<tr data-href="' + cccData[campains[i]].permalink + '" class="all newCloned ' + categoriesClasses + ' ' + parameters + ' ' + markets + '" data-id="' + campains[i] + '" data-expanded="false" data-time="' + basicData[campains[i]].time_add + '">';
1129					
1130						newTableBody += '<td class="campaign-title">';
1131							newTableBody += '<span class="footable-toggle fooicon fooicon-plus"></span>';
1132							newTableBody += '<span class="title">';
1133								newTableBody += '<div>' + badges + '</div>';
1134								newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + cccData[campains[i]].title + '</a>';
1135								if( cccData[campains[i]].commision ) {
1136									newTableBody += '<strong class="val">
1136' + cccData[campains[i]].commision + '</strong>';
1137								} else {
1138									newTableBody += '<strong class="val"></strong>';	
1139								}
1140							newTableBody += '</span>';
1141							newTableBody += '<span class="product">';
1142							var catsLinks = '';
1143							for ( var key in cccData[campains[i]].categories ) {
1144								catsLinks += '<span class="cat-name">' + cccData[campains[i]].categories[key] + '</span> ';
1145							}	
1146							newTableBody += catsLinks;
1147							newTableBody += '</span>';
1148						newTableBody += '</td>';
1149
1150						var strImage = cccData[campains[i]].thumb;
1151						var thumb = strImage.replace( 'data-src', 'src');
1152
1153						newTableBody += '<td class="campaigns-logo" data-detail-for="campaign-logo">';
1154							newTableBody += '<a href="' + cccData[campains[i]].permalink + '" target="_blank">' + thumb + '</a>';
1155						newTableBody += '</td>';
1156						newTableBody += '<td class="campaign-commission" data-detail-for="campaign-comission">';
1157							if( cccData[campains[i]].commision ) {
1158								newTableBody += '<strong class="val">
1158' + cccData[campains[i]].commision + '</strong>';
1159							} else {
1160								newTableBody += '<strong class="val"></strong>';	
1161							}
1162						newTableBody += '</td>';
1163					newTableBody += '<td class="campaign-component" data-detail-for="campaign-influcencers">';
1164						newTableBody += displayYepNope( basicData[campains[i]].influenceri );
1165					newTableBody += '</td>';
1166					newTableBody += '<td class="campaign-component" data-detail-for="campaign-xml">';
1167						newTableBody += displayYepNope( basicData[campains[i]].xmlfeed );
1168					newTableBody += '</td>';
1169					newTableBody += '<td class="campaign-component" data-detail-for="campaign-coupons">';
1170						newTableBody += displayYepNope( basicData[campains[i]]['coupon_webs'] );			
1171					newTableBody += '</td>';
1172					newTableBody += '<td class="campaign-component" data-detail-for="campaign-cash-back" data-breakpoints="x-small">';
1173						newTableBody += displayYepNope( basicData[campains[i]].cashback );			
1174					newTableBody += '</td>';
1175					newTableBody += '<td class="campaign-component" data-detail-for="campaign-emailing">';
1176						newTableBody += displayYepNope( basicData[campains[i]].emailing );			
1177					newTableBody += '</td>';
1178					newTableBody += '<td class="campaign-component" data-detail-for="campaign-ppc">';
1179						newTableBody += displayYepNope( basicData[campains[i]].ppc );			
1180					newTableBody += '</td>';
1181					newTableBody += '<td class="campaign-component" data-detail-for="campaign-css">';
1182						newTableBody += displayYepNope( basicData[campains[i]].css );			
1183					newTableBody += '</td>';
1184					newTableBody += '<td class="campaign-component" data-detail-for="campaign-extra">';	
1185						newTableBody += displayYepNope( basicData[campains[i]]['ext-coupons'] );		
1186					newTableBody += '</td>';
1187					newTableBody += '</tr>';
1188					//Footable detail row
1189					newTableBody += '<tr class="footable-detail-row">';
1190					newTableBody += '<td colspan="12">';
1191					newTableBody += '<table class="campaigns-list-table footable-details">';
1192					newTableBody += '<tr data-detail-display="campaign-logo">';
1193					newTableBody += '</tr>';
1194					newTableBody += '<tr data-detail-display="campaign-comission">';
1195					newTableBody += '</tr>';
1196					newTableBody += '<tr data-detail-display="campaign-influcencers">';
1197					newTableBody += '</tr>';
1198					newTableBody += '<tr data-detail-display="campaign-xml">';
1199					newTableBody += '</tr>';
1200					newTableBody += '<tr data-detail-display="campaign-coupons">';
1201					newTableBody += '</tr>';
1202					newTableBody += '<tr data-detail-display="campaign-cash-back">';
1203					newTableBody += '</tr>';
1204					newTableBody += '<tr data-detail-display="campaign-emailing">';
1205					newTableBody += '</tr>';
1206					newTableBody += '<tr data-detail-display="campaign-ppc">';
1207					newTableBody += '</tr>';
1208					newTableBody += '<tr data-detail-display="campaign-css">';
1209					newTableBody += '</tr>';
1210					newTableBody += '<tr data-detail-display="campaign-extra">';
1211					newTableBody += '</tr>';
1212					newTableBody += '</table>';
1213					newTableBody += '</td>';
1214					newTableBody += '</tr>';
1215				}
1216			}
1217
1218			return newTableBody;
1219
1220		}
1221
1222		/*
1223		* Default autocheck active
1224		*/
1225		document.addEventListener('custombox:content:open', function() {
1226			if ( $( '.extended-filter-columns-modal' ).length ) {
1227				$( 'table.campaigns-list-table th' ).each(function( index ) {
1228					var show_column = $(this).attr( 'data-show-column' );
1229					var column_name = $(this).attr( 'data-detail-for' );
1230					if ( show_column == 'true' ){
1231						$( '.extended-filter-columns-modal' ).find( 'label[data-column="' + column_name + '"]' ).addClass( 'active' );
1232					} else {
1233						$( '.extended-filter-columns-modal' ).find( 'label[data-column="' + column_name + '"]' ).removeClass( 'active' );
1234					}
1235				});
1236			}
1237		});
1238
1239		/*
1240		* Change columns on select
1241		*/
1242		if ( $( '.extended-filter-columns-modal' ).length ) {
1243			$( document ).on( 'click', '.extended-filter-columns-modal label', function() {
1244				var this_label = $( this );
1245				var column_name = this_label.attr( 'data-column' );
1246				this_label.toggleClass( 'active' );
1247				$( 'table.campaigns-list-table [data-detail-for="' + column_name + '"]' ).attr( 'data-show-column', filter_label_visibility( this_label ) );
1248				$(window).trigger('resize');
1249			});
1250		}
1251
1252		function filter_label_visibility( this_label ) {
1253			return this_label.hasClass( 'active' ) ? 'true' : 'false';
1254		}
1255
1256		/*
1257		* Fix touch event
1258		*/
1259		var detectTap = false;
1260		$(document).on('touchstart', function() {
1261		    detectTap = true; //detects all touch events
1262		});
1263		$(document).on('touchmove', function() {
1264		    detectTap = false; //Excludes the scroll events from touch events
1265		});
1266
1267		$(document).on('click', '.campaigns-list-table > tbody > tr[data-expanded] td', function(e) {
1268			// e.preventDefault();
1269			if (e.type == 'click') {
1270				// console.log('tap');
1271				detectTap = true;
1272			}
1273
1274			if (detectTap != true) {
1275				// return;
1276			}
1277
1278			var tr = $(this).closest('tr'),
1279				button = tr.find('.footable-toggle');
1280
1281			if (tr.attr('data-expanded') == 'true') {
1282				tr.attr('data-expanded', 'false');
1283			} else {
1284				tr.attr('data-expanded', 'true');
1285
1286				tr.next('.footable-detail-row').find('table.footable-details tr').html('');
1287
1288				tr.next('.footable-detail-row').find('table.footable-details tr').each(function (i) {
1289					var detailTR = $(this),
1290						data = detailTR.data('detail-display');
1291
1292						if (data != null) {
1293						$('.campaigns-list-table:not(.fixed) > thead  th[data-detail-for="'+data+'"]').clone().appendTo(detailTR);
1294
1295						tr.find('td[data-detail-for="'+data+'"]').clone().appendTo(detailTR);
1296						}
1297				});
1298
1299				myLazyLoad.update();
1300
1301				adjustCampaignsTable();
1302			}
1303
1304			button.toggleClass('fooicon-plus fooicon-minus');
1305		});
1306
1307		$(window).on('resize', function() {
1308			adjustCampaignsTable();
1309		});
1310
1311		function adjustCampaignsTable() {
1312			// console.log('colspan');
1313			if (window.matchMedia("(max-width: 550px)").matches) {
1314				$('.campaigns-list-table.footable-details tr:first-of-type > td').attr('colspan', '2');
1315			} else {
1316				$('.campaigns-list-table.footable-details tr:first-of-type > td').attr('colspan', '0');
1317				$('.campaigns-list-table tbody tr td').not('.footable-detail-row > td').attr('colspan', '0');
1318			}
1319		}
1320
1321		// initCampaignsTable();
1322
1323		// $campaignsTable.find('tbody tr.matching:not(.newCloned):gt('+(totalload-1)+')').hide();
1324		//
1325		// $( ".loadmore" ).click(function(e) {
1326		// 	e.preventDefault();
1327		//
1328		// 	$campaignsTable.find('tbody tr.matching:not(.newCloned):gt('+(totalload-1)+')').show();
1329		//
1330		// 	totalload = totalload+20;
1331		// 	$campaignsTable.find('tbody tr.matching:not(.newCloned):visible:gt('+(totalload-1)+')').hide();
1332		//
1333		// 	// console.log('totalload: ' + totalload);
1334		// 	// console.log('rows: ' + rows);
1335		// 	if (totalload >= rows) {
1336		// 		$('.load-more').hide();
1337		// 	}
1338		// });
1339
1340        /**
1341         *  SEARCH FILTER
1342         */
1343        var $search_ac = $( "#fiter-search" ).autocomplete({
1344            source: filter_autocomplete,
1345            minLength: 1,
1346            open: function( event, ui ) {
1347                $( "#fiter-search" ).addClass('open');
1348            },
1349            close: function( event, ui ) {
1350                $( "#fiter-search" ).removeClass('open').trigger('refreshSearch');
1351            },
1352            classes: {
1353                "ui-autocomplete": "campaign-search-autocomplete"
1354            },
1355            position: {
1356                my: "left+0 top-2",
1357            }
1358        }),
1359        elemAutocomplete = $search_ac.data("ui-autocomplete") || $search_ac.data("autocomplete");
1360        if (elemAutocomplete) {
1361            elemAutocomplete._renderItem = function (ul, item) {
1362                var newText = String(item.value).replace(
1363                        new RegExp(this.term, "gi"),
1364                        "<span class='ui-state-highlight'>$&</span>");
1365
1366                return $("<li></li>")
1367                    .data("item.autocomplete", item)
1368                    .append("<div>" + newText + "</div>")
1369                    .appendTo(ul);
1370            };
1371        };
1372    
1373	}
1374
1375	/**
1376	 * KAMPANE POD MAGAZINOM, AK JE VYSSIA VYSKA AKO 60px, SKRAT CEZ 3BODKY
1377	 */
1378    if ( $('.campaigns .campaigns-list small').length ) {
1379		$('.campaigns .campaigns-list small').each(function () {
1380			var $ellipsisText = $(this);
1381			while ($ellipsisText.outerHeight(true) > 60) {
1382				$ellipsisText.text(function(index, text) {
1383					return text.replace(/\W*\s(\S)*$/, '...');
1384				});
1385			}
1386		});
1387	}
1388
1389	$(".scroll-to-top").on("click", function() {
1390		$("html").animate({ scrollTop: 0 }, "slow");
1391	});
1392
1393	// TEAM DOGNET
1394	function movePersons() {
1395        $('.person').each(function() {
1396            var $person = $(this),
1397                $header = $person.find('header'),
1398                $personText = $person.find('.person__text');
1399
1400            if ($(window).innerWidth() <= 767) {
1401                $header.detach().prependTo($person);
1402            } else {
1403                $header.detach().prependTo($personText);
1404            }
1405
1406        });
1407    }
1408
1409	if ( $('.person').length ) {
1410		
1411		movePersons();
1412	
1413		$(window).on('load resize', function() {
1414			movePersons();
1415		});
1416
1417	}
1418
1419});

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.