2 Copyright (C) 2005 SKYRIX Software AG
4 This file is part of OpenGroupware.org.
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
25 "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
26 var uixEmailRegex = new RegExp("^"+uixEmailUsr+"\@"+uixEmailDomain+"$");
28 var displayNameChanged = false;
30 function unescapeCallbackParameter(s) {
31 if(!s || s.length == 0)
33 s = s.replace(/'/g, "'");
34 s = s.replace(/"/g, '"');
38 function copyContact(type, email, uid, sn,
39 cn, givenName, telephoneNumber, facsimileTelephoneNumber,
40 mobile, postalAddress, homePostalAddress,
43 // var type = arguments[0];
44 // var email = arguments[1];
45 // var uid = arguments[2];
46 // var sn = arguments[3];
47 // var givenName = arguments[4];
48 // var telephoneNumber = arguments[5];
49 // var facsimileTelephoneNumber = arguments[6];
50 // var mobile = arguments[7];
51 // var postalAddress = arguments[8];
52 // var homePostalAddress = arguments[9];
53 // var departmentNumber = arguments[10];
54 // var l = arguments[11];
57 e.setAttribute('value', unescapeCallbackParameter(cn));
59 e.setAttribute('value', email);
61 e.setAttribute('value', unescapeCallbackParameter(sn));
63 e.setAttribute('value', unescapeCallbackParameter(givenName));
64 e = $('telephoneNumber');
65 e.setAttribute('value', telephoneNumber);
66 e = $('facsimileTelephoneNumber');
67 e.setAttribute('value', facsimileTelephoneNumber);
69 e.setAttribute('value', mobile);
70 e = $('postalAddress');
71 e.setAttribute('value', unescapeCallbackParameter(postalAddress));
72 e = $('homePostalAddress');
73 e.setAttribute('value', unescapeCallbackParameter(homePostalAddress));
74 e = $('departmentNumber');
75 e.setAttribute('value', unescapeCallbackParameter(departmentNumber));
77 e.setAttribute('value', unescapeCallbackParameter(l));
80 function validateContactEditor() {
84 if (e.value.length == 0)
86 if (uixEmailRegex.test(e.value) != true)
87 return confirm(labels.invalidemailwarn);
90 if (e.value.length == 0)
92 if (uixEmailRegex.test(e.value) != true)
93 return confirm(labels.invalidemailwarn);
98 function showCoords(node) {
99 node = $("givenName");
100 window.alert("x: " + node.cascadeLeftOffset()
101 + ";y: " + node.cascadeTopOffset()
102 + ";width: " + window.innerWidth
103 + ";height: " + window.innerHeight);
106 function onFnKeyDown() {
109 displayNameChanged = true;
114 function onFnNewValue(event) {
115 if (!displayNameChanged) {
116 var sn = $("sn").value.trim();
117 var givenName = $("givenName").value.trim();
119 var fullName = givenName;
124 $("fn").value = fullName;
130 function initEditorForm() {
131 displayNameChanged = ($("fn").value.length > 0);
132 $("fn").onkeydown = onFnKeyDown;
133 $("sn").onkeyup = onFnNewValue;
134 $("givenName").onkeyup = onFnNewValue;