window.loading=[]
function startup(){act._search('hide');act._paging('hide');act._status('','hide');if(window.loading)try{loading.forEach(eval)}catch(e){}};window.addEvent('domready',startup)
function openNewWindow(url,w,h){w=(w==null)?600:w;h=(h==null)?450:h;var target=url.test(/^index\.php.*/i)?'popup':'_blank';var aWindow=makePopup(url,target,w,h,'yes','yes')}
function makePopup(pageURL,pageName,w,h,pageScroll,pageCenter){if(pageCenter=='no'){LeftPosition=10;TopPosition=10}else{LeftPosition=(screen.width)?(screen.width-w)/2:0;TopPosition=(screen.height)?(screen.height-h)/2:0};var pageConfig='toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars='+pageScroll+', resizable=yes, width='+(w+18)+', height='+(h+18)+', left='+LeftPosition+', top='+TopPosition;var popup=window.open(pageURL.replace(/&popup=[^&]*/,'')+'&popup=1',pageName,pageConfig);popup.focus();return popup};var ACT=new Class({Implements:[Options,Events],options:{},initialize:function(options){this.setOptions(options)},_list:function(){var div=$('content_div');var lc=$('limit_count');if(!div)return false;if(lc)Cookie.write('limit_count',lc.value,{path:'/',duration:'30'});if($('list_div'))$('list_div').fade(0.5);this._status('loading...','gray');return rpc._list({frm:div.toQueryString()},function(json){var div=$('list_div');if(!div)return false;div.set('html',json.html);div.fade(1)})},_new:function(){return rpc._new()},_edit:function(id){return rpc._edit({id:id})},_delete:function(id){if(confirm(T_('Do you want to delete this record?')))return rpc._delete({id:id});return false},_save:function(f,e){e=new Event(e);var div=$('edit_container');if(!div)return false;var el=new Element('input');el.setProperty('type','hidden');el.setProperty('name','inp[]');el.setProperty('value',div.toQueryString());el.injectInside('edit_form');if(!e.control){act._status('updating record','','gray');act._cancel()}else{f.getElement('input[name=cmd]').value='insert';f.getElement('input[name=id]').value='0';act._status('insert as new record','','gray')}},_update:function(f,id){return rpc._update({id:id,frm:f.toQueryString()})},_insert:function(f){return rpc._insert({frm:f.toQueryString()})},_search:function(w){if(w=='toggle'||w=='hide'||w=='show'){if($('search_div'))$('search_div').slide(w);return true}},_paging:function(w){if(w=='toggle'||w=='hide'||w=='show'){if($('paging_div'))$('paging_div').slide(w);return true}},_goto:function(p,e){e=new Event(e);if(e.control)return true;var lc=$('limit_count');var lo=$('limit_offset');if(!lc||!lo)return false;lo.value=lc.value*(p-1);this._list();return false},_status:function(txt,mode,cl){var div=$('status');if(!div)return false;var fx1=new Fx.Tween(div,{link:'chain',duration:'short'});var fx2=new Fx.Tween(div,{link:'chain',duration:'short'});fx1.start('opacity',0);fx1.addEvent('complete',function(){div.set('html',txt);div.set('class',cl);fx2.start('opacity',1)}.bind(this));if(mode=='fadeout')div.t=div.fade.delay(3000,div,['out']);return true},_cancel:function(){var div;if(cmd.indexOf('edit')!=-1){var url=document.location.href.replace(/\/edit\/\d+.*/,'');document.location.href=url;return};if(div=$('edit_container')){var fx1=new Fx.Tween(div,{link:'chain',duration:'short'});fx1.start('opacity',0).chain(function(){$('edit_container').set('html','')})}},_call:function(){}});act=new ACT()
function url(opt){var h=document.location.pathname.substr(1).split(/\/+/g);var url={protocol:(opt.protocol?opt.protocol:document.location.protocol),host:(opt.host?opt.host:document.location.host),section:(opt.section?opt.section:(h[0]?h[0]:'index')),module:(opt.module?opt.module:(h[1]?h[1]:'home')),cmd:(opt.cmd?opt.cmd:(h[2]?h[2]:'')),id:(opt.id?opt.id:(h[3]?h[3]:'0')),rest:(opt.rest?opt.rest:(h[4]?'/'+h[4]:'')+(h[5]?'/'+h[5]:'')+(h[6]?'/'+h[6]:'')+(h[7]?'/'+h[7]:'')+(h[8]?'/'+h[8]:'')+(h[9]?'/'+h[9]:''))};return url.protocol+'//'+url.host+'/'+url.section+'/'+url.module+'/'+url.cmd+'/'+url.id+url.rest+(document.location.search)}
function rpc_call(func,arg){func=func.substr(1);var div=$('NULL');switch(func){case'new':case'edit':{div=$('edit_box');if(!div)return false;div.fade('hide');break};case'insert':case'update':break;case'delete':break;case'list':{div=$('list_div');if(!div)return false;div.fade(0.5);break}};act._status('requesting '+func,'','gray');var inp='';for(var i in arg)if(typeof (arg[i])=='string'||typeof (arg[i])=='number')inp+='inp['+encodeURIComponent(i)+']='+encodeURIComponent(arg[i])+'&';var id=(arg&&arg.id)?arg.id:0;var R=new Request.HTML({url:'/'+section+'/'+module+'/'+func+'/'+id,evalScripts:true,update:div});R.addEvent('success',function(responseText,responseXML){rpc_done(this.reqid,this.func)});R.addEvent('failure',function(){act._status('error in '+func+' call','','red')});R.reqid=Math.round((Math.random()*10000000000));R.func=func;R.send(inp+'_r_='+R.reqid);return true}
function rpc_done(id,func){act._status(func+' responded ok','fadeout','green');switch(func){case'new':case'edit':{var div=$('edit_box');if(!div)return false;div.makeDraggable({handle:'edit_header'});div.setStyle('top',window.getScrollTop()+20+'px');var width=div.getFirst().getSize().x;div.setStyle('width',width+10+'px');div.setStyle('left',(window.getSize().x-width)/2-20+'px');div.fade('in');break};case'insert':case'update':break;case'delete':{var row=$$('#mainlist .n'+Cookie.read('deleted'));console.log(row);if(row&&row[0])row.dispose();break};case'list':{var div=$('list_div');if(!div)return false;div.fade(1);break}};return true};var SHORT_KEY=new Class({initialize:function(){document.addEvent('keypress',function(e){var e=new Event(e);txt=[];if(e.alt)txt.push('alt');if(e.control)txt.push('control');if(e.shift)txt.push('shift');if(e.meta)txt.push('meta');txt.push(e.code);txt=txt.join('+');var done=true;switch(txt){case'control+shift+6':case'control+114':{shortkey._search();break};case'control+13':case'control+10':case'control+shift+10':case'control+shift+19':case'control+115':{done=shortkey._save();break};case'control+shift+82':{done=shortkey._refresh();break};case'control+shift+14':case'control+110':{done=shortkey._new();break};case'control+shift+16':case'control+112':{done=shortkey._print();break};case'27':{done=shortkey._cancel();break};default:return true};if(done)e.stop();return !done})},_search:function(){},_save:function(){act._update();return false},_new:function(){act._new();return true},_print:function(){},_refresh:function(){act._list();return true},_cancel:function(){act._cancel();return true}});shortkey=new SHORT_KEY()
function T_(txt){if($msg&&$msg[txt])return $msg[txt];return txt}
function readLog(){var c=Cookie.read('log');if(!c||c==lastCookie)return;lastCookie=c;c=eval(c);act._status.delay(100,this,[decodeURI(c[1]),'fadeout',c[0]=='error'?'red':'green']);Cookie.dispose('log')};var lastCookie
