$(document).ready(function() {
    $(window).scroll(function() {
    if (window.pageYOffset > 550) {
            $('body').addClass('sticky-banner-off');
        } else {
            $('body').removeClass('sticky-banner-off');
        }
    });

	$('label[for=inzerat_top]').on('click', function(e){

		toggleTarget = $('#inzerat_top').attr('data-toggle-target');

		if ($('#inzerat_top').prop('checked')) {
            alt_value = $('.inzerat-submit-btn').attr('data-alt-value');
			value = $('.inzerat-submit-btn').attr('value');
            $('.inzerat-submit-btn').attr('data-alt-value', value);
            $('.inzerat-submit-btn').attr('value', alt_value);

            $('.' + toggleTarget).css('display', 'none');
            $("input[name=profil_meno]").rules("remove", "required");
            $("input[name=profil_priezvisko]").rules("remove", "required");
            $("input[name=profil_tel]").rules("remove", "required");
            $("input[name=profil_email]").rules("remove", "required");
            $("input[name=profil_firm]").rules("remove", "required");
            $("input[name=profil_ulica]").rules("remove", "required");
            $("input[name=profil_mesto]").rules("remove", "required");
            $("input[name=profil_email]").rules("remove", "required");
            $("input[name=profil_ico]").rules("remove", "required");
            $("input[name=profil_dic]").rules("remove", "required");
            $("input[name=profil_agb]").rules("remove", "required");
		} else {

			alt_value = $('.inzerat-submit-btn').attr('data-alt-value');
			value = $('.inzerat-submit-btn').attr('value');
            $('.inzerat-submit-btn').attr('data-alt-value', value);
            $('.inzerat-submit-btn').attr('value', alt_value);

            $('.' + toggleTarget).css('display', 'block');
            $("input[name=profil_meno]").rules("add", "required");
            $("input[name=profil_priezvisko]").rules("add", "required");
            $("input[name=profil_tel]").rules("add", "required");
            $("input[name=profil_email]").rules("add", "required");
            $("input[name=profil_firm]").rules("add", "required");
            $("input[name=profil_ulica]").rules("add", "required");
            $("input[name=profil_mesto]").rules("add", "required");
            $("input[name=profil_email]").rules("add", "required");
            $("input[name=profil_ico]").rules("add", "required");
            $("input[name=profil_dic]").rules("add", "required");
            $("input[name=profil_agb]").rules("add", "required");
		}

	});

    //Forms validators
    $("#pridat_inzerat, #edit_inzerat_form").validate({
        ignore: [],
    	rules: {
			"id_typ_inz": "required",
            "nazov[1]": "required",
            "text_inzeratu[1]": "required",
		},
        errorPlacement: function(error, element) {

		},
        showErrors: function(errorMap, errorList) {
	    				this.defaultShowErrors();
	  	},
	  	highlight: function(element, errorClass) {
            if ($('#id_typ_inz').val() != '0') {
                $('#id_typ_inz').parent().find('.btn').removeClass('error');
			} else {
                $('#id_typ_inz').parent().find('.btn').addClass('error');
			}
	    	$id = $(element).attr('id');
			$(element).addClass('error');
	     	$("label[for='" + $id + "']").addClass('high');
	  	},

		unhighlight: function(element, errorClass) {
            if ($('#id_typ_inz').val() != '0') {
                $('#id_typ_inz').parent().find('.btn').removeClass('error');
			} else {
                $('#id_typ_inz').parent().find('.btn').addClass('error');
			}
	    	$id = $(element).attr('id');
	     	$("label[for='" + $id + "']").removeClass('high');
	        $(element).removeClass('error');
	  	},
        submitHandler: function(form) {
			if ($('#id_typ_inz').val() != '0') {
                form.submit();
			} else {
                $('#id_typ_inz').parent().find('.btn').addClass('error');
			}
  		}
	});
	
	//Forms registration
    $("#small_registration_form").validate({
        ignore: [],
    	rules: {
			first_name: "required",
            last_name: "required",
            e_mail: "required",
            phone: "required",
            gdpr: "required",
            hiddenRecaptcha: {
     			required: function() {
					//console.log('Registration' + grecaptcha.getResponse(1));
         			if(grecaptcha.getResponse(1) == '' && grecaptcha.getResponse(2) == '') {
             			return true;
         			} else {
             			return false;
         			}
     			}
			}
		},
        errorPlacement: function(error, element) { }
	});
	
	$('.sp-link-pr').on('click', function(e){		
		if ($(this).attr('href') == '#') {		
			part1 = $(this).attr('data-part1');
			part2 = $(this).attr('data-part2');
			//$(this).attr('href', 'mailto:' + part1 + part2);
			//$(this).trigger('click');
			window.location.href = 'mailto:' + part1 + part2; 
			e.preventDefault();
		}					
	});
	
	//Referencie slider
    $('.footer_referencie_box .ref-slider').slick({
        slidesToShow: 3,
  		slidesToScroll: 1,
        dots: false,
  		infinite: true,
		autoplay:false,
        autoplaySpeed:500000,
		centerMode: false,
		easing:'linear',                
        responsive: [
		    {
		      breakpoint: 1024,
		      settings: {
		        slidesToShow: 3,		        
		      }
		    },
		    {
		      breakpoint: 768,
		      settings: {
		        slidesToShow: 2,		        
		      }
		    },
		    {
		      breakpoint: 550,
		      settings: {
		        slidesToShow: 1,		        
		      }
		    }    
  		]
  	});
  	
  	//Search autocomplete	
	$.widget( "custom.catcomplete", $.ui.autocomplete, {
      _create: function() {
        this._super();
        this.widget().menu( "option", "items", "> :not(.ui-autocomplete-category)" );
      },
      _renderMenu: function( ul, items ) {
        var that = this,
          currentCategory = "";
          var beforeCatLink = "";
          var beforeItem = "";
        $.each( items, function( index, item ) {
          var li;
          if ( item.category != currentCategory ) {
            //if (beforeCatLink != '') ul.append( "<li class='more'><a href='" + beforeCatLink + "'>Viac výsledkov</a></li><li class='ui-autocomplete-category'><a href='" + item.category_link + "' title='" + item.category_link_title + "'>" + item.category + "</a></li>" );
            //else ul.append( "<li></li><li class='ui-autocomplete-category'><a href='" + item.category_link + "' title='" + item.category_link_title + "'>" + item.category + "</a></li>" );
            
            if (typeof item !== 'undefined' && item.category != 'no-result') {
				if (beforeCatLink != '') ul.append( "<li class='more'><a href='" + beforeCatLink + "'>" +  item.category_link_title + "</a></li><li class='ui-autocomplete-category'>" + item.category + "</li>" );
            	else ul.append( "<li></li><li class='ui-autocomplete-category'>" + item.category + "</li>" );
			}            	
            
            beforeCatLink = item.category_link;
            currentCategory = item.category;
            beforeItem = item;
          }          
          li = that._renderItemData( ul, item );
          if ( item.category ) {
            li.attr( "aria-label", item.category + " : " + item.label );
          }
        });		        
        if (typeof beforeItem !== 'undefined' && beforeItem.category != 'no-result') {
			ul.append( "<li class='more'><a href='" + beforeCatLink + "'>" + beforeItem.category_link_title + "</a></li>");
		}			
      },
      _renderItem: function( ul, item ) {
            if (item.logo && item.logo != '') {
            	if (item.logo == 'folder') {
					return $( "<li>" )
                    	.append( $( "<div>" + "<i class='fa fa-folder' aria-hidden='true'></i>&nbsp;&nbsp;" + item.label + "</div>" ) )
                    	.appendTo( ul );
				} else {
					return $( "<li>" )
                    	.append( $( "<div>" + "<img src='" + item.logo + "'/>" + item.label + "</div>" ) )
                    	.appendTo( ul );
				}
                
            } else {
            	if (typeof item !== 'undefined' && item.category != 'no-result') {
	                return $( "<li>" )
	                    .append( $( "<div>" + item.label + "</div>" ) )
	                    .appendTo( ul );
				} else {
					return $( "<li>" )
	                    .append( $( "<span>" + item.label + "</span>" ) )
	                    .appendTo( ul );
				}	                    
            }                
        }
    });
	  	
    $( ".search-autocomplete" ).catcomplete({
    	delay: 500,  
    	source: function( request, response ) {        
        	$.getJSON('/ajax_search.php?q=' + encodeURIComponent(request.term), function (data) {				        		
				if (data.length == 0) {
					data = 	[
						{
							label: "Nebol nájdený výsledok.",
							category: 'no-result',
							logo: '',
							value: '',                                        			                
			                category_link: '',
			                category_link_title: '',
						}
					];				
                	response(data);
                } else {          	
		            response($.map(data, function (value, key) {								            	
			            return {
			                label: value.label,                    
			                logo: value.logo,
			                value: value.value,                                        
			                category: value.category,
			                category_link: value.category_link,
			                category_link_title: value.category_link_title,
			            };                					                
		            }));
				}		            
        	});        	
      	},
      	minLength: 2,
      	select: function( event, ui ) { 
            //window.location.href = ui.item.value;
             window.open(ui.item.value, '_blank');
             return false;           
        },
        open: function (event, ui) {
			$( ".search-autocomplete" ).removeClass('ui-autocomplete-loading');            
		},
		close : function (event, ui) {
			if ($('.ui-autocomplete-input').val()!='') {
	        	if (!$("ul.ui-autocomplete").is(":visible")) {
	            	$("ul.ui-autocomplete").show();
	        	}
			}	        	
    	}
    });
    $('body .content').on('click', function(e) {
		$("ul.ui-autocomplete").hide();
	});
	$( ".search-autocomplete" ).bind('focus', function(){ 
		if ($(this).val() == '') {
			$('body').addClass('show-static-list');
		}
	 });     
	 $( ".search-clona" ).bind('click', function(){	 	 		
		$('body').removeClass('show-static-list');		
	 });
	 $( ".search-autocomplete" ).bind('keydown', function(){ 		
		if ($(this).val() != '') $('body').removeClass('show-static-list'); 		
	 });
     
     $( ".search-autocomplete" ).bind('keypress', function(){ 		
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if (keycode == '13') {
            event.preventDefault();
            event.stopPropagation();    
        }	   	 		
	 });
     
	 $( ".static-search-list a" ).on('click', function(e){	 	
		$( ".search-autocomplete" ).val($(this).html());
		$('body').removeClass('show-static-list');
		$( ".search-autocomplete" ).catcomplete("search");		 	
		e.preventDefault();	 		
	 });
});
