﻿/// <reference path="jquery-1.6.2-vsdoc.js" />
/// <reference path="jquery-ui-1.8.14.custom.min.js" />
/// <reference path="jquery-cookie-1.0.js" />
/// <reference path="develop.com-2-4.js" />

// define this namespace object.
dm.users = {};
dm.users.user = { Id: null };
dm.users.COOKIE_NAME = "develop_com_user";

////////////////////// $(document).ready() ///////////////////
$(document).ready(function () {
    try {
        dm.users.lookUpUser();
        dm.users.recordUser(dm.users.user);
    } catch (e) {
        dm.core.logMessage("user error: " + e.message); 
    }
});


dm.users.lookUpUser = function () {

    var ck = $.cookie(dm.users.COOKIE_NAME);
    if (ck) {
        dm.users.user.Id = ck.toString().toLowerCase();
    }
};

dm.users.recordUser = function () {
    if (dm.users.user.Id === null) {
        dm.users.registerNewUser();
    }
    else {
        dm.users.recordUserAction("PageView");
    }
};

dm.users.registerNewUser = function () {
    $.post("/services/develop_com_services/users/new",
        {},
        function (data) {
            $.cookie(dm.users.COOKIE_NAME, data.Id, { expires: 3650 });
            dm.users.user.Id = data.Id;
            dm.users.recordUserAction("PageView");
        }, 
        "JSON");
};

dm.users.recordUserAction = function (actionText, url) {

    url = url || window.location.toString();

    $.post(
        "/services/develop_com_services/users/record",
        {
            UserId: dm.users.user.Id,
            Url: url,
            Action: actionText
        },
        function (data) {
            // finished recording.
        },
        "JSON");
};


