<script type="text/javascript">

    $('#demo-bv-wz').bootstrapWizard({
        tabClass		    : 'wz-steps',
        nextSelector	    : '.next',
        previousSelector	: '.previous',
        onTabClick          : function(tab, navigation, index) {
            return false;
        },
        onInit : function(){
            $('#demo-bv-wz').find('.finish').hide().prop('disabled', true);
        },
        onTabShow: function(tab, navigation, index) {
            var $total = navigation.find('li').length;
            var $current = index+1;
            var $percent = ($current/$total) * 100;
            var wdt = 100/$total;
            var lft = wdt*index;

            $('#demo-bv-wz').find('.progress-bar').css({width:wdt+'%',left:lft+"%", 'position':'relative', 'transition':'all .5s'});

            // If it's the last tab then hide the last button and show the finish instead
            if($current >= $total) {
                $('#demo-bv-wz').find('.next').hide();
                $('#demo-bv-wz').find('.finish').show();
                $('#demo-bv-wz').find('.finish').prop('disabled', false);
            } else {
                $('#demo-bv-wz').find('.next').show();
                $('#demo-bv-wz').find('.finish').hide().prop('disabled', true);
            }
        },
        onNext: function(){
            isValid = null;
            $('#demo-bv-wz-form').bootstrapValidator('validate');


            if(isValid === false)return false;
        }
    });

    return;

    jQuery('#wizard').smartWizard({
        onFinish: onFinishCallback,
        onLeaveStep: leaveAStepCallback,
        labelNext: 'Далее', // label for Next button
        labelPrevious: 'Назад', // label for Previous button
        labelFinish: 'Запустить рассылку', // label for Finish button
        transitionEffect: 'slide'
    });
    function leaveAStepCallback(obj) {
        var step_num = obj.attr('rel');

        return validateSteps(step_num);
    }


    function validateSteps(step) {
        var isStepValid = true;
        jQuery('.stdform').find(".required").each(function () {
            if (jQuery(this).is(":visible") == true && jQuery(this).val() == "") {
                isStepValid = false;
            }
        });

        if (isStepValid == false) {
            jQuery('#wizard').smartWizard('showMessage', 'Пожалуйста, заполните поля в шаге ' + step + ' и нажмите «Далее».');
            jQuery('#wizard').smartWizard('setError', {stepnum: step, iserror: true});
        } else {
            jQuery('.msgBox').remove();
        }

        if (step == 3) {

            loadDemoData()
        }

        return isStepValid;
    }


    function loadDemoData() {

        jQuery("#demo").html("<img src='/assets/images/ajax-loader.gif'/>");

        var template
                = jQuery('select[name=template]').val(),
                subscribe = jQuery('select[name=subscriber]').val()
                ;

        var req = jQuery.ajax({
            url: "/_service/mail/demo",
            method: "GET",
            dataType: "json",
            data: {
                "template": template,
                "subscribe": subscribe,

            }
        }).done(function (data) {
            var emails = "";
            for (prop in data.emails) {

                emails = emails + data.emails[prop].mail + ";";
            }

            jQuery("#demo").html(
                    '<br/><strong>Шаблон письма:</strong> ' + data.subject +
                    '<br/><strong>Содержимое:</strong> ' + data.body +
                    '<hr/><strong>Настройка периодичности:</strong> ' + jQuery('select[name=period]').find("option:selected").html() +
                    '<br/><strong>Время первого выполнения:</strong> ' + jQuery('select[name=time]').find("option:selected").html() +
                    '<hr/><font style="color:red">Внимание! Рассылка будет отправлена на указанные ниже адресаты!</font>' +
                    '<br/><strong>Получатели:</strong><div id="mails-list">' + emails + '</div>'
                    );
        });

        req.fail(function (jqXHR, textStatus) {
            jQuery("#demo").html("");
            alert("Сервис временно не доступен");
        });
    }

    /**
     * 
     * @returns {undefined}
     */
    function onFinishCallback() {

        var template
                = jQuery('select[name=template]').val(),
                subscribe = jQuery('select[name=subscriber]').val(),
                period = jQuery('select[name=period]').val(),
                time = jQuery('select[name=time]').val()
                ;

        var req = jQuery.post("/_service/mail", {
            "template": template,
            "subscribe": subscribe,
            "period": period,
            "time": time
        })
        .done(function (data) {
            if (data.sourceId && data.sourceId > 0) {
                location.href = "/admin/diamond/mailing_list";
            } else {
                alert("При создании рассылки возникли ошибки");
            }
        });

    }



    /**
     * 
     * @param {type} data
     * @returns {undefined}
     */
    function createPCGrid2(data) {
        jQuery('#pcgrid').jqGrid({
            data: data,
            colNames: ['Получатель'],
            colModel: [
                //{name: 'id',width: 60},
                {name: 'mail', width: 200}
            ],
            datatype: "local",
            pager: jQuery('#pcgrid_pager'),
            sortname: 'id',
            sortorder: "desc",
            height: '280',
            rownumbers: true,
            gridview: true,
            autowidth: true,
            // multiselect:true,
            loadonce: true,
            //rowList: [100],
            rowNum: 10000,
            viewrecords: true,
            footerrow: false,
            userDataOnFooter: false,
            altRows: false,
            rownumWidth: 50
        });
    }


    /**
     * 
     * @returns {undefined}
     */
    function previewTemplate(el) {
        jQuery("#template_body").html("<img src='/assets/images/ajax-loader.gif'/>");
        var req = jQuery.ajax({
            url: "/_service/mail/preview?template=" + jQuery(el).val(),
            method: "GET",
            dataType: "json"
        }).done(function (data) {
            jQuery("#template_body").html(data.body);
            jQuery("#template_subject").html(data.subject);
        });

        req.fail(function (jqXHR, textStatus) {
            jQuery("#template_body").html("");
            jQuery("#template_subject").html("");
            alert("Сервис временно не доступен");
        });
    }


    function previewSubscriber(el) {
        jQuery("#pcgrid").html("<img src='/assets/images/ajax-loader.gif'/>");
        var req = jQuery.ajax({
            url: "/_service/mail/subscriber?id=" + jQuery(el).val(),
            method: "GET",
            dataType: "json"
        }).done(function (data) {

            jQuery("#pcgrid").jqGrid('GridUnload')
            createPCGrid2(data.rows);

        });

        req.fail(function (jqXHR, textStatus) {
            jQuery("#pcgrid").html("");
            alert("Сервис временно не доступен");
        });
    }

</script>	