﻿
//Return false: dit wordt in de onclientclick bekeken. Zodat er een validatie kan gebeuren
function ToonRisicos_onclick() {
    Hide();    
    if (Page_IsValid) {
        var postcode = document.getElementById("tbPostcode").value;
        var huisnummer = document.getElementById("tbNummer").value;        
        ToonKnop(true);        
        PageMethods.Geocode(postcode, huisnummer, CallSucces, CallFailed, "dest");
    }
    return true;
}
//zet de html voor een risico
function SetRisico() {
    PageMethods.GetRisico(CallSuccesGetRisico, CallFailedGetRisico, "dest");
}

//resultaten: "geocode_error", "geen_resultaat", "doorgaan", "error", no_pc_or_nr, niet_in_lijst;
function CallSucces(res, destCtrl, methodName) {
      
    if (res == "doorgaan") {
        SetRisico();
    }
    else if ((res == "geocode_error") || (res == "error")) {
        ToonKnop(false);
        ShowErrorPage();
    }
    else if ((res == "geen_resultaat") || (res == "niet_in_lijst")) {
        ToonKnop(false);
        ToonGeenPostcode();
    }
    else {
        ToonKnop(false);
        $get("LabelError_geocode").innerHTML = res;
    }
}
function CallFailed(res, destCtrl, methodName) {
    ToonKnop(false);
    ShowErrorPage();
}

/// doorgaan: er zijn nog meer risico die opgehaald moeten worden
/// error: alle risico zijn fout gegaan bij het ophalen
/// maakhtml: alle risico zijn opgehaald er kan nu een html-pagina gemaakt worden
/// Er zijn geen risico-objecten.: geen lijst met risico-objecten aanwezig
/// andere error!
function CallSuccesGetRisico(res, destCtrl, methodName) {
    if (res == "doorgaan") {
        SetRisico();
    }
    else if (res == "maakhtml") {
        PageMethods.CreateRisicoHtml(CallSuccesCreateRisicoHtml, CallFailedCreateRisicoHtml, "dest");
        ToonKnop(false);
    }
    else if (res == "error") {
        ToonKnop(false);
        ShowErrorPage();
    }    
    else {
        //$get("error_wfs").innerHTML = res;
        //Doorgaan
        //SetRisico();
        //OF toon na 1 fout meteen de error_pagina
        //ShowErrorPage();
        //OF toon een melding op de pagina(dezelfde pagina)
        ToonKnop(false);
        ToonErrorMelding();
    }
}

function CallFailedGetRisico(res, destCtrl, methodName) {
    if (res == "doorgaan") {
        SetRisico();
    }
    else {
        ToonKnop(false);
        ShowErrorPage();
    }
}
//Open de adviespagina
function CallSuccesCreateRisicoHtml(res, destCtrl, methodName) {
    window.location.assign("AdviesPage.aspx");
}
function CallFailedCreateRisicoHtml(res, destCtrl, methodName) {
    ShowErrorPage();
}

//toon de fout-pagina
function ShowErrorPage() {
    window.location.assign("foutpaginas/MijnRisicoFout.htm");
}
//toon de pagina dat de posctode niet is gevonden
function ToonGeenPostcode() {    
    window.location.assign("foutpaginas/GeenPostcode.htm");    

}

//Toon de Error melding (wfs-1):ontstaat wanneer er 1 request fout gaat
function ToonErrorMelding() {
    document.getElementById("error_wfs_1").style.display = "block";
}

//verberg de Error melding (wfs-1):ontstaat wanneer er 1 request fout gaat
function HideErrorMelding() {
    document.getElementById("error_wfs_1").style.display = "none";
}


//Methode naam niet veranderen: wordt in Page_Load gezet!
//Maak melding veld leeg
function EmptyTextError_Geocode() {
    document.getElementById("LabelError_geocode").innerHTML = "";
}
//verberg een aantal elementen
function Hide() {
    HideErrorMelding();
    EmptyTextError_Geocode();
}

//maak knop toon-risico;s wel niet actief
//Laat knop ook van kleur veranderen-nodig voor chrome en FF
function ToonKnop(disabled) {
    var toonknop = document.getElementById("ToonRisicosLink");
    var toonknoptext = document.getElementById("ToonRisicosLinkText");
    toonknop.disabled = disabled;
    if (disabled) {
        toonknoptext.style.color = "Gray";
    }
    else {
        toonknoptext.style.color = "White";
    }
}

//Wanneer er op enter wordt gedrukt actie achter knop uitvoeren
function Check_OnEnter(e) {
    if (e.keyCode == 13) {
        ToonRisicos_onclick();
        return false;
    }
    return true;   
}
