var myrules = { '#reorder' : function(el){ el.onclick = function(){ Element.classNames('app').set('sorting'); Sortable.create('tabslist', {handle: 'drag-handle'}); removeEdition(el); return false; } }, '#save' : function(el){ el.onclick = function(){ var params = ''; $A($('tabslist').getElementsByTagName('INPUT')).findAll(function(h){return h.type=='hidden';}).each(function(f,idx){params += idx==0?'idxs='+f.value:'&idxs='+f.value;}); new Ajax.Request('qpt_reorder', {method: 'post', parameters: params, onSuccess: function(request){ $A($('tabslist').getElementsByTagName('INPUT')).findAll(function(h){return h.type=='hidden';}).each(function(f,idx){f.value=idx;}); Element.classNames('app').set('viewing'); Sortable.destroy('tabslist'); new Effect.Highlight('tabslist',{}); }, onComplete: function(request){ $A($('tabslist').getElementsByTagName('LI')).each(function(li){new Element.ClassNames(li).remove('hover');}); Behaviour.apply(); } } ); return false; } }, '#cancel' : function(el){ el.onclick = function(){ new Ajax.Request('qpt_gettabslist', {method: 'get', onSuccess: function(request){Element.update('tabslist',request.responseText.replace(/collapsedOnLoad/g,'collapsedBlockCollapsible'));}, onComplete: function(request){Element.classNames('app').set('viewing');Behaviour.apply();} } ); Sortable.destroy('tabslist'); return false; } }, 'app #tabslist li' : function(el){ if (el.attachEvent){ if (!el.hovers) el.hovers = {}; if (el.hovers['hover']) return; el.hovers['hover'] = true; el.attachEvent('onmouseover', function(){el.className += ' hover';}); el.attachEvent('onmouseout', function(){el.className = el.className.replace((new RegExp('\\s+hover')),'');}); } }, '.delete' : function(el){ el.onclick = function(ev){ var item = el.parentNode, num = $A($('tabslist').getElementsByTagName('LI')).indexOf(item); new Ajax.Request('qpt_delete', {parameters:'idx='+num+'&id=' + item.id.replace('tabslist_', ''), onComplete: function(request) { new Effect.Fade(item, {duration: 0.7, afterFinish: function(){ Element.remove(item); $A($('tabslist').getElementsByTagName('INPUT')).findAll(function(h){return h.type=='hidden';}).each(function(f,idx){f.value=idx;}); }}); } } ); return false; } }, 'app #tabslist dt.collapsibleHeader' : function(el){el.onclick = toggleCollapsible;}, '#tabslist li span' : function(el){ el.onclick = function(ev){ var ev = ev?ev:window.event, li = Event.findElement(ev, 'LI'); Element.classNames('app').set('editing'); removeEdition(el); Element.classNames(li).set('current'); li.getElementsByTagName('INPUT')[1].focus(); } }, '#tabslist input.editsave' : function(el){ el.onclick = function(ev){ var ev = ev?ev:window.event, v = validateField, li = Event.findElement(ev, 'LI'), tds = document.getElementsByTagName('INPUT'); if (v('actname',$F(tds[1])) && v('actid',$F(tds[3]))) { var num = $A($('tabslist').getElementsByTagName('LI')).indexOf(li); new Ajax.Request('qpt_edit', {parameters:'num='+num+'&'+Form.serialize(Event.findElement(ev, 'FORM')), onSuccess: function(request){ Element.update(li, request.responseText); Element.classNames('app').set('viewing'); Element.classNames(li).set(''); li.id = 'tabslist_'+$F(tds[3]); }, onFailure: function(request){ var message = (/Error Value\s*<\/dt>\s*