1 function manageDebug(debug
){
3 var consoleBackUp
= window
.console
.log
;
4 window
.console
.log = function(str
){
6 consoleBackUp
.call(this,str
);
10 var log
= window
.opera
? window
.opera
.postError
: alert
;
12 window
.console
.log = function(str
){
21 function randomString(string_length
) {
22 var chars
= "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
23 var randomstring
= '';
24 for (var i
=0; i
<string_length
; i
++) {
25 var rnum
= Math
.floor(Math
.random() * chars
.length
);
26 randomstring
+= chars
.substring(rnum
,rnum
+1);
31 String
.prototype.trim = function() {
32 return this.replace(/^\s+|\s+$/g, "");
35 String
.prototype.lpad = function(length
, character
){
37 for(var i
=0; i
<length
; i
++) padding
+= character
;
38 return (padding
+ this).slice (-length
)
45 Each function in each object is looped through and ran. The resulting text
46 is expected to be returned.
52 onprivmsg: function(inp
, tabview
){
53 return $('<div/>').text(inp
).html();
59 onprivmsg: function(inp
, tabview
){
60 if(front
.cur_channel
.name
.toLowerCase() != front
.tabviews
[tabview
.toLowerCase()].name
){
61 front
.tabviews
[tabview
].activity();
68 onprivmsg: function(inp
, tabview
){
69 if(inp
.toLowerCase().indexOf(gateway
.nick
.toLowerCase()) > -1){
70 if(front
.cur_channel
.name
.toLowerCase() != front
.tabviews
[tabview
.toLowerCase()].name
){
71 front
.tabviews
[tabview
].highlight();
73 if(front
.isChannel(front
.tabviews
[tabview
].name
))
74 inp
= '<span style="color:red;">'+inp
+'</span>';
78 !front
.isChannel(front
.tabviews
[tabview
].name
) && front
.tabviews
[tabview
].name
!= "server"
79 && front
.cur_channel
.name
.toLowerCase() != front
.tabviews
[tabview
.toLowerCase()].name
81 front
.tabviews
[tabview
].highlight();
90 onprivmsg: function(text){
91 if( !text ) return text;
92 //alert("-"+text+"-");
93 text = text.replace(/^((https?\:\/\/|ftp\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$/gi,function(url){
94 var img = '<img src="'+url+'" height="50" width="50" />';
95 return '<a target="_blank" rel="nofollow" href="'+ url +'">'+ img +'</a>';
106 //Following method taken from: http://snipplr.com/view/13533/convert-text-urls-into-links/
107 name
: "linkify_plain",
108 onprivmsg: function(text
){
109 if( !text
) return text
;
111 text
= text
.replace(/((https?\:\/\/|ftp\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,function(url
){
113 if(url
.match('^https?:\/\/')){
114 //nice = nice.replace(/^https?:\/\//i,'')
119 return '<a target="_blank" rel="nofollow" href="'+ url
+'">'+ nice
+'</a>';
146 * jQuery Templates Plugin 1.0.0pre
147 * http://github.com/jquery/jquery-tmpl
148 * Requires jQuery 1.4.2
150 * Copyright Software Freedom Conservancy, Inc.
151 * Dual licensed under the MIT or GPL Version 2 licenses.
152 * http://jquery.org/license
154 (function(a
){var r
=a
.fn
.domManip
,d
="_tmplitem",q
=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b
={},f
={},e
,p
={key
:0,data
:{}},i
=0,c
=0,l
=[];function g(g
,d
,h
,e
){var c
={data
:e
||(e
===0||e
===false)?e
:d
?d
.data
:{},_wrap
:d
?d
._wrap
:null,tmpl
:null,parent
:d
||null,nodes
:[],calls
:u
,nest
:w
,wrap
:x
,html
:v
,update
:t
};g
&&a
.extend(c
,g
,{nodes
:[],parent
:d
});if(h
){c
.tmpl
=h
;c
._ctnt
=c
._ctnt
||c
.tmpl(a
,c
);c
.key
=++i
;(l
.length
?f
:b
)[i
]=c
}return c
}a
.each({appendTo
:"append",prependTo
:"prepend",insertBefore
:"before",insertAfter
:"after",replaceAll
:"replaceWith"},function(f
,d
){a
.fn
[f
]=function(n
){var g
=[],i
=a(n
),k
,h
,m
,l
,j
=this.length
===1&&this[0].parentNode
;e
=b
||{};if(j
&&j
.nodeType
===11&&j
.childNodes
.length
===1&&i
.length
===1){i
[d
](this[0]);g
=this}else{for(h
=0,m
=i
.length
;h
<m
;h
++){c
=h
;k
=(h
>0?this.clone(true):this).get();a(i
[h
])[d
](k
);g
=g
.concat(k
)}c
=0;g
=this.pushStack(g
,f
,i
.selector
)}l
=e
;e
=null;a
.tmpl
.complete(l
);return g
}});a
.fn
.extend({tmpl:function(d
,c
,b
){return a
.tmpl(this[0],d
,c
,b
)},tmplItem:function(){return a
.tmplItem(this[0])},template:function(b
){return a
.template(b
,this[0])},domManip:function(d
,m
,k
){if(d
[0]&&a
.isArray(d
[0])){var g
=a
.makeArray(arguments
),h
=d
[0],j
=h
.length
,i
=0,f
;while(i
<j
&&!(f
=a
.data(h
[i
++],"tmplItem")));if(f
&&c
)g
[2]=function(b
){a
.tmpl
.afterManip(this,b
,k
)};r
.apply(this,g
)}else r
.apply(this,arguments
);c
=0;!e
&&a
.tmpl
.complete(b
);return this}});a
.extend({tmpl:function(d
,h
,e
,c
){var i
,k
=!c
;if(k
){c
=p
;d
=a
.template
[d
]||a
.template(null,d
);f
={}}else if(!d
){d
=c
.tmpl
;b
[c
.key
]=c
;c
.nodes
=[];c
.wrapped
&&n(c
,c
.wrapped
);return a(j(c
,null,c
.tmpl(a
,c
)))}if(!d
)return[];if(typeof h
==="function")h
=h
.call(c
||{});e
&&e
.wrapped
&&n(e
,e
.wrapped
);i
=a
.isArray(h
)?a
.map(h
,function(a
){return a
?g(e
,c
,d
,a
):null}):[g(e
,c
,d
,h
)];return k
?a(j(c
,null,i
)):i
},tmplItem:function(b
){var c
;if(b
instanceof a
)b
=b
[0];while(b
&&b
.nodeType
===1&&!(c
=a
.data(b
,"tmplItem"))&&(b
=b
.parentNode
));return c
||p
},template:function(c
,b
){if(b
){if(typeof b
==="string")b
=o(b
);else if(b
instanceof a
)b
=b
[0]||{};if(b
.nodeType
)b
=a
.data(b
,"tmpl")||a
.data(b
,"tmpl",o(b
.innerHTML
));return typeof c
==="string"?(a
.template
[c
]=b
):b
}return c
?typeof c
!=="string"?a
.template(null,c
):a
.template
[c
]||a
.template(null,q
.test(c
)?c
:a(c
)):null},encode:function(a
){return(""+a
).split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}});a
.extend(a
.tmpl
,{tag
:{tmpl
:{_default
:{$2:"null"},open
:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap
:{_default
:{$2:"null"},open
:"$item.calls(__,$1,$2);__=[];",close
:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each
:{_default
:{$2:"$index, $value"},open
:"if($notnull_1){$.each($1a,function($2){with(this){",close
:"}});}"},"if":{open
:"if(($notnull_1) && $1a){",close
:"}"},"else":{_default
:{$1:"true"},open
:"}else if(($notnull_1) && $1a){"},html
:{open
:"if($notnull_1){__.push($1a);}"},"=":{_default
:{$1:"$data"},open
:"if($notnull_1){__.push($.encode($1a));}"},"!":{open
:""}},complete:function(){b
={}},afterManip:function(f
,b
,d
){var e
=b
.nodeType
===11?a
.makeArray(b
.childNodes
):b
.nodeType
===1?[b
]:[];d
.call(f
,b
);m(e
);c
++}});function j(e
,g
,f
){var b
,c
=f
?a
.map(f
,function(a
){return typeof a
==="string"?e
.key
?a
.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d
+'="'+e
.key
+'" $2'):a
:j(a
,e
,a
._ctnt
)}):e
;if(g
)return c
;c
=c
.join("");c
.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f
,c
,e
,d
){b
=a(e
).get();m(b
);if(c
)b
=k(c
).concat(b
);if(d
)b
=b
.concat(k(d
))});return b
?b
:k(c
)}function k(c
){var b
=document
.createElement("div");b
.innerHTML
=c
;return a
.makeArray(b
.childNodes
)}function o(b
){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a
.trim(b
).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m
,l
,k
,g
,b
,c
,d
){var j
=a
.tmpl
.tag
[k
],i
,e
,f
;if(!j
)throw"Unknown template tag: "+k
;i
=j
._default
||[];if(c
&&!/\w$/.test(b
)){b
+=c
;c
=""}if(b
){b
=h(b
);d
=d
?","+h(d
)+")":c
?")":"";e
=c
?b
.indexOf(".")>-1?b
+h(c
):"("+b
+").call($item"+d
:b
;f
=c
?e
:"(typeof("+b
+")==='function'?("+b
+").call($item):("+b
+"))"}else f
=e
=i
.$1||"null";g
=h(g
);return"');"+j
[l
?"close":"open"].split("$notnull_1").join(b
?"typeof("+b
+")!=='undefined' && ("+b
+")!=null":"true").split("$1a").join(f
).split("$1").join(e
).split("$2").join(g
||i
.$2||"")+"__.push('"})+"');}return __;")}function n(c
,b
){c
._wrap
=j(c
,true,a
.isArray(b
)?b
:[q
.test(b
)?b
:a(b
).html()]).join("")}function h(a
){return a
?a
.replace(/\\'/g,"'").replace(/\\\\/g
,"\\"):null}function s(b
){var a
=document
.createElement("div");a
.appendChild(b
.cloneNode(true));return a
.innerHTML
}function m(o
){var n
="_"+c
,k
,j
,l
={},e
,p
,h
;for(e
=0,p
=o
.length
;e
<p
;e
++){if((k
=o
[e
]).nodeType
!==1)continue;j
=k
.getElementsByTagName("*");for(h
=j
.length
-1;h
>=0;h
--)m(j
[h
]);m(k
)}function m(j
){var p
,h
=j
,k
,e
,m
;if(m
=j
.getAttribute(d
)){while(h
.parentNode
&&(h
=h
.parentNode
).nodeType
===1&&!(p
=h
.getAttribute(d
)));if(p
!==m
){h
=h
.parentNode
?h
.nodeType
===11?0:h
.getAttribute(d
)||0:0;if(!(e
=b
[m
])){e
=f
[m
];e
=g(e
,b
[h
]||f
[h
]);e
.key
=++i
;b
[i
]=e
}c
&&o(m
)}j
.removeAttribute(d
)}else if(c
&&(e
=a
.data(j
,"tmplItem"))){o(e
.key
);b
[e
.key
]=e
;h
=a
.data(j
.parentNode
,"tmplItem");h
=h
?h
.key
:0}if(e
){k
=e
;while(k
&&k
.key
!=h
){k
.nodes
.push(j
);k
=k
.parent
}delete e
._ctnt
;delete e
._wrap
;a
.data(j
,"tmplItem",e
)}function o(a
){a
=a
+n
;e
=l
[a
]=l
[a
]||g(e
,b
[e
.parent
.key
+n
]||e
.parent
)}}}function u(a
,d
,c
,b
){if(!a
)return l
.pop();l
.push({_
:a
,tmpl
:d
,item
:this,data
:c
,options
:b
})}function w(d
,c
,b
){return a
.tmpl(a
.template(d
),c
,b
,this)}function x(b
,d
){var c
=b
.options
||{};c
.wrapped
=d
;return a
.tmpl(a
.template(b
.tmpl
),b
.data
,c
,b
.item
)}function v(d
,c
){var b
=this._wrap
;return a
.map(a(a
.isArray(b
)?b
.join(""):b
).filter(d
||"*"),function(a
){return c
?a
.innerText
||a
.textContent
:a
.outerHTML
||s(a
)})}function t(){var b
=this.nodes
;a
.tmpl(null,null,null,this).insertBefore(b
[0]);a(b
).remove()}})(jQuery
);