﻿/* JAVASCRIPT FUNCIONES DE CONEXIÓN A WEBSERVICE */

/*** CLAVES ***/
function RecordarClaves() {
    var Call = new SWwebService.conexionSW;
    var Mail = $get('MP_txtrecordar').value;
    var CodCliente = $get('MP_codclienterecordar').value;
    if (Mail == '' || CodCliente == '') {
        alert('Introduce el e-mail y el código de cliente');
    } else {
        Call.RecordarClaves(CodCliente, Mail, RecordarClaves_OK);
    }
}
function RecordarClaves_OK(resultado) {
    if (resultado == 'ok') {
        alert('Las claves se han enviado a la dirección de e-mail.');
    } else {
        alert('El cliente y o el e-mail no son válidos. Por favor, contacte con su comercial.');
    }
}

/*** CONTACTO ***/
function EnviarContacto() {
    var Call = new SWwebService.conexionSW;
    var Nombre = $get('C_campo_nombre').value;
    var Contacto = $get('C_campo_contacto').value;
    var Mensaje = $get('C_campo_mensaje').value;
    Call.Contactar(Nombre, Contacto, Mensaje, EnviarContacto_OK);
}
function EnviarContacto_OK(resultado) {
    if (resultado == true) {
        alert('Mensaje enviado');
    } else {
        alert('Error al enviar el mensaje');
    }
}

/***** PRODUCTOS *****/
function PintarFicha(codart) {
    SET_Display('MP_FichaLoader', 'block');
    URLIMGGrande = '';
    var Call = new SWwebService.conexionSW;
    Call.PintarFicha(codart, PintarFicha_OK);
}
function PintarFicha_OK(resultado) {
    SET_Display('MP_FichaLoader', 'none');
    $get('MP_FichaProducto').innerHTML = resultado;
    SET_Display('MP_FichaProducto', 'block');    
}
function PintarFicha_Fail(error) {
    SET_Display('MP_FichaLoader', 'none');
    SET_Display('MP_FichaProducto', 'none');
}

/************************ CESTA ************************/
/*******************************************************/
function LoaderCesta(accion) {
    try {
        if (accion == 'mostrar') {
            $get('Cesta_loading').style.display = 'block';
        } else {
            $get('Cesta_loading').style.display = 'none';
        }
    } catch (Error) { }
}

function Finalizar_Pedido(TipoRecogida) {
    var Call = new SWwebService.conexionSW;

    if (TipoRecogida == 'Recogida') {

        if (confirm('Tienes seleccionado recoger en almacen. ¿Desea finalizar el pedido?') == false) {
            return false;
        } else {
            var Observa = $get('C_observaciones').value;
            Call.Crea_Pedido(Observa, Finalizar_Pedido_OK, Finalizar_Pedido_FAIL);
        }

    } else {

        if (confirm('El pedido es para enviar. ¿Desea finalizar el pedido?') == false) {
            return false;
        } else {
            var Observa = $get('C_observaciones').value;
            Call.Crea_Pedido(Observa, Finalizar_Pedido_OK, Finalizar_Pedido_FAIL);
        }

    }

}
function Finalizar_Pedido_OK(resultado) {
    if (resultado == true) {
        location.href = 'PedidoFinalizado.aspx';
    } else {
        alert('No se ha podido finalizar el pedido. Contacte con su comercial. Gracias.');
    }
}
function Finalizar_Pedido_FAIL(error) { alert('No se ha podido finalizar el pedido. Contacte con su comercial. Gracias.'); }

function AddCesta(codart, cantidad) {
    var Call = new SWwebService.conexionSW;
    LoaderCesta('mostrar');
    Call.AñadirACesta(codart, cantidad, AddCesta_OK, AddCesta_FAIL);
}
function AddCesta_OK(resultado) {
    var resultadoArray = resultado.split('@');
    if (resultadoArray[0] == 'False') {
        alert('Entra como usuario para a\u00F1adir un producto a cesta.');
    } else {
          if (resultadoArray[1] == 'excedido') {alert('La cantidad solicitada es superior al stock disponible. Las unidades restantes se han añadido como reserva.');}
        var URLActual = document.location;
        try { $get('MP_CantCesta_span').innerHTML = resultadoArray[0]; } catch (Error) { }
        if (EnQueURLEstoy('true') == 'Cesta') {
            try { $get('CPH_Body_Cesta_div').innerHTML = resultadoArray[1]; } catch (Error) { }
        }
    }
    LoaderCesta('ocultar');
}
function AddCesta_FAIL(error) { alert('No se ha podido a\u00F1adir el producto a cesta. Por favor, int\u00E9ntelo de nuevo m\u00E1s tarde.'); }

function CambiarParametros(valor) {
    var Call = new SWwebService.conexionSW;
    LoaderCesta('mostrar');
    Call.CESTA_CambiarParametros(valor, CambiarParametros_OK, CambiarParametros_FAIL);
}
function CambiarParametros_OK(resultado) { try { $get('CPH_Body_Cesta_div').innerHTML = resultado; } catch (Error) { } LoaderCesta('ocultar'); }
function CambiarParametros_FAIL(error) { alert('No se han podido aplicar los cambios. Por favor, int\u00E9ntelo de nuevo m\u00E1s tarde.'); }

function UPD_CantidadCesta(codart, cant) {
    var Call = new SWwebService.conexionSW;
    if (cant == 0) {
        if (confirm('¿Desea eliminar este producto de su cesta?') == false)
        { return false; } else {
            Call.DEL_ProductoCesta(codart, DEL_ProductoCesta_OK, DEL_ProductoCesta_FAIL);
        }
    }
    LoaderCesta('mostrar');
    Call.UPD_CantidadCesta(codart, cant, UPD_CantidadCesta_OK, UPD_CantidadCesta_FAIL);
}
function UPD_CantidadCesta_OK(resultado) { try { $get('CPH_Body_Cesta_div').innerHTML = resultado; } catch (Error) { } LoaderCesta('ocultar'); }
function UPD_CantidadCesta_FAIL(error) { alert('No se ha podido modificar la cantidad. Por favor, int\u00E9ntelo de nuevo m\u00E1s tarde.'); }

function DEL_ProductoCesta(codart) {
    var Call = new SWwebService.conexionSW;
    if (confirm('¿Desea eliminar este producto de su cesta?') == false)
    { return false; }
    else {
        Call.DEL_ProductoCesta(codart, DEL_ProductoCesta_OK, DEL_ProductoCesta_FAIL);
    }
}
function DEL_ProductoCesta_OK(resultado) { try { $get('CPH_Body_Cesta_div').innerHTML = resultado; } catch (Error) { } }
function DEL_ProductoCesta_FAIL(error){alert('No se ha podido eliminar el producto. Por favor, int\u00E9ntelo de nuevo m\u00E1s tarde.');}

function VaciarCesta() {
    var Call = new SWwebService.conexionSW;
    if (confirm('¿Desea vaciar su cesta de usuario?') == false)
    { return false; }
    else {
        Call.VaciarCesta(VaciarCesta_OK, VaciarCesta_FAIL);
    }
}
function VaciarCesta_OK(resultado) { try { $get('CPH_Body_Cesta_div').innerHTML = resultado; } catch (Error) { } try { $get('MP_CantCesta_span').innerHTML = 'Cesta vacía'; } catch (Error) { } }
function VaciarCesta_FAIL(error) {alert('No se ha podido vaciar la cesta. Por favor, int\u00E9ntelo de nuevo m\u00E1s tarde.');}

function UPD_DIREnvio_Cesta(DirEnvio) {
    var Call = new SWwebService.conexionSW;
    LoaderCesta('mostrar');
    Call.CESTA_UPD_DirEnvio(DirEnvio, UPD_DIREnvio_Cesta_OK);
}
function UPD_DIREnvio_Cesta_OK(resultado) { try { $get('CPH_Body_Cesta_div').innerHTML = resultado; LoaderCesta('ocultar'); } catch (Error) { } }

function INS_Observaciones(Observaciones) {
    var Call = new SWwebService.conexionSW;
    LoaderCesta('mostrar');
    Call.CESTA_INSObservacionesSession(Observaciones, INS_Observaciones_OK);
}
function INS_Observaciones_OK(resultado) {try { $get('CPH_Body_Cesta_div').innerHTML = resultado; LoaderCesta('ocultar'); } catch (Error) { }}

/************************ FIN DE CESTA *****************/
/*******************************************************/

/***** VALIDACIÓN *****/
function Validar() {
    var Call = new SWwebService.conexionSW;
    var User = $get('MP_userinput').value;
    var Pass = $get('MP_passinput').value;
    var Recordar = $get('CHKRecordar').checked;
    Call.Validar(User, Pass, Recordar, Validar_ok, Validar_Fail, User);
}

function Validar_ok(resultado, User) {
    if (resultado == true) {
        if (User == 'webadmin' || User == 'adminsem') {
            location.href = 'admin-panel.aspx';
        } else {
            location.reload();
        }
        
    } else {
        alert('El usuario o la contraseña son incorrectos');
    }
}
function Validar_Fail(error) {}

function CerrarSesion() {
    if (confirm('¿Desea cerrar su sesion de usuario?') == false)
    { return false; }
    else {
        var Call = new SWwebService.conexionSW;
        Call.Logout(CerrarSesion_ok);
    }}
function CerrarSesion_ok(resultado) {
    if (resultado == true) {
        location.href = 'Home.aspx';
    } else {
    } 
}

//********** REGISTRO DE CLIENTES ********** //
//*******************************************//

function Registrarse() {
    var Call = new SWwebService.conexionSW;

    var NombreEmpresa = $get('REG_nombreempresa').value;
    var CIF = $get('REG_cif').value;
    var Contacto = $get('REG_contacto').value;
    var Telefono = $get('REG_telefono').value;
    var CodPostal = $get('REG_codpostal').value;
    var Email = $get('REG_email').value;
    var TipoTienda = $get('REG_tipotienda').value;
    var Provincia = $get('REG_provincia').value;
    var Comentario = $get('REG_comentario').text;

    if (NombreEmpresa == '' || CIF == '' || Contacto == '' || Telefono == '' || CodPostal == '' || Email == '' || TipoTienda == '' || Provincia == '' || Comentario == '') {
        alert('Rellena todos los campos del formulario por favor.');
        return false;
    } else {
        Call.RegistroCliente(NombreEmpresa, CIF, Contacto, Telefono, CodPostal, Email, TipoTienda, Provincia, Comentario, Registrarse_OK);
    }
}

function Registrarse_OK(resultado) { if (resultado == true) { alert('Formulario enviado'); } else { alert('No se ha podido enviar el formulario'); } }

function MAIL_pruebasNacho() {
    var Call = new SWwebService.conexionSW;
    Call.MAndaremaildios(MAIL_pruebasNacho_OK);
}
function MAIL_pruebasNacho_OK(resultado) {
    if (resultado == 'true') {
        alert('Correo enviado');
    }
}
