var body;
alertify.set('notifier','position', 'top-right');

(function ($) {
    $(document).ready(function () {
        'use strict';
        $(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);

        body = $('body');

        body.on('submit', 'form.form-ajax', function(){
            var data;
            var error = false;
            var form = $(this);
			var yaCounterID = form.data("yacounter");
			//console.log(">> yaCounter = " + form.data("yacounter"));
            var formHidden = $('.form-content', form);
            var message = $('.form-message', form);

            if(message.length == 0){
                var message = $('.form-message', form.parent());
            }

            $('.required', form).removeClass('form-error');
            $('.required', form).each(function(){
                if($(this).val() == '') {
                    error = true;
                    $(this).addClass('form-error');
                }
            });


            if( form.hasClass("calc-report-form") ){
                var inputsWrap = $(".calc-report-form .hidden-inputs");
                inputsWrap.html('');
                
                $('.calc-report-form__input-summ').val($('.s-calc-result-bottom').html() + ' сом.');


                $('.s-calc-count input').each(function() {
                    if ( $(this).val() != 0) {
                        inputsWrap.append('<input type="hidden" name="'+ $(this).closest("tr").find("td:nth-child(2)").html() + '. (' + $(this).closest("tr").find("td:nth-child(3)").html() + '-' + $(this).val() 
                            +');" value="' +  ( ($(this).attr("date-price") * 1) * ($(this).val() * 1) )  + ' сом.">'
                        );

                    }

                });

            }

            if($('.formCalc') != undefined) {
                var formCalc = $('.formCalc').serializeArray();
                var ajaxForm = form.serializeArray();
                data = formCalc.concat(ajaxForm);
            } else {
                data = form.serializeArray();
            };


            if(!error){
                $.ajax({
                    url: '/ajax/form',
                    data: data,
                    success: function(data){
                        console.log(data)
                        if(data.success){
                            $('input:not(:submit)', form).val('');
                            $('textarea', form).val('');
							if (yaCounterID) yaCounter34056770.reachGoal(yaCounterID);
                            //formHidden.hide();

                            //message.css('color', '#323232');
                            //message.html(data.msg);
                            if( form.hasClass("calc-report-form") ) {
                                form.find(':submit').attr("disabled", "disabled");
                            };
                            alertify.success(data.msg);
                            $.fancybox.close();
                        }
                        else {
                            //message.css('color', '#ff0000');
                            //message.html(data.error);
                            alertify.error(data.error);

                        }
                    },
                    type: "POST", dataType: "json"
                });
            }
            else {
                //message.css('color', '#ff0000');
                //message.html('Заполните обязательные поля');
                alertify.error('Заполните обязательные поля');
            }

            return false;
        });

        body.on('submit', '.validate-form', function(){
            var form = $(this);
            var requiredError = false;
            $('.form-error', form).removeClass('form-error');

            $('.required', form).each(function(){
                var type = $(this).attr('type');
                if(type == 'text' && $(this).val() == '') {
                    requiredError = true;
                    $(this).addClass('form-error');
                }
                if((type == 'radio' || type == 'checkbox') && !$(this).prop('checked')) {
                    requiredError = true;
                    $(this).addClass('form-error');
                }
            });


            if(!requiredError) {
                return true;
            }
            else {
                $(".form-error", form).first().focus();
                alertify.error('Заполните все обязательные поля');
            }

            return false;
        });

        body.on('click', '.goSubmit', function(){
            $(this).closest('form').submit();
        });


        body.on('change', '.reloadByValue', function(){
            window.location.replace($(this).val());
            return false;
        });

        body.on('submit', '.sendResponse', function(){
            var $this = $(this);

            $.post('/ajax/response/', $this.serializeArray(), function(data)
            {
                if(data.success){
                    $this.closest('form').remove();
                    alertify.success('Ваш отзыв скоро появится!');
                }
                else {
                    alertify.error('Ошибка');
                }

            }, 'json');

            return false;
        });

        body.on('submit', '.sendResponse2', function(){
            var $this = $(this);

            $.post('/ajax/response2/', $this.serializeArray(), function(data)
            {
                if(data.success){
                    $this.closest('form').remove();
                    alertify.success('Ваш отзыв скоро появится!');
                }
                else {
                    alertify.error('Ошибка');
                }

            }, 'json');

            return false;
        });

        body.on('submit', '.formCalc', function(){
            var form = $(this);
            var resultPrice = 0;

            $('input:not(.calcSum--input)', form).each(function (e) {
                var go = true;

                if($(this).attr("type") == "radio" || $(this).attr("type") == "checkbox") {
                    if(!$(this).prop("checked")) {
                        go = false;
                    }
                }
                else {
                    if($(this).val() == "" && $(this).data('price') != undefined) {
                        go = false;
                    }
                }


                if(go) {
                    var price = parseInt($(this).data('price'));
                    if($(this).data('multiply') != undefined && $(this).data('multiply')) {
                        price = price*parseInt($(this).val());
                    }
					
                    resultPrice = resultPrice+price;

                    
                    
                }

            });

            $('select', form).each(function (e) {
                var option = $(this).find("option:selected");
                if(option.size() > 0 && option.data('price') != undefined){
                    var price = parseInt(option.data('price'));
                    if(option.data('multiply') != undefined && option.data('multiply')) {
                        if($(this).val() != "") price = price*parseInt($(this).val());
                    }

                    resultPrice = resultPrice+price;
                }

            });
            
			resultPrice = resultPrice*parseInt($('.square_all').val());
			
            // $('.calcSumBlock').show();
            $('.b-form-calculator__price').text(resultPrice);
            $('.calcSum--input').val(resultPrice);

            return false;
        });
		
        var repairTypeSelected = false;
        $('.formCalc .repair-type input').on('change', function() {
            if($('.formCalc .square_all').val() != "") {
                 $('.formCalc').submit();
            }
            repairTypeSelected = true;    
        });
        $('.formCalc .square_all').on('keydown keyup', function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
            (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
            (e.keyCode >= 35 && e.keyCode <= 40)) {
                 return;
        }
        
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
        if(repairTypeSelected && e.type === "keyup") {
            $('.formCalc').submit();
        }
    });






		// Подгрузка информации после загрузки страницы (для SEO)
		$(".ajax_loading_block").each(function(indx, element){
			if ($(element).data('filename')) {
				$.ajax({
					type: "POST",
					url: "/sitefiles/include/" + $(element).data('filename') + ".php",
					data: "",
					success: function(data) {
						$(element).html(data);	
					}
				});
			}
		});
		// END Подгрузка информации после загрузки страницы 
		
    });
})(jQuery);

function number_format( number, decimals, dec_point, thousands_sep )
{

    var i, j, kw, kd, km;


    if( isNaN(decimals = Math.abs(decimals)) ){
        decimals = 2;
    }
    if( dec_point == undefined ){
        dec_point = ",";
    }
    if( thousands_sep == undefined ){
        thousands_sep = ".";
    }

    i = parseInt(number = (+number || 0).toFixed(decimals)) + "";

    if( (j = i.length) > 3 ){
        j = j % 3;
    } else{
        j = 0;
    }

    km = (j ? i.substr(0, j) + thousands_sep : "");
    kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);

    kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");


    return km + kw + kd;
}