﻿const inputSingleUcret = document.getElementById("tblKrediKartOdeme_TurSingleUcret");
const inputTurUcakUcret = document.getElementById("tblKrediKartOdeme_TurUcakUcret");
const inputTurVizeUcret = document.getElementById("tblKrediKartOdeme_TurVizeUcret");
const inputTurSigortaUcret = document.getElementById("tblKrediKartOdeme_TurSigortaUcret");
const inputKisiSayisi = document.getElementById("tblKrediKartOdeme_KisiSayisi");
const inputIsOnline = document.getElementById("isOnline");
const inputIsLimit = document.getElementById("isLimit");

inputKisiSayisi.value = "";
const inputListesi = document.getElementById("inputListesi");
const buttonSatinAl = document.getElementById("satinAl");
buttonSatinAl.disabled = true;
inputKisiSayisi.addEventListener("keyup", eventHandler);

var inputId = 0;

function eventHandler(e) {
    inputId = document.getElementById(e.target.id).value;
    //console.log("input id : " + inputId);
    inputOlustur(inputId);
    buttonControl(inputId);

    getInputCookie(inputId);
}

function inputOlustur(adet) {
    inputListesi.innerHTML = "";
    if (adet > 0) {
        var child = "";
        for (i = 0; i < adet; i++) {
            //asp-for
            child += "<div><label>" + (i + 1) + ". Gezgin Bilgileri</label></div>";

            child += "<div class=\"col-md-6 col-sm-12\"><div class=\"form-group padding-right-10\"><label for=\"tblKrediKartTurKisiListesi[" + i + "].KisiAdi\">Adınız Soyadınız</label><input type=\"text\" name=\"tblKrediKartTurKisiListesi[" + i + "].KisiAdi\" id=\"tblKrediKartTurKisiListesi[" + i + "].KisiAdi\"  class=\"form-control text-box single-line input-validation-error\" maxlength=\"50\" minlength=\"5\" pattern=\"/^-?\d+\.?\d*$/\" onKeyPress=\"return ((event.charCode >= 65 && event.charCode <= 90) || (event.charCode >= 97 && event.charCode <= 351) || (event.charCode == 32))\" data-val-required=\"Adınızı ve Soyadınızı giriniz\" data-val=\"true\" placeholder=\"Adınız Soyadınız\" required /><span class=\"field-validation-error\" data-valmsg-for=\"tblKrediKartTurKisiListesi[" + i + "].KisiAdi\" data-valmsg-replace=\"false\"><span for=\"tblKrediKartTurKisiListesi[" + i + "].KisiAdi\">*Lütfen geçerli bir ad soyad giriniz</span></span></div></div>";

            child += "<div class=\"col-md-6 col-sm-12\"><div class=\"form-group padding-right-10\"><label for=\"tblKrediKartTurKisiListesi[" + i + "].KisiTelefon\">Telefon</label><input type=\"tel\" name=\"tblKrediKartTurKisiListesi[" + i + "].KisiTelefon\" id=\"tblKrediKartTurKisiListesi[" + i + "].KisiTelefon\" class=\"form-control text-box single-line input-validation-error\" maxlength=\"11\" minlength=\"10\" pattern=\"[0-9]\" onKeyPress=\"if(this.value.length==11) return false;\" data-val-required=\"Geçerli bir Telefon bilgisi giriniz\" data-val=\"true\" placeholder=\"0534 015 62 30\" required /><span class=\"field-validation-error\" data-valmsg-for=\"tblKrediKartTurKisiListesi[" + i + "].KisiTelefon\" data-valmsg-replace=\"false\"><span for=\"tblKrediKartTurKisiListesi[" + i + "].KisiTelefon\">*Lütfen geçerli bir telefon bilgisi giriniz</span></span></div></div><div class='clearfix'></div>";

            child += "<div class=\"col-md-6 col-sm-12\"><div class=\"form-group padding-right-10\"><label for=\"tblKrediKartTurKisiListesi[" + i + "].KisiEmail\">Email</label><input type=\"email\" name=\"tblKrediKartTurKisiListesi[" + i + "].KisiEmail\" id=\"tblKrediKartTurKisiListesi[" + i + "].KisiEmail\" class=\"form-control text-box single-line input-validation-error\"  maxlength=\"250\" minlength=\"11\" pattern=\"/^-?\d+\.?\d*$/\" onKeyPress=\"if(this.value.length==250) return false;\" data-val-required=\"Geçerli bir email adresi giriniz\" data-val=\"true\" placeholder=\"Email\" required /><span class=\"field-validation-error\" data-valmsg-for=\"tblKrediKartTurKisiListesi[" + i + "].KisiEmail\" data-valmsg-replace=\"false\"><span for=\"tblKrediKartTurKisiListesi[" + i + "].KisiEmail\">*Lütfen geçerli bir email adresi giriniz</span></span></div></div>";

            child += "<div class=\"col-md-6 col-sm-12\"><div class=\"form-group padding-right-10\"><label for=\"tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo\">Tc Kimlik No</label><input type=\"tel\" name=\"tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo\" id=\"tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo\" class=\"form-control text-box single-line input-validation-error\" maxlength=\"11\" minlength=\"11\" pattern=\"[0-9]\" onKeyPress=\"if(this.value.length==11) return false;\" data-val-required=\"Lütfen 11 haneli Tc kimlik no giriniz\" data-val=\"true\" placeholder=\"Tc Kimlik No\" required /><span class=\"field-validation-error\" data-valmsg-for=\"tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo\" data-valmsg-replace=\"false\"><span for=\"tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo\">*Lütfen 11 haneli Tc kimlik no giriniz</span></span></div></div><div class='clearfix'></div>";

            var _isOnline = (inputIsOnline.value == '' || inputIsOnline.value == 'NULL') || inputIsOnline.value == 'False';
            var _isLimit = !(inputIsLimit.value != '' || inputIsLimit.value != 'NULL') || inputIsLimit.value != 'False';
            //console.log(_isLimit);
            if (_isLimit) {
                child += "<div class=\"col-md-12 col-sm-12\"><div class=\"form-group\"><label class=\"switch\"><input type=\"checkbox\" onchange=\"addInput(this)\" name=\"tblKrediKartTurKisiListesi[" + i + "].IndirimVarmi\" id=\"tblKrediKartTurKisiListesi[" + i + "].IndirimVarmi\" class=\"form-check-input\" /><span class=\"slider round\"></span></label><label class=\"form-check-label labelpos\" for=\"tblKrediKartTurKisiListesi[" + i + "].IndirimVarmi\">&nbsp;İndirim kodunuz var mı?</label></div></div>";
            }

            var _singleUcret = inputSingleUcret.value != '' && inputSingleUcret.value != '0.0000' && inputSingleUcret.value != 'NULL';
            if (_singleUcret) {
                child += "<div class=\"col-md-12 col-sm-12\"><div class=\"form-group\"><label class=\"switch\"><input type=\"checkbox\" name=\"tblKrediKartTurKisiListesi[" + i + "].IsTekOda\" class=\"form-check-input\" value=\"true\" /><span class=\"slider round\"></span></label><label class=\"form-check-label labelpos\" for=\"tblKrediKartTurKisiListesi[" + i + "].IsTekOda\">&nbsp;Tek odada kalmak istiyor musunuz?</label></div></div>";
            }

            var _ucakUcret = inputTurUcakUcret.value != '' && inputTurUcakUcret.value != '0.0000' && inputTurUcakUcret.value != 'NULL';
            if (_ucakUcret) {
                child += "<div class=\"col-md-12 col-sm-12\"><div class=\"form-group\"><label class=\"switch\"><input type=\"checkbox\" name=\"tblKrediKartTurKisiListesi[" + i + "].IsUcakUcret\" class=\"form-check-input\" value=\"true\" /><span class=\"slider round\"></span></label><label class=\"form-check-label labelpos\" for=\"tblKrediKartTurKisiListesi[" + i + "].IsUcakUcret\">&nbsp;Uçak biletinizi tahsis etmemizi ister misiniz?</label></div></div>";
            }

            var _vizeUcret = inputTurVizeUcret.value != '' && inputTurVizeUcret.value != '0.0000' && inputTurVizeUcret.value != 'NULL';
            if (_vizeUcret) {
                child += "<div class=\"col-md-12 col-sm-12\"><div class=\"form-group\"><label class=\"switch\"><input type=\"checkbox\" name=\"tblKrediKartTurKisiListesi[" + i + "].IsVizeUcret\" class=\"form-check-input\" value=\"true\" /><span class=\"slider round\"></span></label><label class=\"form-check-label labelpos\" for=\"tblKrediKartTurKisiListesi[" + i + "].IsVizeUcret\">&nbsp;Vize işlemlerinizi başlatmamızı ister misiniz?</label></div></div>";
            }

            var _sigortaUcret = inputTurSigortaUcret.value != '' && inputTurSigortaUcret.value != '0.0000' && inputTurSigortaUcret.value != 'NULL';
            if (_sigortaUcret) {
                child += "<div class=\"col-md-12 col-sm-12\"><div class=\"form-group\"><label class=\"switch\"><input type=\"checkbox\" name=\"tblKrediKartTurKisiListesi[" + i + "].IsSigortaUcret\" class=\"form-check-input\" value=\"true\" /><span class=\"slider round\"></span></label><label class=\"form-check-label labelpos\" for=\"tblKrediKartTurKisiListesi[" + i + "].IsSigortaUcret\">&nbsp;Yurtdışı sağlık sigortanızı tahsis etmemizi ister misiniz?</label></div></div>";
            }

            child += "<div class='clearfix'></div><hr/>";
            inputListesi.innerHTML = child;
        }
    }
}

function buttonControl(adet) {
    buttonSatinAl.disabled = (adet > 0) ? false : true;
}

function addInput(element) {
    var _inputId = element.id;
    var _inputElement = document.getElementById(_inputId);
    var index = _inputId.replace("tblKrediKartTurKisiListesi[", "").substr(0, 1);
    if (element.checked) {
        addIndirimInput(_inputElement, index, true);
    } else {
        addIndirimInput(_inputElement, index, false);
    }
}

function addIndirimInput(element, index, state) {
    var indirimInput = "<div class=\"col-md-4 col-sm-12 margin-left--10\"><div class=\"form-group padding-right-10\"><label for=\"tblKrediKartTurKisiListesi[" + index + "].IndirimKodu\">İndirim Kodu</label><input type=\"text\" name=\"tblKrediKartTurKisiListesi[" + index + "].IndirimKodu\" class=\"form-control text-box single-line\" maxlength=\"6\" minlength=\"6\" pattern=\"/^-?\d+\.?\d*$/\" onKeyPress=\"if(this.value.length==6) return false;\" placeholder=\"İndirim Kodu\" /></div></div><div class='clearfix'></div>";

    var parentElement = element.parentElement.parentElement.parentNode;
    parentElement.innerHTML = (indirimInput);

}

$("#satinAlForm").on('submit', function (e) {
    e.preventDefault();

    //$("#error-message-div").addClass('hidden');
    var frm = $("#satinAlForm");
    frm.validate();

    if (frm.valid()) {
        //buttonControl(0);
        beklemeMesajiHazirla();

        var senddata = $(this).serialize();

        setInputCookie(inputId);

        $.ajax({
            url: "/satin-al",
            type: "POST",
            async: false,
            cache: false,
            data: senddata,
            datatype: "html",
            success: function (result) {
                //buttonControl(0);
                if (result.ErrorCode == "200") {
                    buttonControl(0);
                    location.href = result.ResponseUrl;
                }
                else {
                    $('#post-error-message').html(result.Status);
                    $("#error-message-div").removeClass('hidden');
                    //buttonControl(1);
                }
            },
            error: function (result) {
                alert(result.error);
                $('#post-error-message').html(result + "Sistemde hata oluştu, talebiniz iletilemedi.");
                $("#error-message-div").removeClass('hidden');
                //buttonControl(0);
            }
        });
    }
});

$("#bekleme-mesaji").text("Gezi rezervasyonunuz düzenleniyor, Lütfen bekleyiniz");
$("#bekleme-mesaji").hide();
var sozlesmeButonInterval;

function beklemeMesajiHazirla() {
    SozlesmeButtonGizle();
    sozlesmeButonInterval = setInterval(function () { SozlesmeButtonGoster(); }, 20000);
}
function SozlesmeButtonGizle() {
    $("#bekleme-mesaji").show();
    $("#satinAl").hide();
}
function SozlesmeButtonGoster() {
    myStopFunction();
    $("#satinAl").show();
    $("#bekleme-mesaji").hide();
}
function myStopFunction() {
    clearInterval(sozlesmeButonInterval);
}




function setCookie(key, value) {
    var expires = new Date();
    expires.setTime(expires.getTime() + (365 * 24 * 60 * 60 * 1000));
    document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}

function getCookie(key) {
    var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
    return keyValue ? keyValue[2] : null;
}

function setInputCookie(adet) {
    for (var i = 0; i < adet; i++) {
        var _name = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiAdi").value
        setCookie("_name" + i, _name);

        var _telefon = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiTelefon").value
        setCookie("_telefon" + i, _telefon);

        var _email = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiEmail").value
        setCookie("_email" + i, _email);

        var _tckimlikno = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo").value
        setCookie("_tckimlikno" + i, _tckimlikno);
    }
}

function getInputCookie(adet) {
    for (var i = 0; i < adet; i++) {
        var _name = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiAdi")
        _name.value = getCookie("_name" + i);

        var _telefon = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiTelefon")
        _telefon.value = getCookie("_telefon" + i);

        var _email = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].KisiEmail")
        _email.value = getCookie("_email" + i);

        var _tckimlikno = document.getElementById("tblKrediKartTurKisiListesi[" + i + "].TcKimlikNo")
        _tckimlikno.value = getCookie("_tckimlikno" + i);
    }
}