﻿var redirectPage;
//*******************************************************************************************************************************//
//
//  FUNCIONES PARA MANEJAR EVENTOS DE LOGIN
//
//*******************************************************************************************************************************//

//Chequea la autenticación
function checkAutentication(redirect)
{
    if($("divMarcoPhotos") != null)
    {
           $("divMarcoPhotos").style.display = "none";
    }
    
    if($("divEcoContest") != null)
    {
           $("divEcoContest").style.display = "none";
    }
    
    if(redirect!=undefined)
        redirectPage = redirect;
        
    $Ajax(basepath + "controllers/Login/Login.aspx?method=checkSession", {
        cache: false, 
        onfinish: function(html)
        {
            switch(html) 
            {
                case 'True':
                    if(redirectPage!=undefined && redirectPage!='' && redirectPage!='true')
                    {
                        window.location = redirectPage; 
                    }        
                    //Photos y Articulos
                    else if(redirectPage == 'true')
                    {
                        
                        return true;                       
                    }
                    else
                    {
                        viewScreenMessage();
                    }
                    break;

                default:
                    if(redirectPage == 'true')
                    {          
                        return true;                   
                    }
                    else
                    {
                        login();                        
                    }                    
                    break;
            }
        }
    });
}

function onEnter(ev)
{
    if(ev==13)
    {
        return fireLogin();
    }  
}

//Muestro pantalla de login (para el caso que el que quiera escribir no esté logueado)
function login() {
    var url = null;
    url = basepath + "Login/Login_popup.aspx";
    Dialog.confirm({url:url}, 
               {windowParameters: {className: "alphacube", width:400, height:280, closable:false}, okLabel: "Log in", 
                ok:function (html){
                    fireLogin();
                },
                onCancel:function(win) {
                if($("divMarcoPhotos") != null){$("divMarcoPhotos").style.display = "block";}
                if($("divEcoContest") != null){ $("divEcoContest").style.display = "block";}
                return true;}});
                
    var timer_u = setTimeout(waterUser, 1000);
    index++;
}

function fireLogin()
{
    var retorno = true;
        
    //Cheque que haya ingresado bien los datos    
    var user = $F("txtUser");
    var pass = $F("txtPassword");

    if(user.replace(/\s*/,'') == '' || user == 'Enter Username')
    {
        $('lblUser').innerHTML = '*';
        retorno = false;
    }
    else
    {
        $('lblUser').innerHTML = '';
    }
    
    if(pass.replace(/\s*/,'') == '')
    {
        $('lblPassword').innerHTML = '*';
        retorno = false;
    }
    else
    {
        $('lblPassword').innerHTML = '';
    }
    
    if(retorno)
    {
        invocarLogin_Init();
    }
          
    return false;
 
}


function invocarLogin_Init(){
    
    var pass_md5 = hex_md5($F("txtPassword"));
    $Ajax(basepath+"controllers/Login/Login.aspx?method=checkLogin", {
            cache: false, 
            metodo: $metodo.POST,
            parametros: {"UserName":$F("txtUser"),"Password":pass_md5,"ip":trim(userIP)},
            onfinish: function(html) {
                var code = html.split('-')[0];
                
                switch(code){                           
                    case '0': //Login Correcto
                        //Llamo al controlador para que coloque en la session
                        //setSession(html.split('-')[1], type);   
                        setSession_Init(html.split('-')[1]);                     
                        break;
                
                    case '1': 
                       $('lblErrorUser').innerHTML = 'Invalid Password';                            
                        break;
                        
                    case '2': 
                        $('lblErrorUser').innerHTML = 'Locked for Invalid Password';
                        break;
                        
                    case '3': 
                        //Me llega de la forma "unlockHour - locks_types.detail"
                      $('lblErrorUser').innerHTML = 'User locked. You must wait for ' + html.split("-")[1] + " hour/s. " + html.split("-")[2];
                       break;
                        
                    case '4': 
                        $('lblErrorUser').innerHTML = 'User not validated. You must validate user';
                        break;
                
                    case '5': 
                        $('lblErrorUser').innerHTML = 'Invalid User';
                        break;
                        
                     case '6': 
                        $('lblErrorUser').innerHTML = 'Locked for Invalid User';                            
                        break;
                
                    case '7': 
                        $('lblErrorUser').innerHTML = 'We are sorry, your request could not be completed';
                        break;
                }   
            }
    });

}

function setSession_Init(user_id){
    $Ajax(basepath+"controllers/Login/Login.aspx?method=generateSession", {
            cache: false, 
            metodo: $metodo.POST,
            parametros: {"UserName":$F("txtUser"),"UserId":user_id,"cookie": setCookie()},
            onfinish: function(html) {
                if(html == "1")
                {
                    if (redirectPage != undefined && redirectPage != '' && redirectPage != 'true') {
                        window.location = redirectPage;
                    }
                    else if (redirectPage == 'true') {
                        goSession();
                        loginTo();

                    }
                    else {
                        viewScreenMessage();
                        goSession();
                    }
                }
                else
                {
                    return false;                    
                }                     
            }
    });

}

function setCookie()
{
    if($("cookieTrue") != null)
    {
        if($("cookieTrue").checked)
        {
            return "1";
        }
        else
        {
            return "0"; 
        }        
    }
}

function waterUser()
{
    if($('txtUser') != null)
    watermark('txtUser', 'Enter Username', 'input_marcagua');
}

function waterEmail()
{
    if($('txtEmail') != null)
    watermark('txtEmail', 'Enter the email you registered with', 'input_marcagua');
}

//---------------------------------------------------------------------------------//