1361 lines
39 KiB
JavaScript
Executable File
1361 lines
39 KiB
JavaScript
Executable File
/**
|
|
* 2007-2014 Mondial relay
|
|
*
|
|
* 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 Mondial relay so we can send you a copy immediately.
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to this file if you wish to upgrade Mondial relay to newer
|
|
* versions in the future. If you wish to customize Mondial relay for your
|
|
* needs please refer to Mondial relay for more information.
|
|
*
|
|
* @author Mondial relay
|
|
* @copyright 2007-2014 Mondial relay
|
|
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
|
* International Registered Trademark & Property of Mondial relay
|
|
*/
|
|
var PS_MRObject = (function($, undefined) {
|
|
|
|
var toggle_status_order_list = false;
|
|
var toggle_history_order_list = false;
|
|
var relay_point_max = 10;
|
|
var last_gmap_info_clicked = '';
|
|
|
|
// /!\ All the following list data could be store into the same variable
|
|
// But for a better reading of the code, there are separated
|
|
|
|
// List of the supplier id which the user trying to fetch the relay
|
|
var fetchingRelayPoint = new Array();
|
|
|
|
// List of the relay point object
|
|
var relayPointDataContainers = new Array();
|
|
|
|
// List of the google map object
|
|
var GmapList = new Object();
|
|
|
|
// List the marker liable to the relay pint
|
|
var markerList = new Object();
|
|
|
|
var selected = false;
|
|
|
|
/**
|
|
* Toggle selected orders
|
|
*/
|
|
function toggleOrderListSelection()
|
|
{
|
|
toggle_status_order_list = !toggle_status_order_list;
|
|
$('input[name="order_id_list[]"]').attr('checked', toggle_status_order_list);
|
|
}
|
|
|
|
/**
|
|
* Toggle selected histories
|
|
*/
|
|
function toggleHistoryListSelection()
|
|
{
|
|
toggle_history_order_list = !toggle_history_order_list;
|
|
$('input[name="history_id_list[]"]').attr('checked', toggle_history_order_list);
|
|
}
|
|
|
|
/**
|
|
* Request Ajax call to get tickets
|
|
*
|
|
* @param detailedExpeditionList
|
|
*/
|
|
function getTickets(detailedExpeditionList)
|
|
{
|
|
$.ajax(
|
|
{
|
|
type : 'POST',
|
|
url : _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data : {'detailedExpeditionList':detailedExpeditionList, 'method':'MRGetTickets', 'mrtoken':mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
if (json && json.success)
|
|
{
|
|
$('#MR_error_histories').remove();
|
|
for (id_order in json.success)
|
|
if (json.success[id_order])
|
|
{
|
|
$('#URLA4_' + id_order).html('<a href="' + json.success[id_order].URLPDF_A4 + '">\
|
|
<img width="20" src="' + _PS_MR_MODULE_DIR_ + 'img/pdf_icon.jpg" alt="download pdf"" /></a>');
|
|
$('#URLA5_' + id_order).html('<a href="' + json.success[id_order].URLPDF_A5 + '">\
|
|
<img width="20" src="' + _PS_MR_MODULE_DIR_ + 'img/pdf_icon.jpg" alt="download pdf"" /></a>');
|
|
$('#URL10x15_' + id_order).html('<a href="' + json.success[id_order].URLPDF_A5 + '">\
|
|
<img width="20" src="' + _PS_MR_MODULE_DIR_ + 'img/pdf_icon.jpg" alt="download pdf"" /></a>');
|
|
$('#expeditionNumber_' + id_order).html(json.success[id_order].expeditionNumber);
|
|
$('#detailHistory_' + id_order).children('td').children('input').attr('value', json.success[id_order].id_mr_history);
|
|
$('#detailHistory_' + id_order).children('td').children('input').attr('id', 'PS_MRHistoryId_' + json.success[id_order].id_mr_history);
|
|
}
|
|
}
|
|
displayBackGenerateSubmitButton();
|
|
displayBackHistoriesSubmitButton();
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
displayBackGenerateSubmitButton();
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Check error for the generated tickets
|
|
* @param json
|
|
*/
|
|
function checkErrorGeneratedTickets(json)
|
|
{
|
|
i = 0;
|
|
$('.PS_MRErrorList').fadeOut('fast', function()
|
|
{
|
|
if ((++i >= $('.PS_MRErrorList').length) && json && json.error)
|
|
for (id_order in json.error)
|
|
if (json.error[id_order] && json.error[id_order].length)
|
|
{
|
|
$('#errorCreatingTicket_' + id_order).children('td').children('span').html('');
|
|
$('#errorCreatingTicket_' + id_order).fadeOut('slow');
|
|
$('#errorCreatingTicket_' + id_order).fadeIn('slow');
|
|
for (numError in json.error[id_order])
|
|
$('#errorCreatingTicket_' + id_order).children('td').children('span').append(json.error[id_order][numError] + '<br >');
|
|
}
|
|
});
|
|
checkOtherErrors(json);
|
|
}
|
|
|
|
/**
|
|
* Check Errors code
|
|
* @param json
|
|
*/
|
|
function checkOtherErrors(json)
|
|
{
|
|
$('#otherErrors').fadeOut('fast', function()
|
|
{
|
|
if (json && json.other && json.other.error)
|
|
for (numError in json.other.error)
|
|
if (json.other.error[numError])
|
|
{
|
|
$('#otherErrors').fadeIn('slow');
|
|
$('#otherErrors').children('span').html('');
|
|
$('#otherErrors').children('span').append(json.other.error[numError]);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Check anything about generated tickets
|
|
* @param json
|
|
*/
|
|
function checkSucceedGenerateTickets(json)
|
|
{
|
|
detailedExpeditionList = new Array();
|
|
|
|
i = 0;
|
|
$('.PS_MRSuccessList').fadeOut('fast', function()
|
|
{
|
|
if ((++i >= $('.PS_MRSuccessList').length) && json && json.success)
|
|
{
|
|
for (id_order in json.success)
|
|
if (json.success[id_order] && json.success[id_order].expeditionNumber)
|
|
{
|
|
$('#successCreatingTicket_' + id_order).children('td').children('span').html('');
|
|
$('#PS_MRLineOrderInformation-' + id_order).remove();
|
|
$('#successCreatingTicket_' + id_order).fadeIn('slow');
|
|
detailedExpeditionList.push({'id_order':id_order, 'expeditionNumber':json.success[id_order].expeditionNumber});
|
|
|
|
if (!$('#detailHistory_' + id_order).length)
|
|
{
|
|
$('#PS_MRHistoriqueTableList').append('\
|
|
<tr id="detailHistory_' + id_order + '">\
|
|
<td><input type="checkbox" class="history_id_list" name="history_id_list[]" value="' + id_order + '" /></td>\
|
|
<td>' + id_order + '</td>\
|
|
<td id="expeditionNumber_' + id_order + '"><img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" /></td>\
|
|
<td id="URLA4_' + id_order + '"><img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" /></td>\
|
|
<td id="URLA5_' + id_order + '"><img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" /></td>\
|
|
<td id="URL10x15_' + id_order + '"><img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" /></td>\
|
|
</tr>');
|
|
}
|
|
else
|
|
{
|
|
$('#detailHistory_' + id_order).children('#URLA4_' + id_order).html('<img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" />');
|
|
$('#detailHistory_' + id_order).children('#URLA5_' + id_order).html('<img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" />');
|
|
$('#detailHistory_' + id_order).children('#URL10x15_' + id_order).html('<img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" />');
|
|
$('#detailHistory_' + id_order).children('#expeditionNumber_' + id_order).html('<img src="' + _PS_MR_MODULE_DIR_ + 'img/getTickets.gif" />');
|
|
}
|
|
$('#successCreatingTicket_' + id_order).fadeOut('slow');
|
|
}
|
|
|
|
$('.PS_MRSubmitButton').css('display', 'block');
|
|
}
|
|
if(detailedExpeditionList.length)
|
|
return detailedExpeditionList;
|
|
});
|
|
return detailedExpeditionList;
|
|
}
|
|
|
|
/**
|
|
* Display the button to generate tickets
|
|
*/
|
|
function displayBackGenerateSubmitButton()
|
|
{
|
|
$('#PS_MRSubmitGenerateLoader').css('display', 'none');
|
|
if ($('.order_id_list').length)
|
|
$('#PS_MRSubmitButtonGenerateTicket').fadeIn('slow');
|
|
}
|
|
|
|
/**
|
|
* Display the button to delete histories
|
|
*/
|
|
function displayBackHistoriesSubmitButton()
|
|
{
|
|
$('#PS_MRSubmitDeleteHistoriesLoader').css('display', 'none');
|
|
if ($('.history_id_list').length)
|
|
$('#PS_MRSubmitButtonDeleteHistories').fadeIn('slow');
|
|
}
|
|
|
|
/**
|
|
* Request an ajax call to generate the tickets
|
|
*/
|
|
function generateTicketsAjax()
|
|
{
|
|
var order_id_list = new Array();
|
|
var weight_list = new Array();
|
|
var insurance_list = new Array();
|
|
|
|
$('#PS_MRSubmitButtonGenerateTicket').css('display', 'none');
|
|
$('#PS_MRSubmitGenerateLoader').fadeIn('slow');
|
|
|
|
numSelected = $('input[name="order_id_list[]"]:checked').length;
|
|
$('input[name="order_id_list[]"]:checked').each(function()
|
|
{
|
|
order_id_list.push($(this).val());
|
|
weight_list.push(($('#weight_' + $(this).val()).val()) + '-' + $(this).val());
|
|
insurance_list.push(($('#insurance_' + $(this).val()).val()) + '-' + $(this).val());
|
|
});
|
|
|
|
$.ajax(
|
|
{
|
|
type : 'POST',
|
|
url : _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data : {'order_id_list' : order_id_list,
|
|
'numSelected' : numSelected,
|
|
'weight_list' : weight_list,
|
|
'insurance_list' : insurance_list,
|
|
'method' : 'MRCreateTickets',
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
detailedExpeditionList = new Array();
|
|
|
|
checkErrorGeneratedTickets(json);
|
|
detailedExpeditionList = checkSucceedGenerateTickets(json);
|
|
|
|
if (detailedExpeditionList.length)
|
|
getTickets(detailedExpeditionList);
|
|
else
|
|
displayBackGenerateSubmitButton();
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
display_generate_button = true;
|
|
displayBackGenerateSubmitButton();
|
|
}
|
|
});
|
|
|
|
delete(order_id_list);
|
|
delete(weight_list);
|
|
delete(insurance_list);
|
|
}
|
|
|
|
/**
|
|
* Display deleted history details
|
|
*/
|
|
function displayDeletedHistoryInformation()
|
|
{
|
|
$('input[name="history_id_list[]"]:checked').each(function()
|
|
{
|
|
$(this).parent().parent().css('background-color', '#FFE2E3');
|
|
});
|
|
displayBackHistoriesSubmitButton();
|
|
}
|
|
|
|
/**
|
|
* Manage the removed histories id
|
|
*
|
|
* @param json
|
|
*/
|
|
function checkDeletedHistoriesId(json)
|
|
{
|
|
if (json && json.success)
|
|
{
|
|
// Allow to wait the end of the loop to manage unremoved item
|
|
i = 0;
|
|
for (numberHistoryId in json.success.deletedListId)
|
|
{
|
|
$('#PS_MRHistoryId_' + json.success.deletedListId[numberHistoryId]).parent().parent().fadeOut('fast', function() {
|
|
$(this).remove();
|
|
// Fadeout is asynchome verify everytime the number element
|
|
if (++i == json.success.deletedListId.length)
|
|
displayDeletedHistoryInformation(json.success.deletedListId.length);
|
|
});
|
|
}
|
|
// Use if none element exist in the list
|
|
if (i == json.success.deletedListId.length)
|
|
displayDeletedHistoryInformation();
|
|
}
|
|
else
|
|
displayBackHistoriesSubmitButton();
|
|
}
|
|
|
|
/**
|
|
* Delete the histories selected by the merchant
|
|
*/
|
|
function deleteSelectedHistories()
|
|
{
|
|
var history_id_list = new Array();
|
|
|
|
$('#PS_MRSubmitButtonDeleteHistories').css('display', 'none');
|
|
$('#PS_MRSubmitDeleteHistoriesLoader').fadeIn('slow');
|
|
|
|
numSelected = $('input[name="order_id_list[]"]:checked').length;
|
|
$('input[name="history_id_list[]"]:checked').each(function()
|
|
{
|
|
history_id_list.push($(this).val());
|
|
});
|
|
|
|
$.ajax(
|
|
{
|
|
type : 'POST',
|
|
url : _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data : {'history_id_list' : history_id_list,
|
|
'numSelected' : numSelected,
|
|
'method' : 'DeleteHistory',
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
checkOtherErrors(json);
|
|
checkDeletedHistoriesId(json);
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
display_generate_button = true;
|
|
displayBackHistoriesSubmitButton();
|
|
}
|
|
});
|
|
}
|
|
|
|
function PS_MRSubmitButtonPrintSelected(format) {
|
|
var history_id_list = new Array();
|
|
var history_id_list_str = '';
|
|
$('input[name="history_id_list[]"]:checked').each(function()
|
|
{
|
|
var id_order = $.trim($(this).parent().next().html());
|
|
var expeditionNumber = $.trim($(this).parent().next().next().html());
|
|
history_id_list.push({'id_order':id_order, 'expeditionNumber':expeditionNumber});
|
|
expeditionNumber = strPad(expeditionNumber,8,0);
|
|
history_id_list_str += expeditionNumber+';';
|
|
});
|
|
|
|
if(history_id_list.length) {
|
|
history_id_list_str = history_id_list_str.substr(0,(history_id_list_str.length-1));
|
|
$.ajax(
|
|
{
|
|
type : 'POST',
|
|
url : _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data : {
|
|
'detailedExpeditionList' : history_id_list_str,
|
|
'history_id_list' : history_id_list,
|
|
'method' : 'MRDownloadPDF',
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
var url = json.success[0];
|
|
if(format == 4 && url!=null) {
|
|
document.location.href= url.URL_PDF_A4;
|
|
}
|
|
if(format == 5 && url!=null) {
|
|
document.location.href= url.URL_PDF_A5;
|
|
}
|
|
if(format == '10x15' && url!=null) {
|
|
document.location.href= url.URL_PDF_10x15;
|
|
}
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function strPad(input, length, string) {
|
|
string = string || '0'; input = input + '';
|
|
return input.length >= length ? input : new Array(length - input.length + 1).join(string) + input;
|
|
}
|
|
/**
|
|
* Display a fancy box displaying details about the
|
|
* backup of the database
|
|
*/
|
|
function PS_MRGetUninstallDetail(url)
|
|
{
|
|
$.ajax(
|
|
{
|
|
type: 'POST',
|
|
url: _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data: {'method' : 'uninstallDetail',
|
|
'action' : 'showFancy',
|
|
'href' : url,
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
((json.html.length) ?
|
|
$.fancybox(json.html,
|
|
{
|
|
'autoDimensions' : false,
|
|
'width' : 450,
|
|
'height' : 'auto',
|
|
'transitionIn' : 'none',
|
|
'transitionOut' : 'none',
|
|
'onComplete' : function()
|
|
{
|
|
PS_MRHandleUninstallButton(url);
|
|
|
|
// Rewrite some css properties of Fancybox
|
|
$('#fancybox-wrap').css('width', '');
|
|
$('#fancybox-content').css('background-color', '');
|
|
$('#fancybox-content').css('border', '');
|
|
}
|
|
})
|
|
: '');
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
// Put debug to see error detail
|
|
}
|
|
});
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Handle the button when a user clicked on the uninstall button
|
|
*/
|
|
function PS_MRHandleUninstallButton(url)
|
|
{
|
|
$('#PS_MR_BackupAction').click(function()
|
|
{
|
|
$.fancybox.close();
|
|
PS_MRBackupDatabase(url);
|
|
});
|
|
|
|
$('#PS_MR_UninstallAction').click(function()
|
|
{
|
|
window.location.href = url;
|
|
$.fancybox.close();
|
|
return true;
|
|
});
|
|
|
|
$('#PS_MR_StopUninstall').click(function()
|
|
{
|
|
$.fancybox.close();
|
|
return false;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Ajax call to keep the database of the module safe
|
|
*/
|
|
function PS_MRBackupDatabase(url)
|
|
{
|
|
$.ajax(
|
|
{
|
|
type: 'POST',
|
|
url: _PS_MR_MODULE_DIR_+"ajax.php",
|
|
data: {'method' : 'uninstallDetail',
|
|
'action' : 'backupAndUninstall',
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
url += '&keepDatabase=true';
|
|
window.location.href = url;
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
// Put debug to see error detail
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Add / update a entry to the selected carrier to the mr_selected table
|
|
* with the selected relay point information
|
|
*
|
|
* @param relayPointNumber
|
|
* @param id_carrier
|
|
*/
|
|
function PS_MRAddSelectedRelayPointInDB(relayPointNumber, id_carrier)
|
|
{
|
|
PS_MRSelectedRelayPoint['relayPointNum'] = relayPointNumber;
|
|
|
|
// Ajax call to add the selection in the database (compatibility for 1.3)
|
|
// But keep this way to add a selection better that the hook
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: _PS_MR_MODULE_DIR_ + 'ajax.php',
|
|
data: {'method' : 'addSelectedCarrierToDB',
|
|
'relayPointInfo' : relayPointDataContainers[relayPointNumber],
|
|
'id_carrier' : id_carrier,
|
|
'id_mr_method' : PS_MRCarrierMethodList[id_carrier],
|
|
'mrtoken' : mrtoken},
|
|
success: function(json)
|
|
{
|
|
if (PS_MROPC && PS_MRData.PS_VERSION < '1.5')
|
|
updateCarrierSelectionAndGift();
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Add / update a entry to the selected carrier to the mr_selected table
|
|
* Without relay point information
|
|
*
|
|
* @param id_carrier
|
|
*/
|
|
function PS_MRAddSelectedCarrierInDB(id_carrier)
|
|
{
|
|
PS_MRHideLastRelayPointList();
|
|
|
|
// Make the request
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: _PS_MR_MODULE_DIR_ + 'ajax.php',
|
|
data: {'method' : 'addSelectedCarrierToDB',
|
|
'id_carrier' : id_carrier,
|
|
'id_mr_method' : PS_MRCarrierMethodList[id_carrier],
|
|
'mrtoken' : mrtoken},
|
|
success: function(json)
|
|
{
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Handle function when an user click on a shipping
|
|
*
|
|
* @param carrierSelected
|
|
* @param id_carrier
|
|
* @param MRLivraisonType
|
|
*/
|
|
function PS_MRCarrierSelectedProcess(carrierSelected, id_carrier, MRLivraisonType)
|
|
{
|
|
// Reset for any carrier changement
|
|
if (MRLivraisonType != 'LD1' && MRLivraisonType != 'LDS' && MRLivraisonType != 'HOM')
|
|
{
|
|
// Seek Relay point if it doesn't a home delivery mode
|
|
PS_MRGetRelayPoint(carrierSelected);
|
|
}
|
|
else
|
|
{
|
|
// Simply add the selected carrier to the db, relay information will be empty
|
|
PS_MRAddSelectedCarrierInDB(id_carrier);
|
|
|
|
// Won't have any relay points
|
|
PS_MRSelectedRelayPoint['relayPointNum'] = -1;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Hide the last displayed relay point list
|
|
*/
|
|
function PS_MRHideLastRelayPointList()
|
|
{
|
|
$('.PS_MRSelectedCarrier').fadeOut('fast');
|
|
}
|
|
|
|
/**
|
|
* Check if the user select a carrier and a relay point if exist
|
|
*/
|
|
function PS_MRCheckSelectedRelayPoint()
|
|
{
|
|
var input;
|
|
|
|
// Check if the input is linked to the module and look into
|
|
// a temporary variable if a relay point has been selected
|
|
if ((input = $('input[name=id_carrier]:checked')).length &&
|
|
PS_MRCarrierMethodList[input.val()] != undefined &&
|
|
PS_MRSelectedRelayPoint['relayPointNum'] == 0)
|
|
{
|
|
//$('#PS_MRSelectCarrierError').fadeIn('fast');
|
|
alert(PS_MRTranslationList['errorSelection']);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Link the generated relay point to an handle click
|
|
* Allow to add the selected relay point in the database
|
|
*/
|
|
function PS_MRHandleSelectedRelayPoint()
|
|
{
|
|
// Link all new generated relay point Selected button to an action
|
|
$('.PS_MRSelectRelayPointButton').click(function()
|
|
{
|
|
// Unselect all previous selection (normaly juste one)
|
|
$('.PS_MRFloatRelayPointSelected').each(function()
|
|
{
|
|
$(this).attr('class', 'PS_MRFloatRelayPointSelecteIt');
|
|
$(this).children('a').text(PS_MRTranslationList['Select']);
|
|
});
|
|
// Make the Selection
|
|
$(this).html(PS_MRTranslationList['Selected']);
|
|
$(this).parent().attr('class', 'PS_MRFloatRelayPointSelected');
|
|
|
|
// Get the info about the relay point (relayPoint_RelayPointNumber_IdCarrier)
|
|
var tab = $(this).parent().parent().attr('id').split('_');
|
|
|
|
// Store Separated data for the ajax query
|
|
if (tab.length == 3)
|
|
{
|
|
var relayPointNumber = tab[1];
|
|
var id_carrier = tab[2];
|
|
PS_MRAddSelectedRelayPointInDB(relayPointNumber, id_carrier);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
/**
|
|
* Display the relay point fetched
|
|
*
|
|
* @param json
|
|
* @param blockContent
|
|
* @param carrier_id
|
|
*/
|
|
function PS_MRDisplayRelayPoint(json, blockContent, carrier_id)
|
|
{
|
|
if (typeof json != 'undefined' && typeof blockContent != 'undefined')
|
|
{
|
|
numberDisplayed = 0;
|
|
|
|
// Disable Gmap for IE user
|
|
// if (!$.browser.msie)
|
|
PS_MRCreateGmap(carrier_id);
|
|
blockContent.fadeOut('fast', function()
|
|
{
|
|
$(this).children('td').html('');
|
|
for (relayPoint in json.success)
|
|
{
|
|
// Check if the the content wasn't already displayed
|
|
contentBlockid = 'relayPoint_' + json.success[relayPoint].Num + '_' + carrier_id;
|
|
if (!$('#' + contentBlockid).size())
|
|
{
|
|
// Set translation if a preselection exist
|
|
var BtTranslation = (PS_MRSelectedRelayPoint['relayPointNum'] == json.success[relayPoint].Num) ?
|
|
PS_MRTranslationList['Selected'] : PS_MRTranslationList['Select'];
|
|
|
|
var classSelection = (PS_MRSelectedRelayPoint['relayPointNum'] == json.success[relayPoint].Num) ?
|
|
'PS_MRFloatRelayPointSelected' : 'PS_MRFloatRelayPointSelecteIt';
|
|
|
|
$('<div class="PS_MRRelayPointInfo clearfix" id="' + contentBlockid + '">'
|
|
+ '<img src="' + _PS_MR_MODULE_DIR_ + 'logo.png" />'
|
|
+ '<p><b>' + json.success[relayPoint].LgAdr1 + '</b><br /> ' + json.success[relayPoint].LgAdr3
|
|
+ ' - ' + json.success[relayPoint].CP + ' - ' + json.success[relayPoint].Ville
|
|
+ ' ' + json.success[relayPoint].Pays + '</p>'
|
|
+ '<div class="' + classSelection + '">'
|
|
+ '<a class="PS_MRSelectRelayPointButton">' + BtTranslation + '</a>'
|
|
+ '</div> \
|
|
</div>').appendTo($(this).children('td'));
|
|
|
|
// Store all the object content to prevent an ajax request
|
|
relayPointDataContainers[json.success[relayPoint].Num] = json.success[relayPoint];
|
|
++numberDisplayed;
|
|
// Display popup for IE user
|
|
//if (!$.browser.msie)
|
|
PS_MRAddGMapMarker(carrier_id, json.success[relayPoint].Num, contentBlockid);
|
|
/* else
|
|
$('#' + contentBlockid).children('p').click(function() {
|
|
PS_MROpenPopupDetail(json.success[relayPoint].permaLinkDetail);
|
|
});*/
|
|
}
|
|
}
|
|
PS_MRHandleSelectedRelayPoint();
|
|
$(this).fadeIn('fast');
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Display error about the fetch of the relay point
|
|
*
|
|
* @param errorList
|
|
* @param blockContent
|
|
*/
|
|
function PS_MRDisplayErrorRelayPoint(errorList, blockContent)
|
|
{
|
|
|
|
blockContent.fadeOut('fast', function()
|
|
{
|
|
$(this).children('td').html('');
|
|
for (numError in errorList)
|
|
{
|
|
$('<div class="error">' + errorList[numError] + '</div>').appendTo($(this).children('td'));
|
|
}
|
|
$(this).fadeIn('fast');
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Fetch the relay point
|
|
*
|
|
* @param carrierSelected
|
|
*/
|
|
function PS_MRFetchRelayPoint(carrierSelected)
|
|
{
|
|
carrier_id = carrierSelected.val().replace(',', '');
|
|
// Block is an input, we need the 'tr' element
|
|
blockTR =$('#MR_PR_list_'+carrier_id+' tr');
|
|
// Add a new line to the table after the clicked parent element
|
|
blockTR.after(' \
|
|
<tr class="PS_MRSelectedCarrier" id="PS_MRSelectedCarrier_' + carrier_id + '"> \
|
|
<td colspan="4"><div> \
|
|
<img src="' + _PS_MR_MODULE_DIR_ + 'img/loader.gif" alt="" /> \
|
|
</div> \
|
|
</td></tr>');
|
|
|
|
fetchingRelayPoint[carrier_id] = $('#PS_MRSelectedCarrier_' + carrier_id);
|
|
$.ajax(
|
|
{
|
|
type: 'POST',
|
|
url: _PS_MR_MODULE_DIR_ + 'ajax.php',
|
|
data: {'method' : 'MRGetRelayPoint',
|
|
'id_carrier' : carrier_id,
|
|
'ajax' : true,
|
|
'step' : 2,
|
|
'mrtoken' : mrtoken},
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
if (json && json.error && json.error.length)
|
|
PS_MRDisplayErrorRelayPoint(json.error, $('#PS_MRSelectedCarrier_' + carrier_id));
|
|
else if (json && json.success)
|
|
PS_MRDisplayRelayPoint(json, $('#PS_MRSelectedCarrier_' + carrier_id), carrier_id);
|
|
},
|
|
error: function(xhr, ajaxOptions, thrownError)
|
|
{
|
|
// Put debug to see error detail
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Display the relay point of a selected Carrier and keep fetched data
|
|
* in the html page (cache)
|
|
*
|
|
* @param carrierSelected
|
|
*/
|
|
function PS_MRGetRelayPoint(carrierSelected)
|
|
{
|
|
carrier_id = carrierSelected.val().replace(',','');
|
|
|
|
// Init back the inital view, hide existing element, (keep cached)
|
|
element = 0;
|
|
totalElement = $('.PS_MRSelectedCarrier').size();
|
|
|
|
// Check if the element has already been fetched
|
|
if (totalElement)
|
|
// It Works like a foreach
|
|
$('.PS_MRSelectedCarrier').fadeOut('fast', function()
|
|
{
|
|
if ((element + 1) >= totalElement)
|
|
{
|
|
// Check if the user already clicked and if the process is done
|
|
if (typeof fetchingRelayPoint[carrier_id] != 'undefined')
|
|
{
|
|
fetchingRelayPoint[carrier_id].fadeIn('fast');
|
|
return ;
|
|
}
|
|
// If the element isn't cached, we fetch it
|
|
PS_MRFetchRelayPoint(carrierSelected);
|
|
}
|
|
++element;
|
|
});
|
|
else
|
|
PS_MRFetchRelayPoint(carrierSelected);
|
|
}
|
|
|
|
/**
|
|
* Create the Gmap Block and cache the js object for the carrier
|
|
*
|
|
* @param id_carrier
|
|
*/
|
|
function PS_MRCreateGmap(id_carrier)
|
|
{
|
|
// This has been written this way because it needed to have a known block
|
|
// present everytime in the page. Body is the only one sure.
|
|
// It's an hidden block which will be put in the right block when user select his
|
|
// own carrier
|
|
return;
|
|
$('body').prepend('\
|
|
<tr id="PS_MRGmapDefaultPosition_' + id_carrier + '" class="PS_MRGmapDefaultPosition">\
|
|
<td colspan="4"> \
|
|
<div id="PS_MRGmap_' + id_carrier + '" class="PS_MRGmapStyle">\
|
|
</div></td</tr>');
|
|
$('#PS_MRGmap_' + id_carrier).gmap3(
|
|
{
|
|
action: 'init',
|
|
callback: function(result)
|
|
{
|
|
GmapList[id_carrier] = $(this);
|
|
// Can't set the display to none by default (bug due to
|
|
// navigator that tell to google that the content size = 0
|
|
//$(this).toggle('fast');
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Resize the map when the div got changement about dimension / position and displaying
|
|
*
|
|
* @param $map
|
|
*/
|
|
function PS_MRGmapResizeEvent($map)
|
|
{
|
|
gmap = $map.gmap3({action:'get'});
|
|
google.maps.event.trigger(gmap, 'resize');
|
|
}
|
|
|
|
/**
|
|
* Move the view of the gmap to a marker
|
|
* liable to the relay point
|
|
*
|
|
* @param $map
|
|
* @param marker
|
|
* @param relayNum
|
|
*/
|
|
function PS_MRGmapPlaceViewOnMarker($map, marker, relayNum)
|
|
{
|
|
$map.gmap3(
|
|
{
|
|
action:'panTo',
|
|
args:[marker.position],
|
|
callback: function()
|
|
{
|
|
PS_MRDisplayClickedGmapWindow(marker, relayNum, $map);
|
|
|
|
// Make dancing markers in Firefox / IE will use the CPU to 50 to 100 % about
|
|
if (!$.browser.msie && !$.browser.mozilla)
|
|
(function(m)
|
|
{
|
|
setTimeout(function()
|
|
{
|
|
m.setAnimation(google.maps.Animation.BOUNCE);
|
|
}, 200);
|
|
})(marker);
|
|
// marker.setAnimation(google.maps.Animation.BOUNCE);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Stop all dancing marker of the current selected carrier
|
|
*
|
|
* @param currentMarkerList
|
|
*/
|
|
function PS_MRStopDancingMarkers(currentMarkerList)
|
|
{
|
|
for (markerNumber in currentMarkerList)
|
|
if (currentMarkerList[markerNumber] != undefined)
|
|
if (currentMarkerList[markerNumber].getAnimation() != null)
|
|
currentMarkerList[markerNumber].setAnimation(null);
|
|
}
|
|
|
|
/**
|
|
* Display the Gmap of the selected relay point
|
|
*
|
|
* @param contentBlockid
|
|
* @param $map
|
|
*/
|
|
function PS_MRDisplayGmap(contentBlockid, $map)
|
|
{
|
|
var tab = contentBlockid.split('_');
|
|
var relayPointNumber = tab[1];
|
|
var id_carrier = tab[2];
|
|
|
|
// Stop the dancing marker of the current carrier
|
|
PS_MRStopDancingMarkers(markerList[id_carrier]);
|
|
if ($('#PS_MRGmap_' + id_carrier).css('display') == 'none')
|
|
{
|
|
$('#' + contentBlockid).after($('#PS_MRGmap_' + id_carrier));
|
|
$('#PS_MRGmap_' + id_carrier).slideDown('fast', function()
|
|
{
|
|
PS_MRGmapResizeEvent($map);
|
|
PS_MRGmapPlaceViewOnMarker($map, markerList[id_carrier][relayPointNumber], relayPointNumber);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
previousElem = $('#PS_MRGmap_' + id_carrier).prev();
|
|
//$('#' + contentBlockid).after($('#PS_MRGmap_' + id_carrier));
|
|
$('#PS_MRGmap_' + id_carrier).toggle('fast', function()
|
|
{
|
|
if (previousElem.attr('id') != contentBlockid)
|
|
{
|
|
$('#' + contentBlockid).after($(this));
|
|
$('#PS_MRGmap_' + id_carrier).slideDown('fast', function()
|
|
{
|
|
PS_MRGmapResizeEvent($map);
|
|
PS_MRGmapPlaceViewOnMarker($map, markerList[id_carrier][relayPointNumber], relayPointNumber);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Generate an html block to display the opening hours details
|
|
*
|
|
* @param relayInfo
|
|
*/
|
|
function PS_MRGetTimeRelayDetail(relayInfo)
|
|
{
|
|
var params = "\'height=200, width=400, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no\'";
|
|
onClick = 'onClick="window.open(\'' + relayInfo.permaLinkDetail + '\', \'MondialRelay\', '+ params +' )"';
|
|
|
|
var html = ' \
|
|
<div class="PS_MRGmapBulbe"> \
|
|
<img src="' + _PS_MR_MODULE_DIR_ + 'logo.png" width="10%" style="float:left;" /> \
|
|
<p><b>' + relayInfo.LgAdr1 + '</b><br /> ' + relayInfo.LgAdr3
|
|
+ ' - ' + relayInfo.CP + ' - ' + relayInfo.Ville
|
|
+ ' ' + relayInfo.Pays + '</p> \
|
|
<a href="javascript:void(0)" ' + onClick + '>' + PS_MRTranslationList['moreDetails'] + '</a> \
|
|
</div>';
|
|
return html;
|
|
}
|
|
|
|
/**
|
|
* Call a MondialRelay page into a popup
|
|
*
|
|
* @param url
|
|
*/
|
|
function PS_MROpenPopupDetail(url)
|
|
{
|
|
window.open(url, 'MondialRelay',
|
|
'height=200, width=400, top=100, left=100, toolbar=no, menubar=yes, \
|
|
location=no, resizable=yes, scrollbars=no, status=no');
|
|
}
|
|
|
|
/**
|
|
* Display the gmap windows selected by the user
|
|
*
|
|
* @param marker
|
|
* @param relayNum
|
|
* @param mapObject
|
|
*/
|
|
function PS_MRDisplayClickedGmapWindow(marker, relayNum, mapObject)
|
|
{
|
|
if (last_gmap_info_clicked.length)
|
|
{
|
|
// Close the last opening window in gmap
|
|
if ((lastWin = mapObject.gmap3({action:'get', name:'infowindow', tag:last_gmap_info_clicked})))
|
|
lastWin.close();
|
|
}
|
|
|
|
// Open the selected detail window
|
|
map = mapObject.gmap3('get');
|
|
if ((currentWindow = mapObject.gmap3({action:'get', name:'infowindow', tag:relayNum})))
|
|
currentWindow.open(map, marker);
|
|
last_gmap_info_clicked = relayNum;
|
|
}
|
|
|
|
/**
|
|
* Add a new Marker to a Gmap for a carrier using the
|
|
* relay point information
|
|
*
|
|
* @param id_carrier
|
|
* @param relayPointNumber
|
|
* @param contentBlockid
|
|
*/
|
|
function PS_MRAddGMapMarker(id_carrier, relayPointNumber, contentBlockid)
|
|
{
|
|
// Check if the gmap has been properly created
|
|
if (GmapList[id_carrier] == undefined)
|
|
return ;
|
|
var relayInfo = relayPointDataContainers[relayPointNumber];
|
|
var detailContentHtml = PS_MRGetTimeRelayDetail(relayInfo);
|
|
|
|
// Add Marker to the map
|
|
var fullFormatedAddress = relayInfo.LgAdr1 + ' ' + relayInfo.LgAdr3 + ' ' +
|
|
relayInfo.CP + ' ' + relayInfo.Ville + ' ' + relayInfo.Pays;
|
|
GmapList[id_carrier].gmap3(
|
|
{
|
|
action: 'addMarker',
|
|
address: fullFormatedAddress,
|
|
tag:relayInfo.Num,
|
|
map:
|
|
{
|
|
center: true,
|
|
zoom: 14
|
|
},
|
|
marker: {
|
|
events:
|
|
{
|
|
click:function(marker, event, data)
|
|
{
|
|
PS_MRDisplayClickedGmapWindow(marker, relayInfo.Num, $(this));
|
|
}
|
|
},
|
|
callback: function(marker)
|
|
{
|
|
if (marker)
|
|
{
|
|
// Check if the a marker list exist for the carrier,
|
|
if (markerList[id_carrier] == undefined)
|
|
markerList[id_carrier] = new Object();
|
|
|
|
// Store the marker in the markerList of the carrier
|
|
markerList[id_carrier][relayPointNumber] = marker;
|
|
|
|
// Link all relay point line info to an action
|
|
$('#' + contentBlockid).children('p').click(function()
|
|
{
|
|
PS_MRDisplayGmap($(this).parent().attr('id'), GmapList[id_carrier]);
|
|
});
|
|
return true;
|
|
}
|
|
else
|
|
$('#' + contentBlockid).children('p').click(function()
|
|
{
|
|
PS_MROpenPopupDetail(relayInfo.permaLinkDetail);
|
|
});
|
|
}
|
|
},
|
|
infowindow:
|
|
{
|
|
options: {content:detailContentHtml},
|
|
tag:relayInfo.Num,
|
|
callback: function(infowindow) {
|
|
|
|
var windowList = $(this).gmap3({action:'get', name:'infowindow', all:true});
|
|
$.each(windowList, function(i, elem) {
|
|
elem.close();
|
|
});
|
|
}
|
|
}
|
|
});
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Display the selected form block for the configuration page
|
|
* @param block_id
|
|
*/
|
|
function PS_MRDisplayConfigurationForm(block_id)
|
|
{
|
|
var block_form_id = block_id + '_block';
|
|
var total_form = $('.PS_MRFormType').length;
|
|
var i = 0;
|
|
$('.PS_MRFormType').each(function()
|
|
{
|
|
if ($(this).attr('id') != block_form_id)
|
|
$(this).css('display', 'none');
|
|
if ((i + 1) == total_form)
|
|
{
|
|
$('#' + block_form_id).fadeIn('fast');
|
|
$('#' + block_id).parents('ul').children('li').attr('class', '');
|
|
$('#' + block_id).parent().attr('class', 'selected');
|
|
}
|
|
++i;
|
|
});
|
|
|
|
if ($('#' + block_form_id).length == 0)
|
|
$('#MR_error_account').fadeIn('fast');
|
|
}
|
|
|
|
function checkToDisplayRelayList()
|
|
{
|
|
if (typeof PS_MRData != 'undefined')
|
|
{
|
|
PS_MRSelectedRelayPoint['relayPointNum'] = PS_MRData.pre_selected_relay;
|
|
|
|
if (PS_MRData.PS_VERSION < '1.5') {
|
|
$('input[name="id_carrier"]').each(function(i, e){
|
|
var parent_element = $(e).closest('tr');
|
|
var new_element = 'MR_PR_list_'+$(e).val().replace(',', '');
|
|
var MR_idcarrier = $(e).val().replace(',', '');
|
|
MR_carrier = isMRCarrier(MR_idcarrier);
|
|
|
|
if($('#'+new_element).length > 0) {
|
|
$('#'+new_element).parent().parent().parent().remove();
|
|
if( isMRCarrier(MR_idcarrier)!=false && typeof(MR_carrier) != "undefined" && (MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM')) {
|
|
$(parent_element).after(
|
|
'<tr><td colspan="10" style="border:0;height: auto;"><div><table width="98%" id="'+new_element+'" class="trMRSelected" style="display:none;"><tr>'
|
|
+ '<td style="border:0;"></td>'
|
|
+'</tr></table></div>'
|
|
+'</td></tr>'
|
|
);
|
|
}
|
|
}
|
|
else {
|
|
if( isMRCarrier(MR_idcarrier)!=false ) {
|
|
if(typeof(MR_carrier) != "undefined" && (MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM'))
|
|
{
|
|
$(parent_element).after(
|
|
'<tr><td colspan="10" style="border:0;height: auto;"><div><table width="98%" id="'+new_element+'" class="trMRSelected" style="display:none;"><tr>'
|
|
+ '<td style="border:0;"></td>'
|
|
+'</tr></table></div>'
|
|
+'</td></tr>'
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
if($(e).attr('checked') == 'checked' || $(e).attr('checked')) {
|
|
if(MR_carrier != false) {
|
|
PS_MRCarrierMethodList[MR_idcarrier] = MR_carrier.id_mr_method;
|
|
PS_MRSelectedRelayPoint['carrier_id'] = MR_idcarrier;
|
|
var new_element = 'MR_PR_list_'+MR_idcarrier;
|
|
|
|
PS_MRCarrierSelectedProcess($(this), MR_idcarrier, MR_carrier.dlv_mode);
|
|
|
|
if(MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM')
|
|
$('.trMRSelected').fadeIn('fast');
|
|
else
|
|
$('.trMRSelected').fadeOut('fast');
|
|
}
|
|
else {
|
|
PS_MRHideLastRelayPointList();
|
|
PS_MRSelectedRelayPoint['relayPointNum'] = -1;
|
|
$('.trMRSelected').fadeOut('fast');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
$('input.delivery_option_radio').each(function(i, e){
|
|
var MR_idcarrier = $(e).val().replace(',', '');
|
|
MR_carrier = isMRCarrier(MR_idcarrier);
|
|
var carrier_selected = $('input.delivery_option_radio:checked').val();
|
|
var parent_element = $(e).parents('.delivery_option');
|
|
var new_element = 'MR_PR_list_'+MR_idcarrier;
|
|
if($('#'+new_element).length > 0) {
|
|
$('#'+new_element).remove();
|
|
if( isMRCarrier(MR_idcarrier)!=false && typeof(MR_carrier) != "undefined" && (MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM')) {
|
|
$(parent_element).append(
|
|
'<div><table width="98%" id="'+new_element+'" class="trMRSelected" style="display:none;"><tr>'
|
|
+ '<td></td>'
|
|
+'</tr></table></div>');
|
|
}
|
|
}
|
|
else {
|
|
if( isMRCarrier(MR_idcarrier)!=false && typeof(MR_carrier) != "undefined" && (MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM')) {
|
|
$(parent_element).append(
|
|
'<div><table width="98%" id="'+new_element+'" class="trMRSelected" style="display:none;"><tr>'
|
|
+ '<td></td>'
|
|
+'</tr></table></div>');
|
|
}
|
|
}
|
|
|
|
// Hide MR input if one of them is not selected
|
|
if($(e).val() == carrier_selected)
|
|
{
|
|
if(MR_carrier != false) {
|
|
PS_MRCarrierMethodList[MR_idcarrier] = MR_carrier.id_mr_method;
|
|
PS_MRSelectedRelayPoint['carrier_id'] = MR_idcarrier;
|
|
var new_element = 'MR_PR_list_'+MR_idcarrier;
|
|
|
|
PS_MRCarrierSelectedProcess($(this), MR_idcarrier, MR_carrier.dlv_mode);
|
|
|
|
if(MR_carrier.dlv_mode!='LD1' && MR_carrier.dlv_mode!='LDS' && MR_carrier.dlv_mode!='HOM')
|
|
$('.trMRSelected').fadeIn('fast');
|
|
else
|
|
$('.trMRSelected').fadeOut('fast');
|
|
}
|
|
else {
|
|
PS_MRHideLastRelayPointList();
|
|
PS_MRSelectedRelayPoint['relayPointNum'] = -1;
|
|
$('.trMRSelected').fadeOut('fast');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function isMRCarrier(id_carrier){
|
|
var carrier_list = PS_MRData.carrier_list;
|
|
for(i in carrier_list){
|
|
var MR_carrier = carrier_list[i];
|
|
if(MR_carrier.id_carrier == id_carrier) {
|
|
return MR_carrier;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
$(document).ready(function()
|
|
{
|
|
$('#form').submit(function()
|
|
{
|
|
return PS_MRCheckSelectedRelayPoint();
|
|
});
|
|
$('#toggleStatusOrderList').click(function()
|
|
{
|
|
toggleOrderListSelection();
|
|
});
|
|
$('#toggleStatusHistoryList').click(function()
|
|
{
|
|
toggleHistoryListSelection();
|
|
});
|
|
$('#generate').click(function()
|
|
{
|
|
generateTicketsAjax();
|
|
});
|
|
$('#PS_MRSubmitButtonDeleteHistories').click(function()
|
|
{
|
|
deleteSelectedHistories();
|
|
});
|
|
$('#PS_MRSubmitButtonPrintSelectedA4').click(function()
|
|
{
|
|
PS_MRSubmitButtonPrintSelected(4);
|
|
});
|
|
$('#PS_MRSubmitButtonPrintSelectedA5').click(function()
|
|
{
|
|
PS_MRSubmitButtonPrintSelected(5);
|
|
});
|
|
$('#PS_MRSubmitButtonPrintSelected10x15').click(function()
|
|
{
|
|
PS_MRSubmitButtonPrintSelected('10x15');
|
|
});
|
|
|
|
// Shipping method list
|
|
$('.send_disable_carrier_form').click(function() {
|
|
$(this).parent('form').submit();
|
|
});
|
|
|
|
// Configuration form page
|
|
$('#MR_config_menu a').each(function() {
|
|
$(this).click(function() {
|
|
PS_MRDisplayConfigurationForm($(this).attr('id'));
|
|
});
|
|
})
|
|
|
|
if (typeof(PS_MR_SELECTED_TAB ) != 'undefined')
|
|
$('#MR_' + PS_MR_SELECTED_TAB + '_block').fadeIn('fast');
|
|
|
|
// Have the <li> elements centered (TODO: Change it using css if possible)
|
|
if ($('#MR_config_menu').size())
|
|
{
|
|
var width = $('#MR_config_menu').width();
|
|
|
|
// Take directly the ul width woudln't work
|
|
var ul_width = 0;
|
|
|
|
$('#MR_config_menu').find('ul > li').each(function() {
|
|
|
|
var padding_left = parseInt($(this).css('padding-left').replace(/[^-\d\.]/g, ''));
|
|
var padding_right = parseInt($(this).css('padding-right').replace(/[^-\d\.]/g, ''));
|
|
|
|
ul_width += parseInt($(this).width()) + padding_left + padding_right;
|
|
});
|
|
|
|
width = ((width - ul_width) / 2);
|
|
$('#MR_config_menu').children('ul').css('margin-left', width + 'px');
|
|
}
|
|
|
|
// 1.5 OPC Validation - Warn user to select a relay point
|
|
$('.payment_module a').live('click', function() {
|
|
if (typeof PS_MRData != 'undefined')
|
|
{
|
|
if (PS_MRData.PS_VERSION >= '1.5' && PS_MRData.carrier)
|
|
{
|
|
var _return = !(!PS_MRSelectedRelayPoint['carrier_id'] || !PS_MRSelectedRelayPoint['relayPointNum']);
|
|
if (!_return)
|
|
alert(PS_MRTranslationList['errorSelection']);
|
|
return _return;
|
|
}
|
|
}
|
|
});
|
|
|
|
// If MR carrier selected, check MR relay point is selected too
|
|
$('input[name=processCarrier], button[name=processCarrier]').click(function(){
|
|
var _return = !(PS_MRSelectedRelayPoint['carrier_id'] && !PS_MRSelectedRelayPoint['relayPointNum']);
|
|
if (!_return)
|
|
alert(PS_MRTranslationList['errorSelection']);
|
|
|
|
return _return;
|
|
});
|
|
|
|
if (typeof PS_MRData != 'undefined')
|
|
{
|
|
if (PS_MRData.PS_VERSION < '1.5') {
|
|
$('input[name="id_carrier"]').click(function(){
|
|
checkToDisplayRelayList();
|
|
});
|
|
}
|
|
}
|
|
|
|
// Handle input click of the other input to hide the previous relay point list displayed
|
|
});
|
|
|
|
// To have public method access for this closure
|
|
return {
|
|
initFront : function() {
|
|
checkToDisplayRelayList();
|
|
},
|
|
uninstall : function(url)
|
|
{
|
|
return PS_MRGetUninstallDetail(url);
|
|
}
|
|
};
|
|
})(jQuery);
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Check connexion to webservice *
|
|
*/
|
|
function mr_checkConnexion() {
|
|
var enseigne = $("#MR_enseigne_webservice").val();
|
|
var code_marque = $("#MR_code_marque").val();
|
|
var key = $("#MR_webservice_key").val();
|
|
$.ajax(
|
|
{
|
|
type : 'POST',
|
|
url: _PS_MR_MODULE_DIR_ + 'connexion.php',
|
|
data : "enseigne="+enseigne+"&code_marque="+code_marque+"&key="+key+"&token="+mrtoken,
|
|
dataType: 'json',
|
|
success: function(json)
|
|
{
|
|
if (json && json.success)
|
|
{
|
|
alert("Connection valide. Veuillez mettre à jour votre compte.");
|
|
}
|
|
else {
|
|
if(json && json.error)
|
|
alert(json.error);
|
|
else
|
|
alert("Service Indisponible");
|
|
}
|
|
}
|
|
});
|
|
} |