function onload () { state.hasChanged = Array (); // quickbar initialesieren cbInit(); update () } function onresize () { if (obj = document.getElementById ("scroll")) { obj.className = "content_hidden"; obj.style.width = obj.parentNode.offsetWidth; obj.style.height = obj.parentNode.offsetHeight; obj.className = "content"; } } function focus () { new Form ().focus (); } function setValue (name, value, noHasChanged) { new Form ().set ("value["+name+"]", value); if (!noHasChanged) { hasChanged (name); } } function getValue (name) { return new Form ().get ("value["+name+"]"); } function hasChanged (name) { switch (name) { case 'disable_cms': showOption ("id_disable_message", getValue ("disable_cms")); break; } var value = getValue (name); if ((value == state.values[name]) == (state.hasChanged[name] == true)) { if (typeof state.values[name] == "undefined") { state.values[name] = ""; } state.hasChanged[name] = !state.hasChanged[name]; var changed = false; for (var i in state.hasChanged) { changed |= state.hasChanged[i]; } state.quickbar.disabledButtons.save = !changed; state.quickbar.disabledButtons.undo = !changed; updateQuickbar (); } } var disableButtonsList = Array (); function updateQuickbar () { for (var name in disableButtonsList) { document.getElementById (name).setEnabled (true); } disableButtonsList = Array (); for (var name in state.quickbar.disabledButtons) { if (state.quickbar.disabledButtons[name]) { document.getElementById (name).setEnabled (false); disableButtonsList[name] = true; } } } function update () { updateQuickbar (); showMessages (state.messages); top.setStatus (state.statusbar.value); } function save (onCompletion) { var must_reload = (state.hasChanged['useTickets']); var values = ""; for (var name in state.hasChanged) { // Alle zu speichernde Werte zusammen suchen if (state.hasChanged[name]) { state.values[name] = getValue(name); values += "&value["+name+"]="+encodeURIComponent (state.values[name]); } } if (values) { state.hasChanged = Array (); top.setProgress (true); var path = window.location.pathname.replace (/(.*\/).*/, "$1"); // ist für Save beim direkten öffnen einer neuen Seite var request = new Ajax (path+"tpl_system_settings_action.php", "action=save&"+values); request.onCompletion = onCompletion ? onCompletion : function (response) { try { eval (response); state.hasChanged = Array (); update (); setValue ("trashHistory", "", true); if (must_reload) { top.reload (true); } focus (); } catch (e) {}; } request.run (); return true; } else { return false; } } function doAction (action) { if (!state.questions[action] || confirm (state.questions[action])) { top.setProgress (true); var request = new Ajax ("tpl_system_settings_action.php", "action="+action); request.onCompletion = function (response) { eval (response); update (); } request.run (); } } function undo () { // zuerst Änderungen speichern if (save (undo)) { return; } // Undo durchführen top.setProgress (true); var request = new Ajax ("tpl_system_settings_action.php", "action=undo"); request.onCompletion = function (response) { eval (response); state.hasChanged = Array (); for (var name in state.values) { setValue (name, state.values[name], true); } update (); focus (); } request.run (); } function redo () { top.setProgress (true); var request = new Ajax ("tpl_system_settings_action.php", "action=redo"); request.onCompletion = function (response) { eval (response); state.hasChanged = Array (); for (var name in state.values) { setValue (name, state.values[name], true); } update (); focus (); } request.run (); } function reload () { top.reload (true); } function help () { top.setProgress (true); var request = new Ajax ("tpl_system_settings_action.php", "action=message&text=help text"); request.onCompletion = function (response) { showMessages ({0:{type : "info", text : response}}); top.setProgress (false); } request.run (); } function showOption (name, show) { var obj = document.getElementById (name); if (obj) { obj.className = (show) ? "" : "content_hidden"; } }