// INICIO Script tema movido aqui

$('.inputSearch').on('click', '.icon-search', function (event) {
    triggerSearchEvent(event, 'searchInputBox', true);
});

$('.search-button').on('click', '.icon-search', function (event) {
    $('#searchHits').empty();
    triggerSearchEvent(event, 'inpsearch', false);
});

$('.inputSearch').keypress(function (event) {
    if (event.which === 13) {
        event.preventDefault();
        triggerSearchEvent(event, 'searchInputBox', true);
    }
});

$('.search-button').keypress(function (event) {
    if (event.which === 13) {
        $('#searchHits').empty();
        event.preventDefault();
        triggerSearchEvent(event, 'inpsearch', false);
    }
});

$("#slideSearch").click(function () {
    showSearchLayer('#pgSearch');
});

$("#searchClose").click(function () {
    closeSearchLayer();
});

function showSearchLayer(idLayer) {
    $(idLayer).addClass("slideSearch");
    $(".slideSearch").removeClass("closeSearcher").addClass("openSearcher");
    $("body").addClass("ov-h");
    $('#wrapper.container-fluid-1280').addClass('overlay2');
}

function closeSearchLayer() {
    $(".slideSearch").removeClass("openSearcher").addClass("closeSearcher");
    $("body").removeClass("ov-h");
    $(".input__label-content").addClass("disable-slide");
    $('#wrapper.container-fluid-1280').removeClass('overlay2');
}

// FIN Script tema movido aqui

function triggerSearchEvent(event, inputId, showOverlay) {
    $('#searchHits').empty();
    var lookup = $('#' + inputId).val();
    event.preventDefault();
    if (showOverlay)
        showSearchLayer('#pgSearch');
    else
        $( ".tit-search" ).removeClass( "hidden-xs hidden-sm" );

    $('.search-input').val(lookup);
    $('.search-text').text(lookup);
    searchAndGetResults(lookup);
}

function searchAndGetResults(keyword) {
    $.ajax({
        async: true,
        url: searchURL + "&keyword=" + keyword,
        success: function (data, textStatus, jqXHR) {
            if (data) {
                console.debug("AJAX success");
                paintResultHits(JSON.parse(data));
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            console.error("Fatal error doing the Ajax call");
        },
        cache: false
    });

}

function paintResultHits(hits) {
    $('#hits-count').text(hits.length)
    if (hits.length === 0)
        $('#searchHits').append(buildEmptyResponse());
    else
        hits.forEach(function (curHit) {
            $('#searchHits').append(buildHtmlOfHit(curHit));
        });
}

function buildHtmlOfHit(hit) {
    return "<li><a href='" + hit['url'] + "'><img src='" + hit['imageUrl'] + "' alt='T&iacute;tulo 1'/></a><div><a href='" + hit['url'] + "'>" + hit['name'] + "</a><p>" + hit['description'] + "</p></div></li>";
}

function buildEmptyResponse() {
    return "<p>Lo sentimos. No se han encontrado resultados para tu b&uacute;squeda.<p>";
}

function classReg(className) {
    return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}

function onInputFocus(ev) {
    classie.add(ev.target.parentNode, 'input--filled');
}

function onInputBlur(ev) {
    if (ev.target.value.trim() === '') {
        classie.remove(ev.target.parentNode, 'input--filled');
    }
}

var hasClass, addClass, removeClass;

if ('classList' in document.documentElement) {
    hasClass = function (elem, c) {
        return elem.classList.contains(c);
    };
    addClass = function (elem, c) {
        elem.classList.add(c);
    };
    removeClass = function (elem, c) {
        elem.classList.remove(c);
    };
}
else {
    hasClass = function (elem, c) {
        return classReg(c).test(elem.className);
    };
    addClass = function (elem, c) {
        if (!hasClass(elem, c)) {
            elem.className = elem.className + ' ' + c;
        }
    };
    removeClass = function (elem, c) {
        elem.className = elem.className.replace(classReg(c), ' ');
    };
}

function toggleClass(elem, c) {
    var fn = hasClass(elem, c) ? removeClass : addClass;
    fn(elem, c);
}

var classie = {
    // full names
    hasClass: hasClass,
    addClass: addClass,
    removeClass: removeClass,
    toggleClass: toggleClass,
    // short names
    has: hasClass,
    add: addClass,
    remove: removeClass,
    toggle: toggleClass
};

if (!String.prototype.trim) {
    (function () {
        // Make sure we trim BOM and NBSP
        var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
        String.prototype.trim = function () {
            return this.replace(rtrim, '');
        };
    })();
}

[].slice.call(document.querySelectorAll('input.input__field')).forEach(function (inputEl) {
    // in case the input is already filled..
    if (inputEl.value.trim() !== '') {
        classie.add(inputEl.parentNode, 'input--filled');
    }

    // events:
    inputEl.addEventListener('focus', onInputFocus);
    inputEl.addEventListener('blur', onInputBlur);
});

window.classie = classie;




