function escapeHtml(txt) {
if (!txt) { return ""; }
else { return $("").text(txt).html(); }
}
// http://stackoverflow.com/questions/37684/replace-url-with-html-links-javascript
function linkify(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi;
return text.replace(exp,"$1");
}
// http://snippets.dzone.com/posts/show/6995
var URLRegex = /^((http\:\/\/|https\:\/\/|ftp\:\/\/)|(www\.))+(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/i
var PicRegex = /\.(jpg|jpeg|png|gif|bmp)$/i;
function isImage(content) {
var match = URLRegex.exec(content);
sansParams = match && match[0].replace(/\?.*$/i, "");
return sansParams && PicRegex.test(sansParams);
}
function buildMsgContent(content) {
if (isImage(content)) {
return ''
+ '';
} else {
return linkify(escapeHtml(content));
}
}
function buildMessageDiv(msg) {
var nick = escapeHtml(msg.nick);
return '
' + nick + ': '
+ buildMsgContent(msg.content) + '
';
}
function buildGrowlDataAndPopDatShit(msg) {
var nick = escapeHtml(msg.nick);
nick = '' + nick + ':'
var msg = buildMsgContent(msg.content)
growl(nick, msg)
}
function buildUserDiv(user) {
if (user.avatar) {
return '