﻿user = new Object();

/********  Registration/Login Functions  ********/
var authenticate = function () {
    $('form#signIn').append('<div class="load"></div>');
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: 'application/json',
        url: '/services/interfaces/UserProfileService.asmx/Login',
        data: '{username:"' + $("#username").val() + '", password:"' + $("#password").val() + '"}',
        success: function (data) {
            LoggedOn = true;
            //if true refresh page

            if ($.parseJSON(data.d).Status) {
                UserName = $("#username").val();
                //Update all the "Like" records this user created while "Liking' content while not logged in.
                if ($.readCookie('likeName') != null) {
                    likeUpdate();
                }
                $("#logIn h2").text('You\'re in the zone, ' + UserName + '!');
                $("#logIn p").text('Now you can start earning badges, getting high scores, and making your very own goldfish!');
                $("#logIn form").remove();
                $("#lostPassword form").remove();

                //JSON object of Badge awards
                var badges_now = $.parseJSON(data.d).BadgeAwards.now;
                var badges_now_split = badges_now.split(",");

                var badges_total = $.parseJSON(data.d).BadgeAwards.total;
                var badges_total_split = badges_total.split(",");

                if (badges_now_split[0] != "") {
                    Badging.showAwardedBadges(badges_now_split, 'global')
                }

                //If page has the tabWrap dropdown for signin and signup pages
                if (typeof GF.tabs.tabWrap != "undefined" && GF.tabs.tabWrap.length >= 1) {
                    GF.tabs.tabWrap.html(GF.tabs.defaultHTML);
                    GF.yourStuff('/your_stuff.aspx?random=' + Math.random() * 9999);
                    //GF.yourStuff('/your_stuff.aspx');
                }

                if (typeof flashPage != 'undefined') {
                    playSwf(UserName); setTimeout('closeNotiArea()', 750);
                    GF.omniture.signInGame(GoldFish.Config.ceID);
                }
                else {
                    navLoggedIn(UserName);
                    likeCount();
                    GF.omniture.signIn();
                };
            }
            else {
                $('div.load').remove(); //remove preloader
                $("#invaildLogIn").css('display', 'block');
                GF.omniture.signInError($("#username").val());
            }
        },
        error: function () {
            $('div.load').remove(); //remove preloader
            return false
            // Do Something
        }
    });
};

var register = function () {
    $('form#joinNowForm').append('<div class="load"></div>');
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: 'application/json',
        url: '/services/interfaces/UserProfileService.asmx/RegisterUser',
        data: '{username:"' + $("#username").val() + '", password:"' + $("#password").val()
         + '", secretQuestionId:"' + $("#secretQuestionId").val() + '", secretAnswerId:"' + $("#secretAnswerId").val() + '"}',
        success: function (data) {
            if ($.parseJSON(data.d) && $.parseJSON(data.d).Status) {
                UserName = $("#username").val();
                $('div.tabWrap').load('your_stuff.aspx', function (e) {
                    $('div.load').remove(); //remove preloader
                    $('.congrads-message, #yourStuff .starterbadge-message').show();
                    $('#user-name-greeting').html(UserName + '!');
                    $('.starter-badge').fadeIn().delay(2000).fadeOut('slow', function () {
                        $('#yourStuff .starterbadge-message').hide();
                    });
                });

                if ($('body').attr('id') == "GameDetail") {
                    playSwf(UserName); setTimeout('closeNotiArea()', 750);
                    }
                else { navLoggedIn(UserName); };
                GF.omniture.register();
            }
            else {
                $('div.load').remove(); //remove preloader
                if ($.parseJSON(data.d) && $.parseJSON(data.d).ErrorMessage) { $("#joinNowFormWrapper p").addClass('error').css('color', '#DD4733').html($.parseJSON(data.d).ErrorMessage); }
                else {
                    $("#joinNowFormWrapper p").addClass('error').html('Whoops!<br /><span>Couldn\'t create user account</span><br />' +
                'Please Try Again');
                }
            }
        },
        error: function () {
            $('div.load').remove(); //remove preloader
            // Do Something
        }
    });
};
var recoverPassword = function () {
    $('form#lostPasswordForm').append('<div class="load"></div>');    
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: 'application/json',
        url: '/services/interfaces/UserProfileService.asmx/LoginAndReturnPasswordWithSecretQAndA',
        data: '{userName:"' + $("#username").val() + '", questionId:"' + $("#secretQuestionId").val() + '", answerId:"' + $("#secretAnswerId").val() + '"}',
        success: function (data) {
            if ($.parseJSON(data.d) && $.parseJSON(data.d).Status) {
                var usrName = $("#username").val();
                var usrPassword = $.parseJSON(data.d).Password;
                $('div.load').remove(); //remove preloader
                $("#lostPassword h2").css('color', '#4D8BC3').text('You\'re in the zone, ' + usrName + '! And your password is ' + usrPassword);
                $("#lostPassword p").css({ 'color': '#4D8BC3', 'font-size': '15px' }).text('Now you can start earning badges, getting high scores, and making your very own goldfish!');
                $("#lostPassword form").remove();
                if ($('body').hasClass('game')) { playSwf(usrName); setTimeout('closeNotiArea()', 750); }
                else { navLoggedIn(usrName); };

                //JSON object of Badge awards
                var badges_now = $.parseJSON(data.d).BadgeAwards.now;
                var badges_now_split = badges_now.split(",");

                var badges_total = $.parseJSON(data.d).BadgeAwards.total;
                var badges_total_split = badges_total.split(",");

                if (badges_now_split[0] != "") {
                    Badging.showAwardedBadges(badges_now_split, 'global')
                }



                //Prepare for close button
                var pad = ($("html").attr("id") == "ie8" ? "11px" : "5px");
                $("#lostPassword").parent().css({ "height": "auto", "padding-bottom": pad });
                //  Omniture
                GF.omniture.forgotPassword();
                if (typeof flashPage != 'undefined') {
                    playSwf(UserName); setTimeout('closeNotiArea()', 3000);
                }
            }
            else {
                $('div.load').remove(); //remove preloader
                $("#lostPassword h2").css('color', '#DD4733').text('Whoops! There\'s a problem with your Sign In.');
                $("#lostPassword p").text('Check your Goldfish Name and Password and try again to Sign In for all of the fun!');
            }
        },
        error: function () {
            $('div.load').remove(); //remove preloader
            $("#lostPassword p").addClass('error').html('<p class="error">All fields are required.</p>');
        }
    });
};
var logOut = function () {
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: 'application/json',
        url: '/services/interfaces/UserProfileService.asmx/Logoff',
        data: '{username:" ", password:" "}',
        success: function (data) {
            //if true refresh page
            if ($.parseJSON(data.d).Status) {
                window.location.reload();
                navLoggedOut();
                $.delCookie('likeId');
                $.delCookie('likeName');
            }
            else {
                alert('did not log out<br />try again');
            }

        }
    });
};


function securityQuestions() {
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        url: '/services/interfaces/UserProfileService.asmx/GetSecretQuestionAnswers',
        data: '{username:" ", password:" "}',
        success: function (data) {
            if (data.d) {
                var answers = '';
                var quest = '';
                $.each($.parseJSON(data.d), function (i, item) {
                    var questID = item.GFQuestion.GFID;
                    quest = item.GFQuestion.GFQuestionText;
                    answers = item.GFAnswers;
                    $(answers).each(function () { answers += '<option class=' + questID + ' value="' + this.GFID + '">' + this.GFAnswerText + '</option>' });
                    quest += '<option value=' + questID + '>' + quest + '</option>';
                    $('#secretAnswerId').append(answers);
                    $('#secretQuestionId').append(quest);
                });
                $('select#secretAnswerId option').not('.default').css('display', 'none');
                
                if ($('ul.selectBox-options')) {
                    $('ul.selectBox-options').remove()
                }

                $('#secretAnswerId').css("display", "none")
                $('#secretQuestionId').css("display", "none")
                $('select#secretQuestionId')
                    .selectBox()
                    .change(function () {
                        $("a.selectBox").removeClass('selectBox-disabled');
                        $('.selectBox-dropdown').eq(1).children('.selectBox-label').html('Choose an answer.')
					    $('.selectBox-dropdown-menu').eq(1).children("li.default").addClass('selectBox-selected');
					    $('.selectBox-dropdown-menu').eq(1).children("li").not('.default').css('display', 'none').removeClass('selectBox-selected').addClass('selectBox-disabled');
					    $('.selectBox-dropdown-menu li.' + $(this).val()).css('display', 'block').removeClass('selectBox-disabled');
					    
				});

                $('select#secretAnswerId').selectBox();
                
            }
            else {
                // Do Something
            }
        },
        error: function () {
            // Do Something
        }
    });
};
/**********  /Populates questions  *********/
function navLoggedIn(usrName) {
    UserName = usrName;
    LoggedOn = true;
    $('div.loggedIn span').text(usrName);
    $('div.loggedOut').addClass('dspNone');
    $('div.loggedIn').removeClass('dspNone');
};
function navLoggedOut(usrName) {
    $('div.loggedIn').addClass('dspNone');
    $('div.loggedOut').removeClass('dspNone');
};
/********  Registration/Login Functions  ********/
/*********  END LOGIN SECTION   *********/
