/*
 * @category Java Script Module Pattern
 * @version $Rev$
 * @author Joel Bair <joelb@baseltd.biz>
 *
 */

// reference local blank image
Ext.BLANK_IMAGE_URL = '../extjs/resources/images/default/s.gif';

// create namespace
Ext.namespace('utils');

// create application
utils = function() {
    // do NOT access DOM from here; elements don't exist yet

    // private variables
    var ka = '';
    var vc = '';

    // private functions

    // public space
    return {
        // public properties, e.g. strings to translate
        // methods and varibles defined in here always preface w/ "this."

        // myvar: "true",

        // public methods
        init: function() {
            ka = cryptoHelpers.convertStringToByteArray('b8d1e69e8afbd1ae37de6f91af789051');
            vc = cryptoHelpers.convertStringToByteArray('e2a26aca6c45d23ad029df5c07c8044c');
            return;
        },

        flashMessage: function(title,text) {

            var msgTxt = '<div style="margin-top:10%; text-align:center;">';
            msgTxt+=text;
            msgTxt+='</div>';

            var myMsg = new Ext.Window({
                title: (title) ? title : 'Complete...',
                id: 'popup-msg',
                layout: 'fit',
                shadow: false,
                width: 200,
                height: 100,
                closable: false,
                resizable: false,
                plain: true,
                hidden: true,
                html: msgTxt
            });
            myMsg.show();
            var pel = Ext.get('popup-msg');
            pel.fadeIn({easing: 'easeIn', duration: .4});
            pel.pause(2).ghost('t', {easing: 'easeOut', duration: 1.5, remove:true});
        },

        getCookie: function(name) {
            var cookies = document.cookie;

            if (cookies.indexOf(name) != -1) {
                var startpos = cookies.indexOf(name)+name.length+1;
                var endpos = cookies.indexOf(";",startpos)-1;
                if (endpos == -2) { endpos = cookies.length; }
                return unescape(cookies.substring(startpos,endpos));
            } else {
                return false; // the cookie couldn't be found! it was never set before, or it expired.
            }
        },

        encodeString: function(str) {
            var ta = cryptoHelpers.convertStringToByteArray(cryptoHelpers.encode_utf8(str));
            var cd = slowAES.encrypt(ta,0,ka,ka.length,vc);
            return cryptoHelpers.toHex(cd.cipher);
        }
    }
}();
