function addInput(beforeEle,q,field,langs) { var name = prompt(q,''); if (name != null && name != '') { // namen prüfen var id = field+'['+name+']'; for (var a = 0; a < langs.length; a++) { var _ = document.getElementById(id+'['+langs[a]+']'); if (_ != null) { alert("Ein Feld mit dem Namen existiert bereits!"); return; } } var lbl, inp, rem; var fs = document.createElement('fieldset'); fs.className = "innerFS"; var legen = document.createElement('legend'); legen.innerHTML = name+' | '; fs.appendChild(legen); var d = document.createElement('div'); fs.appendChild(d); for (var a = 0; a < langs.length; a++) { lbl = document.createElement('label'); lbl.id = 'lbl_'+id+'['+langs[a]+']'; lbl.htmlFor = id+'['+langs[a]+']'; lbl.innerHTML = langs[a]; d.appendChild(lbl); inp = document.createElement('input'); inp.id = id+'['+langs[a]+']'; inp.name = inp.id; inp.ondblclick = function() { remInput(this); }; d.appendChild(inp); } beforeEle.parentNode.insertBefore(fs, beforeEle); } } function remInput(e) { e = e || this; if (confirm('Sind Sie sicher?')) { var fs = e.parentNode.parentNode; fs.parentNode.removeChild(fs); } return false; } var projectGroups = []; function AddProjectToUser() { var selEle = document.getElementById('availProjects'); var idx = selEle.selectedIndex; if (idx > 0) { var noProjectRow = document.getElementById('noProjectRow'); var tbody = noProjectRow.parentNode; var opt = selEle.options[idx]; var r = opt.getAttribute('canGrantProjectRights'); var canEditUser = opt.getAttribute('canEditUser'); var project_id = opt.value; var name = opt.text; var tr = document.createElement('tr'); tr.setAttribute('canEditUser',canEditUser); tr.setAttribute('canGrantProjectRights',r); var td_project_id = document.createElement('td'); td_project_id.className = 'ctrField'; td_project_id.innerHTML = project_id; tr.appendChild(td_project_id); var td_name = document.createElement('td'); td_name.innerHTML = name; td_name.className = 'nmlField'; tr.appendChild(td_name); /* var td_extrafields = document.createElement('td'); td_extrafields.className = 'ctrField'; td_extrafields.innerHTML = '- keine Extrafelder vorhanden -'; tr.appendChild(td_extrafields); */ var td_group = document.createElement('td'); var usergroups = opt.getAttribute('usergroups'); tr.setAttribute('usergroups',usergroups); eval("usergroups = "+usergroups+";"); usergrouplength = count(usergroups); if (usergrouplength > 0) { var _ = [] for (a in usergroups) { _.push(''); } td_group.innerHTML = ''; } else td_group.innerHTML = ''; td_group.className = 'nmlField'; tr.appendChild(td_group); var td_right = document.createElement('td'); td_right.innerHTML = '
\ '; td_right.style.verticalAlign = 'top'; td_right.className = 'vaTop'; tr.appendChild(td_right); var globalUserRights = document.getElementById('globalUserRights').options; var s; for (var i = 2 /*leave globalright*/; i < globalUserRights.length; i++) { s = td_right.getElementsByTagName('select'); s[0].appendChild(globalUserRights[i].cloneNode(true)); } var td_del = document.createElement('td'); td_del.innerHTML = '
';
td_del.className = 'nmlField';
tr.appendChild(td_del);
tbody.appendChild(tr);
selEle.removeChild(selEle.options[idx]);
noProjectRow.style.display = 'none';
//checkCanEditUser(tbody);
}
return false;
}
function removeProjectToUser(link) {
var tr = link.parentNode.parentNode;
if (confirm('Sind Sie sicher?')) {
var project_id = tr.childNodes[0].innerHTML;
var name = tr.childNodes[1].innerHTML;
var canEditUser = tr.getAttribute('canEditUser');
var r = tr.getAttribute('canGrantProjectRights');
var usergroups = tr.getAttribute('usergroups');
var opt = document.createElement('option');
opt.value = project_id;
opt.text = name;
opt.innerHTML = opt.text;
opt.setAttribute('canEditUser',canEditUser);
opt.setAttribute('canGrantProjectRights',r);
opt.setAttribute('usergroups',usergroups);
var selEle = document.getElementById('availProjects');
selEle.appendChild(opt);
var tbody = tr.parentNode;
tbody.removeChild(tr);
if(tbody.childNodes.length == 1) {
noProjectRow.style.display = '';
}
//checkCanEditUser(tbody);
}
return false;
}
function addPerson(beforeEle) {
var tmpl = document.getElementById('personTemplate').innerHTML;
var fs = document.getElementsByTagName('fieldset');
for (var i = 0,l = fs.length, k = 0, _k; i < l; i++)
if (fs[i].className == 'innerFS' && fs[i].getAttribute('k')) {
_k = parseInt(fs[i].getAttribute('k'));
k = _k < k ? k : _k;
}
k++;
var nFS = document.createElement('fieldset');
nFS.k = k;
nFS.className = 'innerFS';
nFS.innerHTML = tmpl.replace(/XX/g, k);
beforeEle.parentNode.insertBefore(nFS, beforeEle);
}
function delPerson(e) {
if (confirm('Sind Sie sicher?')) {
var fs = e.parentNode;
fs.parentNode.removeChild(fs);
}
}
/*
function checkCanEditUser(tbody) {
var cN = tbody.childNodes;
var l = cN.length;
var canEditUser=false;
for (var i = 1; i < l; i++) {
canEditUser = cN[i].getAttribute('canEditUser') != '';
if (canEditUser == true)
break;
}
try {
var b = document.getElementById('saveUser');
b.style.display = canEditUser ? '' : 'none';
} catch(e) {}
}*/
function ds_checkDelete(frm) {
if (confirm('Sind Sie sicher?')) {
ds_set(frm,'action','delete');
return true;
} else {
return false;
}
}
function ds_switchAction(frm,action) {
ds_set(frm,'action',action);
frm.submit();
}
function ds_set(frm,n,v) {
frm.elements[n].value = v;
}
function isFuture(d) {
return (Date.parse(d) <= Date.parse(new Date()));
}
function switchShowHide(e,status) {
if (typeof e == 'string')
e = document.getElementById(e);
if(e.constructor == Array) {
for(i in e)
switchShowHide(e[i],status);
} else
e.style.display = status ? '' : 'none';
}
function switchDisabled(e,status) {
if (typeof e == 'string')
e = document.getElementById(e);
if(e.constructor == Array) {
for(i in e)
switchDisabled(e[i],status);
} else
e.disabled = status;
}
function count(obj) {
var i = 0;
for (a in obj)
i++;
return i;
}
function HoverRow(row, bgcolor, startCell, stopCell) {
startCell = typeof startCell != 'undefined' ? startCell : 0;
stopCell = typeof stopCell != 'undefined' ? stopCell : 0;
var tds = row.getElementsByTagName('td');
row.obgcolor = tds[startCell].style.backgroundColor;
for (var i = startCell; i < tds.length-stopCell; i++)
tds[i].style.backgroundColor = bgcolor;
}
function UnhoverRow(row, startCell, stopCell) {
startCell = typeof startCell != 'undefined' ? startCell : 0;
stopCell = typeof stopCell != 'undefined' ? stopCell : 0;
var tds = row.getElementsByTagName('td');
for (var i = startCell; i < tds.length-stopCell; i++)
tds[i].style.backgroundColor = row.obgcolor;
}