function setParam(key,val)
{
    var date = new Date();
	date.setTime(date.getTime()+(365*24*60*60*1000));
	var expires = "; expires=" + date.toGMTString();
	document.cookie = key + "=" + val + expires + "; path=/";
}

function doLogin()
{
    var login = document.getElementById('login');
    var charName = login.character.value;
    
    if(charName.indexOf('@') != -1) // an email address
    {    
        var src = getShortingURL(charName) +  '/getcharname.php?character=' + charName;   
        DynamicPageManager.fetchData('charNameScript',src,'emailToCharNameResponse'); 
        return;
    }
    
    
    if ( window.loginTargetUrl === undefined )
    {
        loginTargetUrl = "/login.php?loginAttempt=true&targetUrl=game.php&menuAction=none&mode=Login";
    }
    var rememberMeValue = login.rememberMe.checked ? "on" : "off";
    
    setParam("landing_charname",charName);
 
    login.action = getShortingURL(charName) + loginTargetUrl +  "&rememberMe=" + rememberMeValue;
    
    login.submit();
}

function showForgotPasswordWindow(cmd)
{
    var forgetPasswordDiv = document.getElementById('forgetPasswordDiv');

    if ( cmd == 'show' )
    {
        var resultDiv = document.getElementById('forgotPasswordRet');
        resultDiv.innerHTML = '';
        
        var forgotPasswordCharname = document.getElementById('forgotPasswordCharname');
        forgotPasswordCharname.value = '';
        
        
        forgetPasswordDiv.style.display = 'block'; 
    }
    else     
    {
        forgetPasswordDiv.style.display = 'none'; 
    }
}

function passwordCallback(result)
{
    var resultDiv = document.getElementById('forgotPasswordRet');
    var msg;
    
    switch (result)
    {
        case 'FP_NO_CHARACTER' : 
        case 'FP_NO_EMAIL' : 
        case 'loadData :: No data.' :
            msg = 'The character name or e-mail address do not exist.';    
            break;
        case 'FP_SUCCESS' :
            msg = 'Your password has been sent to the e-mail address you\'ve provided.';
            break;
        default :
            msg = 'Unable to complete request. Please try again.';            
    }   
    
    resultDiv.innerHTML = msg;
}

function sendForgetPassword()
{   
    var forgotPasswordCharname = document.getElementById('forgotPasswordCharname');
    var charName = forgotPasswordCharname.value;

    if(charName.length < 4 || charName.indexOf(" ") != -1)
    {
        return;
    }
    
    var src = getShortingURL(charName) +  '/forgetpassword.php?character=' + charName;   
    DynamicPageManager.fetchData('passReminderScript',src,'passwordCallback');   
}

function hideShowMoondoVideo()
{
    var dvMovie = document.getElementById('dvMovie');
    
    if(dvMovie) //since FF dosent support Iframe events we check by timer if the reg win is open
    {
        var rgDiv = document.getElementById('regDiv');
        
        if(rgDiv.style.height != "0px")
        {
            dvMovie.style.visibility = "hidden"; 
            setTimeout(hideShowMoondoVideo, 500);
            
        }
        else
        {
            dvMovie.style.visibility = "visible";       
        }
    }
}

function showRegisterWindow(cmd)
{
    var rgDiv = document.getElementById('regDiv');
    
    if(rgDiv.attributes['src'].nodeValue == '')
    {
       var transParams = '';
       if (translatedLanguage)
       {
            transParams = '?lang=' + translatedLanguage + '&module=registertrans&camp=' + extractQueryStringParam('camp') ;
       }
       
       rgDiv.src = '/components/register/register.htm' + transParams;
    }
    
    rgDiv.style.width = '720px';
    rgDiv.style.height = '505px';
	rgDiv.style.left = '240px';
	
	hideShowMoondoVideo(); 
}

function emailToCharNameResponse(result)
{
    switch (result)
    {
        case 'FP_NO_CHARACTER' : 
            var msgDiv = document.getElementById("incorretLogin");
            msgDiv.style.visibility = "visible";  
            break;        
        default :
        
        var login = document.getElementById('login');
        login.character.value = result;
        doLogin();
                       
    }
}



function setLoginCharacterName()
{
    var defaultText = "Character Name";

    if ( login.character.value ==  defaultText)
    {
        login.character.value = "";
    }
    else if ( login.character.value == "" )
    {
        login.character.value = defaultText;
    }
}

function setLoginPasswordField(isFocus)
{
    var login = document.getElementById("login");
    if ( isFocus )
    {
        if ( login.hiddenPassword.style.visibility == "visible" )
        {
            login.hiddenPassword.style.visibility = 'hidden';
            login.password.value = "";
            login.password.style.visibility = "visible";
            login.password.focus();
        }
    }
    else if ( login.password.value == "" )
    {
            login.password.style.visibility = 'hidden';
            login.hiddenPassword.value = "Password";
            login.hiddenPassword.style.visibility = "visible";
    }
}

function checkForSubmit(evt) 
{
    evt = (evt) ? evt : window.event ;

    if(evt)
	{
	    var keyCode = (evt.charCode || evt.keyCode);
	
	    if (keyCode == 13) 
        {
            doLogin();
        }
    }    
}

document.onkeypress = checkForSubmit;

