import {zobrazitHlasku} from './configurator.js';

export function ajaxStaniceUpload(Constants, stanice, booleanZobrazitHlasku, text, poznamka) {
    if (!Constants.MYSQL_UPLOAD && booleanZobrazitHlasku){
        text = text.replace(Constants.STATUS, Constants.STATUS_YES);
        if (poznamka == undefined)poznamka = "";
        zobrazitHlasku(Constants, text, poznamka + " Nahrávání do mySQL je blokováno administrátorem!", "success", false, Constants.HLASKADURATION+600);
        return 1;
    } 
    let xhttp = new XMLHttpRequest();
    xhttp.open("POST", "\ajax\\ajaxUploadStanice.php", true);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    var marker;
    if (stanice.marker != undefined) {
        marker = stanice.marker;
        stanice.marker = undefined;
    }

    xhttp.onload = function (event) {

        if (xhttp.status == 200) {

            if (xhttp.responseText.indexOf("Uspesne") !== -1) {
                if (Constants.LOGOVANI)console.log("Upload stanice dokončen");
                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_YES);
                    zobrazitHlasku(Constants, text, poznamka, "success", false, Constants.HLASKADURATION+300);
                }
            } else {
                if (Constants.LOGOVANI)console.log(xhttp.responseText);
                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_NO);
                    zobrazitHlasku(Constants, text, poznamka, "error", false, Constants.HLASKADURATION+300);
                }

            }
        }
    }
    xhttp.send(JSON.stringify(stanice));
    if (marker != undefined) {
        stanice.marker = marker;
    }

}

export function ajaxSpojeUpload(Constants, spoj, booleanZobrazitHlasku, text, poznamka) {
    if (!Constants.MYSQL_UPLOAD && booleanZobrazitHlasku){
        text = text.replace(Constants.STATUS, Constants.STATUS_YES);
        if (poznamka == undefined)poznamka = "";
        zobrazitHlasku(Constants, text, poznamka + " Nahrávání do mySQL je blokováno administrátorem!", "success", false, Constants.HLASKADURATION);
        return 1;
    } 
    let xhttp = new XMLHttpRequest();
    xhttp.open("POST", "\ajax\\ajaxUploadSpoje.php", true);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    var A; var B;
    if (spoj.A != undefined || spoj.B != undefined) {
        A = spoj.A;
        B = spoj.B;
        spoj.A = spoj.A.nazev;
        spoj.B = spoj.B.nazev;

    }

    var polyline;
    if (spoj.polyline != undefined) {
        polyline = spoj.polyline;
        spoj.polyline = undefined;
    }


    xhttp.onload = function (event) {

        if (xhttp.status == 200) {
            if (xhttp.responseText.indexOf("Uspesne") !== -1) {
                if (Constants.LOGOVANI){
                    console.log("Upload spoje dokončen");
                    console.log(xhttp.responseText);
                }
                
                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_YES);
                    zobrazitHlasku(Constants, text, poznamka, "success", false, Constants.HLASKADURATION);
                }
            } else {
                if (Constants.LOGOVANI)console.log(xhttp.responseText);
                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_NO);
                    zobrazitHlasku(Constants, text, poznamka, "error", false, Constants.HLASKADURATION);
                }
            }

        }
    }

    xhttp.send(JSON.stringify(spoj));
    if (A != undefined) spoj.A = A;
    if (B != undefined) spoj.B = B;
    if (polyline != undefined) spoj.polyline = polyline;

}

export function ajaxTopologieUpload(Constants, topologie, booleanZobrazitHlasku, text, poznamka) {
    if (!Constants.MYSQL_UPLOAD && booleanZobrazitHlasku){
        text = text.replace(Constants.STATUS, Constants.STATUS_YES);
        if (poznamka == undefined)poznamka = "";
        zobrazitHlasku(Constants, text, poznamka + " Nahrávání do mySQL je blokováno administrátorem!", "success", false, Constants.HLASKADURATION);
        return 1;
    } 
    let xhttp = new XMLHttpRequest();
    xhttp.open("POST", "\ajax\\ajaxUploadTopologie.php", true);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    var poleSpoju; var poleStanic;
    if (topologie.poleSpoju != undefined) {
        poleSpoju = topologie.poleSpoju;
        topologie.poleSpoju = undefined;
    }

    if (topologie.poleStanic != undefined) {
        poleStanic = topologie.poleStanic;
        topologie.poleStanic = undefined;
    }

    xhttp.onload = function (event) {

        if (xhttp.status == 200) {

            if (xhttp.responseText.indexOf("Uspesne") !== -1) {
                if (Constants.LOGOVANI){
                    console.log("Upload topologie dokončen");
                    console.log(xhttp.responseText);
                }
                

                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_YES);
                    zobrazitHlasku(Constants, text, poznamka, "success", false, Constants.HLASKADURATION);
                }

            } else {
                if (Constants.LOGOVANI)console.log(xhttp.responseText);
                if (booleanZobrazitHlasku) {
                    text = text.replace(Constants.STATUS, Constants.STATUS_NO);
                    zobrazitHlasku(Constants, text, poznamka, "error", false, Constants.HLASKADURATION);
                }
            }

        }
    }
    xhttp.send(JSON.stringify(topologie));
    if (poleSpoju != undefined) {
        topologie.poleSpoju = poleSpoju;
    }
    if (poleStanic != undefined) {
        topologie.poleStanic = poleStanic;
    }

}

export function ajaxCreateBackup(Constants, jmenoSouboru) {
    let xhttp = new XMLHttpRequest();
    xhttp.open("POST", "\ajax\\ajaxCreateBackup.php", true);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    xhttp.onload = function (event) {

        if (xhttp.status == 200) {

            if (xhttp.responseText.indexOf("Uspesne") !== -1) {
                if (Constants.LOGOVANI){
                    console.log("Záloha úspěšně vytvořena");
                    console.log(xhttp.responseText);
                }

                zobrazitHlasku(Constants, "Záloha úspěšně vytvořena", undefined, "success", false, Constants.HLASKADURATION);

            } else {
                zobrazitHlasku(Constants, "Zálohu se nepodařilo vytvořit", "Zkontroluj konzoli", "error", false, Constants.HLASKADURATION);
                if (Constants.LOGOVANI){
                    console.log(xhttp.responseText);
                }
            }

        }
    }
    xhttp.send(JSON.stringify(jmenoSouboru));
}

export function ajaxUploadBackup(Constants, jmenoSouboru) {
    if (!Constants.MYSQL_UPLOAD && booleanZobrazitHlasku) return 1;
    let xhttp = new XMLHttpRequest();
    xhttp.open("POST", "\ajax\\ajaxUploadBackup.php", true);
    xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

    xhttp.onload = function (event) {

        if (xhttp.status == 200) {

            if (xhttp.responseText.indexOf("Uspesne") !== -1) {
                if (Constants.LOGOVANI){
                    console.log("Záloha úspěšně nahrána");
                    console.log(xhttp.responseText);
                }
                zobrazitHlasku(Constants, "Záloha úspěšně nahrána", undefined, "success", false, Constants.HLASKADURATION);
                
            } else {
                zobrazitHlasku(Constants, "Zálohu se nepodařilo nahrát", "Zkontroluj konzoli", "error", false, Constants.HLASKADURATION);
                if (Constants.LOGOVANI){
                    console.log(xhttp.responseText);
                }
            }

        }
    }
    xhttp.send(JSON.stringify(jmenoSouboru));
}