﻿// LOGIN STUFF

function submitLogin(email, pass, url) {
    $get("loginIntroCopy").innerHTML = '<img src="./App_Images/ajax-bar-sm.gif" class="ajaxBarSm" alt="" />';
    loginService.loginMethod(email, pass, url, OnLoginSucceeded, OnLoginFailed);
}
function OnLoginSucceeded(result) {
    var results = result.split(",")
    if (results[0] == -1){
        $get("loginIntroCopy").innerHTML = '<span class="errorDark"><img src="./App_Images/alert-yellow-30.gif" alt="" align="left" />Login incorrect</span>';
    } else if (results[0] == 1) {
        $get("loginIntroCopy").innerHTML = '<span class="message"><img src="./App_Images/alert-yellow-30.gif" alt="" align="left" />Your account has not yet been activated</span>';
    } else {
        $get("mastAndNav_loginIndicator").innerHTML = 'logged in as ' + results[1] + ' ' + results[2] + '&nbsp;&nbsp;|&nbsp;&nbsp;<a onclick="logoutClientHandler()">logout</a>';
        hideLogin();
        $get("myAcctPipe").style.visibility = 'visible';
        $get("mastAndNav_myAccountLi").style.visibility = 'visible';
    }
}
function OnLoginFailed(error, userContext, methodName) {
    if(error !== null) {
        $get("loginIntroCopy").innerHTML = '<span class="error">(1) Internal error. Please <a href="/login.aspx">click this link</a>, then try again.</span>';
    }
}

function submitLoginStatic(email, pass, url) {
    $get("loginMessage").innerHTML = '<img src="./App_Images/ajax-bar-sm.gif" class="ajaxBarSm" alt="" />';
    loginService.loginMethod(email, pass, url, OnLoginSucceededStatic, OnLoginFailedStatic);
}
function OnLoginSucceededStatic(result) {
    var results = result.split(",")
    if (results[0] == -1){
        $get("loginMessage").innerHTML = '<div class="errorDark"><img src="./App_Images/alert-yellow-30.gif" alt="" align="left" />Login incorrect</div>';
    } else if (results[0] == 1) {
        $get("loginMessage").innerHTML = '<div class="message"><img src="./App_Images/alert-yellow-30.gif" alt="" align="left" />Your account has not yet been activated</div>';
    } else {
        $get("mastAndNav_loginIndicator").innerHTML = 'logged in as ' + results[1] + ' ' + results[2] + '&nbsp;|&nbsp; <a onclick="logoutClientHandler()">logout</a>';
        if (qsParm['ReturnUrl']){
            if (qsParm['ReturnUrl'] != '') {
                location.href = qsParm['ReturnUrl'].replace(/%2f/g,'/');
            } else {
                location.href = 'default.aspx';
            }
        } else {
            location.href = 'default.aspx';
        }
        $get("loginMessage").innerHTML = '';
    }
}
function OnLoginFailedStatic(error, userContext, methodName) {
    if(error !== null) {
        $get("loginMessage").innerHTML = '<div class="error" class="white">(2) Internal error. Please <a href="/login.aspx" class="white">click this link</a>, then try again.</div>';
        //$get("loginMessage").innerHTML = '<span class="error" class="white">' + error + '</span>';
    }
}

function logoutClientHandler(){
    loginService.Logout();
    //FormsAuthentication.SignOut()
    $get("mastAndNav_loginIndicator").innerHTML = '<a href="/register.aspx">REGISTER</a> &nbsp;|&nbsp;&nbsp;<span id="loginAnchor" runat="server"><a href="javascript:showLogin();">LOGIN</a></span>';
    //ALSO DOESN"T DO SHIT: ACTUALLY, REDIRECTS BEFORE THE LOGOUT TAKES PLACE
    //location.href="default.aspx"; //TODO: update to point to main /root ultimately
    $get("myAcctPipe").style.visibility = 'hidden';
    $get("mastAndNav_myAccountLi").style.visibility = 'hidden';
}


//NEWSLETTER STUFF
function submitNewsletterSignup(email, url) {
    $get("newsletterSignupIntroCopy").innerHTML = '<img src="./App_Images/ajax-bar-sm.gif" class="ajaxBarSm" alt="" />';
    PageMethods.newsletterSignupSub(email, url, OnNewsletterSucceeded, OnNewsletterFailed);
}
function OnNewsletterSucceeded(result) {
    $get("footer_newsletterSignup").value = '';
    if (result == "nogood"){
        $get("newsletterSignupIntroCopy").innerHTML = '<span class="error">A server error occurred, please try again another time.</span>';
    } else if (result == "exists") {
        $get("newsletterSignupIntroCopy").innerHTML = '<span class="message">No worries, this email address is already on our list.</span>';
    } else {
        $get("newsletterSignupIntroCopy").innerHTML = '<span class="success">Thank you, your email address has been added to our list.</span>';
    }
}
function OnNewsletterFailed(error, userContext, methodName) {
    if(error !== null) {
        $get("newsletterSignupIntroCopy").innerHTML = '<span class="error">' + Object.inspect(error) + '</span>';
    }
}


//WISHLIST STUFF
function submitWishlistAddition(lessonId, userId, url) {
    $get("wishlistIndicator").innerHTML = '<img src="./App_Images/ajax_tiny_red.gif" alt="" />';
    PageMethods.wishlistAdditionSub(lessonId, userId, url, OnWishlistAddSucceeded, OnWishlistAddFailed);
}
function OnWishlistAddSucceeded(result) {
    if (result == "nogood"){
        $get("wishlistIndicator").innerHTML = '<span class="error bold">&nbsp;&nbsp;&nbsp;Error</span>';
    } else {
        $get("wishlistWrapper").innerHTML = '<span class="success bold">Added to wishlist</span> &nbsp;<img src="./App_Images/icon_favorite_green.gif" class=""icon16 inWishlistIcon"" alt="" />';
    }
}
function OnWishlistAddFailed(error, userContext, methodName) {
    if(error !== null) {
        $get("wishlistIndicator").innerHTML = '<span class="error">' + Object.inspect(error) + '</span>';
    }
}


function pageLoad() {

// TODO:
// 1) output generate_json_user() (maybe RegisterScriptBlock [http://www.codeguru.com/csharp/.net/net_asp/scripting/article.php/c5337/])
// 2) 


//    Type.registerNamespace("TTU");
//    TTU.CurrentUser = function(uid, fname, lname, loginStatus) {
//        var _uid = (uid != null) ? uid : "unknown";
//        var _fname = (fname != null) ? fname : "unknown";
//        var _lname = (lname != null) ? lname : "unknown";
//        var _status = (status != null) ? status : "unknown";

//        this.getUid = function(){
//          return _uid;
//        }
//        this.setFname = function(uid) {
//          _uid = uid;
//        }
//        this.getFname = function(){
//          return _fname;
//        }
//        this.setFname = function(fname) {
//          _fname = fname;
//        }
//        this.getLname = function() {
//          return _lname;
//        }
//        this.setLname = function(lname) {
//          _lname = lname;
//        }
//        this.getStatus = function() {
//          return loginStatus;
//        }
//        this.setStatus = function(loginStatus) {
//          _status = loginStatus;
//        }
//        
//        this.getName = function() {
//            return getFname + ' ' + getLname;
//        }
//    }
//    Type.registerClass("TTU.CurrentUser");
//    
//    //TODO: Get Info from codebehind
//    var user = new TTU.CurrentUser(1,"Greg", "Nason", true);
//    
//    //TODO: Make anchor to user profile info using uid
    //    if (user.getStatus = true){ $get('loginAnchor').InnerHTML = "logged in as " + user.getFname(); }

}


// REFERENCE regarding the following line (I was curious) -GN 2/9/08 
// http://asp.net/ajax/documentation/live/clientreference/Sys/ApplicationClass/SysApplicationNotifyScriptLoadedMethod.aspx
if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();