109 lines
2.6 KiB
Smarty
109 lines
2.6 KiB
Smarty
|
{if $ajaxsearch}
|
||
|
<script type="text/javascript">
|
||
|
// <![CDATA[
|
||
|
$('document').ready(function() {
|
||
|
|
||
|
var $input = $("#search_query_{$blocksearch_type}");
|
||
|
|
||
|
$input.autocomplete(
|
||
|
'{if $search_ssl == 1}{$link->getPageLink('search', true)|addslashes}{else}{$link->getPageLink('search')|addslashes}{/if}',
|
||
|
{
|
||
|
minChars: 3,
|
||
|
max: 10,
|
||
|
width: 500,
|
||
|
selectFirst: false,
|
||
|
scroll: false,
|
||
|
dataType: "json",
|
||
|
formatItem: function(data, i, max, value, term) {
|
||
|
return value;
|
||
|
},
|
||
|
parse: function(data) {
|
||
|
var mytab = [];
|
||
|
for (var i = 0; i < data.length; i++)
|
||
|
mytab[mytab.length] = { data: data[i], value: data[i].cname + ' > ' + data[i].pname };
|
||
|
return mytab;
|
||
|
},
|
||
|
extraParams: {
|
||
|
ajaxSearch: 1,
|
||
|
id_lang: {$cookie->id_lang}
|
||
|
}
|
||
|
})
|
||
|
.result(function(event, data, formatted) {
|
||
|
$input.val(data.pname);
|
||
|
document.location.href = data.product_link;
|
||
|
});
|
||
|
});
|
||
|
// ]]>
|
||
|
</script>
|
||
|
{/if}
|
||
|
|
||
|
{if $instantsearch}
|
||
|
<script type="text/javascript">
|
||
|
// <![CDATA[
|
||
|
function tryToCloseInstantSearch()
|
||
|
{
|
||
|
var $oldCenterColumn = $('#old_center_column');
|
||
|
if ($oldCenterColumn.length > 0)
|
||
|
{
|
||
|
$('#center_column').remove();
|
||
|
$oldCenterColumn.attr('id', 'center_column').show();
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
instantSearchQueries = [];
|
||
|
function stopInstantSearchQueries()
|
||
|
{
|
||
|
for(var i=0; i<instantSearchQueries.length; i++) {
|
||
|
instantSearchQueries[i].abort();
|
||
|
}
|
||
|
instantSearchQueries = [];
|
||
|
}
|
||
|
|
||
|
$('document').ready(function() {
|
||
|
|
||
|
var $input = $("#search_query_{$blocksearch_type}");
|
||
|
|
||
|
$input.on('keyup', function() {
|
||
|
if ($(this).val().length > 4)
|
||
|
{
|
||
|
stopInstantSearchQueries();
|
||
|
instantSearchQuery = $.ajax({
|
||
|
url: '{if $search_ssl == 1}{$link->getPageLink('search', true)|addslashes}{else}{$link->getPageLink('search')|addslashes}{/if}',
|
||
|
data: {
|
||
|
instantSearch: 1,
|
||
|
id_lang: {$cookie->id_lang},
|
||
|
q: $(this).val()
|
||
|
},
|
||
|
dataType: 'html',
|
||
|
type: 'POST',
|
||
|
headers: { "cache-control": "no-cache" },
|
||
|
async: true,
|
||
|
cache: false,
|
||
|
success: function(data){
|
||
|
if($input.val().length > 0)
|
||
|
{
|
||
|
tryToCloseInstantSearch();
|
||
|
$('#center_column').attr('id', 'old_center_column');
|
||
|
$('#old_center_column').after('<div id="center_column" class="' + $('#old_center_column').attr('class') + '">'+data+'</div>').hide();
|
||
|
// Button override
|
||
|
ajaxCart.overrideButtonsInThePage();
|
||
|
$("#instant_search_results a.close").on('click', function() {
|
||
|
$input.val('');
|
||
|
return tryToCloseInstantSearch();
|
||
|
});
|
||
|
return false;
|
||
|
}
|
||
|
else
|
||
|
tryToCloseInstantSearch();
|
||
|
}
|
||
|
});
|
||
|
instantSearchQueries.push(instantSearchQuery);
|
||
|
}
|
||
|
else
|
||
|
tryToCloseInstantSearch();
|
||
|
});
|
||
|
});
|
||
|
// ]]>
|
||
|
</script>
|
||
|
{/if}
|