﻿updateQuoteEmail = function (s) {

    // validateDates & check Availability

    var qLength, qString;

    qLength = $('div.quotediv').length;
    qString = '';
    for (i = 0; i < qLength; i++) {
        if (i > 0) { qString += '~'; }
        var qDiv = $('div.quotediv:eq(' + i + ')');
        qString += 'vid=' + qDiv.find('select.villaSelect').val() + '|';
        qString += 'ad=' + qDiv.find('input.arrivedate').val() + '|';
        qString += 'dd=' + qDiv.find('input.departdate').val() + '|';

        if (qDiv.find('select.discountSelect').val() != '00000000-0000-0000-0000-000000000000') {
            qString += 'dis=' + qDiv.find('select.discountSelect').val() + '|';
        }
        var ext = '';

        qDiv.find('select.extraSelect').each(function () {
            if ($(this).val() != '00000000-0000-0000-0000-000000000000') {
                ext += $(this).val() + ':';
            }
        });
        if (ext.length > 0) {
            qString += 'ext=' + ext;
        }
    }
    var cur = $('select.currencySelect').val();
    var spid = $('select.salespeople').val();
    var qt = $(QMail).find('quote');
    qt.html('');
    var data = { 'spid': spid, 'cur': cur, 'quotes': qString, 'qmail': $(QMail).html() };

    $.ajax({ url: 'services/QuoteServices.svc/UpdateQuoteEmail',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $(QMail).html(msg.d);
            if (s == true) {
                $('.ajax__html_editor_extender_texteditor').html($(QMail).html());
                sendQuote(qString, cur, spid);
            }
            else {
                $('.ajax__html_editor_extender_texteditor').html($(QMail).html());
            }
        } //,
        //error: AjaxFailed
    });
}
function sendQuote(qs, cur, spid) {
    var body = $(QMail).html();
    var arrive = $('input.arrivedate:eq(0)').val();
    var depart = $('input.departdate:eq(0)').val();
    var firstname = $('.firstname').val();
    var lastname = $('.lastname').val();


    //var salesid = salesP['id'];
    var email = $('.email').val();

    var data = {'cur':cur, 'body': body, 'spid': spid, 'email': email, 'ad': arrive, 'dd': depart, 'fn': lastname, 'ln': firstname, 'quotes': qs };
    $.ajax({ url: 'services/QuoteServices.svc/InsertAndSendQuote',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.ajax__html_editor_extender_texteditor').html($(QMail).html());
        },
        error: AjaxFailed
    });
    return;

    for (qn = 1; qn < 4; qn++) {
        var qc = $(QMail).find('quoteaccom' + qn).html();
        if (qc.length > 5) {
            var cur = $('.currencySelect').val();
            var ad = $('#MainContent_tbAccomArrive' + qn).val();
            var dd = $('#MainContent_tbAccomDepart' + qn).val();
            var vid = $('#ddlAccom' + qn).val();
            var spid = $('#ddlSalesPerson').val();
            var extraRow = $('.quoterow' + qn);
            var dis = $('#ddlDiscount' + qn).val();
            var ext = '';
            for (i = 0; i < 4; i++) {
                if (extraRow.find('.extraSelect' + i).length > 0) {
                    ext += extraRow.find('.extraSelect' + i).val() + ':';
                }
            }
            if (quote.length > 0)
                quote += '~';

            quote += ad + '|' + dd + '|' + vid + '|' + dis + '|' + ext;
        }
    }

    var data = { 'body': body, 'salesid': salesid, 'email': email,'arrive':arrive,'depart':depart, 'firstname':lastname ,'lastname':firstname ,'quotes':quote};
    $.ajax({ url: 'services/QuoteServices.svc/InsertAndSendQuote',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(data),
        success: function (msg) {
            $('.ajax__html_editor_extender_texteditor').html($(QMail).html());
        },
        error: AjaxFailed
    });

    return false;
}

addQuote = function () {
    var qd = $('div.quotediv:last');
    var nqd = qd.clone();
    qd.after(nqd);
    $('span.quoteheader').each(function (i) {
        $(this).text('Quote ' + (i + 1));
    });
    $('.removeQuote').css('visibility', 'visible');
    $(nqd).find('input.datepicker').each(function () {
        $(this).removeClass('hasDatepicker');
        $(this).removeAttr('id');
    });
    loadDatePickers();
    //$(nqd).find('.quoteheader').text('Quote ' + $('div.quotediv').length);
}
removeQuote = function (s) {
    var qd = $(s).parents('div.quotediv');
    $(qd).remove();
    if ($('div.quotediv').length <= 1) {
        $('.removeQuote').css('visibility', 'hidden');
    }
    $('span.quoteheader').each(function (i) {
        $(this).text('Quote ' + (i + 1));
    });
}
function setQuoteDates(sender, txt, inst) {
    alert('1');
    var qt = $(sender).parents('.quotetable');
    var arrivedate, departdate, arriveDate, departDate, today;

    today = new Date();

    if ($(sender).hasClass('arrivedate')) {
        arriveDate = $(sender).datepicker('getDate');
        if (arriveDate < today) {
            alert('Quotes can only be created for future dates.');
            arriveDate = new Date();
            arriveDate.setDate(arriveDate.getDate() + 1);
            $(sender).datepicker('setDate', arriveDate);
        }
        departdate = $(sender).parents('table').find('.departdate');
        departDate = departdate.datepicker('getDate');
        if (departDate == null || departDate <= arriveDate) {
            departDate = $(sender).datepicker('getDate'); ;
            departDate.setDate(departDate.getDate() + 3);
            departdate.datepicker('setDate', departDate);
        }
    }
    else if ($(sender).hasClass('departdate')) {
        departDate = $(sender).datepicker('getDate');
        today.setDate(today.getDate() + 1);
        if (departDate < today) {
            alert('Quotes can only be created for future dates.');
            departDate = new Date();
            departDate.setDate(departDate.getDate() + 3);
            $(sender).datepicker('setDate', departDate);
        }
        arrivedate = $(sender).parents('table').find('.arrivedate');
        arriveDate = arrivedate.datepicker('getDate');
        if (arriveDate == null || arriveDate >= departDate) {
            arriveDate = $(sender).datepicker('getDate'); ; ;
            arriveDate.setDate(arriveDate.getDate() - 4);
            arrivedate.datepicker('setDate', arriveDate);
        }
    }
    if ($(sender).parents('div.quotediv').length == 0) {
        $('div.quotediv').each(function (i) {
            var ad = $(this).find('input.arrivedate');
            var AD = $(ad).datepicker('getDate');
            if (AD != arriveDate) {
                $(ad).datepicker('setDate', arriveDate);
            }
            var dd = $(this).find('input.departdate');
            var DD = $(dd).datepicker('getDate');
            if (DD != departDate) {
                $(dd).datepicker('setDate', departDate);
            }
        });
    }
    else {
        var $start, $end, Start, End;
        $('table.quotetable').each(function () {
            if ($(this).parents('div.quotediv').length == 0) {
                $start = $(this).find('input.arrivedate');
                $end = $(this).find('input.departdate');
                Start = $start.datepicker('getDate');
                End = $end.datepicker('getDate');
            }
        });
        $('div.quotediv').each(function () {
            var sd = $(this).find('input.arrivedate');
            var ed = $(this).find('input.departdate');
            if (sd.datepicker('getDate') < Start) {
                Start = sd.datepicker('getDate');
            }
            if (ed.datepicker('getDate') > End) {
                End = ed.datepicker('getDate');
            }
            getVillaAvailability(sd);
        });
        $($start).datepicker('setDate', Start);
        $($end).datepicker('setDate', End);
        arriveDate = Start;
        departDate = End;
    }
    $(QMail).html($('.ajax__html_editor_extender_texteditor').html());
    $(QMail).find('startdate').html(arriveDate.format('ddd, d MMM yyyy'));
    $(QMail).find('enddate').html(departDate.format('ddd, d MMM yyyy'));
    $('.ajax__html_editor_extender_texteditor').html($(QMail).html());
}




