﻿$(document).ready(function () {
    $('#dniepassword').hide();
    $('#imgValidateCertificate').hide();
});

var xmlHttpRequest;
var requirepassword = false;
var firstpostack = true;

function CreateXmlHttp() {

    // Probamos con IE
    try {
        // Funcionará para JavaScript 5.0
        xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (oc) {
            xmlHttpRequest = null;
        }
    }

    // Si no se trataba de un IE, probamos con esto
    if (!xmlHttpRequest && typeof XMLHttpRequest != "undefined") {
        xmlHttpRequest = new XMLHttpRequest();
    }

    return xmlHttpRequest;
}



function ValidateCertificate(id, url, procedureurl) {
    CreateXmlHttp();
    $(id).attr("disabled", true);

    if (xmlHttpRequest) {
        xmlHttpRequest.onreadystatechange = function () {
            switch (xmlHttpRequest.readyState) {
                case 1:
                    ShowMessage('Validando el certificado...');
                    $('#imgValidateCertificate').show();
                    break;
                case 4:
                    if (xmlHttpRequest.status == 200 && xmlHttpRequest.statusText == "rcp") {
                        $('#dniepassword').show();
                        requirepassword = true;
                        ShowMessage('Para su seguridad, introduzca la contrase\u00f1a con la que se registr\u00f3 en el portal y pulse Acceder de nuevo');
                        $(id).removeAttr("disabled");
                        break;
                    } if (xmlHttpRequest.status == 200 && xmlHttpRequest.statusText == "rcpi") {
                        ShowMessage('Certificado v\u00e1lido!');
                        location.href = '/MiCiudad/Paginas/ActualizarMisDatos.aspx?ReturnUrl=' + procedureurl;
                        requirepassword = false;
                        break;
                    } if ((xmlHttpRequest.status == 200 || xmlHttpRequest.status == 0) && xmlHttpRequest.responseText == '') {
                        ShowMessage('Certificado v\u00e1lido!');
                        location.href = procedureurl;
                        requirepassword = false;
                        break;
                    } else {
                        $('#imgValidateCertificate').hide();
                        ShowError('Error al validar el certificado. Compruebe que el certificado sea v\u00e1lido');
                        $(id).removeAttr("disabled");
                        break;
                    }
            }
        }

        xmlHttpRequest.open('POST', url, true);

        try {
            var params;

            if (requirepassword) {
                params += "&password=" + $('#dniepassword').val();
            }

            xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xmlHttpRequest.send(params);
        }
        catch (e) {
            ShowError('Error inesperado!');
        }
    }
}

function ShowMessage(message) {
    $('#spanInformation').css({ color: 'black' }); 
    $('#spanInformation').show();
    $('#spanInformation').html(message);
}

function ShowError(error) {
    $('#spanInformation').css({ color: 'red' });
    $('#spanInformation').show();
    $('#spanInformation').html(error);
}
