window.onerror=null; /** * neues fenster mit def. groesse, ohne statusbar oder navigation etc. **/ function openPopup(uri,sizex,sizey) { var ratio = 30; sizex = sizex*1+ratio; sizey = sizey*1+ratio; var path = uri+"&sizex="+sizex+"&sizey="+sizey; name = window.open(path,'new_win',"width=" + sizex + ",height=" + sizey + ",screenX=screen.width / 2 - sizex / 2,screenY=screen.height / 2 - sizey / 2,resizable=no,scrollbars"); } /** * farbaenderung von tabellenzeilen * strings: textfarbe, hintergrundfarbe, cursor-style **/ function hoverTD(obj, color, colorBg, cursor) { if (!(document.layers && !document.getElementById)) { if (colorBg != '') obj.style.backgroundColor = colorBg; if (cursor != '') obj.style.cursor = cursor; if (obj.children) obj.children[0].style.color = color; } } /** * Bestaetigung bei Loeschvorgang * strings: textfarbe, hintergrundfarbe, cursor-style **/ function confirmDelete(url,text) { boole = confirm(text); if(boole) self.location.href = url; } /** * Modifizierung von DropDown-Elementen. Falls die Aenderung durch ein * anderes DropDown erfolgen soll, wird ein Event-Handler in folgender * oder aehnlicher Form im steuernden select benoetigt: * * onChange="fillSelectFromArray(this.form.<%name-des-zu-aendernden-dropdowns%>, * ((this.selectedIndex == -1) ? null : my_arr[this.options[this.selectedIndex].value]));" * * @param selectCtrl zu modifizierendes DropDown * @param itemArray Array mit neuen Options * @param goodPrompt ... * @param badPrompt ... * @param defaultItem vorauszuwaehlendes Element * * @return void **/ function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) { var i, j; var prompt; // existierende options loeschen for (i = selectCtrl.options.length; i >= 0; i--) { selectCtrl.options[i] = null; } prompt = (itemArray != null) ? goodPrompt : badPrompt; if (prompt == null) { j = 0; } else { selectCtrl.options[0] = new Option(prompt); j = 1; } if (itemArray != null) { // neue options hinzufuegen for (i = 0; i < itemArray.length; i++) { selectCtrl.options[j] = new Option(itemArray[i][0]); if (itemArray[i][1] != null) { selectCtrl.options[j].value = itemArray[i][1]; } j++; } // erste option selektieren selectCtrl.options[0].selected = true; } } /** * Aendert die `action` eines Formulares * * @param form_name Formular-Bezeichner * @param new_action Neue `action` */ function changeAction(form_name,new_action) { document.forms[form_name].action = new_action; } /** * Selektiert oder deselektiert alle Checkboxen eines Formulares * * @param string the form name * @param boolean whether to check or to uncheck the element * * @return boolean always true */ function setCheckboxes(the_form, the_checkboxes) { do_check = document.forms[the_form].elements['toggle'].checked; var boxes = document.forms[the_form].elements[the_checkboxes]; var boxes_cnt = (typeof(boxes.length) != 'undefined') ? boxes.length : 0; if (boxes_cnt) { for (var i = 0; i < boxes_cnt; i++) boxes[i].checked = do_check; } else boxes.checked = do_check; return true; }