var util = {
    str : {
        removeNL: function(s){            
            return s.replace(/[\n\r\t]/g,' ');
        },
        zeroPad: function(s){
            var s = s.toString();
            return (1 == s.length) ? "0" + s : s;
        },    
        addWordBreak: function(s,limit)
        {                 
            var messLen = s.length;
            
            if(limit >= messLen || -1 != s.indexOf(' ')) return s;
            var len = parseInt((s.length) / limit);
            var a = [];
            for (var i =0; i<=len; i++)
            {
                a.push(s.substr(i*limit, limit));
            }
            return a.join('<wbr />');
        },         
        htmlEntities : function(s){
            return s.replace(/</g, '&lt;').replace(/>/g, '&gt;');
        }
    },
    
    date: {
        sanitize:function(dateStr){
        
            var dateTime = dateStr.split(" ");
        
            var d = dateTime[0].split("-");
            var t = dateTime[1].split(":");
            
            var date = new Date(d[0], d[1]-1, d[2], t[0], t[1], t[2]);

            var hour = date.getHours();
            var gmt = new Date().getTimezoneOffset()/60;
            date.setHours(  (0 > gmt) ? (hour + Math.abs(gmt)) : (hour - Math.abs(gmt)) );
            
            return util.date.tidyTime(date);
            
        },
        
        tidyTime:function(date){
          
            var curHour = date.getHours()
            var curMin = date.getMinutes()
            var curSec = date.getSeconds()
            var curAMPM = " AM"
            var curTime = ""
            if (curHour >= 12){
                curHour -= 12
                curAMPM = " PM"
            }
            if (curHour == 0) curHour = 12;
            curTime = curHour + ":" 
                + ((curMin < 10) ? "0" : "") + curMin + ":" 
                + ((curSec < 10) ? "0" : "") + curSec 
                + curAMPM;
                
            return date.getFullYear() +"-"+ util.str.zeroPad(date.getMonth() + 1) +"-"+ util.str.zeroPad(date.getDate()) +" "+curTime;           

        }
    }
};