﻿var theme = null;
var theme2 = null;
var callbacktype = "";

function ShowDefaultCallback2(visible) {
    if (visible) {
        if (!isProlongation) {
            theme = "Расчет и покупка полиса";
        } else {
            theme = "Продление полиса";
        }
        theme2 = "для автомобиля";

        var s = new String();
        s = theme + " " + theme2;
        SetMenuCaption($('#ChoiceThemeCaption'), s, 40);

        $('#ChoiceThemeImg').remove();
        //$('#ChoiceThemeImg').attr("onclick", "");
    }
    callbacktype = "Call - Outbound";
    ShowDialog(visible);
}

function ShowDefaultCallback(visible) {
    callbacktype = "MainPageRequest";
    ShowDialog(visible);
}

function ShowDialog(visible) {
    if (visible) {
        Wait();

        Init();
    } else {
        $("#divUserDefaultCallbackSaveInfo").css("display", "none");
        Ready();
    }
}


var prevmenu = null;
var сhoiceTheme = null;
var сhoiceDate = null;
function Init() {

    $("#divUserDefaultCallbackSaveInfo").css("left", Math.round($(window).width() / 2) - 140);   
    $("#divUserDefaultCallbackSaveInfo").css("display", "block");

    $(".ChoiceCombobox").gradient({
        from: 'FFFFFF',
        to: 'D1D3D4'
    }).cornerz({ radius: 5, background: "#E5E9EA" });

    $(".ChoiceComboboxMin").gradient({
        from: 'FFFFFF',
        to: 'D1D3D4'
    }).cornerz({ radius: 5, background: "#E5E9EA" });

    $("#ChoiceBtn").gradient({
        from: 'FFFFFF',
        to: 'D1D3D4'
    }).cornerz({ radius: 5, background: "#E5E9EA" });

    $(".CallbackAdvancedTextBox").cornerz({ radius: 5, background: "#E5E9EA" });

    var сhoiceType = new Array();
    сhoiceType = [{Name: "для автомобиля", ID: 0},
             {Name: "для путешествий и поездок", ID: 1},
             {Name: "для квартиры, дома или дачи", ID: 2},
             {Name: "для страхования ипотеки", ID: 3}];

    сhoiceTheme = new Array();
    сhoiceTheme = [{ Name: "Расчет и покупка полиса", ID: 0, SubMenu: сhoiceType },
             { Name: "Продление полиса", ID: 1, SubMenu: сhoiceType },
             { Name: "Страховой случай", ID: 2, SubMenu: null },
             { Name: "Внесение изменения в полис", ID: 3, SubMenu: null}];

             $("#callbackName input").focusout(function () {
                 if ($(this).attr('value') != "Ваше имя") {
                     $(this).css("color", "Black");
                 } else {
                     $(this).css("color", "Gray");
                 }

                 cansend();
             });

             $("#callbackPhone input").focusout(function () {
                 var s = $(this).attr('value');
                 if (s.indexOf("_") == -1) {
                     $(this).css("color", "Black");
                 } else {
                     $(this).css("color", "Gray");
                 }
                 
                 cansend();
             });
    

    var day = new Date();
    var format = 'j f Y';
    var thisDay = day.format2(format);

    day.setDate(day.getDate() + 1);
    var nextDay = day.format2(format);

    day.setDate(day.getDate() + 1);
    var twoDay = day.format2(format);

    day.setDate(day.getDate() + 1);
    var treeDay = day.format2(format);

    сhoiceDate = new Array();
    сhoiceDate = [{ Name: "сегодня", ID: 0, Type: thisDay },
             { Name: "завтра", ID: 1, Type: nextDay },
             { Name: twoDay, ID: 2, Type: twoDay },
             { Name: treeDay, ID: 3, Type: treeDay },
             { Name: "другая дата", ID: 4, Type: null}];
}

function menuClickDC(control, width, data, callback, target) {
    if (control.find('ul').length == 0
            && data != null) {

        if (prevmenu != null)
            menuClose(prevmenu);

        prevmenu = control;
        control.css({ display: "none" }); // Opera Fix
        control.renmenu('show', data
            , {
                level: 0
            , name: 'c1'
            , grdientFrom: 'FFFFFF'
            , grdientTo: 'D1D3D4'
            , selectColor: 'FFFFFF'
            , menuUlClass: 'UlChoiseTheme'
            , menuUl2Class: 'Ul2ChoiseTheme'
            , menuLiClass: 'LiChoiseTheme'
            , corners: 'br bl'
            , backgrouncorners: 'E5E9EA'
            , width: width
            }, callback
            , control
            , target).show();
        } else {
        prevmenu = null;
        control.hide();
        control.html("");

    }
}

function menuClickMinDC(control, width, data, callback, target) {
    if (control.find('ul').length == 0
            && data != null) {

        if (prevmenu != null)
            menuClose(prevmenu);

        var hour = new Date().getHours();

        var filtredData = [].concat(data);
        if (theme2 != "для автомобиля" && hour > 16) 
        {
            filtredData.splice(0, 1);
        }

        prevmenu = control;
        control.css({ display: "none" }); // Opera Fix
        control.renmenu('show', filtredData
            , {
                level: 0
            , name: 'c1'
            , grdientFrom: 'FFFFFF'
            , grdientTo: 'D1D3D4'
            , selectColor: 'FFFFFF'
            , menuUlClass: 'UlChoiseMin'
            , menuUl2Class: 'Ul2ChoiseTheme'
            , menuLiClass: 'LiChoiseMin'
            , corners: 'br bl'
            , backgrouncorners: '8C8C8C'
            , width: width
            }, callback
            , control
            , target).show();
        } else {
        prevmenu = null;
        control.hide();
        control.html("");
        $("#datepicker").css("display", "none");
    }
}

function menuClickTimeDC(control, width, data, callback, target) {
    if (control.find('ul').length == 0) {

        if (prevmenu != null)
            menuClose(prevmenu);
        var day = new Date();
        var hour = day.getHours();
        var data = new Array();
        if (theme2 == "для автомобиля") {
            data = [{ Name: "08:00 - 09:00", ID: 0, SubMenu: null },
             { Name: "09:00 - 10:00", ID: 1, SubMenu: null },
             { Name: "10:00 - 11:00", ID: 2, SubMenu: null },
             { Name: "11:00 - 12:00", ID: 3, SubMenu: null },
             { Name: "12:00 - 13:00", ID: 4, SubMenu: null },
             { Name: "13:00 - 14:00", ID: 5, SubMenu: null },
             { Name: "14:00 - 15:00", ID: 6, SubMenu: null },
             { Name: "15:00 - 16:00", ID: 7, SubMenu: null },
             { Name: "16:00 - 17:00", ID: 8, SubMenu: null },
             { Name: "17:00 - 18:00", ID: 9, SubMenu: null },
             { Name: "18:00 - 19:00", ID: 10, SubMenu: null },
             { Name: "19:00 - 20:00", ID: 11, SubMenu: null },
             { Name: "20:00 - 21:00", ID: 12, SubMenu: null }];

           

        } else {
            data = [{ Name: "09:00 - 10:00", ID: 1, SubMenu: null },
             { Name: "10:00 - 11:00", ID: 2, SubMenu: null },
             { Name: "11:00 - 12:00", ID: 3, SubMenu: null },
             { Name: "12:00 - 13:00", ID: 4, SubMenu: null },
             { Name: "13:00 - 14:00", ID: 5, SubMenu: null },
             { Name: "14:00 - 15:00", ID: 6, SubMenu: null },
             { Name: "15:00 - 16:00", ID: 7, SubMenu: null },
             { Name: "16:00 - 17:00", ID: 8, SubMenu: null },
             { Name: "17:00 - 18:00", ID: 9, SubMenu: null}];
            hour = hour - 1; //коррекция
        }

        //WD-508
        if (choisedate == day.format2('j f Y')) {
            data.splice(0, hour - 7);
        }

        prevmenu = control;
        control.css({ display: "none" }); // Opera Fix
        control.renmenu('show', data
            , {
                level: 0
            , name: 'c1'
            , grdientFrom: 'FFFFFF'
            , grdientTo: 'D1D3D4'
            , selectColor: 'FFFFFF'
            , menuUlClass: 'UlChoiseMin'
            , menuUl2Class: 'Ul2ChoiseTheme'
            , menuLiClass: 'LiChoiseMin'
            , corners: 'br bl'
            , backgrouncorners: '8C8C8C'
            , width: width
            }, callback
            , control
            , target).show();
    } else {
        prevmenu = null;
        control.hide();
        control.html("");
        $("#datepicker").css("display", "none");
    }
}

var fDC = function (data, control, target) {
    theme = data.attr('prevvalue');
    if (theme == "undefined") {
        theme = data.find('a').html();
        theme2 = "";
    } else {
        theme2 = data.find('a').html();
    }

    menuClickDC(control);

    var s = new String();
    s = theme + " " + theme2;
    SetMenuCaption(target, s, 40);

    cansend();
}

var choisedate = null;
var f_dDC = function (data, control, target) {

    var v = data.find('a').html();
    if (v == 'другая дата') {
        //    var $d = jQuery.noConflict();
        //    $d.datepicker.setDefaults($d.datepicker.regional['ru']);

        $("#datepicker").css("background-color", "#8C8C8C");

        var ua = $.browser;
        if (ua.msie) {
            $("#datepicker").css("top", "335px");
        } else {
            $("#datepicker").css("top", "370px");
        }

        if (ua.msie && ua.version.slice(0, 1) == "6") {
            $("#datepicker").css("top", "435px");
        }


        $("#datepicker").css("display", "block")
            .datepicker({ minDate: 4,
                showOtherMonths: true,
                onSelect: function (dateText, inst) {
                    choisedate = dateText;

                    var s = new String();
                    s = choisedate;
                    SetMenuCaption(target, s, 40);

                    $(this).hide();
                    menuClickDC(control);
                    $("#datepicker").hide(); //WD-508

                    cansend();
                }
            }).cornerz({ radius: 5, corners: "br bl tr", background: "#8C8C8C" })
	    .cornerz({ radius: 5, corners: "tl", background: "#FFFFFF" });
    } else {
        choisedate = data.attr('ttype');

        var s = new String();
        s = choisedate;
        SetMenuCaption(target, s, 40);

        menuClickDC(control);

        $("#datepicker").hide(); //WD-508
        
        
        var day = new Date();
        var hour = day.getHours();

        //  то что дата выбрана сегодняшняя;      текущий час больше чем выбраный клиентом
        if (choisedate == day.format2('j f Y') && ((choisetime.Index + 7) - hour < 0)) {//WD-508 проверочка на то что время еще не прошло сегодня
            $("#ChoiceTimeCaption").html('&nbsp;время');
            choisetime = null;
        }
        cansend();
    }
}

var choisetime = null;
var f_tDC = function (data, control, target) {
    choisetime = new Object();
    choisetime.Caption = data.find('a').html();
    choisetime.Index = data.find('a').attr('index');

    var s = new String();
    s = choisetime.Caption;
    SetMenuCaption(target, s, 40);

    menuClickDC(control);

    cansend();
}

function cansend(){
    var name = $("#callbackName input").attr("value");
    var phone = $("#callbackPhone input").attr("value");
    if (choisetime != null
    && choisedate != null
    && theme != null
    && theme2 != null
    && name != "Ваше имя"
    && phone.indexOf("_") == -1) {
        $("#ChoiceBtn").html("").unbind('click').html("Заказать").css("font-size", "12px").css("color", "#ffffff").gradient({
            from: 'C6E731',
            to: '658618'
        }).cornerz({ radius: 5, background: "#E5E9EA" }).click(function () {

            if($("#ChoiceBtn").css("color") == "gray")
                return;
            //var j = { "Theme": theme, "Theme2": theme2, "Name": name, "Phone": phone, "Date": choisedate, "Time": choisetime };
            var j = "{CallbackType:'" + callbacktype + "', Theme:'" + theme + "', Theme2:'" + theme2 + "', Name:'" + name + "', Phone:'" + phone + "', Date:'" + choisedate + "', Time:'" + choisetime.Caption + "'}";
            $.ajax({
                type: "POST",
                url: "default.aspx/DefaultCallback",
                contentType: "application/json; charset=utf-8",
                data: j, //JSON.stringify(j)
                dataType: "json",
                async: true
            });

            ShowDefaultCallback(false);
        });
    } else {
        $("#ChoiceBtn").html("").html("Заказать").css("font-size", "12px").css("color", "Gray").gradient({
        from: 'FFFFFF',
        to: 'D1D3D4'
        }).cornerz({ radius: 5, background: "#E5E9EA" });
    }
}

function SetMenuCaption(obj, str, len) {
    if (str.length > len) {
        str = str.substring(0, len - 5) + " ...";
    }

    if (obj != null) {
        obj.html("&nbsp;" + str).css("color", "Black");
    }
}

function menuClose(control) {
    if (control.find('ul').length > 0) {
        control.hide();
        control.html("");
        $("#datepicker").css("display", "none");
    }
}
