(function($){
    $(document).ready(function () {
	

        /**
         * Аккордеон блока ошибки
         */
        $(".plus").hover(function () {
            $(this).next(".plus-content").stop().slideToggle();
            $(this).toggleClass("expanded");
        });
        var catInfo = [];
        catInfo = JSON.parse($('.count-posts-in-category').html());
        for (var key in catInfo) {
            if (catInfo[key] != 0) {
                $(".nav-main-menu a[data-category='" + key + "']").after('<div class="menu-counter">' + catInfo[key] + '</div>');
            }
        }

        $(".success-stories > a").attr({target: "_blank", rel: "nofollow"});


        $(".phone").mask("+380(99) 999-99-99");

        function isValidEmail(email) {
            return (/^([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*\.[a-z]{2,6}$/.test(email));
        }

        function isValidName(val) {
            return (val.length < 100 && val.length > 2);
        }
		
		function isValidMessage(val) {
            return (val.length < 1000 && val.length > 2);
        }
		
        function isValidPhone(val) {
            return val != "";
        }

        function isValidHow(val) {
            return (val != "Откуда Вы узнали о Дне открытых дверей?" && val != "Откуда Вы узнали об Открытом уроке?");
        }
		
		
	    

    $(".landing-register-form").submit(function (e) {
            e.preventDefault();

            var path = window.location.origin+"/wp-content/plugins/itstep-landing-forms/load_form_data.php";
            //var path = window.location.origin+"/wp-dp/wp-content/plugins/itstep-landing-forms/load_form_data.php";
            var formData = $.ajax({
                type: 'POST',
                url: path,
                data: { load_form_data:5 },
                dataType: 'json',
                context: document.body,
                global: false,
                async:false,
                success: function(data) {
                    return data;
                }
            }).responseText;

            formData = JSON.parse(formData);

            $(".err-msg").each(function () {
                $(this).remove();
            });
            $(".error").each(function () {
                $(this).removeClass("error");
            });

            $('input,select,textarea', this).not("input[type='submit']").each(function () {
                var field = $(this).attr("class").split(" ")[0];
                switch (field) {
                    case "name":
                        !isValidName($(this).val()) ? $(this).addClass('error') : $(this).removeClass('error');
                        break;
                    case "phone" :
                        !isValidPhone($(this).val()) ? $(this).addClass('error') : $(this).removeClass('error');
                        break;
                    case "email" :
                        !isValidEmail($(this).val()) ? $(this).addClass('error') : $(this).removeClass('error');
                        break;
                    case "how-did-u-know" :
                        !isValidHow($(".how-did-u-know option:selected").val()) ? $(this).addClass('error') : $(this).removeClass('error');
                        break;
                    case "message":
                        !isValidMessage($(this).val()) ? $(this).addClass('error') : $(this).removeClass('error');
                        break;
                }
            });

            var lang = $("html").attr("lang");
            var errMsg = "";
            switch (lang) {
                case "ru":
                    errMsg = "Заполните поле корректно";
                    break;
				case "ro":
                    errMsg = "Va rugam sa completati corect spatiul destinat";
                    break;
                case "en":
                    errMsg = "Please fill this field correctly";
                    break;
                case "pt":
                    errMsg = "Por favor, preencha todos os campos corretamente";
                    break;
                default:
                    errMsg = "Please fill this field correctly";
            }
            $(".error").each(function () {
                $(this).before("<div class='err-msg'>" + errMsg + "</div>");
            });
            if ($(".error").length) {
                return false;
            }

            var name = $(this).find(".name");
            var email = $(this).find(".email");
            var phone = $(this).find(".phone");
            var direction = $(this).find(".direction");

            var message = $(this).find(".message");

            name.attr("name", "entry_" + formData.name);

            phone.attr("name", "entry_" + formData.phone);


            email.attr("name", "entry_" + formData.email);

            direction.attr("name", "entry_" + formData.direction);

            direction.val(formData.direction_name);

            if(message.length){
                message.attr("name", "entry_" + formData.message);
            }
            var action = formData.action_link;
            var statCityID = formData.stat_city_id;
            var statDirID = formData.stat_dir_id;
            $.post(action, $(this).serialize(), function (response) {
            });
	
            //yaCounter37450030.reachGoal('registration_camp_summer');
            ga('send', 'event', 'form', 'registration', 'camp_summer');
			fbq('track', 'Lead');
            $.ajax({
                type: "POST",
                url: "http://logbook.itstep.org/new/logbook/stats.php",
                data: "ins=1&name="+name.val()+"&phone="+phone.val()+"&email="+email.val()+"&city="+statCityID+"&direction="+statDirID
            });

            $("#thx").trigger("click")
            //$(this).submit();
            //$(this).trigger('reset');

            return false;
        });

        $(".call-reg-form").click(function () {
            $('.reg-form').bPopup({
                escClose: true,
                easing: 'swing',
                transition: 'slideDown'
            });
        });
        $(".q2m-call").click(function () {
            $('.q2m').bPopup({
                escClose: true,
                easing: 'swing',
                transition: 'slideDown'
            });
        });


    /* Таймер обратного отсчета */
    function daysDiff(t1,t2){
        return parseInt((t2-t1)/(24*3600*1000));
    }
    function getDays(time){
        return parseInt(time/(24*3600*1000));
    }

    var set_slide = function (selector, slide) {
        $(selector).each(function () {
            var position = slide * 400 + 300;


            var block = $(this);
            var shift = function () {
                //костыль для первой цифры в часах, когда там 0
                if(position > 50000){
                    position = 300;
                }
                block.css('background-position', '0 ' + position + 'px');
                position -= 100;
            }
            setTimeout(shift, 60);
            setTimeout(shift, 120);
            setTimeout(shift, 180);
            setTimeout(shift, 240);
        });
    }


    // var target_time = new Date(2014, 10, 22, 12, 33, 0);
    var target_time = new Date(2014, 10, 29, 0, 00, 0);
    target_time = target_time.valueOf();
    var tick = function (init) {
        if (init == undefined) {
            init = false;
        }
        var current_time = new Date();
        current_time = current_time.valueOf();

        var days_diff = daysDiff(current_time,target_time);
        if(days_diff >= 99){
            // Если конечная дата > 99, то уменьшаем ее до 99 дней от текущего момента
            //fucking magic *_*
            target_time = current_time + (24*3600*999) * 99;//(24*3600*1000) * 99;
        }

        if (current_time > target_time) {
            var time = new Date();
            target_time = new Date(2014, 10, 29, 0, 0, 0);
            target_time = target_time.valueOf();
        }
        var time_diff = Math.floor((target_time - current_time) / 1000);
        var second_2 = time_diff % 10;
        time_diff = Math.floor(time_diff / 10);
        var second_1 = time_diff % 6;

        time_diff = Math.floor(time_diff / 6);
        var minute_2 = time_diff % 10;
        time_diff = Math.floor(time_diff / 10);
        var minute_1 = time_diff % 6;

        time_diff = Math.floor(time_diff / 6);
        var hour_2 = Math.floor(time_diff / 10);
        var hour_1 = time_diff % 10;


        var day_2 = Math.floor(time_diff / 24);
        var day_1 = time_diff % 24;
        if (day_2 < 10) {
            day_1 = day_2;
            day_2 = 0;
        } else {
            day_1 = ('' + day_2)[1];
            day_2 = ('' + day_2)[0];
        }
        set_slide('div.secondPlay', second_2);
        if ((second_2 == 9) || init) {
            set_slide('div.second6Play', second_1);
            if ((second_1 == 5) || init) {
                set_slide('div.minutePlay', minute_2);
                if ((minute_2 == 9) || init) {
                    set_slide('div.minute6Play', minute_1);
                    if ((minute_1 == 5) || init) {
                        set_slide('div.hourPlay', hour_1);
                        if ((hour_2 == 9) || init) {
                            set_slide('div.hour2Play', hour_2);
                            if ((day_2) || init) {
                                set_slide('div.day1Play', day_2);
                                if ((day_1) || init) {
                                    set_slide('div.dayPlay', day_1);
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    tick(true);
    setInterval(tick, 1000);  




    // Binding a click event
    // From jQuery v.1.7.0 use .on() instead of .bind()
    $('.ask-btn').bind('click', function (e) {

        // Prevents the default action to be triggered.
        e.preventDefault();

        // Triggering bPopup when click event is fired
        $('#ask-popup-form').bPopup({
            escClose: true,
            easing: 'swing',
            transition: 'slideDown'
        });

    });
    $('.popup-btn').bind('click', function (e) {
        e.preventDefault();
        $('.popup-form').bPopup({
            escClose: true,
            easing: 'swing',
            transition: 'slideDown'
        });
    });
    $('#thx').bind('click', function (e) {
        e.preventDefault();
        $('.thanks').bPopup({
            /*autoClose: 2000,*/
            onClose: function(){
                $(".b-modal").trigger("click");
            }
        });
    });


    
//    $('body').bind('click','.3d', function (e) {
    $(".3d").click(function(){
        showWorks($('.3d-works'), 10, '3d');
    });
    $(".web-design").click(function(){
        showWorks($('.web-design-works'), 10, 'web-admin');
    });
    $(".game-design").click(function(){
        showWorks($('.game-design-works'), 10, 'game-admin');
    });
    $(".adv-design").click(function(){
        showWorks($('.adv-design-works'), 10, 'adv-admin');
    });
    $(".int-design").click(function(){
        showWorks($('.int-design-works'), 10, 'int-admin');
    });
    $(".firm-style").click(function(){
        showWorks($('.firm-style-works'), 10, 'firm-style');
    });

        
});
})(jQuery);