/*!
 * General functions.
 * 
 * Requires msso.js
 *
 * author: Bob Matlin bmatlin@matlinsoftwareservices.com
 * created: 1/13/2011
*/

(function() {
    msso.utils = function(spec) {
        var that = MSSO(spec);

        /**
         * @param secs (int)
         *
         * @returns (string) hrs:min:secs
         */
        var secsToTime = function(secs) {
            var initSecs = secs;
            var min = parseInt((secs/60).toString());
            var hr = parseInt((min/60).toString());
            min = min - (hr * 60);
            if (min < 0) min = 0;
            secs = secs - ((hr * 60 + min) * 60);
            if (secs < 0) secs = 0;
            var hms = '';
            if (hr > 0) {
                hms = hr + ':';
            }

            if (min > 0) {
                if ((min < 10) && (hms != '')) {
                    min = '0' + min.toString();
                }
                hms = hms + min + ':';
            } else {
                if (hms != '') {
                    hms + '00:'
                }
            }

            if (secs >= 0) {
                if ((secs < 10) && (hms != '')) {
                    secs = '0' + secs.toString();
                }
                hms = hms + secs;
            } else {
                if (hms != '') {
                    hms = hms + '00';
                } else {
                    hms = '00';
                }
            }

            return(hms);
        };
        that.secsToTime = secsToTime;

        var secsToTimeWords = function(secs) {
            var hms = secsToTime(secs);
            var parts = hms.split(':');
            var i,s,t,w,wordsi;
            var words = ['hr','min','sec'];
            var str = '';
            var dif = 3 - parts.length;
            for (i = parts.length - 1; i >= 0; i--) {
                t = parts[i];
                wordsi = i + dif;
                w = '';
                if (wordsi >= 0) {
                    w = words[wordsi];
                }

                if (t > 9) w = w + 's';
                s = str;
                if (str.length > 0) s = ' ' + str;
                str =  t.toString() + ' ' + w + s;
            }
            return(str);
        };
        that.secsToTimeWords = secsToTimeWords;

        return that;
    };
})();
