﻿var QMail = $('<div class="quoteemail"></div>');

loadheader = function () {
    if (Header == "") {
        $('#hfCompanyId').val(CompanyId);

        var data = { 'id': CompanyId };
        $.ajax({ url: 'services/QuoteServices.svc/GetCompany',
            type: 'POST',
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(data),
            success: function (msg) {
                $('div.title').children("h1:first").html('Villa Portal - ' + msg.d.name);
            } //,
            //error: AjaxFailed
        });
    }
}
function loadResorts() {
    var data = { 'cid': CompanyId };
    $.ajax({ url: 'services/QuoteServices.svc/GetResorts',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.resortSelect').each(function () {
                $(this).empty();
                if (msg.d.length > 1) {
                    $(this).append('<option value="00000000-0000-0000-0000-000000000000">Select Resort</option>');
                }
                for (i = 0; i < msg.d.length; i++) {
                    $(this).append(createResortOption(msg.d[i]));
                }
            });
            if (msg.d.length == 1) {
                ResortId = msg.d[0].id;
                $('.currencySelect').val(msg.d[0].currency);
                if ($('.currencySelect').val() == '00000000-0000-0000-0000-000000000000') {
                    $('.currencySelect').css('color', 'gray');
                }
                else {
                    $('.currencySelect').css('color', 'black');
                    $('.currencySelect').find('.emptySelect').remove();
                }
                loadVillas();
                loadResort();
                loadExtras();
            }
            loadSalesPeople(true);
        } //,
        //error: AjaxFailed
    });
}

function loadResort() {
    var data = { 'rid': ResortId };
    $.ajax({ url: 'services/QuoteServices.svc/GetResort',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            var em = msg.d.ResortQuoteEmail;
            //$('#MainContent_tbBody').val(msg.d.ResortQuoteEmail);
            QMail.append(msg.d.quoteEmail);
            $('.ajax__html_editor_extender_texteditor').html(QMail.html());
            loadVillas();
            loadDiscounts();
        } //,
        //error: AjaxFailed
    });
}

function loadVillas(bEmpty) {
    if ($('.villaSelect').length < 1) return f;
    var data = { 'rid': ResortId };
    $.ajax({ url: 'services/QuoteServices.svc/GetVillas',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.villaSelect').each(function (j) {
                $(this).empty();
                if (bEmpty != false) {
                    createEmptyOption($(this), 'Villa', true);
                }
                else {
                    createEmptyOption($(this), 'Select All', true);
                }
                for (i = 0; i < msg.d.length; i++) {
                    if (msg.d[i].namedstock == false) {
                        var bAdd = true;
                        $(this).find('option').each(function (k) {
                            if ($(this).data('villa') != undefined) {
                                var tid = $(this).data('villa').typeid;
                                if (tid == msg.d[i].typeid) {
                                    bAdd = false;
                                    return false;
                                }
                            }
                        });
                        if (bAdd) {
                            $(this).append(createVillaOption(msg.d[i]));
                        }
                    }
                    else {
                        $(this).append(createVillaOption(msg.d[i]));
                    }
                }
            });
        }
    });
}

function loadSalesPeople(bEmpty) {
    var data = { 'cid': CompanyId };
    $.ajax({ url: 'services/QuoteServices.svc/GetSalespeople',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.salespeople').each(function () {
                if (msg.d.length == 1) {
                    SalespersonId = msg.d[0].SalesPersonId;
                    $(this).append(createSalespersonSelect(msg.d[0]));
                }
                else {
                    if (bEmpty) {
                        createEmptyOption($(this), 'Salesperson', true);
                    }
                    for (i = 0; i < msg.d.length; i++) {
                        $(this).append(createSalespersonSelect(msg.d[i]));
                    }
                }
            });
        } //,
        //error: AjaxFailed
    });
}

function getSalesPerson() {
    var id = $('#MainContent_ddlSalesPerson').val();

    var data = { 'id': id };
    $.ajax({ url: 'services/QuoteServices.svc/GetSalesPerson',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            //$('.quoteaccom').html(msg.d);
            $('.spemail').html(msg.d.email);
            $('.spname').html(msg.d.name);
        } //,
        //error: AjaxFailed
    });

    return false;
}

loadDiscounts = function () {
    var data = { 'rid': ResortId };
    $.ajax({ url: 'services/QuoteServices.svc/GetDiscounts',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.discountSelect').each(function () {
                $(this).empty();
                createEmptyOption($(this), 'Discount', false);
                //$(this).append('<option value="00000000-0000-0000-0000-000000000000">Select Villa</option>');
                for (i = 0; i < msg.d.length; i++) {
                    $(this).append(createDiscountOption(msg.d[i]));
                }
            });
        }
    });
}



loadCurrencies = function () {
    if ($('.currencySelect').length < 1) return false;
    var data = {};
    $.ajax({ url: 'services/QuoteServices.svc/GetCurrencies',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.currencySelect').each(function () {
                $(this).empty();
                createEmptyOption($(this), 'Currency', true);
                for (i = 0; i < msg.d.length; i++) {
                    $(this).append(createCurrencyOption(msg.d[i]));
                }
            });
        }
    });
}

loadExtras = function () {
    var data = { 'rid': ResortId };
    $.ajax({ url: 'services/QuoteServices.svc/GetExtraList',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            var msgGroup = '';
            var msgIndex = -1;
            var $select;
            for (i = 0; i < msg.d.length; i++) {
                if (msgGroup != msg.d[i].groupname) {
                    msgIndex++;
                    msgGroup = msg.d[i].groupname;
                    $('td.extras:eq(' + msgIndex + ')').each(function () {
                        $(this).empty();
                        $(this).append('<select class="extraSelect quoteInput"></select>');
                    });
                }
                $('select.extraSelect:eq(' + msgIndex + ')').each(function () {
                    createEmptyOption($(this), msgGroup, false);
                    $(this).append(createExtraOption(msg.d[i]));
                });
            }
        } //,
        //error: AjaxFailed
    });
}
