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; }