$(document).ready(function() {
	
	// latest slider
	if ($('.latest-documents').length) {
		$('.latest-documents').slick({
			dots: false,
			infinite: true,
			speed: 300,
			slidesToShow: 3,
			adaptiveHeight: true,
			prevArrow: $('.prev'),
			nextArrow: $('.next'),
			responsive: [
	             {
	                 breakpoint: 1180, // tablet breakpoint
	                 settings: {
	                     slidesToShow: 2,
	                     slidesToScroll: 2
	                 }
	             },
	             {
	                 breakpoint: 760, // mobile breakpoint
	                 settings: {
	                     slidesToShow: 1,
	                     slidesToScroll: 1
	                 }
	             }
	        ]
		});
	}
	
	// documents categories
	$(document).on('click', '.documents-header-right .link-btn a', function(e) {
		e.preventDefault();
		$.fancybox.open({
			transitionEffect: 'tube',
			transitionDuration: 3366,
			src  : $(this).parent().next(),
			type : 'inline',
			opts : {
				afterShow : function( instance, current ) {
					
				},
				afterClose : function( instance, current ) {
					
				}   
			}
		});
	});
	
	// preview document
	$(document).on('click', '.document-item .preview-btn', function(e) {
		e.preventDefault();
		$.fancybox.open({
			transitionEffect: 'tube',
			transitionDuration: 3366,
			src  : $(this).attr('href'),
			type : 'ajax',
			opts : {
				afterShow : function( instance, current ) {
					$(html).addClass('animate-structure-content');
						setTimeout( function() {$(html).addClass('animate-structure-content-image'); }, 200); // 3000 = 3 secs
				},
				afterClose : function( instance, current ) {
					$(html).removeClass('animate-structure-content');
					$(html).removeClass('animate-structure-content-image');
				}   
			}
		});
	});
	
	// scroll to group / document
	$(document).on('click', '.documents-header .type span', function(e) {
		var scrollTo = $('.list-documents');
		var oveflow = 0;
		if ($(this).hasClass('scroll-groups')) {
			scrollTo = $('.documents-wrapper .groups');
			oveflow = 0;
		}
		$('.documents-content').animate({
	        scrollTop: oveflow
	    }, 0, function() {
	    	$('body,html').animate({
		        scrollTop: scrollTo.offset().top - 130
		    }, 200);
	    });
	});
	
	// custom fields 
	if ($('.filter-tags select').length) {
		$('.filter-tags select').select2({
			dropdownCssClass: 'wb-documents-dropdown',
			placeholder: tagsLabel,
		});
	}
	if ($('.filter-language select').length) {
		$('.filter-language select').select2({
			dropdownCssClass: "wb-documents-dropdown",
			minimumResultsForSearch: -1,
		});
	}
	if ($('.filter-sort select').length) {
		$('.filter-sort select').select2({
			dropdownCssClass: "wb-documents-dropdown no-padding",
			minimumResultsForSearch: -1,
			placeholder: sortLabel
		});
	}
	$('[data-toggle="datepicker"]').datepicker({
		autoHide: true,
		format: 'dd-mm-yyyy'
	});
	if ($('.tag-value').length) {
		var array = [];
		$('.tag-value').each(function() {
			array.push($(this).val());
		});
		$(".filter.filter-tags select").val(array).trigger("change");
	}
	if ($('.language-value').length) {
		$(".filter.filter-language select").val($('.language-value').val()).trigger("change");
	}
	if ($('.country-value').length) {
		$(".filter.filter-country select").val($('.country-value').val()).trigger("change");
	}
	if ($('.sort-value').length) {
		$(".filter.filter-sort select").val($('.sort-value').val()).trigger("change");
	}
	// load more
	if (! $('.documents-wrapper .f3-widget-paginator .next').length) {
		$('.documents-wrapper .load-more-wrapper').addClass('hide');
	} else {
		$('.documents-wrapper .load-more-wrapper').removeClass('hide');
	}
	
	// filters
	ajax = function(data) {
		$('.loader-wrapper').removeClass('hide');
		$('.filter-tags select').select2('close');
		data['ajax'] = true;
		
		$.ajax({
			type: 'POST',
			url: $('.filter-form').attr('action'),
			dataType:'json',
			data: data,
		}).done(function(result, textStatus, jqXHR) {
			$('.documents-wrapper').html($(result).find('.documents-wrapper'));
			$('.documents-header').html($(result).find('.documents-header').html());
			
			$('.filter-sort select').select2({
				dropdownCssClass: "wb-documents-dropdown no-padding",
				minimumResultsForSearch: -1
			});
			if (! $('.f3-widget-paginator .next').length) {
				$('.documents-wrapper .load-more-wrapper').addClass('hide');
			} else {
				$('.documents-wrapper .load-more-wrapper').removeClass('hide');
			}
			$('.loader-wrapper').addClass('hide');
		}).fail(function() {
			
		});
	}
	url = function(data) {
		var param = [];
		if (data['sword']) {
			param.push('sword=' + encodeURIComponent(data['sword']));
		}
		if (data['group']) {
			param.push('group=' + data['group']);
		}
		if (data['language']) {
			param.push('language=' + data['language']);
		}
		if (data['country']) {
			param.push('country=' + data['country']);
		}
		if (data['sort']) {
			param.push('sort=' + data['sort']);
		}
		if (data['tags']) {
			$.each(data['tags'], function (index, value) {
				param.push('tags[' + index + ']=' + value);
		    });
		}
		if (data['dateFrom']) {
			param.push('dateFrom=' + data['dateFrom']);
		}
		if (data['dateTo']) {
			param.push('dateTo=' + data['dateTo']);
		}
		var urlData = param.join('&');
		var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?' + urlData;
	    window.history.pushState({path:newurl}, '', newurl);
	}
	
	var handleData = function() {
		var data = {
			'sword': $(".filter.filter-sword input").val(),
			'tags': $(".filter.filter-tags select").val(),
			'language': $(".filter.filter-language select").val(),
			'country': $(".filter.filter-country select").val(),
			'dateFrom': $(".filter.filter-date-from input").val(),
			'dateTo': $(".filter.filter-date-to input").val(),
			'sort': $(".filter.filter-sort select").val(),
			'group': $('.groups .group.active').attr('data-group')
		};

		url(data);
		ajax(data);
	}
	$(document).on("click", '.documents-content .group', function(event) { 
		$(this).addClass('active').siblings().removeClass('active');
		handleData();
	});
	$(document).on("change", '.tx-wb-documents .filter input, .tx-wb-documents .filter select', function(event) { 
		handleData();
	});	
	$('.filter-form').on('submit', function(e) {
		e.preventDefault();
		handleData();
	});
	$(document).on("click", '.documents-wrapper .selected-filter', function(event) { 
		if ($(this).hasClass('sword')) {
			$('.filter-sword input').val('');
		}
		if ($(this).hasClass('language')) {
			$('.filter-language select').val('');
			$('.filter-language select').trigger('change');
		}
		if ($(this).hasClass('country')) {
			$('.filter-country select').val('');
			$('.filter-country select').trigger('change');
		}
		if ($(this).hasClass('date-from')) {
			$('.filter-date-from input').val('');
		}
		if ($(this).hasClass('date-to')) {
			$('.filter-date-to input').val('');
		}
		if ($(this).hasClass('tag')) {
			$('.filter-tags select option[value="'+$(this).attr('data-val')+'"]').prop('selected', false);
			$('.filter-tags select').trigger('change');
		}
		
		$(this).remove();
		
		handleData();
	});
	$(document).on('click', '.documents-wrapper .load-more-wrapper a', function(e) {
		e.preventDefault();
		$('.loader-wrapper').removeClass('hide');
		var nextPage = $('.f3-widget-paginator .next');
		if (nextPage.length) {
			currentUrl = window.location.href + '&' + nextPage.find('a').attr("href").substring(nextPage.find('a').attr("href").lastIndexOf('?') + 1);
			$('.loader-wrapper').removeClass('hide');
			$.ajax({
				async: 'true',
				url: currentUrl,
				type: 'POST',
				dataType: 'html',
				success: function (data) {	
					$('.documents-wrapper .document-item').last().after($(data).find('.documents-wrapper .document-item'));
					$('.documents-wrapper .f3-widget-paginator').html($(data).find('.f3-widget-paginator'));
					
					if (! $('.f3-widget-paginator .next').length) {
						$('.documents-wrapper .load-more-wrapper').addClass('hide');
					} else {
						$('.documents-wrapper .load-more-wrapper').removeClass('hide');
					}
					$('.loader-wrapper').addClass('hide');
				},
				error: function (error) {
					$('.loader-wrapper').addClass('hide');
				}
			});
		}
	});
	// add to basket
	$(document).on('click', '.cart-btn', function() {
		var source = $.cookie('basket');
		var item = $(this).data('document');
		if (source) {
			var array = source.split('-');
			if ($.inArray(item.toString(), array)!= '-1') {
				
			} else {
				array.push(item);
			}
		} else {
			var array = [];
			array.push(item);
		}
		var result = array.join("-");
		$.cookie('basket', result, { path: '/' });
		
		if ($('.documents-sticky .basket').length) {
			$('.basket .counter').each(function() {
				$(this).html(array.length);
			});
			$('.documents-sticky .basket form > input').val(result);
			if (array.length > 1) {
				$('.basket-not-empty').removeClass('hide');
				$('.basket-not-empty.single').remove();
			}
			$('.documents-sticky .basket').removeClass('hide');
		}
	});
	// basket flyout
	$('.documents-sticky .basket-header').on('click', function() {
		var basket = $(this).parents('.documents-sticky');
		if (basket.hasClass('active')) {
			basket.removeClass('active');
		} else {
			basket.addClass('active');
		}
	});
	// basket clear
	$('.documents-sticky .clear-basket').on('click', function() {
		$.removeCookie('basket', { path: '/' });
		location.reload();
	});
	
	if ($('.tx-wb-documents .documents-wrapper').length) {
		$(window).on('popstate', function(event) {
			location.reload();
		});
	} 
	

});