var busy = false;

function isInteger(s) {
  return (s.toString().search(/^-?[0-9]+$/) == 0);
}

// Закрыть окно
function modal_close()
{
    $('#modal_div').hide();
}

// Открыть окно с текстом
function modal_open_txt(txt)
{
    $('#modal_div .modal-content').html(txt);
    $('#modal_div').show();
}

// Открыть окно с быстрым заказом
function modal_form(link)
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query(link,
		{'form' : $('#add_bag_form')[0]},
		function(result, errors){
            busy = false;			
			if (result && result.res == 1){
                $('#modal_div .modal-content').html(result.txt);
                $('#modal_div').show();
            } else {
                console.log(errors);
			}
		}, true
	);
}

//меняем фото на карточке товара
function selectImg(img, title)
{
    var str = '<a href="/files/catalog/items/'+img+'" rel="shadowbox[cat]" title="'+title+'" ><img src="/files/catalog/items/'+img+'" width="300" /></a>';
    $('.gallery .main').html(str);
    Shadowbox.setup(jQuery('.gallery .main a').get());
}

//меняем фото на карточке товара
function selectImgS(img, title)
{
    var str = '<a href="/files/samples/'+img+'" rel="shadowbox[smpl]" title="'+title+'" ><img src="/files/samples/'+img+'" width="300" /></a>';
    $('.gallery .main').html(str);
    Shadowbox.setup(jQuery('.gallery .main a').get());
}

//обратная связь
function sendFeedback()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/feedback/validate/',
		{'form' : $('#feedback_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#feedback_form', result);
			} else if (result && result.res == 1){
                $('#feedback_form').html(result.text);
            } else {
                console.log(errors);
			}
		}, true
	);
}

//Персчет суммы
function bagRecalc()
{
    var summ_all = 0;

    //размер
    var ob = $('#select_size input:checked');
   
   textVar = new String(ob.parent().text());    
   someArray = textVar.split(/[x]/);  
   
   var imgWidth = parseInt(someArray[0]);
   var imgLength = parseInt(someArray[1])
  
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_size').val(id);
    summ_all += summ;

    //стекло
    var ob = $('#select_glass input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_glass').val(id);
    summ_all += summ;

    //Ножки
    var ob = $('#select_support input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_support').val(id);
    summ_all += summ;

    //Рисунок
    var ob = $('#select_image input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_image').val(id);   
    summ_all += summ*(imgWidth*imgLength/1000000);   
   
    //Ткань
    var ob = $('#select_cloth input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_cloth').val(id);
    summ_all += summ;

    //Цвета
    var ob = $('#select_color input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_color').val(id);
    summ_all += summ;

    //Высота
    var ob = $('#select_height input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_height').val(id);
    summ_all += summ;

    //Ролики
    var ob = $('#select_roller input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_roller').val(id);
    summ_all += summ;

    //Подставка
    var ob = $('#select_rack input:checked');
    var summ = parseInt($(ob).val());
    if (isNaN(summ)) summ = 0;
    var id = $(ob).attr("item");
    $('#input_rack').val(id);
    summ_all += summ;

    $('#item_price').text(summ_all);
    $('#input_price').val(summ_all);
}

// Добавление модели в корзину
function add_bag()
{
    bagRecalc();
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/katalog/bag/addItem/',
		{'form' : $('#add_bag_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#add_bag_form', result);
			} else if (result && result.res == 1){
                $('#ucart .ucart_msg').html(result.msg);
                $('#ucart .ucart_clear').show();
                modal_open_txt(result.modal_txt);
            } else {
                console.log(errors);
			}
		}, true
	);
}

// Удаление модели из корзины
function removeItemBag(id)
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/katalog/bag/rmItem/',
		{'id' : id},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#add_bag_form', result);
			} else if (result && result.res == 1){
                if (result.count < 1){
                    window.location.assign('/');
                    return;
                }
                $('.item_'+id).remove();
                $('#ucart .ucart_msg').html(result.txt);
                
                bagSummRecalc();
            } else {
                console.log(errors);
			}
		}, true
	);
}

// Очистка корзины
function clear_bag()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/katalog/bag/clear/',
		{},
		function(result, errors){
            busy = false;
			if (result && result.res == 1){
                $('#ucart .ucart_msg').html(result.msg);
                $('#ucart .ucart_clear').hide();
            } else {
                console.log(errors);
			}
		}, true
	);

}

function sendBag()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/katalog/bag/send/',
		{'form' : $('#bag_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#bag_form', result);
			} else if (result && result.res == 1){
                $('#bag_form').html(result.msg);
                $('.menu .full-bag strong').html('');

                //корзина
                $('#ucart .ucart_msg').html(result.clear_bag);
                $('#ucart .ucart_clear').hide();
            } else {
                console.log(errors);
			}
		}, true
	);
}

function bagSummRecalc()
{
    var summ_all = 0;
    var count_all = 0;
    var summ_count = 0;
    var assembly = 0;
    var ass = 0;
    var delivery = parseFloat($('#sel_delivery').val());

    $('#bag_form tr.itembgval').each(function(){
        var count = $('.bg_count', this).val();
        if (!isInteger(count) || count > 1000) {
            count = 1;
            $('.bg_count', this).val('1');
        }

        summ_all += count * $('.bg_price', this).val();
        assembly += count * $('.bg_assembly', this).val();
        count_all += parseInt(count);
    });

    summ_count = summ_all;
    summ_all += delivery;

    if ($('#ch_assembly').is(':checked')) {
        summ_all += assembly;
        ass = assembly;
    }

    $('.bag_pr #bag_summ').html(summ_all);
    $('#assembly').val(assembly);

    $('#price_delivery').html(delivery);
    $('#price_assembly').html(ass);

    if (busy) return false;
    busy = true;
	JsHttpRequest.query('/katalog/bag/getCount/',
		{'count':count_all, 'summ' : summ_count},
		function(result, errors){
            busy = false;
            if (result && result.res == 1){
                $('#ucart .ucart_msg').html(result.msg);
			}
		}, true
	);
}

function calcDelivery(obj)
{
    var price = $('option:selected', obj).attr('price');
    var fix = $('option:selected', obj).attr('fix');

    if (fix > 0) {
        $('#sel_delivery').val(price);
        $('#delivery_msg').html('');
    } else {
        $('#sel_delivery').val(0);
        $('#delivery_msg').html(price);
    }
    bagSummRecalc();
}

function sendFriends()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/friends/validate/',
		{'form' : $('#friends_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#friends_form', result);
			} else if (result && result.res == 1){
                $('#friends_form').html(result.text);
            } else {
                console.log(errors);
			}
		}, true
	);
}

function sendCallback()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/callback/validate/',
		{'form' : $('#callback_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#callback_form', result);
			} else if (result && result.res == 1){
                $('#modal_div .modal-content').html(result.text);
                //modal_close();
            } else {
                console.log(errors);
			}
		}, true
	);
}

//обратная связь
function sendFeedback()
{
    if (busy) return false;
    busy = true;

	JsHttpRequest.query('/feedback/validate/',
		{'form' : $('#feedback_form')[0]},
		function(result, errors){
            busy = false;
			if (result && result.res == 0){
				$.dqValidate('#feedback_form', result);
			} else if (result && result.res == 1){
                $('#feedback_form').html(result.text);
            } else {
                console.log(errors);
			}
		}, true
	);
}

