﻿/// <changes>
/// 2008-07-04  IC      Added function ProcessError for handled ajax error
/// 2008-07-31  EF      Use ".value" instead of ".innerHMTL" to get control content (".innerHMTL" does not work in Firefox)
/// 2008-08-12  SS      Added logic to show complete name of Remitente
/// 2008-09-12  AP      Added Function ControlText
/// 2008-10-14	EF		Use JS global variable c_ApplicationPath. This is necessary due to url rewriting.
/// 2008-10-22  SB      Change function names to diferenciate to Acceso.js functions
/// 2008-10-22	SB		Change Ajax's time out before RecuperarClave
/// 2008-10-26  SS      Show or Hide processing box to user
/// </changes>
// JScript File

function RecuperarClaveResultadoDetalle()
{
    
    var mailIngresado = document.getElementById('txtMailRecuperar').value;
    var validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;    
    
    if (mailIngresado.search(validRegExp) == -1)
        alert('El E-mail ingresado no es una dirección válida.');
    else
        {
            //  2008-10-26    SS      Show or Hide processing box to user
            ShowProcessingBox("Espere mientras se envía el mensaje.", "idProcessScreenRecuperarClave", "Tiempo de espera agotado al intentar enviar el mensaje.");
            AjaxPro.timeoutPeriod = 30000;
            AjaxPro.onTimeout = HandleTimeout;
            ResultadoDetalle.RecuperarClave(mailIngresado, RecuperarClaveResultadoDetalle_callback);
        }
        /*
        var emailreg = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i
return emailreg.test(_email);
        */
}
function BorrarMensajes()
{
    var divMsjError = document.getElementById('divMsjError');
//    var divMsj = document.getElementById('divMsj');
    var divMsj = document.getElementById('divMsjComment');
    divMsjError.style.display = "none";
    divMsj.style.display = "none";
}
//	2008-09-24	SS		Added logic to display differents messages
function RecuperarClaveResultadoDetalle_callback(res)
{
    if(res.error!=null)
         ProcessError(res);
//        a=1;//alert(res.error.Message);
    else
    {
        var divError = document.getElementById('divMsjError');
        if (res.value == "0")
        {
            //  2008-10-26    SS      Show or Hide processing box to user
            HideProcessingBox(null,"idProcessScreenRecuperarClave");
            var span = divError.getElementsByTagName('span');
//            for (var i=0; i < span.length; i++)
//            {
//               span[i].style.color = "black";  
//            } 
            ShowMessage(divError, "Se ha enviado su contraseña a su casilla de correo.", true); 
            ShitchLogs();
        
        }
        else  if (res.value == "1")
        {   
          
            //  2008-10-26    SS      Show or Hide processing box to user
            HideProcessingBox(null,"idProcessScreenRecuperarClave");
            ShowMessage(divError, "El E-mail ingresado no pertenece a un usuario registrado.");            
        }
        else  if (res.value == "2")
        {
            //  2008-10-26    SS      Show or Hide processing box to user
            HideProcessingBox(null,"idProcessScreenRecuperarClave");
            ShowMessage(divError, "Se ha producido un error al enviar el E-mail.");            
        
        }
    }
}

function ShitchLogs(){
    if(document.getElementById('LogLayer1').style.display =='block'){
    document.getElementById('LogLayer1').style.display = 'none';
    document.getElementById('LogLayer2').style.display = 'block';
    }else{
    document.getElementById('LogLayer1').style.display = 'block';
    document.getElementById('LogLayer2').style.display = 'none';
    }
}
function ShitchThis()
{
    if(document.getElementById('IconComentHide').style.display =='block')
    {
        document.getElementById('IconComentHide').style.display = 'none';
        document.getElementById('IconComentShow').style.display = 'block';
    }
    else
    {
        document.getElementById('IconComentHide').style.display = 'block';
        document.getElementById('IconComentShow').style.display = 'none';
    }
}

function ArmarTabla(nInicio, nStep)
{
    if(mensajes != null)
    {
        var sTemp = "";
        var nCount = mensajes.length < nInicio + nStep ? mensajes.length : nInicio + nStep;
        var i = 0;
        for (var i = nInicio; i < nCount; i++)
        {
            //2008-08-12  SS    Added logic to show complete name of Remitente
//            sTemp += "\n<p><strong>" + mensajes[i].UsuarioWebRemitente + "</strong> <em>" + mensajes[i].dFecha + "</em><br />";// | <a href=\"#\" onclick=\"showBox('divEliminarComent_" + mensajes[i].idMensaje + "');return false;\">Remover Mensaje</a><br />";
            sTemp += "\n<p><strong>" + mensajes[i].RemitenteNombre + " " + mensajes[i].RemitenteApellidoPaterno + " " + mensajes[i].RemitenteApellidoMaterno + "</strong> <em>" + mensajes[i].dFecha + "</em><br />";// | <a href=\"#\" onclick=\"showBox('divEliminarComent_" + mensajes[i].idMensaje + "');return false;\">Remover Mensaje</a><br />";
            //2008-09-12  AP      Added Function ControlText
            sTemp += "\n" + ControlText(mensajes[i].tMensaje, nLongitude); + "</p>";
            sTemp += "\n<div class=\"UsCont\" id=\"divEliminarComent_" + mensajes[i].idMensaje + "\" style=\"display: none;\">";
            sTemp += "\n    Brevemente incluya la razón para eliminar éste comentario:<br />";
            sTemp += "\n    <textarea cols=\"70\" rows=\"4\" class=\"InsertComent\" id=\"txtDeleteComent_" + mensajes[i].idMensaje + "\"></textarea><br />";
            sTemp += "\n    <input type=\"button\" class=\"Btn\" value=\"enviar\" />";
            sTemp += "\n    <div class=\"CleanFix\"><!----></div>";
            sTemp += "\n</div>";
        }
        if(mensajes.length > 0)
        {
            var nStart = (nInicio / nStep + 1 - 5 > 1 ? nInicio / nStep + 1 - 5 : 1);
            var nEnd = (nInicio / nStep + 1 + 5 < Math.ceil(mensajes.length / nStep) ? nInicio / nStep + 1 + 5 : Math.ceil(mensajes.length / nStep));
            sTemp += "\n<div class=\"Pagination\">";
            sTemp += "\n    <ul>";

            if(nInicio - nStep >= 0)
            {
                sTemp += "\n        <li class=\"SelectProx\"><a href=\"#\" onclick=\"ArmarTabla(0, " + nStep + "); return false;\">&lt;&lt;&nbsp;Primera</a></li>";
                sTemp += "\n        <li class=\"SelectProx\"><a href=\"#\" onclick=\"ArmarTabla(" + (nInicio - nStep) + ", " + nStep + "); return false;\">&lt;&nbsp;Anterior</a></li>";
            }
            else
            {
                //sTemp += "\n        <li class=\"SelectProx\"><a>&lt;&lt;&nbsp;Primera</a></li>";
                //sTemp += "\n        <li class=\"SelectProx\"><a>&lt;&nbsp;Anterior</a></li>";
            }
            if (nStart != 1)
                sTemp += "\n        <li>&#x2026;</li>";
            for(var i = nStart; i <= nEnd; i++)
                if(nInicio != (i - 1) * nStep)
                    sTemp += "\n        <li><a href=\"#\" onclick=\"ArmarTabla(" + ((i - 1) * nStep) + ", " + nStep + "); return false;\">" + i + "</a></li>";
                else
                    sTemp += "\n        <li class=\"SelectPag\">" + i + "</li>";
            if (nEnd != Math.ceil(mensajes.length / nStep))
                sTemp += "\n        <li>&#x2026;</li>";
            if(nInicio + nStep <= mensajes.length - 1)
            {
                sTemp += "\n        <li class=\"SelectProx\"><a href=\"#\" onclick=\"ArmarTabla(" + (nInicio + nStep) + ", " + nStep + "); return false;\">Siguiente&nbsp;&gt;</a></li>";
                sTemp += "\n        <li class=\"SelectProx\"><a href=\"#\" onclick=\"ArmarTabla(" + ((Math.ceil(mensajes.length / nStep) - 1) * nStep) + ", " + nStep + "); return false;\">Ultima&nbsp;&gt;&gt;</a></li>";
            }
            else
            {
                //sTemp += "\n        <li class=\"SelectProx\"><a>Proxima&nbsp;&gt;</a></li>";
                //sTemp += "\n        <li class=\"SelectProx\"><a>Ultima&nbsp;&gt;&gt;</a></li>";
            }
            sTemp += "\n        <li class=\"VerComentarios\"><a href=\"#\" onclick=\"showBox('divComentLayer');ShitchThis();return false;\"><img src=\"" + c_ApplicationPath + "App_Images/resultados-detalles/ocultarCom.gif\" alt=\"Ocultar Comentarios\" /></a></li>";
            sTemp += "\n    </ul>";
            sTemp += "\n</div>";
        }
        document.getElementById('divComentLayer').innerHTML = sTemp;
    }
    else
        document.getElementById('divComentLayer').innerHTML = "";
}

function EnviarMensaje()
{
    //  2008-07-31  EF      Use ".value" instead of ".innerHMTL" to get control content (".innerHMTL" does not work in Firefox)
    var tMensaje = document.getElementById('txtComentario').value;
//    var tMensaje = document.getElementById('txtComentario').innerHTML;
    if(tMensaje != "")
        ResultadoDetalle.EnviarMensaje(idAviso, tMensaje, EnviarMensaje_callback);
    else
        alert('Debe ingresar los comentarios a enviar.');
}
function EnviarMensaje_callback(res)
{
        if(res.error!=null)
             ProcessError(res);
//            a=1;//alert(res.error.Message);
        else
        {
            document.getElementById('txtComentario').innerHTML = '';
            mensajes[mensajes.length] = res.value;
            document.getElementById('h1CantMensajes').innerHTML = mensajes.length;
            ArmarTabla(0, 8);
            alert ('Los comentarios han sido enviados correctamente.');
        }
}


function Redirect(IdBusiness)
{
		
		ResultadoDetalle.Redirect(IdBusiness, c_sRedirectPage, Redirect_callback);

}


function Redirect_callback(res){
	
    if (res.error != null)
    {
         ProcessError(res);
    }
    else
    {
		document.location.href = res.value;
    }
}