/* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA * @copyright 2007-2013 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ function PS_SE_HandleEvent() { $(document).ready(function() { $('#id_country').change(function() { resetAjaxQueries(); updateStateByIdCountry(); }); if (SE_RefreshMethod == 0) { $('#id_state').change(function() { resetAjaxQueries(); updateCarriersList(); }); $('#zipcode').bind('blur keyup',function(e) { if (e.type == 'blur' || e.keyCode == '13') { resetAjaxQueries(); updateCarriersList(); } }); } $('#update_carriers_list').click(function() { updateCarriersList(); }); $('#carriercompare_submit').click(function() { resetAjaxQueries(); saveSelection(); return false; }); updateStateByIdCountry(); }); } function displayWaitingAjax(type, message) { $('#SE_AjaxDisplay').find('p').html(message); $('#SE_AjaxDisplay').css('display', type); } function updateStateByIdCountry() { $('#id_state').children().remove(); $('#availableCarriers').slideUp('fast'); $('#states').slideUp('fast'); displayWaitingAjax('block', SE_RefreshStateTS); var query = $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: baseDir + 'modules/carriercompare/ajax.php' + '?rand=' + new Date().getTime(), data: 'method=getStates&id_country=' + $('#id_country').val(), dataType: 'json', success: function(json) { if (json.length) { for (state in json) { $('#id_state').append(''); } $('#states').slideDown('fast'); } if (SE_RefreshMethod == 0) updateCarriersList(); displayWaitingAjax('none', ''); } }); ajaxQueries.push(query); } function updateCarriersList() { $('#carriercompare_errors_list').children().remove(); $('#availableCarriers').slideUp('normal', function(){ $(this).find(('tbody')).children().remove(); $('#noCarrier').slideUp('fast'); displayWaitingAjax('block', SE_RetrievingInfoTS); var query = $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: baseDir + 'modules/carriercompare/ajax.php' + '?rand=' + new Date().getTime(), data: 'method=getCarriers&id_country=' + $('#id_country').val() + '&id_state=' + $('#id_state').val() + '&zipcode=' + $('#zipcode').val(), dataType: 'json', success: function(json) { if (json.length) { for (carrier in json) { var html = ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+((json[carrier].delay != null) ? json[carrier].delay : '') +''+ ''; if (json[carrier].price) { html += ''+(displayPrice == 1 ? formatCurrency(json[carrier].price_tax_exc, currencyFormat, currencySign, currencyBlank) : formatCurrency(json[carrier].price, currencyFormat, currencySign, currencyBlank))+''; } else { html += txtFree; } html += ''+ ''; $('#carriers_list').append(html); } displayWaitingAjax('none', ''); $('#availableCarriers').slideDown(); } else { displayWaitingAjax('none', ''); $('#noCarrier').slideDown(); } } }); ajaxQueries.push(query); }); } function saveSelection() { $('#carriercompare_errors').slideUp(); $('#carriercompare_errors_list').children().remove(); displayWaitingAjax('block', SE_RedirectTS); var query = $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: baseDir + 'modules/carriercompare/ajax.php' + '?rand=' + new Date().getTime(), data: 'method=saveSelection&' + $('#compare_shipping_form').serialize(), dataType: 'json', success: function(json) { if (json.length) { for (error in json) $('#carriercompare_errors_list').append('
  • '+json[error]+'
  • '); $('#carriercompare_errors').slideDown(); displayWaitingAjax('none', ''); } else { $('.SE_SubmitRefreshCard').fadeOut('fast'); location.reload(true); } } }); ajaxQueries.push(query); return false; } var ajaxQueries = new Array(); function resetAjaxQueries() { for (i = 0; i < ajaxQueries.length; ++i) ajaxQueries[i].abort(); ajaxQueries = new Array(); }