так работает кнопка на первом степе
$("#orderCalculate").click(function() {
orderHidePrompt($("#orderCostCaption"));
if ($("#orderTimeForm").validationEngine("validate")) {
orderData.route = {};
$("#orderCost").removeClass("orderError").html(orderData.costWait);
$("#orderTimeForm input[name='phone']").val($("#orderTimeForm input[name='phone']").val().replace(/\D/g, ""));
var a = $("#orderAddressForm").serializeObject();
$.extend(a, $("#orderTimeForm").serializeObject());
orderData.channel && (a.channel = orderData.channel);
ajax({
//url: orderData.scriptsDir + "cost.php",
url: "cost.php",
data: a,
success: function(a) {
orderData.route = a;
orderData.route || (orderData.route = {
error: orderData.emptyData
});
if(!orderData.route.error) {
}
orderData.route.error ? ($("#orderCost").html(""), orderShowPrompt($("#orderCostCaption"), orderData.costError.format(orderData.route.error),
"error")) : (0 == orderData.route.cost ? $("#orderCost").html(orderData.costFact.format(orderData.route.cost)) : $("#orderCost").html(orderData.costSuccess.format(orderData.route.cost)), $("#orderMakeOrder").attr("disabled", !1), $("#orderFormRowBonus").addClass("orderHidden"), $("#orderBonus").empty(), orderData.route.bonus && ($.each(orderData.route.bonus, function(a, c) {
$("#orderBonus").append($("<option>", {
value: a
}).text(c.name))
}), 0 < $("#orderBonus").length && $("#orderFormRowBonus").removeClass("orderHidden").slideDown()),
orderData.route.wait && $("#orderCurrentWait").html(orderData.currentWait.format(orderData.route.wait)))
},
error: function(a, b, d) {
orderData.route = orderFormatError(a, b, d);
$("#orderCost").html("");
orderShowPrompt($("#orderCostCaption"), orderData.costError.format(orderData.route.error), "error")
}
})
}
});