1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
function getArgs(){
passedArgs=new Array();
search = self.location.href;
search = search.split('?');
if(search.length>1){
argList = search[1];
argList = argList.split('&');
for(var i=0; i<argList.length; i++){
newArg = argList[i];
newArg = argList[i].split('=');
passedArgs[unescape(newArg[0])] = unescape(newArg[1]);
}
}
}
function cutResource(aJID) { // removes resource from a given jid
if (typeof(aJID) == 'undefined' || !aJID)
return;
var retval = aJID;
if (retval.indexOf("/") != -1)
retval = retval.substring(0,retval.indexOf("/"));
return retval;
}
function msgEscape(msg) {
if (typeof(msg) == 'undefined' || !msg || msg == '')
return;
msg = msg.replace(/%/g,"%25"); // must be done first
msg = msg.replace(/\n/g,"%0A");
msg = msg.replace(/\r/g,"%0D");
msg = msg.replace(/ /g,"%20");
msg = msg.replace(/\"/g,"%22");
msg = msg.replace(/#/g,"%23");
msg = msg.replace(/\$/g,"%24");
msg = msg.replace(/&/g,"%26");
msg = msg.replace(/\(/g,"%28");
msg = msg.replace(/\)/g,"%29");
msg = msg.replace(/\+/g,"%2B");
msg = msg.replace(/,/g,"%2C");
msg = msg.replace(/\//g,"%2F");
msg = msg.replace(/\:/g,"%3A");
msg = msg.replace(/\;/g,"%3B");
msg = msg.replace(/</g,"%3C");
msg = msg.replace(/=/g,"%3D");
msg = msg.replace(/>/g,"%3E");
msg = msg.replace(/@/g,"%40");
return msg;
}
// fucking IE is too stupid for window names
function makeWindowName(wName) {
wName = wName.replace(/@/,"at");
wName = wName.replace(/\./g,"dot");
wName = wName.replace(/\//g,"slash");
wName = wName.replace(/&/g,"amp");
wName = wName.replace(/\'/g,"tick");
wName = wName.replace(/=/g,"equals");
wName = wName.replace(/#/g,"pound");
wName = wName.replace(/:/g,"colon");
wName = wName.replace(/%/g,"percent");
wName = wName.replace(/-/g,"dash");
wName = wName.replace(/ /g,"blank");
return wName;
}
function htmlEnc(str) {
if (!str)
return null;
str = str.replace(/&/g,"&");
str = str.replace(/</g,"<");
str = str.replace(/>/g,">");
return str;
}
function msgFormat(msg) { // replaces emoticons and urls in a message
if (!msg)
return null;
msg = htmlEnc(msg);
if (typeof(emoticons) != 'undefined') {
for (var i in emoticons) {
var iq = i.replace(/\\/g, '');
var emo = new Image();
emo.src = emoticonpath+emoticons[i];
msg = msg.replace(eval("/\(\\s\|\^\)"+i+"\\B/g"),"$1<img src=\""+emo.src+"\" width='"+emo.width+"' height='"+emo.height+"' alt=\""+iq+"\" title=\""+iq+"\">");
}
}
// replace http://<url>
msg = msg.replace(/(\s|^)(https?:\/\/\S+)/gi,"$1<a href=\"$2\" target=\"_blank\">$2</a>");
// replace mail-links
msg = msg.replace(/(\s|^)(\w+\@\S+\.\S+)/g,"$1<a href=\"mailto:$2\">$2</a>");
// replace *<pattern>*
msg = msg.replace(/(\s|^)\*([^\*\r\n]+)\*/g,"$1<b>\$2\</b>");
// replace _bla_
msg = msg.replace(/(\s|^)\_([^\*\r\n]+)\_/g,"$1<u>$2</u>");
msg = msg.replace(/\n/g,"<br>");
return msg;
}
/* isValidJID
* checks whether jid is valid
*/
var prohibited = ['"',' ','&','\'','/',':','<','>','@']; // invalid chars
function isValidJID(jid) {
var nodeprep = jid.substring(0,jid.lastIndexOf('@')); // node name (string before the @)
for (var i in prohibited) {
if (nodeprep.indexOf(prohibited[i]) != -1) {
alert("JID invalido\n"+prohibited[i]+" non ammesso nello JID.\Scegline uno diverso!");
return false;
}
}
return true;
}
/* hrTime - human readable Time
* takes a timestamp in the form of 20040813T12:07:04 as argument
* and converts it to some sort of humane readable format
*/
function hrTime(ts) {
var date = new Date(Date.UTC(ts.substring(0,4),ts.substring(4,6)-1,ts.substring(6,8),ts.substring(9,11),ts.substring(12,14),ts.substring(15,17)));
return date.toLocaleString();
}
|