﻿usrctx = {
    user: null,
    cookieName: "usrctx",
    init: function() {
        var json = usrctx.readCookie(usrctx.cookieName);
        if (typeof json == "undefined" || json == null || json.length == 0) {
            json = " {fname:'',lname:'',phone:'',email:'',zip:'',phoneExtension:''} ";
        }
        try {
            usrctx.user = eval('(' + json + ')');
            usrctx.user.fname = unescape(usrctx.user.fname);
            usrctx.user.lname = unescape(usrctx.user.lname);
            usrctx.user.phone = unescape(usrctx.user.phone);
            usrctx.user.email = unescape(usrctx.user.email);
            usrctx.user.phoneExtension = unescape(usrctx.user.phoneExtension);
            usrctx.user.zip = unescape(usrctx.user.zip);
        }
        catch (ex) {
            usrctx.user = eval("( {fname:'',lname:'',phone:'',email:'',zip:'',phoneExtension:''} )");
        }
    },
    fill: function(fnameID, lnameID, phoneID, emailID, zipID, phoneExtensionID) {
        usrctx.init();
        usrctx.fillByID(fnameID, usrctx.user.fname);
        usrctx.fillByID(lnameID, usrctx.user.lname);
        usrctx.fillByID(phoneID, usrctx.user.phone);
        usrctx.fillByID(emailID, usrctx.user.email);
        usrctx.fillByID(zipID, usrctx.user.zip);
        usrctx.fillByID(phoneExtensionID, usrctx.user.phoneExtension);
    },
    fillByID: function(elementID, text) {
        var element = document.getElementById(elementID);
        if (element != null) {
            element.value = (text == null ? "" : text);
        }
    },
    save: function() {
        var json = " {" +
            "fname:'" + escape(usrctx.user.fname) + "'," +
            "lname:'" + escape(usrctx.user.lname) + "'," +
            "phone:'" + escape(usrctx.user.phone) + "'," +
            "email:'" + escape(usrctx.user.email) + "'," +
            "zip:'" + escape(usrctx.user.zip) + "'," +
            "phoneExtension:'" + escape(usrctx.user.phoneExtension) + "'" +
            "} ";
        usrctx.createCookie(usrctx.cookieName, json, 30);
    },
    createCookie: function(name, value, days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    },
    readCookie: function(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    },
    eraseCookie: function(name) {
        createCookie(name, "", -1);
    }
}
