var TT_Filters={"eat":function(v){return"";},"capitalize":function(s){return String(s).toUpperCase();},"default":function(s,d){return s!=null?s:d;},escape:function(str){return escape(str);},unescape:function(str){return unescape(str);},upper:function(str){return str.toUpperCase();},lower:function(str){return str.toLowerCase();},abs:function(str){return Math.abs(Number(str));},header:function(header,message){return message.headers.getObjByParamVal(header).value;},round:function(str,points){var num=Number(str);if(!points)points=0;num=num*Math.pow(10,Number(points));num=Math.round(num);num=num/Math.pow(10,Number(points));return num;},formatSize:function(str){if(!str)return"0 "+T('_.B');if(Number(str)>=1000000000)return((Math.round(Number(str)/1000000000)*10)/10)+" "+T('_.GB');if(Number(str)>=1000000)return((Math.round(Number(str)/1000000)*10)/10)+" "+T('_.MB')
if(Number(str)>=1000)
return(Math.round((Number(str)/1000)*10)/10)+" "+T('_.KB');else return str+" "+T('_.B');},filtered:function(str,filter,emailOrMobile){if(!str)return;if(!filter)return str;var filter2="";if(emailOrMobile)
if(filter.indexOf("+")==0)filter2="00"+filter.substr(1);var reg;var escapedFilter=RegExp.escape(filter);var escapedFilter2="";if(filter2)
{escapedFilter2=RegExp.escape(filter2);reg=new RegExp("^"+escapedFilter+"|^"+escapedFilter2,'i');}
else
reg=new RegExp("\\W"+escapedFilter+"|^"+escapedFilter,'i');var index;var str2="";if(emailOrMobile)
{if(filter.indexOf('@')<0&&str.indexOf('@')>=0)
index=str.substring(0,str.indexOf('@')).search(reg);else
{if(str.indexOf("+")==0)
{str2="00"+str.substr(1);index=str2.search(reg);}
else
index=str.search(reg);}}
else
index=str.search(reg);if(index>=0){if(index>0)index++;var filterLen=filter.length;if(filter2&&!str2)
filterLen++;else if(!filter2&&str2)
filterLen--;return str.substring(0,index)+"<b>"+str.substr(index,filterLen)+"</b>"+str.substr(index+filterLen);};return str;},ucfirst:function(str){if(!str)return;return str.substring(0,1).toUpperCase()+str.substring(1,str.length);},lcfirst:function(str){if(!str)return;return str.substring(0,1).toLowerCase()+str.substring(1,str.length);},trim:function(str){if(!str)return;if(typeof str!='string')return str;return str.replace(/^\s+/,'').replace(/\s+$/,'');},collapse:function(str){if(!str)return;if(typeof str!='string')return str;return str.replace(/^\s+/,'').replace(/\s+$/,'').replace(/\s+/g,' ');},html:function(str){if(!str)return;if(typeof str!='string')return str;return str.replace(/&/g,'&amp;').replace(/\</g,'&lt;').replace(/\>/g,'&gt;').replace(/\"/g,'&quot;').replace(/\'/g,'&#39;');},html_entity:function(str){if(!str)return;return"HTML_ENTITY: not implemented.  see http://www.w3.org/TR/REC-html40/sgml/entities.html";},html_para:function(str){if(!str)return;return str.replace(/\n+/g,'<p>');},html_break:function(str){if(!str)return;return str.replace(/\n+/g,'<br><br>');},html_line_break:function(str){if(!str)return;return str.replace(/\n/g,'<br>');},uri:function(str){return"URI: not implemented. ";},indent:function(str,pad){if(!str)return;if(!pad)pad='    ';var lines=str.split(/\n/);var ret="";for(var i=0;i<lines.length;i++){lines[i]=lines[i].replace(/^/g,pad);};return lines.join("\n");},truncate:function(str,length,noEllipsis){if(!str)return;if(!length)length=32;if(str.length<=length)return str;if(noEllipsis)
return str.substring(0,length);else
return str.substring(0,length-3)+"...";},repeat:function(str,iterations){if(!iterations)iterations=1;var ret=str;for(var i=iterations-1;i>0;i--){ret+=str;};return ret;},remove:function(str,regpattern){if(typeof str=='undefined'||str==null||str=="")return;if(!regpattern)return str;var regex=new RegExp(regpattern,'gi');return str.replace(regex,'');},replace:function(str,regpattern,replace){if(typeof str=='undefined'||str==null||str=="")return;if(!regpattern)return str;if(!replace)replace='';var regex=new RegExp(regpattern,'gi');return str.replace(regex,replace);},alert:function(str){alert(str);return"";},noNewline:function(str){if(typeof str=='undefined'||str==null||str=="")return"";return str.replace(/\n/g,'');},html2text:function(str,reply){if(typeof str=='undefined'||str==null||str=="")return"";var ret=str;ret=ret.replace(/<\s*(style|script|applet)[^>]*>/gi,"<");ret=ret.replace(/<\/\s*(style|script|applet)[^>]*>/gi,">");ret=ret.replace(/\s+/g," ");ret=ret.replace(/<\s*p[^>]*>/gi,"\n");ret=ret.replace(/<\s*div[^>]*>/gi,"\n");ret=ret.replace(/<\s*BLOCKQUOTE[^>]*>/gi,"\n");ret=ret.replace(/<\s*li[^>]*>/gi,"\n   - ");ret=ret.replace(/<\s*td[^>]*>/gi,"   ");ret=ret.replace(/<\s*tr[^>]*>/gi,"\n");ret=ret.replace(/<\s*br[^>]*>/gi,"\n");ret=ret.replace(/<\s*hr[^>]*>/gi,"\n______________________________________________\n");ret=ret.replace(/<\s*h[^>]*>/gi,"\n");ret=ret.replace(/<[^>]*>/g,"");ret=ret.replace(/\n\s*\n*/g,"\n");ret=ret.replace(/&amp;/gi,'&').replace(/&lt;/gi,'<').replace(/&gt;/gi,'>').replace(/&nbsp;/gi,' ').replace(/&quot;/gi,'"');if(reply){ret=tt.wrap(ret,G_REPLY_LINEWIDTH,'>')}
return ret;},wrap:function(str,len,lineLeadStr){if(typeof str=='undefined'||str==null||str=="")return"";var lines=str.split('\n');var wrapped=[];for(var i=0;i<lines.length;i++){if(lines[i].length<=len){wrapped.push(lines[i]);}
else{while(lines[i].length>len){var pos=lines[i].lastIndexOf(' ',len);if(pos<0)pos=lines[i].indexOf(' ');if(pos<0){wrapped.push(lines[i]);lines[i]='';}
else{wrapped.push(lines[i].substring(0,pos));lines[i]=lines[i].substr(pos+1);}}
wrapped.push(lines[i]);}}
if(lineLeadStr)
return lineLeadStr+wrapped.join('\n'+lineLeadStr);else
return wrapped.join('\n');},pad:function(str,ch,len){str=str+"";var padcount=len-str.length;for(var i=0;i<padcount;i++)
str=ch+str;return str;},userDate:function(str,components){var timeStamp=parseInt(str)*1000;var dateObj=new Date();if(timeStamp)
dateObj.setTime(timeStamp);var calendarType=controller.webmail.generalTab.calendarType;var formattedTime=dateObj.formatTime();var formattedDate=dateObj.formatDate(calendarType);if(components=='d')
return formattedDate;else if(components=='t')
return formattedTime;else if(components=='dt')
return formattedDate+', '+formattedTime;else if(dateObj.isToday())
return formattedTime;else if(dateObj.isYesterday())
return T('_.Ystrd')+", "+formattedTime;else if(dateObj.isThisWeek())
return controller.days[dateObj.getDay()]+' '+formattedDate;else
return formattedDate;},ascii:function(str){var a='';if(!str)return a;for(var i=0;i<str.length;i++)
a+=str.charCodeAt(i)+'_';return a;},percent:function(str){if(controller.dir=='rtl')
return'%'+str;else
return str+'%';}};tt=TT_Filters;
