﻿function doLogin ( )
{
    if ( $get("user_id").value == "" )
    {
        alert("Please put in an email address!");      
    }
    var atPos = $get("user_id").value.indexOf("@");
    var dotPos = $get("user_id").value.lastIndexOf(".");
    if ( atPos < 1 || dotPos-atPos<2 )
    {
        alert("Your email address needs some work...");
    }
    else
    {
        var username = $get("user_id").value;
        var password = $get("password").value;
        OneSixOh.OneSixOhWebServices.DoLogin( username, password, doLoginUpdate );
    }
}

function doLoginCheck ( loginResult )
{
    if ( loginResult )
    {
        OneSixOh.OneSixOhWebServices.GetLoginInfo ( doLoginUpdate );
    }
    else
    {
        
    }
}

function doLoginUpdate ( loginResult )
{
    if ( loginResult._userID > 0 )
    {
        var elemLogin = $get("menu_login");
        elemLogin.style.display = 'none';
        var elemLoginGood = $get("menu_login_good");
        elemLoginGood.style.display = '';
        var elemLoginName = $get("loginName");
        elemLoginName.innerHTML = loginResult._userName;
        var elemLoginCountry = $get("loginCountry");
        elemLoginCountry.innerHTML = loginResult._userCountry;
        var elemLoginZipcode = $get("loginZipcode");
        elemLoginZipcode.innerHTML = loginResult._userZipCode;
        
        OneSixOh.OneSixOhWebServices.UpdateCart( UpdateCartTotals, FailedSubTotals );
        
        OneSixOh.OneSixOhWebServices.GetAdminLoginInfo( loginResult._userID, UpdateAdminLogin, FailedAdminLogin);
        
        getDownloadFiles( loginResult );
    }
    else
    {
        alert("Login Failed!");
    }
}

function UpdateAdminLogin( loginResult )
{
    if ( loginResult.length > 0 )
    {
        var adminElem = document.getElementById ( "adminOptions" );
        var menuElem = document.getElementById ( "menu_admin" );
        menuElem.style.display = '';
        adminElem.innerHTML = "";
        for ( i = 0; i <= loginResult.length - 1; i++ )
        {
            var newA = document.createElement ( "a" );
            var newBr = document.createElement ( "br" );
            newA.setAttribute("href", loginResult[i]._userPermissions );
            newA.appendChild(document.createTextNode ( loginResult[i]._userPermissionsDesc ));
            adminElem.appendChild(newA);
            adminElem.appendChild(newBr);
        }
    }
    else
    {
    }
}

function FailedAdminLogin ( )
{
}

function getDownloadFiles( loginResult )
{
    OneSixOh.OneSixOhWebServices.GetDownloadList( loginResult._userID, updateDownloadFiles );
}

function updateDownloadFiles ( downloadResults )
{
    var dlList = document.getElementById ( "downloadList" );
    var menuDl = document.getElementById ( "menu_download_files");
    menuDl.style.display = '';
    dlList.innerHTML = "";
    for (i = 0; i <= downloadResults.length - 1; i++ )
    {
        var newLi = document.createElement ( "a" );
        var newBr = document.createElement ( "br" );
        newLi.setAttribute("href", "#");
        if (navigator.appName == "Microsoft Internet Explorer")
        {
            newLi['onclick'] = new Function("tryToDownload('download.aspx?FileName=" + downloadResults[i]._releaseDownloadURL + "')");
        }
        else
        {
            newLi.setAttribute("onclick", "tryToDownload('download.aspx?FileName=" + downloadResults[i]._releaseDownloadURL + "'); return false;");
        }
        newLi.appendChild(document.createTextNode( downloadResults[i]._releaseName ));
        dlList.appendChild(newLi);
        dlList.appendChild(newBr);
    } 
}

function ForgotPassword()
{
    var email = prompt("What email address did you register with at 16oh.com?");
    
    OneSixOh.OneSixOhWebServices.EmailPassword( email, PasswordSent, FailedPassword);
}

function PasswordSent( passwordResults )
{
    if ( passwordResults )
    {
        alert("Your password has been sent to the email you registered with! Please check your email to retrieve");
    }
    else
    {
        alert("OOOPS");
    }
}

function FailedPassword( passwordResults )
{
    alert("We were unable to resend your password. Either your email you submitted was wrong, or you may be dumb. Please check the email first");
}

function NewPassword( )
{
    var password1 = prompt("What do you want your new password to be?", "New password: ");
    var password2 = prompt("Please confirm your new password.", "New password: ");
    
    if (password1 == password2 )
    {
        OneSixOh.OneSixOhWebServices.ChangePassword( password1, PasswordChanged, FailedPasswordChanged);
    }
    else
    {
        alert("Please reenter your passwords, one did not match the other, you fat fingered slob.");
    }
}

function PasswordChanged( passwordResults )
{
    if ( passwordResults )
    {
        alert("Congratulations, your password has been changed!");
    }
    else
    {
        alert("Oops. Couldn't change the password...");
    }
}

function FailedPasswordChanged ( passwordResults )
{
    alert("Oops, we couldn't change your password. This is due to many problems, the first of which being: YOU ARE WRONG.");
}
