Changed = 0; ChangedForm = ''; HiddenSubmission = 0; AfterDialogAction = ''; ClientPath = '/'; // Session Hinweise bereitstellen // wird in footer.php aufgerufen function SessionAlert(sessionende, dist) { var jetzt = new Date(); var restzeit2 = Math.round((jetzt.getTime() / 1000) - sessionende + dist); var restzeit = Math.abs(restzeit2); if(restzeit < 60) { window.clearInterval(sessionInterval); } if(restzeit == 600) { AlertWin('Ihre Sitzung läuft in 10 Minuten ab!', 'Sitzungswarnung'); } else if(restzeit == 300) { AlertWin('Ihre Sitzung läuft in 5 Minuten ab, bitte speichern Sie alle Daten rechtzeitig!', 'Sitzungswarnung'); } else if(restzeit == 60) { AlertWin('Ihre Sitzung wird in der nächsten Minute ablaufen und alle nicht gespeicherten Daten werden verloren gehen!', 'Sitzungswarnung'); } } // Alarmfenster anzeigen // als Alternative zu alert() mit mehr Möglichkeiten und dafür kein "Browser-Blinken" function AlertWin(text, title) { // Titel setzen wenn nicht definiert if(title === undefined) { title = 'AGE Abgasgutachten 1'; } // Text eintragen $('aw_content').innerHTML = text; $('aw_title').innerHTML = title; // Positionierung w = 320; h = 150; l = Math.round((GetInnerWidth()) ? (GetInnerWidth() - w)/2 : 0); t = Math.round((GetInnerHeight()) ? (GetInnerHeight() - h)/2 : 0); $('alertwindow').style.left = l+'px'; $('alertwindow').style.top = t+'px'; // Hintergrund ShowSektor('alertbg'); // Fenster anzeigen ShowSektor('alertwindow'); } // Alarmfenster schließen - wird vorallem vom Alarmfenster selbst benutzt function CloseAlertWin() { // Hintergrund verstecken HideSektor('alertbg'); // Fenster verstecken HideSektor('alertwindow'); } function GetInnerWidth() { return window.innerWidth; } function GetInnerHeight() { return window.innerHeight; } function SetChanged() { return true; } function BlurAway() { return true; } // Online Hilfe function OnlineHelp(topic, anchor) { w = 320; h = 400; l = (screen.width) ? (screen.width - w)/2 : 0; t = (screen.height) ? (screen.height - h)/2 : 0; tmp = ClientPath+'pop/onlinehelp.php?t='+topic+'&a='+anchor; win_onlinehelp = window.open(tmp,'OnlineHelp','width='+w+',height='+h+',left='+l+',top='+t+',dependent=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no'); win_onlinehelp.focus(); } // Auswahldialog für Datum function CallCalendar(targetform, targetfield, title) { w = 220; h = 240; l = (screen.width) ? (screen.width - w)/2 : 0; t = (screen.height) ? (screen.height - h)/2 : 0; tmp = ClientPath+'pop/pick_calendar.php?cal_title='+title+'&cal_target_form='+targetform+'&cal_target_field='+targetfield; win_calendar = window.open(tmp,'PickCalendar','width='+w+',height='+h+',left='+l+',top='+t+',dependent=yes,location=no,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no'); win_calendar.focus(); } // Prüft ob ein Element sichtbar ist function SektorIsVisible(id) { return (!(SektorIsInvisible(id))); } // Prüft ob ein Element unsichtbar ist function SektorIsInvisible(id) { var sDisplay = $(id).style.display; return (((sDisplay=='none') || (sDisplay.length < 4)) && (sDisplay != '')); } // Zeigt ein Element an, das möglicherweise unsichtbar ist function ShowSektor(id) { if(document.getElementById) { if(SektorIsInvisible(id)) { if(document.all) { document.getElementById(id).style.display = ''; } else { document.getElementById(id).style.display = 'table-row'; } if(document.getElementById('last_expansion')) { document.getElementById('last_expansion').value = id; } } } } // Versteckt ein Element, das wahrscheinlich sichtbar ist function HideSektor(id) { if(document.getElementById) { document.getElementById(id).style.display = 'none'; } } // Versteckt ein Element, wenn es sichtbar ist und macht es ansonsten sichtbar function ShowHideSektor(id) { if(document.getElementById) { if(SektorIsInvisible(id)) { ShowSektor(id); } else { HideSektor(id); } } } // Macht ein Element sichtbar oder unsichtbar, abhängig vom 2. Parameter function SetSektor(id, new_visible) { if(new_visible) { ShowSektor(id); } else { HideSektor(id); } } // Versteckt ein Bild function HideImage(name) { document.images[name].style.display = 'none'; } // Klappsystem auf- oder zuklappen, je nach aktuellem Status function ToggleFlap(id, image_open, image_close) { if(document.getElementById) { if(SektorIsInvisible(id)) { OpenFlap(id, image_open); } else { CloseFlap(id, image_close); } } } // Klappsystem aufklappen function OpenFlap(id, image_open) { if(document.getElementById) { ShowSektor(id); document.images['img_'+id].src = image_open; } } // Klappsystem zuklappen function CloseFlap(id, image_close) { if(document.getElementById) { HideSektor(id); document.images['img_'+id].src = image_close; } } // Füllt einen Wert in den value eines über die Id referenzierbaren Objektes // wird vorallem von den Popup-Dialog genutzt function FillInIdField(idname, newvalue) { $(idname).value = newvalue; } // Füllt einen Wert in den value eines Formularelementes // wird vorallem von den Popup-Dialog genutzt function FillInForm(formname, inputfield, value) { document.forms[formname].elements[inputfield].value = value; } // Füllt einen Wert in den value eines Formularelementes des übergeordneten Fensters // wird vorallem von den Popup-Dialog genutzt function FillInParentForm(formname,inputfield,value) { window.opener.document.forms[formname].elements[inputfield].value = value; } // Füllt einen Wert in den value eines über die Id referenzierbaren Objektes des übergeordneten Fensters function FillInParentIdfield(idfield, value) { window.opener.document.getElementById(idfield).value = value; } // Gibt in einem übergeordneten Fenster einem Id referenzierbaren Objekt einen Tooltip function TooltipSetParentIdfield(idfield, value) { window.opener.document.getElementById(idfield).title = value; } // ?? // projektvorlagen.php:149 function CheckOptions(formname, selectfield, value, vname) { if(document.forms[formname].elements[selectfield].options) { found_it = 0; for(i = 0; i < document.forms[formname].elements[selectfield].length; i++) { if(document.forms[formname].elements[selectfield].options[i].value == value) { found_it = 1; break; } } if(found_it == 0) { NeueOption = new Option(vname,value,false,true); document.forms[formname].elements[selectfield].options[document.forms[formname].elements[selectfield].length] = NeueOption; } } } // Funktion mit der alle Checkboxen eines bestimmten Namens je nach dem Wert eines vorgegebenen Elementes markiert oder demarkiert werden function CheckCheckboxes(formname, base_element, check_elements) { var v = $(base_element).checked; var elements = $(formname).getInputs(); var elements = Form.getInputs(formname, 'checkbox', check_elements); elements.each(function(id){ $(id).checked = v; }); } // Funktion für clIoFormular->CheckAll(), die alle Checkboxen mit der Id "selected[]" markiert oder demarkiert, // je nach Wert der Checkbox mit der Id "selectall" function CheckAllCheckboxes(formname) { CheckCheckboxes(formname, 'selectall', 'selected[]'); } // Sendet das als Objekt übergebene Formular oder das mit dem übergebenen Namen function SubmitForm(sformname) { if(typeof(sformname)=='string') { document.forms[sformname].submit(); } else { sformname.submit(); } } // Öffnet den angegenen Link function OpenLink(newurl) { if(newurl.substr(0, ClientPath.length) == ClientPath) { self.location.href = newurl; } else { self.location.href = ClientPath + newurl; } } // AddListEntry function AddListEntry(list_id, entry_text, entry_value) { var oldLength = $(list_id).length; newOption = new Option(entry_text, entry_value, false, false); $(list_id).options[oldLength] = newOption; } // AddListEntrySorted (DOM Browsers only) function AddListEntrySorted(list_id, entry_text, entry_value) { var oldLength = $(list_id).length; newOption = new Option(entry_text, entry_value, false, false); var newPos = GetListPosForEntry(entry_text, list_id); try { $(list_id).add(newOption, $(list_id).options[newPos]); // standards compliant; doesn't work in IE } catch(ex) { $(list_id).add(newOption, newPos); // IE only } return newPos; } // GetListPosForEntry function GetListPosForEntry(entry_text, list_id) { var r = 0; var l = $(list_id).length; for(var i = 0; i < l; i++) { if( (i == 0) && (l > 2) ) // ggf. die ersten beiden Listeneinträge überspringen { var t = $(list_id).options[1].text; if( (t == ' ') || (t == '') ) { i = 2; } } r = i; if($(list_id).options[i].text.toLowerCase() > entry_text.toLowerCase()) { break; } } return r; } // Entfernt aus einer Liste eines Formular den markierten Eintrag function EntferneMarkiertenListeneintrag(formularname, listenname) { var anz = document.forms[formularname].elements[listenname].length; if(anz > 0) for(var i = (anz - 1); i >= 0; i--) { if(document.forms[formularname].elements[listenname].options[i].selected == true) { document.forms[formularname].elements[listenname].options[i] = null; } } } // Wandelt den angegebene Wert in eine Gleitkommazahl um function ConvertToFloat(value) { temp = parseFloat(value.replace(/,/,'.')); if(isNaN(temp)) { return 0.0; } else { return temp; } } // Formatiert eine Gleitkommazahl zur Ausgabe mit der angegebenen Stellenanzahl function FormatFloat(value, precision) { if(( (value == '') || (value == null) ) && (value != 0) ) { return ''; } else if(value == 0) { value = 0.0; return (value.toFixed(precision)).replace(/\./,','); } else if(precision == -1) { return value.replace(/\./,','); } else { value = parseFloat(value); return (value.toFixed(precision)).replace(/\./,','); } } // Zeigt einen AJAX Indikator an function ShowIndicator(indicatorname) { // nach oben scrollen window.scrollTo(0, 0); // Positionierung der Grafik w = 70; h = 40; l = Math.round((GetInnerWidth() - w) / 2); t = Math.round((GetInnerHeight() - h) / 2); $(indicatorname).style.left = l+'px'; $(indicatorname).style.top = t+'px'; // Ändern der BODY-CSS-Klasse $('wonoxbody').className = indicatorname; // Grafik anzeigen ShowSektor(indicatorname); // Timeout-Warnung für Session entfernen try { window.clearInterval(sessionInterval); } catch(e) { void(0); } } // Bogenmaß in Grad umrechnen function Rad2Deg(x) { return x * 180 / Math.PI; } // Grad in Bogenmaß umrechnen function Deg2Rad(x) { return x * Math.PI / 180; } // Ist nicht leer? function isNonBlank(s) { var isNonBlank = /\S/; return String (s).search(isNonBlank) != -1; } // Ist ganze Zahl ohne Vorzeichen function isUInteger(s) { var reg = new RegExp("^[0-9]$"); return (reg.test(s)); } // Ist ganze Zahl function isInteger(s) { var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$"); return (reg.test(s)); } // Ist Gleitkommazahl function isFloat(s) { var re = /^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/; return String(s).search(re) != -1; }