1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<title>JWChat - VCard - </title>
5
<meta http-equiv="content-type" content="text/html; charset=utf-8">
6
<script src="shared.js"></script>
7
<script src="switchStyle.js"></script>
8
<script src="xmlextras.js"></script>
9
<script src="jsjac.js"></script>
13
var srcW; // the source window with necessary data
16
var iq = new JSJaCIQ();
19
var vCard = iq.appendNode('vCard', {'xmlns': 'vcard-temp'});
21
for (var i=0; i<document.forms[0].elements.length; i++) {
22
var item = document.forms[0].elements[i];
23
if (item.id == '') continue;
24
if (item.value == '' ) continue;
25
if (item.id.indexOf('.') != -1) {
26
var tagname = item.id.substring(0,item.id.indexOf('.'));
28
if (vCard.getElementsByTagName(tagname).length > 0)
29
aNode = vCard.getElementsByTagName(tagname).item(0);
31
aNode = vCard.appendChild(iq.getDoc().createElement(tagname));
32
aNode.appendChild(iq.getDoc().createElement(item.id.substring(item.id.indexOf('.')+1))).appendChild(iq.getDoc().createTextNode(item.value));
34
vCard.appendChild(iq.getDoc().createElement(item.id)).appendChild(iq.getDoc().createTextNode(item.value));
37
srcW.Debug.log(iq.xml(),3);
47
jid = passedArgs['jid'];
48
document.title += jid;
50
for (var i=0; i<document.forms[0].elements.length;i++) {
51
if (document.forms[0].elements[i].id == '') continue;
52
if (cutResource(jid) != srcW.cutResource(srcW.jid)) {
53
document.forms[0].elements[i].className = "vcardBox";
54
document.forms[0].elements[i].readOnly = true;
58
if (cutResource(jid) != srcW.cutResource(srcW.jid))
59
document.getElementById("savebox").style.display = 'none';
63
var iq = new JSJaCIQ();
65
if (cutResource(jid) != srcW.cutResource(srcW.jid)) // not me
67
iq.appendNode('vCard', {'xmlns': 'vcard-temp'});
69
srcW.con.send(iq,me.handleVCard);
72
function handleVCard(iq) {
74
srcW.Debug.log('got empty iq result',1);
78
srcW.Debug.log(iq.xml(),3);
80
if (iq.getNode().getElementsByTagName('vCard').item(0)) {
81
for (var i=0; i<iq.getNode().getElementsByTagName('vCard').item(0).childNodes.length; i++) {
82
var token = iq.getNode().getElementsByTagName('vCard').item(0).childNodes.item(i);
83
tokenname = token.nodeName;
84
if (token.firstChild && token.firstChild.nodeType != 3) { // found a container
85
for (var j=0; j<token.childNodes.length; j++) {
86
if (typeof(document.forms[0].elements[tokenname+"."+token.childNodes.item(j).nodeName]) != 'undefined' && token.childNodes.item(j).firstChild)
87
document.forms[0].elements[tokenname+"."+token.childNodes.item(j).nodeName].value = token.childNodes.item(j).firstChild.nodeValue;
91
if (typeof(document.forms[0].elements[tokenname]) != 'undefined' && token.firstChild)
92
document.forms[0].elements[tokenname].value = token.firstChild.nodeValue;
97
function keyPressed(e) {
101
onkeydown = keyPressed;
105
<script for="document" event="onkeydown()" language="JScript">
107
if (window.event.keyCode == 27)
111
<style type="text/css">
114
font-family: sans-serif;
121
<body style="margin:8px">
124
<legend>Name</legend>
126
<tr><th nowrap>Full Name:</th><td width="100%"><input type=text id="FN" class="vcardBoxEditable"></td></tr>
127
<tr><th nowrap>Family Name:</th><td width="100%"><input type=text id="N.FAMILY" class="vcardBoxEditable"></td></tr>
128
<tr><th nowrap>Name:</th><td width="100%"><input type=text id="N.GIVEN" class="vcardBoxEditable"></td></tr>
129
<tr><th nowrap>Nickname:</th><td width="100%"><input type=text id="NICKNAME" class="vcardBoxEditable"></td></tr>
134
<legend>Information</legend>
136
<tr><th nowrap>E-mail:</th><td width="100%"><input type=text id="EMAIL" class="vcardBoxEditable"></td></tr>
137
<tr><th nowrap>Web Site:</th><td width="100%"><input type=text id="URL" class="vcardBoxEditable"></td></tr>
142
<legend>Address</legend>
144
<tr><th nowrap>Address:</th><td width="100%"><input type=text id="ADR.STREET" class="vcardBoxEditable"></td></tr>
145
<tr><th nowrap>Address2:</th><td width="100%"><input type=text id="ADR.EXTADD" class="vcardBoxEditable"></td></tr>
146
<tr><th nowrap>City:</th><td width="100%"><input type=text id="ADR.LOCALITY" class="vcardBoxEditable"></td></tr>
147
<tr><th nowrap>State:</th><td width="100%"><input type=text id="ADR.REGION" class="vcardBoxEditable"></td></tr>
148
<tr><th nowrap>Postal Code:</th><td width="100%"><input type=text id="ADR.PCODE" class="vcardBoxEditable"></td></tr>
149
<tr><th nowrap>Country:</th><td width="100%"><input type=text id="ADR.CTRY" class="vcardBoxEditable"></td></tr>
154
<legend>Organization</legend>
156
<tr><th nowrap>Name:</th><td width="100%"><input type=text id="ORG.ORGNAME" class="vcardBoxEditable"></td></tr>
157
<tr><th nowrap>Unit:</th><td width="100%"><input type=text id="ORG.ORGUNIT" class="vcardBoxEditable"></td></tr>
158
<tr><th nowrap>Title:</th><td width="100%"><input type=text id="TITLE" class="vcardBoxEditable"></td></tr>
159
<tr><th nowrap>Role:</th><td width="100%"><input type=text id="ROLE" class="vcardBoxEditable"></td></tr>
164
<legend>About</legend>
166
<tr><th>Birthday:</th><td width="100%"><input type=text id="BDAY" class="vcardBoxEditable"></td></tr>
167
<tr><td colspan=2> </td></tr>
168
<tr><th>Description:</th><td width="100%"> </td></tr>
169
<tr><td colspan=2 width="100%"><textarea id="DESC" class="vcardBoxEditable" style="width:100%;" rows=4 wrap=virtual></textarea></td></tr>
173
<hr noshade size="1" size="100%">
175
<button onClick="window.close();">Cancel</button> <button onClick="return sendSub();">Save</button>