// иницилизация формы списка доставок (1)
function init_delivery_list() {
$('input[name=delivery]').change(function(){
delivery_id = this.value;
city_id = $("select[name=city] option:selected").val();
$('input[name="delivery_hidden"]').val(delivery_id);
build_delivery_item(delivery_id, city_id);
});
}
// построение формы списка доставок (1)
function build_delivery_list(city_id) {
$('#form_delivery_list').html(loader);
$.ajax({
url: "/order/form_delivery_list/" + city_id + "/"
}).done(function(data) {
$('#form_delivery_list').html(data).fadeIn();
init_delivery_list();
$('input[name=delivery]:first').prop('checked', true).change();
});
}
// иницилизация формы данных доставки (2)
function init_delivery_item(delivery_id) {
// qiwi post init
if (delivery_id == 7) {
init_qiwipost();
}
// $('label[for=id_address], th>label[for=id_issue_0]').append('<span class="required"> * </span>');
add_yandex_address();
}
// построение формы данных доставки (2)
function build_delivery_item(delivery_id, city_id) {
$('#form_delivery_item').html(loader);
if (delivery_id == 3) {
url = '/order/form_delivery_item/' + delivery_id + '/' + city_id + '/';
} else {
url = '/order/form_delivery_item/' + delivery_id + '/';
}
$.ajax({
url: url
}).done(function(data) {
$('#form_delivery_item').html(data).fadeIn();
init_delivery_item(delivery_id);
});
}
// построение формы оплат (3)
function build_payment_list(city_id) {
$('#form_payment_list').html(loader);
$.ajax({
url: "/order/form_payment_list/" + city_id + "/"
}).done(function(data) {
$('#form_payment_list').html(data).fadeIn();
$('input[name=payment]:first').prop('checked', true).change();
});
}
// построение формы данных оплаты
function build_payment_item(payment_id) {
//$('#form_payment_item').html(loader);
$.ajax({
url: "/order/form_payment_item/" + payment_id + "/"
}).done(function(data) {
$('#form_payment_item').html(data).fadeIn();
});
}
// главная инициализация
function init(city_id, delivery_id) {
$('input[name="city_hidden"]').val(city_id);
$('input[name="delivery_hidden"]').val(delivery_id);
init_delivery_list();
$('input[name=delivery]:first').prop('checked', true).change();
$('input[name=payment]:first').prop('checked', true).change();
}
// Document ready
$(function() {
var foct = $(".form-order-city-text");
var _fd = [];
var c = 0;
$("#id_city option").each(function(){
var t = $(this);
if (t.attr("selected") && !foct.val()){
foct.val(t.text())
}
if (c) _fd.push(t.text());
c++;
});
function selectCity(name){
var os = $("#id_city option");
var ss = false;
os.removeAttr("selected");
for (var i = 0; i < os.length; i++){
var it = $(os[i]);
if (it.text() == name){
it.attr("selected", "selected");
$("#id_city").trigger("change");
ss=true;
break
}
}
if (!ss){
$(os[0]).attr("selected", "selected");
$("#id_city").trigger("change")
}
}
var lc;
foct.autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(_fd, request.term);
response(results.slice(0, 10))
},
minLength: 0,
autoFocus: true,
select: function(e, ui) {
lc = ui.item.value;
selectCity(lc)
},
change: function(e, ui) {
if (lc == foct.val()){
return
}
selectCity(foct.val())
}
})
foct.focus(function(e){
$(this).autocomplete("search", foct.val());
});
init(1999, 4);
$("#order-button").click(function() {
$(this).attr('disabled', 'disabled');
$('#form-order').submit();
});
$('select[name=city]').change(function(){
$('#form_delivery_list').html(loader);
$('#form_delivery_item').html(loader);
$('#form_payment_list').html(loader);
//$('#form_payment_item').html(loader);
$('input[name="city_hidden"]').val(this.value); // возможно не нужен, использовать city
build_delivery_list(this.value);
build_payment_list(this.value);
});
// валидация JS
$("#1click-form").validate({
rules: {
name: "required",
phone: "required"
},
messages: {
name: "укажите имя",
phone: "укажите телефон"
}
});
// звездочки на обязательных полях
$('label[for=id_city], label[for=id_name], label[for=id_number], label[for=id_address], th>label[for=id_issue_0]').append('<span class="required">*</span>');
add_yandex_address();
});