Привет всем. Хочу спросить, есть ли тут кто-то, кто может обьяснить что делает приведённый ниже скрипт. Буду очень благодарен за любые коменты, идеи, источники - куда копать .
(function(app){
var orderParam = {};
var orderTabl, returnDialog;
if (app) {
app.myorders = {
init : function(global){
orderParam = global;
orderTabl = $("#js_orderTbl");
returnDialog = $("#js_dialog");
this.bindEvents();
this.util.initTableSorter();
this.util.initOrder(orderParam.orderNo);
this.util.initDialog(returnDialog, 500, 600, '');
returnDialog.removeClass('js_hide');
},
bindEvents : function(){
var that = this;
$("#js_tableSorting").bind("change", that.tableSortingHandler);
$("input[type='radio'][name='order']").bind("change", that.changeOrderHandler);
$(".js_vieworder").bind("click", that.viewOrderHandler);
$('.js_dialog').bind("click", that.showDialogHandler);
},
tableSortingHandler : function() {
var val = parseInt($(this).val());
var sorting = [[val,0],[val,0]];
orderTabl.trigger("sorton",[sorting]);
app.myorders.util.initOrder(null);
return false;
},
changeOrderHandler : function() {
app.myorders.util.getOrderDetails($(this).val());
},
viewOrderHandler : function(event) {
event.preventDefault();
var orderNo = $(this).attr("id").replace("ono_", "");
app.myorders.util.getOrderDetails(orderNo);
$('input[type=radio][value='+orderNo+']').attr( "checked", "checked" );
},
showDialogHandler : function() {
returnDialog.dialog("open");
},
// Order Details Page
initOrderDetails : function() {
$(".js_addtocart").bind("click", function() {
$this = $(this);
$this.addClass('js_hide');
var pid = $(this).attr("id").replace("atocpid_", "");
app.minicart.add( "", {pid : pid, Quantity : 1}, function(){
$this.removeClass('js_hide');
});
});
},
util : {
initTableSorter : function(){
orderTabl.tablesorter();
},
initOrder : function(ono) {
var eOrder = null;
if (ono != null && ono != "") {
eOrder = orderTabl.find("input[type='radio'][value="+ono+"]");
}
if (eOrder == null) {
eOrder = orderTabl.find("input[type='radio'][name='order']").first();
}
eOrder.attr( "checked", "checked" );
this.getOrderDetails(eOrder.val());
},
getOrderDetails : function(orderNo) {
var request = $.ajax({
url: orderParam.detailsUrl,
type: "POST",
data: {orderNo : orderNo},
dataType: "html"
});
request.done(function(data) {
$("#js_orderDetails").html(data);
});
request.fail(function(jqXHR, textStatus) {
console.error( "Request failed: " + textStatus );
});
},
initDialog : function(elm, h, w, title) {
elm.dialog({
bgiframe: true,
autoOpen: false,
modal: true,
height: h,
width: w,
title: title,
resizable: false
});
}
}
}
} else {
alert("app namespace is not loaded yet!");
}
})(app)