~ubuntu-branches/ubuntu/trusty/jwchat/trusty

« back to all changes in this revision

Viewing changes to shared.js.it

  • Committer: Bazaar Package Importer
  • Author(s): Martin Lohmeier
  • Date: 2006-10-30 22:47:50 UTC
  • Revision ID: james.westby@ubuntu.com-20061030224750-q0w5mj0dzej2imep
Tags: upstream-1.0beta2
ImportĀ upstreamĀ versionĀ 1.0beta2

Show diffs side-by-side

added added

removed removed

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