/**
* MooMilk Extension for Mootools - part of Lily framework.
* Copyright (c) 2008 Mitis Lumen, http://mitislumen.pl/
* Any form of use without explicit permission is a violation of international copyright laws.
*/
var default_block_zindex=1000;var default_busybox_zindex=2200;var default_tooltip_zindex=2500;var default_floatingmsg_zindex=1500;var default_simpledialog_zindex=1100;var default_customdialog_zindex=1400;var default_windows_zindex=1100;var default_block_background='#fff';var default_element_fade_duration=1500;var default_element_flash_duration=500;var mui_defaultDialogBody='<h2></h2><div class="body"></div><div class="buttons"></div>';var mui_defaultWindowBody='<h2></h2><div class="body"></div>';function $MAX(){var rez=null;for(var i=0;i<arguments.length;i++){if(arguments[i]>rez)rez=arguments[i];}return rez;}function $MIN(){var rez=0xFFFFFFFF;for(var i=0;i<arguments.length;i++){if(arguments[i]<rez)rez=arguments[i];}return rez;}function $include(){for(var i=0;i<arguments.length;i++){var script=new Element('script',{type:'text/javascript',src:arguments[i]});script.inject(document.head);}}function mui_createID(id){if(id==null||id==false){var r=(Math.random()*999999)+(Math.random()*999999);return $time()+'_'+r.round();}else{return id;}}function mui_msgToHTML(msg){if($type(msg)=='array'){r='';for(i=0;i<msg.length;i++){r+='<p>'+msg[i]+'</p>';}return r;}return msg;}function mui_fitImage(width,height,dw,dh,allowup){var sw=width/dw;var sh=height/dh;if(allowup==false||allowup==null){if(sw<1)sw=1;if(sh<1)sh=1;}if(sw>=sh){width=width/sw;height=height/sw;}else{width=width/sh;height=height/sh;}width=width.toInt();height=height.toInt();return{width:width,height:height};}function mui_ME(el){switch($type(el)){case'string':return $(el);break;case'element':return $(el);break;default:return el;break;}}function getCookie(c_name){if(document.cookie.length>0){c_start=document.cookie.indexOf(c_name+"=");if(c_start!=-1){c_start=c_start+c_name.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1)c_end=document.cookie.length;return unescape(document.cookie.substring(c_start,c_end));}}return"";}function setCookie(c_name,value,expiredays,path){if(!$defined(path))path='/';var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);document.cookie=c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString())+';path='+escape(path);}String.implement({trim:function(){var s=this.replace(/^[\x01-\x20]*/,'');return s.replace(/[\x01-\x20]*$/,'');},toHTML:function(){var str=['&','<','>','"',"'"];var html=['&amp;','&lt;','&gt;','&quot;','&#39;'];var s=this.replace(new RegExp(str[0],'g'),html[0]);for(var i=1;i<str.length;i++){s=s.replace(new RegExp(str[i],'g'),html[i]);}return s;},toStr:function(){var str=['&','<','>','"',"'"];var html=['&amp;','&lt;','&gt;','&quot;','&#39;'];var s=this.replace(new RegExp(html[0],'g'),str[0]);for(var i=1;i<str.length;i++){s=s.replace(new RegExp(html[i],'g'),str[i]);}return s;}});Window.implement({popup:function(link,w,h,name){if(w==false||w==null)w=0.5;if(h==false||h==null)h=0.5;if(w<=1)w=(screen.width*w).toInt();if(h<=1)h=(screen.height*h).toInt();l=(screen.width-w)/2;t=(screen.height-h)/2;if(name==null)name="info";var w=window.open(link,name,"toolbar=0,scrollbars=1,resizable=1,location=0,menubar=0,directories=0,status=0,width="+w+",height="+h+",left="+l+",top="+t);if(w.left){w.left=l;w.top=t;}w.focus();return false;},getGPS:function(){var c=this.getCoordinates();c.x=c.left;c.y=c.top;return $merge(c,{scrollSize:this.getScrollSize(),size:this.getSize(),scroll:this.getScroll()});}});Element.implement({show:function(){var s='';if(!$defined(this.showhide_display))s=this.getStyle('display');if(s=='none')s='block';if($defined(this.showhide_display))s=this.showhide_display;this.setStyles({'display':s,'opacity':1});return this;},hide:function(){if(!$defined(this.showhide_display)){var s=this.getStyle('display');if(s=='none')s='block';this.showhide_display=s;}this.setStyle('display','none');return this;},fadeOut:function(time,kill){if(!$defined(time))time=default_element_fade_duration;if(!$defined(kill))kill=false;if(this.getStyle('display')=='none')return;if(!$defined(this.fxout)){var fx=new Fx.Tween(this,{property:'opacity',duration:time}).addEvent('onComplete',function(){this.inst.set('styles',{'opacity':1});if(kill)this.inst.empty().destroy();else this.inst.hide();});this.fxout=fx;fx.inst=this;}this.fxout.options.duration=time;this.fxout.start(0);},fadeIn:function(time){if(!$defined(time))time=default_element_fade_duration;if(!$defined(this.fxin)){var fx=new Fx.Tween(this,{property:'opacity',duration:time});this.fxin=fx;fx.inst=this;}this.fxin.options.duration=time;this.set('styles',{'opacity':0,'display':'block'}).fxin.start(0,1);},flash:function(backcolor,time){if(!$defined(backcolor))backcolor='#cc0000';if(!$defined(time))time=default_element_flash_duration;var el=this;var b=this.getStyle('background-color');while(b=='transparent'){el=$(el.getParent());if(el==null){b='#fff';break;}b=el.getStyle('background-color');}if(!$defined(this.fxflash)){this.fxflash=new Fx.Tween(this,{duration:time,'property':'background-color'});}else this.fxflash.options.duration=time;this.fxflash.start(b,backcolor).chain(function(){this.start(backcolor,b);});},center:function(){this.setStyles({left:mui_centerX(this),top:mui_centerY(this)});return this;},getGPS:function(){var c=this.getCoordinates();c.x=c.left;c.y=c.top;c=$merge(c,{scrollSize:this.getScrollSize(),size:this.getSize(),scroll:this.getScroll()});c.scrollSize.x=$MAX(c.scrollSize.x,c.width);c.scrollSize.y=$MAX(c.scrollSize.y,c.height);return c;},insertOption:function(name,value,select,where){if(!$defined(where))where='bottom';if(!$defined(select))select=false;var o=new Element('option',{value:value}).set('text',name).inject(this,where);if(Browser.Engine.trident4){var _this=this;(function(){if(select)_this.selectSelect(value);}).delay(50);}else{if(select)this.selectSelect(value);}return this;},selectSelect:function(value){var b;for(var i=0;i<this.options.length;i++){if($type(value)=='array'){b=(value.indexOf(this.options[i].value));}else b=(value==this.options[i].value);this.options[i].selected=b;}return this;},getLeft:function(){return this.getPosition().x;},getTop:function(){return this.getPosition().y;}});Date.implement({ymd:function(){var d=new Date();var y=d.getFullYear();var m=d.getMonth()+1;var d=d.getDate();if(m<10)m='0'+m;if(d<10)d='0'+d;return y+'-'+m+'-'+d;},his:function(){var d=new Date();var h=d.getHours();var m=d.getMinutes();var s=d.getSeconds();if(h<10)h='0'+h;if(m<10)m='0'+m;if(s<10)s='0'+s;return h+':'+m+':'+s;},ymdhis:function(){var d=new Date();return d.ymd()+' '+d.his();}});Number.implement({toPrice:function(unit,digit){if(unit==null)unit='EUR';if(digit==null)digit='.';var price=String(this.round(2));var pi=price.indexOf('.');if(pi>-1&&pi==price.length-2)price+='0';if(pi==-1)price+='.00';return price.replace('.',digit)+' '+unit;}});function xhtml_closeDialog(id){$(id).fadeOut();}window.onbeforeunload=function(){var x=false;$each(xform_changed,function(d){if(d)x=true;});if(x)return moo_lang.t('xform.unsavedchanges');};var xform_tabs={};var xform_changed={};function xform_trackChange(dummy,fid){xform_changed[fid]=true;}function xform_checkField(id,fid,level){if($type(id)=='event'){id=fid;fid=level;level='field';}if(!$defined(level))level='field';var f=$(id);eval('var form = xform_'+fid+'_checks');var res=true;for(var i=0;i<form.length;i++){var check=form[i];if(check.name!=id)continue;if(check.level!=level)continue;switch(check.type){case'empty':if(check.field_type=='checkbox'){res=f.checked;}else{if(f.value.trim()=='')res=false;}break;case'length':if(check.min==null)check.min=f.value.length;if(check.max==null)check.max=f.value.length;if((f.value.length<check.min)||(f.value.length>check.max))res=false;break;case'floatrange':var v=f.value.toFloat();if((v<check.min)||(v>check.max))res=false;break;case'intrange':var v=f.value.toInt();if((v<check.min)||(v>check.max))res=false;break;case'regex':r=new RegExp(check.regjs);res=r.test(f.value);break;case'custom':eval('var res='+check.func+'(\''+id+'\',\''+fid+'\');');break;}if(!res)break;}var i=$('xform_info_'+id);if(res){i.removeClass('field_error').fadeOut();f.removeClass('error');return true;}f.addClass('error');if(check.level=='field')i.set('text',check.msg).show().addClass('field_error');return false;}function xform_reset(fid){eval('var form = xform_'+fid+'_data');for(var id in form){f=$(id);if(f!=null)f.removeClass('error');switch(form[id].type){case'text':case'textarea':f.value=form[id].value;break;case'select':mlf_selectSelect(f,form[id].value);break;case'checkbox':f.checked=(form[id].value==1);break;}$('xform_info_'+id).hide();}xform_changed[fid]=false;}function xform_checkForm(fid){eval('var form = xform_'+fid+'_checks');eval('var data = xform_'+fid+'_data');var fc=0;var tab_set=false;for(var i=0;i<form.length;i++){if(form[i].level=='field')if(!xform_checkField(form[i].name,fid,'field')){if(!tab_set&&(data[form[i].name].tab!='')){xform_tabs[fid].showTab(data[form[i].name].tab);tab_set=true;}fc++;}}if(fc>0){var s=moo_lang.t('xform.invalidfill');dialogError(s.replace('%s',fc));return false;}for(var i=0;i<form.length;i++){if(form[i].level=='submit')if(!xform_checkField(form[i].name,fid,'submit')){if(data[form[i].name].tab!=''){xform_tabs[fid].showTab(data[form[i].name].tab);}dialogError(form[i].msg);return false;}}return true;}function xform_submit(fid){if(!xform_checkForm(fid))return false;xform_changed[fid]=false;$(fid).submit();}function xform_submitAction(fid,action){if(!xform_checkForm(fid))return false;$(fid).xform_action.value=action;xform_changed[fid]=false;$(fid).submit();}function xform_submitActionAjax(fid,action){if(!xform_checkForm(fid))return false;$(fid).xform_action.value=action;$(fid).send();}function xform_submitAjax(fid){if(!xform_submit(fid,true))return;$(fid).send();}function xform_initForm(fid,usetabs,trace_changes){xform_changed[fid]=false;eval('var form = xform_'+fid+'_checks');for(var i=0;i<form.length;i++){if(form[i].level=='field'){$(form[i].name).addEvent('blur',xform_checkField.bindWithEvent(xform_checkField,[form[i].name,fid]));}}if(!$defined(trace_changes))trace_changes=true;if(trace_changes){eval('var data = xform_'+fid+'_data');$each(data,function(d,name){$(name).addEvent('change',xform_trackChange.bindWithEvent(xform_trackChange,[fid]));});}if(usetabs)xform_initTabs(fid);}function xform_initTabs(fid){var t=new mui_tabControl('xftab_content_'+fid,'.xformtab','h2');xform_tabs[fid]=t;t.parent_form=fid;t.addEvent('showtab',function(){$(fid).xform_visible_tab.value=this.visible_tab;});eval('var vtab = xform_'+fid+'_visible_tab');if(vtab!='')t.showTab(vtab);else $(fid).xform_visible_tab.value=t.tabs[0].id;}function xform_check_nip(id,fid){var el=$(id).value;if(el=='')return true;var rez=el.search(/\d{2,3}-\d{2,3}-\d{2,3}-\d{2,3}/)==0;if(!rez)return rez;el=el.replace(/-/g,'');if(el.length!=10)return false;var w=Array(6,5,7,2,3,4,5,6,7);var ch=0;for(var i=0;i<9;i++)ch+=w[i]*el.substr(i,1).toInt();ch=ch%11;return(ch==el.substr(9,1).toInt());}function html_inputSelect(values,name,selected){var res='<select name="'+name+'" id="'+name+'">';var c;for(i in values){if(i==selected)c=' selected="selected"';else c='';res+='<option value="'+i+'"'+c+'>'+values[i]+'</option>';}return res+'</select>';}function mlf_radio(form,name){var els=$(form).getElements('input[name='+name+']');for(var i=0;i<els.length;i++){if(els[i].checked){return els[i].value;}}return null;}function mlf_createSelect(name,parent){s=new Element('select',{name:name,id:name});s.injectInside(parent);return s;}function mlf_insertOption(value,name,select){o=new Element('option',{value:value}).setText(name).injectInside(select);return o;}function mlf_getSelectText(select){ch=select.getElements('option');res=null;ch.each(function(c){if(c.value==select.value){res=c.text;return;}});return res;}function mlf_selectSelect(select,val){var b;for(var i=0;i<select.options.length;i++){if($type(val)=='array'){b=(val.indexOf(select.options[i].value));}else b=(val==select.options[i].value);select.options[i].selected=b;}}function mlf_checkField(form,name,type){var el=$(form).getElements('input[name='+name+']')[0].value.trim();switch(type){case'name':return(el.indexOf(' ')>-1&&el.length>5);break;case'street':return(el.search('[a-zA-Z?궿??????ʦ???ѣ?]+.* \\d{1}')==0);break;case'email':return(el.search('[\\w?궿??????ʦ???ѣ?\\.]+@\\w+.\\w{2,}')==0);break;case'zip':return(el.search('\\d{2}-\\d{3}')==0);break;case'nip':var rez=el.search(/\d{2,3}-\d{2,3}-\d{2,3}-\d{2,3}/)==0;if(!rez)return rez;el=el.replace(/-/g,'');if(el.length!=10)return false;var w=Array(6,5,7,2,3,4,5,6,7);var ch=0;for(var i=0;i<9;i++)ch+=w[i]*el.substr(i,1).toInt();ch=ch%11;return(ch==el.substr(9,1).toInt());break;case'city':return(el.length>3);break;case'company':return(el.length>2);break;}throw('unknown type in mlf_checkField ('+type+') !');}function mlf_checkLen(form,name,min,max){for(var i=0;i<form.elements.length;i++){if(form.elements[i].name==name){var el=form.elements[i].value;return(el.length>=min&&el.length<=max);}}return null;}var inputTip=new Class({initialize:function(input,tip_class){input=$(input);this.tip_class=tip_class;this.input=input;input.addEvent('focus',this.tipOff.bindWithEvent(this));input.addEvent('blur',this.tipOn.bindWithEvent(this));this.tipOn();},tipOn:function(){if(this.input.value=='')this.input.addClass(this.tip_class);},tipOff:function(){this.input.removeClass(this.tip_class);}});var objList=new Class({initialize:function(){this.list=new Array();this.length=0;},add:function(obj){this.list[this.list.length]=obj;this.length+=1;},update:function(idx,obj){this.list[idx]=obj;},getByIdx:function(idx){for(var i=0;i<this.list.length;i++){if(this.list[i].idx==idx)return this.list[i];}return false;},getByTrueIdx:function(idx){return this.list[idx];},getById:function(id){for(var i=0;i<this.list.length;i++){if(this.list[i].id==id)return this.list[i];}},deleteByTrueIndex:function(idx){this.list.splice(idx,1);this.length-=1;},clear:function(){this.list=new Array();this.length=0;},each:function(fn){for(var i=0;i<this.list.length;i++){fn.call(this.list[i],this.list[i],i);}}});var xsite_action_tables={};var ActionTable=new Class({Implements:Options,options:{multiselect:true},initialize:function(name,options){this.table_name=name;this.selected=new Array();this.id_map=new Hash();xsite_action_tables[name]=this;this.table=$(name);var rows=this.table.getElements('tr');this.row_count=0;for(var i=0;i<rows.length;i++){if(rows[i].hasClass('tr_header'))continue;var sel=rows[i].getElement('td.selector');if(sel){sel.atable=this;sel.row=rows[i];sel.addEvent('click',this.selClick).setStyle('cursor','pointer');}this.row_count++;}this.sel_count=0;var sel=this.table.getElements('th.selector');if(sel){this.selpopup=new mm_popupMenu([mm_menuAction(moo_lang.t('sel.all'),'selall'),mm_menuAction(moo_lang.t('sel.none'),'selnone'),mm_menuAction(moo_lang.t('sel.inverse'),'selinverse')]).addEvent('action',this.popupAction);this.selpopup.atable=this;for(var i=0;i<sel.length;i++){sel[i].addEvent('click',this.popup).set({'text':this.sel_count+' / '+this.row_count,'styles':{'cursor':'pointer'}});sel[i].atable=this;}}this.highlight();this.buildIDMap();},buildIDMap:function(){var rows=this.table.getElements('tr');var id;this.id_map.empty();var idx=0;for(var i=0;i<rows.length;i++){if(rows[i].hasClass('tr_header'))continue;var id=rows[i].get('id').substr(this.table_name.length+4);this.id_map.set(id,idx++);}},move:function(num,id){var ids=this.id_map.getKeys();var top_idx=this.id_map.getLength()-1;var idx=this.id_map.get(id);var sidx=idx;idx+=num;if(idx<0)idx=0;if(idx>top_idx)idx=top_idx;if(idx==sidx)return;var idd=ids[idx];if(num<0){$(this.table_name+'_tr_'+id).inject($(this.table_name+'_tr_'+idd),'before');}else{$(this.table_name+'_tr_'+id).inject($(this.table_name+'_tr_'+idd),'after');}this.buildIDMap();this.highlight();},highlight:function(){var rows=this.table.getElements('tr');var c=1;for(var i=0;i<rows.length;i++){if(rows[i].hasClass('tr_header'))continue;if(c%2==0){rows[i].addClass('highlight');}else rows[i].removeClass('highlight');c++;}},popup:function(){this.atable.selpopup.popup(this);},popupAction:function(){if(this.action=='selall')this.atable.selectAll.run(null,this.atable);if(this.action=='selnone')this.atable.selectNone.run(null,this.atable);if(this.action=='selinverse')this.atable.selectInverse.run(null,this.atable);},selClick:function(e){var name=this.atable.table_name;var id=this.row.getProperty('id').substr(name.length+4);this.atable.toggleSelect.run(id,this.atable);},toggleSelect:function(id){if(this.selected.indexOf(id)>-1)this.unselect(id);else this.select(id);this.selectedSummary();},select:function(id){var tr=this.table_name+'_tr_'+id;var td=this.table.getElement('#'+tr+' td.selector');td.addClass('selected');this.selected.push(id+'');this.sel_count=this.selected.length;},unselect:function(id){var tr=this.table_name+'_tr_'+id;var td=this.table.getElement('#'+tr+' td.selector');td.removeClass('selected');this.selected.erase(id);this.sel_count=this.selected.length;},selectAll:function(){var rows=this.table.getElements('tr');for(var i=0;i<rows.length;i++){if(rows[i].hasClass('tr_header'))continue;var id=rows[i].getProperty('id').substr(this.table_name.length+4);if(this.selected.indexOf(id)>-1)continue;this.select(id);}this.selectedSummary();},selectNone:function(){var tmp=new Array();for(var i=0;i<this.selected.length;i++)tmp.push(this.selected[i]);for(var i=0;i<tmp.length;i++){this.unselect(tmp[i]);}this.selectedSummary();},selectInverse:function(){var rows=this.table.getElements('tr');for(var i=0;i<rows.length;i++){if(rows[i].hasClass('tr_header'))continue;var id=rows[i].getProperty('id').substr(this.table_name.length+4);this.toggleSelect(id);}this.selectedSummary();},selectedSummary:function(){var sel=this.table.getElements('th.selector');if(sel){for(var i=0;i<sel.length;i++){sel[i].set('text',this.sel_count+' / '+this.row_count);}}},deleteRow:function(id){id=id+'';var tr=this.table.getElement('#'+this.table_name+'_tr_'+id);if(tr){if(this.selected.indexOf(id)>-1)this.unselect(id);this.row_count--;this.selectedSummary();this.highlight();tr.fadeOut(500,true);}this.highlight.delay(550,this);this.buildIDMap.delay(550,this);},deleteSelected:function(){for(var i=0;i<this.selected.length;i++){var tr=this.table.getElement('#'+this.table_name+'_tr_'+this.selected[i]);if(tr){tr.fadeOut(500,true);}}this.row_count-=this.selected.length;this.sel_count=this.selected.length;this.selected.empty();this.selectedSummary();this.highlight.delay(550,this);this.buildIDMap.delay(550,this);},markSelected:function(){for(var i=0;i<this.selected.length;i++){this.mark(this.selected[i]);}},mark:function(id){var tr=this.table.getElement('#'+this.table_name+'_tr_'+id);if(tr)tr.addClass('mark');},unmark:function(id){var tr=this.table.getElement('#'+this.table_name+'_tr_'+id);if(tr)tr.removeClass('mark');},unmarkAll:function(){var rows=this.table.getElements('tr');for(var i=0;i<rows.length;i++){rows[i].removeClass('mark');}}});var moo_language=new Class({initialize:function(){this.langdata=new Hash();},makeLangID:function(s){s=s.trim().toLowerCase().replace(/^[\d]+/,'');s=s.replace(/[^\w\d\x20]+/g,'');s=s.replace(/\x20{2,}/g,' ');return s.trim();},getEmo:function(s){var emos=['!!!','!','!?','?','...','.'];for(var i=0;i<emos.length;i++){if(s.substr(s.length-emos[i].length-1)==' '+emos[i]){return' '+emos[i];}else if(s.substr(s.length-emos[i].length)==emos[i]){return emos[i];}}return'';},add:function(strings){if($type(strings)=='object'){var ld={};$each(strings,function(v,k){k=this.makeLangID(k);ld[k]=v;},this);this.langdata.extend(ld);}},t:function(s){var sid=this.makeLangID(s);var emo=this.getEmo(s);if(this.langdata.has(sid)){return this.langdata.get(sid)+emo;}else return s;},alias:function(trans,alias){trans=this.makeLangID(trans);if(this.langdata.has(trans))this.add({alias:this.langdata.get(trans)});}});var moo_lang=new moo_language();var moo_actionsAjax=new Class({Implements:[Options,Events],options:{sWait:moo_lang.t('Please wait ...'),sConfirm:moo_lang.t('Are You sure ?'),autobusy:false,confirm:false,action_name:'action'},initialize:function(php,options){this.setOptions(options);this.ajax=new Request({url:php});this.ajax.addEvent('onSuccess',this.onSuccess.bindWithEvent(this));this.ajax.addEvent('onFailure',this.onError.bindWithEvent(this));this.action_options=new Hash();},setActionOptions:function(action,options){if((!$defined(action))||(!$defined(options)))return this;if(!this.action_options.has(action))this.action_options.set(action,new Hash());if($type(options)=='object'){this.action_options.get(action).extend(options);}else if($type(options)=='string'){this.action_options.get(action).set(options,true);}else if($type(options)=='array'){for(var i=0;i<options.length;i++){this.setActionOptions(action,options[i]);}}return this;},getActionOption:function(action,option){if(!this.action_options.has(action)){if(option=='confirm')return this.options.confirm;if(option=='autobusy')return this.options.autobusy;return false;}if(!this.action_options.get(action).has(option))return false;return this.action_options.get(action).get(option);},doSend:function(action,data){if($defined(data)){data='&'+data;}else var data='';if(this.getActionOption(action,'autobusy')){this.busy=new mui_busyBox();var s=this.getActionOption(action,'sWait');if(!s)s=this.options.sWait;this.busy.showModal(s);}this.fireEvent('begin');var _this=this;(function(){_this.ajax.send(_this.options.action_name+'='+action+data);}).delay(50);return true;},send:function(action,data){this.code=0;this.msg='';this.java='';this.html='';this.data='';this.action=action;this.action_next='';if(this.getActionOption(action,'confirm')){var s=this.getActionOption(action,'sConfirm');if(!s)s=this.options.sConfirm;dialogAsk(s,this.doSend.bind(this,[action,data]));}else{this.doSend(action,data);}return this;},onSuccess:function(){if(this.busy){this.busy.hide();this.busy.free();delete this.busy;}var r=this.ajax.response.text;this.raw_msg=r;r=r.match(/^<ra_c>([^<]*)<\/ra_c><ra_a>([^<]*)<\/ra_a><ra_msg>([^<]*)<\/ra_msg><ra_js>([^<]*)<\/ra_js><ra_html>([^<]*)<\/ra_html><ra_data>([^<]*)<\/ra_data>$/);if(r==null){this.code=-1;this.msg=moo_lang.t('Server returned invalid data !');this.html=this.raw_msg;}else{this.code=r[1];this.action_next=r[2];this.msg=r[3].toStr();this.java=r[4].toStr();this.html=r[5].toStr();this.data=r[6];}this.fireEvent('end');this.fireEvent('action');},onError:function(){if(this.block){this.block.unblock();this.block.free();delete this.block;}this.raw_msg=null;this.code=-2;this.msg=moo_lang.t('Ajax.Action failed')+' ('+this.action+') !';this.fireEvent('end');this.fireEvent('action');}});function mui_centerX(obj){var w=window.getGPS();var l=(w.size.x-obj.getGPS().size.x)/2;l=l.round()+w.scroll.x;if(l<0)l=0;return l;}function mui_centerY(obj){var w=window.getGPS();var t=(w.size.y-obj.getGPS().size.y)/2;t=t.round()+w.scroll.y;if(t<0)t=0;return t;}function mui_alignXR(obj,distance){if(distance==null)distance=10;var w=window.getGPS();var l=(w.size.x-obj.getGPS().size.x)-distance;return l.round()+w.scroll.x;}function mui_alignXL(obj,distance){if(distance==null)distance=10;var w=window.getGPS();return w.scroll.x+distance;}function mui_alignYB(obj,distance){if(distance==null)distance=10;var w=window.getGPS();var t=(w.size.y-obj.getGPS().size.y-distance);return t.round()+w.scroll.y;}function mui_alignYT(obj,distance){if(distance==null)distance=10;var w=window.getGPS();return w.scroll.y+distance;}var mui_progressBar=new Class({Implements:[Options],options:{max:100,progress:0,width:350,height:20,height_face:16,inflate_h:1,inflate_w:1,border:'solid 1px #8c8c8c',border_face:'solid 1px #000'},initialize:function(parent,options){this.setOptions(options);parent=mui_ME(parent);this.bar=new Element('div',{'styles':{width:this.options.width,height:this.options.height,border:this.options.border},'class':'progressbar'});this.face=new Element('div',{'styles':{width:1,height:this.options.height_face,'margin-top':this.options.inflate_h,'margin-left':this.options.inflate_w,'border':this.options.border_face,'display':'none'}});this.face.set('tween',{link:'cancel','duration':'short'});this.bar.grab(this.face);parent.grab(this.bar);this.progress(this.options.progress);},progress:function(p,cap){if(p==0){this.face.set('styles',{display:'none','width':1});this.options.progress=p;return;}var max_w=this.options.width-(2*this.options.inflate_w);var w=(max_w*p)/this.options.max;this.face.set('styles',{display:'block'});this.face.tween('width',w);}});var mui_blockUI=new Class({Implements:[Options],options:{color:default_block_background,opacity:'0.4',"z-index":default_block_zindex,id:'%random%',offset_x:0,offset_y:0},initialize:function(element,options){if(!$defined(element)||element==false)element=$(window);this.el=element;this.setOptions(options);this.blocked=false;if(this.options.id=='%random%'){this.options.id=mui_createID(null);}this.div=null;this.spin=null;},createBlock:function(spinner){if(this.div==null){var block=new Element('div',{styles:{position:'absolute','z-index':this.options['z-index']},id:this.options.id});if($type(this.el)=='window'){block.inject(document.body);}else{block.inject(this.el);var s=this.el.getStyle('position');if((s!='relative')&&(s!='absolute')){this.el.set('styles',{'position':'relative'});}}this.div=block;}if(spinner){var spin=new Element('div',{'class':'block_spinner','styles':{'z-index':this.options['z-index']+1}}).inject(this.el);this.spin=spin;}},block:function(spinner){this.createBlock(spinner);var c=this.el.getGPS();$(this.options.id).setStyles({left:this.options.offset_x,top:this.options.offset_y,width:c.scrollSize.x,height:c.scrollSize.y,display:'block',"background-color":this.options.color,opacity:this.options.opacity});this.blocked=true;},unblock:function(){this.div.destroy();this.div=null;if(this.spin!=null)this.spin.destroy();this.spin=null;this.blocked=false;},free:function(){if(this.div!=null){this.div.destroy();}if(this.spin!=null)this.spin.destroy();delete this.div;delete this.spin;return null;}});var mui_busyBox=new Class({initialize:function(){var div=new Element('div').addClass('busy_box').set('styles',{'z-index':default_busybox_zindex,'position':'absolute'}).inject(document.body).hide();this.div=div;this.block=null;},setMsg:function(msg){if($defined(msg))this.div.set('html','<p>'+msg+'</p>');},show:function(msg){this.setMsg(msg);this.div.show().center();},showModal:function(msg){if(this.block==null){this.block=new mui_blockUI(false,{'z-index':default_busybox_zindex-1});this.block.block();}this.show(msg);},hide:function(){if(this.block!=null){this.block=this.block.free();}this.div.hide();},free:function(){this.div.destroy();delete this.div;return null;}});var mui_busyProgress=new Class({Extends:mui_busyBox,initialize:function(){this.parent();var p=new Element('p');this.div.grab(p);var pb=new mui_progressBar(this.div);this.pb=pb;this.p=p;},setMsg:function(msg){if($defined(msg))this.p.set('text',msg);},progress:function(p){this.pb.progress(p);}});var mui_customDialog=new Class({Implements:[Options,Events],options:{'z-index':default_customdialog_zindex,'css_class':'mui_dialog',title:moo_lang.t('MooMilk User Interface'),type:'',body:mui_defaultDialogBody},initialize:function(options){this.id=mui_createID(null);this.setOptions(options);var div=new Element('div',{id:this.id,'class':this.options.css_class,styles:{display:'none',position:'absolute','z-index':this.options['z-index']}}).inject(document.body);if(this.options.type!='')div.addClass('md_'+this.options.type);div.set('html',this.options.body);var h2=div.getElements('h2')[0];h2.setStyle('cursor','move');div.makeDraggable({handle:h2});this.dlg=div;this.block=null;return this;},doShow:function(){this.dlg.show().center();this.fireEvent('onShow');},doHide:function(){this.dlg.hide();this.fireEvent('onHide');},show:function(msg,buttons){var h2=this.dlg.getElements('h2')[0];h2.set('html',this.options.title);this.dlg.getElements('.body')[0].set('html',mui_msgToHTML(msg));b=this.dlg.getElements('.buttons')[0];b.empty();if($type(buttons)!='object'){throw'mui_customDialog.show: second parameter must be an object !'}var _this=this;for(i in buttons){a=new Element('a',{href:'#'+i,'class':'mui_button_'+i}).set('text',buttons[i]);a.addEvent('click',this.clickHandler.bindWithEvent(this,i));a.injectInside(b);}this.doShow();return this;},showModal:function(msg,buttons){if(this.block==null){this.block=new mui_blockUI(false,{'z-index':this.options['z-index']-1});}this.block.block();this.show(msg,buttons);return this;},hide:function(){if(this.block!=null){this.block=this.block.free();}this.doHide();return this;},clickHandler:function(e,id){e.stop();var event=id.substr(0,1).toUpperCase()+id.substr(1).toLowerCase();this.hide();this.fireEvent('on'+event,event);},free:function(){if(this.block!=null)this.block.free();delete this.block;this.dlg.dispose();delete this.dlg;return null;}});var mui_customDialogFX=Class({Extends:mui_customDialog,initialize:function(options){this.parent(options);var _this=this;this.fx_show=new Fx.Tween(this.dlg,{property:'opacity',duration:250}).addEvent('onComplete',function(){_this.fireEvent('onShow');});this.fx_hide=new Fx.Tween(this.dlg,{property:'opacity',duration:250}).addEvent('onComplete',function(){_this.dlg.hide();_this.fireEvent('onHide');});},doShow:function(){if(this.fx_show!=null){this.dlg.show().setStyle('opacity',0.005).center();this.fx_show.start(1);}else{this.dlg.setStyle('opacity',1).show().center();this.fireEvent('onShow');}},doHide:function(){if(this.fx_hide!=null){this.fx_hide.start(0);}else{this.dlg.hide();this.fireEvent('onHide');}}});var mui_simpleDialog=new Class({initialize:function(id,html){this.id=mui_createID(id);this.block=null;var div=$(id);if(!$defined(div)){div=new Element('div',{id:this.id,'class':"mui_simple_dialog",styles:{display:'none',position:'absolute','z-index':default_simpledialog_zindex}}).injectInside(document.body);this.dlg=div;this.setHTML(html);}else{div.dispose();div.set('styles',{'z-index':default_simpledialog_zindex,'position':'absolute'});div.inject(document.body);this.dlg=div;}return this;},setHTML:function(html){if($defined(html)){this.dlg.empty();if($type(html)=='string'){this.dlg.set('html',html);}else{this.dlg.grab(html);}}return this;},show:function(html){this.dlg.setStyle('display','block');this.setHTML(html);l=mui_centerX(this.dlg);t=mui_centerY(this.dlg);this.dlg.setStyles({left:l,top:t});return this;},showModal:function(html){if(this.block==null){this.block=new mui_blockUI(false,{'z-index':default_simpledialog_zindex-1});}this.block.block();return this.show(html);},hide:function(){if(this.block!=null){this.block=this.block.free();}this.dlg.setStyle('display','none');return this;},free:function(){if(this.block!=null)this.block.free();delete this.block;this.dlg.dispose().destroy();delete this.dlg;return null;}});function dialogInfo(msg,fok){var d=new mui_customDialogFX({type:'info',title:moo_lang.t('Information')}).addEvent('onHide',function(){d.free();d=null;});if(fok!=null)d.addEvent('onOk',fok);d.showModal(msg,{ok:'OK'});}function dialogError(msg,fok){var d=new mui_customDialogFX({type:'error',title:moo_lang.t('Error')}).addEvent('onHide',function(){d.free();d=null;});if(fok!=null)d.addEvent('onOk',fok);d.showModal(msg,{ok:'OK'});}function dialogSuccess(msg,fok){var d=new mui_customDialogFX({type:'success',title:moo_lang.t('Confirmation')}).addEvent('onHide',function(){d.free();d=null;});if(fok!=null)d.addEvent('onOk',fok);d.showModal(msg,{ok:'OK'});}function dialogWarning(msg,fok){var d=new mui_customDialogFX({type:'warning',title:moo_lang.t('Warning')}).addEvent('onHide',function(){d.free();d=null;});if(fok!=null)d.addEvent('onOk',fok);d.showModal(msg,{ok:'OK'});}function dialogAsk(msg,fok,fcancel){var d=new mui_customDialogFX({type:'',title:moo_lang.t('Question')});if(fok!=null)d.addEvent('onOk',fok);if(fcancel!=null)d.addEvent('onCancel',fcancel);d.addEvent('onHide',function(){d.free();d=null;});d.showModal(msg,{ok:'OK',cancel:moo_lang.t('Cancel')});}var mui_tips=new Class({Implements:[Options,Events],options:{'z-index':default_tooltip_zindex,'css_class':'mui_tooltip',opacity:1,offset_x:20,offset_y:20},initialize:function(id,options){this.setOptions(options);this.id=mui_createID(id);this.handles=new Array();this.bodies=new Array();this.div=new Element('div',{id:this.id,'class':this.options.css_class,'styles':{'z-index':this.options['z-index'],'position':'absolute','display':'none'}}).injectInside(document.body);return this;},clear:function(){for(var i=0;i<this.handles.length;i++){this.handles[i].removeEvents('mouseenter');this.handles[i].removeEvents('mousemove');this.handles[i].removeEvents('mouseleave');}delete this.handles;delete this.bodies;this.handles=new Array();this.bodies=new Array();},addTip:function(handler,body){if($type(handler)=='string')handler=$(handler);this.handles.push(handler);if($type(body)=='element')body.hide();this.bodies.push(body);handler.tip_idx=this.handles.length-1;handler.moo_tip=this;handler.addEvent('mouseenter',this.showTip);handler.addEvent('mousemove',this.eventMoveTip);handler.addEvent('mouseleave',this.closeTip);},showTip:function(e){var b=this.moo_tip.bodies[this.tip_idx];if($type(b)=='element'){this.moo_tip.div.empty();b.inject(this.moo_tip.div).show();}else this.moo_tip.div.set('html',b);this.moo_tip.div.show().setStyle('opacity',this.moo_tip.options.opacity);this.moo_tip.moveTip.run(e,this.moo_tip);},eventMoveTip:function(e){this.moo_tip.moveTip.run(e,this.moo_tip);},moveTip:function(e){var w=window.getGPS();if(!$defined(e)){mx=this.last_mx;my=this.last_my;}else{var mx=e.event.clientX+w.scroll.x;var my=e.event.clientY+w.scroll.y;}var x=mx+this.options.offset_x;var y=my+this.options.offset_y;var d=this.div.getGPS();if(x+d.width>w.width+w.scroll.x)x=mx-d.width-this.options.offset_x;if(y+d.height>w.height+w.scroll.y)y=my-d.height-this.options.offset_y;if(x<10)x=10;if(y<10)y=10;this.div.set('styles',{left:x,top:y});this.last_mx=mx;this.last_my=my;},closeTip:function(){var b=this.moo_tip.bodies[this.tip_idx];if($type(b)=='element')b.inject(document.body).hide();this.moo_tip.div.hide();},tipImages:function(parent){if(!$defined(parent))parent=$(document.body);if($type(parent)=='string')parent=$(parent);var els=parent.getElements('img');if(els==false)return;for(var i=0;i<els.length;i++){var t=els[i].get('title');if(!t||(t==''))continue;els[i].removeProperty('title');this.addTip(els[i],t);}return this;},tipLinks:function(parent){if(!$defined(parent))parent=$(document.body);if($type(parent)=='string')parent=$(parent);var els=parent.getElements('a');if(els==false)return;for(var i=0;i<els.length;i++){var t=els[i].get('title');if(!t||(t==''))continue;els[i].removeProperty('title');this.addTip(els[i],t);}return this;},tipAdvanced:function(xpath_handlers,xpath_tips){var h=$(document.body).getElements(xpath_handlers);var t=$(document.body).getElements(xpath_tips);for(var i=0;i<h.length;i++){this.addTip(h[i],t[i]);}}});var mui_actionTips=new Class({Extends:mui_tips,options:{use_cache:true},initialize:function(php,id,options){this.parent(id,options);this.actions=new moo_actionsAjax(php,{action_name:'tip_action'});this.actions.ajax.options.autoCancel=true;this.actions.addEvent('action',this.onAction.bindWithEvent(this));this.cache=new Array();},onAction:function(){this.div.removeClass('moo_spinner_large');if(this.actions.code!=0){var s=this.actions.msg;if(this.actions.code==-1)s=this.raw_msg;this.div.set('html',s);return;}if(this.options.use_cache)this.cache[this.tip_idx]=this.actions.html;this.div.set('html',this.actions.html);this.moveTip();},addTip:function(handler,data){if($type(handler)=='string')handler=$(handler);this.handles.push(handler);this.bodies.push(data);this.cache.push(null);handler.tip_idx=this.handles.length-1;handler.moo_tip=this;handler.addEvent('mouseenter',this.showTip);handler.addEvent('mousemove',this.eventMoveTip);handler.addEvent('mouseleave',this.closeTip);},showTip:function(e){var b=this.moo_tip.bodies[this.tip_idx];this.moo_tip.tip_idx=this.tip_idx;if(this.moo_tip.cache[this.tip_idx]!=null){this.moo_tip.div.set('html',this.moo_tip.cache[this.tip_idx]).show();}else{this.moo_tip.div.set('html','&nbsp;').show().addClass('moo_spinner_large').setStyle('opacity',this.moo_tip.options.opacity);this.moo_tip.actions.send('tip.get',b);}this.moo_tip.moveTip.run(e,this.moo_tip);},closeTip:function(e){this.moo_tip.actions.ajax.cancel();this.moo_tip.div.hide();},tipImages:function(parent,property){if(!$defined(parent))parent=$(document.body);if($type(parent)=='string')parent=$(parent);if(!$defined(property))property='src';var els=parent.getElements('img.tip');if(els==false)return;for(var i=0;i<els.length;i++){var t=els[i].get(property);if(t=='')continue;els[i].removeProperty('title');this.addTip(els[i],property+'='+t);}return this;}});var mui_floatingMessages=new Class({Implements:Options,options:{'css_class':'mui_floating_message',duration:7000,fade_duration:2000},initialize:function(options){this.setOptions(options);var _this=this;window.addEvent('scroll',function(){_this.order();});},add:function(html,type,duration){if(duration==null||duration==false)duration=this.options.duration;if(type==null||type==false)type='';if(type!='')type='mfm_'+type;var div=new Element('div',{'class':this.options.css_class,'styles':{'position':'absolute','z-index':default_floatingmsg_zindex}}).inject(document.body);if(type!='')div.addClass(type);div.set('html',html);var left=mui_alignXR(div,20);var x=mui_centerX(div);div.tween('left',[x,left]);this.order();(function(){this.del(div);}).delay(duration,this);},del:function(div,inst){var _this=this;var _div=div;var fx=new Fx.Tween(_div,{'property':'opacity',duration:this.options.fade_duration,transition:Fx.Transitions.Quad.easeIn}).addEvent('onComplete',function(){_div.destroy();_this.order();});fx.start(1,0);},order:function(){height=20;els=$$('.'+this.options.css_class);for(i=els.length-1;i>=0;i--){m=els[i];m.setStyle('top',mui_alignYT(m,height));height+=m.getGPS().size.y+5;}}});var mui_imgView=new Class({Implements:[Options,Events],options:{width:800,height:600,allow_up:false},initialize:function(options){this.setOptions(options);this.oryg_width=0;this.oryg_height=0;this.status='empty';this.img=null;},fitImage:function(){var w=this.oryg_width;var h=this.oryg_height;var x=mui_fitImage(w,h,this.options.width,this.options.height,false);w=x.width;h=x.height;this.img.setProperties({width:w,height:h});},onLoad:function(){var inst=this.inst;inst.oryg_width=inst.img.width;inst.oryg_height=inst.img.height;inst.fitImage();inst.status='loaded';inst.fireEvent('load');},onError:function(){var inst=this.inst;inst.status='error';inst.fireEvent('error');},load:function(src,title){if(title==null||title==false)title=src;var _this=this;this.status='loading';if(this.img!=null){delete this.img;}this.img=new Element('img',{src:'',title:title});this.img.inst=this;this.img.addEvent('load',this.onLoad).addEvent('error',this.onError);this.img.set('src',src);}});function mm_menuItem(text,link,type,adv){if(!$defined(type))type='link';var obj={text:text,type:type,link:link};if(adv!=null){if($type(adv)!='object')throw('da_menuItem adv (4th parameter) must be an object !');$extend(obj,adv);}return obj;}function mm_menuSeparator(){return mm_menuItem('','','separator');}function mm_menuTitle(s){return mm_menuItem(s,'','title');}function mm_menuScript(text,script){return mm_menuItem(text,script,'script');}function mm_menuAction(s,action,confirm,sconfirm){if($defined(confirm)){if(!$defined(sconfirm))sconfirm=moo_lang.t('Are you sure ?');}else{confirm=false;sconfirm='';}return mm_menuItem(s,'','action',{action:action,confirm:confirm,sconfirm:sconfirm});}var milkmenu_hot_mode=false;var milkmenu_visible_menu=null;var milkmenu_popup_visible=null;var milkmenu_stop_document=false;document.addEvent('click',function(e){if(milkmenu_stop_document){milkmenu_stop_document=false;e.stop();return;}milkmenu_hot_mode=false;if(milkmenu_visible_menu!=null){milkmenu_visible_menu.hideMenu();milkmenu_visible_menu=null;}if(milkmenu_popup_visible!=null){milkmenu_popup_visible.hideMenu();milkmenu_popup_visible=null;}});function mm_buildMenu(el,menus){var ul=new Element('ul');el=mui_ME(el);for(var i=0;i<menus.length;i++){var li=new Element('li').inject(ul);menus[i].render(li,el);}ul.inject(el);}var mm_Menu=new Class({initialize:function(name,items){if($type(name)!='string')throw('name of menu item must be a string !');if(name=='')throw('Name cannot be empty !');this.name=name;this.id=mui_createID();this.elements=new Array();if(items!=null)for(var i=0;i<items.length;i++){this.addItem(items[i]);}},addItem:function(item){if($type(item)!='object')throw('mm_Menu.item (addItem) must be an object !');this.elements.push(item);return this;},render:function(el,mainmenu){var div=new Element('div').setProperties({id:'mmenu_'+this.id,'class':'mm_menu'}).setStyles({position:'absolute','z-index':500,display:'none'});var html='<ul>';for(var i=0;i<this.elements.length;i++){var e=this.elements[i];switch(e.type){case'link':html+='<li><a href="'+e.link+'">'+e.text+'</a></li>';break;case'popup':html+='<li><a href="#" onclick="window.popup(\''+e.link+'\','+e.width+','+e.height+'); return false;">'+e.text+'</a></li>';break;case'script':html+='<li><a href="#" onclick="'+e.link+' return false;">'+e.text+'</a></li>';break;case'title':html+='<li class="title">'+e.text+'</li>';break;case'separator':html+='<li class="separator"></li>';break;case'disabled':html+='<li class="disabled">'+e.text+'</li>';break;default:throw('unknown menu item type: '+e.type+', for item: '+e.text+' !');break;}}html+='</ul>';div.set('html',html);var a=new Element('a').setProperties({href:'#',id:'mmenua_'+this.id}).set('text',this.name).inject(el);div.inject(mainmenu);this.menu=div;this.a=a;this.mainmenu=mainmenu;this.el=el;a.addEvent('click',this.showMenu.bindWithEvent(this));a.addEvent('mouseenter',this.hotMenu.bindWithEvent(this));a.addEvent('mouseleave',this.leaveMenu.bindWithEvent(this));},hotMenu:function(e){if(milkmenu_hot_mode){this.showMenu(e);}else{this.el.addClass('hover');}},leaveMenu:function(e){this.el.removeClass('hover');},showMenu:function(e){if($defined(e)){e.stop();if(e.type=='click'){milkmenu_hot_mode=true;}}if(milkmenu_visible_menu!=null){milkmenu_visible_menu.hideMenu();milkmenu_visible_menu=null;}var s=this.mainmenu.getGPS();this.menu.show().setStyles({left:this.el.getPosition().x,top:s.bottom});this.el.addClass('active');milkmenu_visible_menu=this;},hideMenu:function(e){if($defined(e))e.stop();this.el.removeClass('active');this.menu.hide();}});var mm_popupMenu=new Class({Implements:[Options,Events],options:{'z-index':500,offset_x:10,offset_y:10,'css_class':'mm_popup'},initialize:function(items){this.id=mui_createID();this.elements=new Array();if(items!=null)for(var i=0;i<items.length;i++){this.addItem(items[i]);}this.render();return this;},addItem:function(item){if($type(item)!='object')throw('mui_popupMenu (addItem) item must be an object !');this.elements.push(item);return this;},render:function(){var div=new Element('div').setProperties({id:'mmenu_'+this.id,'class':this.options.css_class}).setStyles({position:'absolute','z-index':500,display:'none'});var html='<ul>';var actions=new Array();for(var i=0;i<this.elements.length;i++){var e=this.elements[i];switch(e.type){case'link':html+='<li><a href="'+e.link+'">'+e.text+'</a></li>';break;case'popup':html+='<li><a href="#" onclick="window.popup(\''+e.link+'\','+e.width+','+e.height+'); return false;">'+e.text+'</a></li>';break;case'title':html+='<li class="title">'+e.text+'</li>';break;case'separator':html+='<li class="separator"></li>';break;case'disabled':html+='<li class="disabled">'+e.text+'</li>';break;case'action':actions.push(e);html+='<li><a href="#" class="popaction">'+e.text+'</a></li>';break;default:throw('unknown menu item type: '+e.type+', for item: '+e.text+' !');break;}}html+='</ul>';div.set('html',html);div.inject(document.body);var a=div.getElements('a.popaction');if(a)for(var i=0;i<a.length;i++){a[i].store('popup',this);a[i].store('action',actions[i]);a[i].addEvent('click',this.actionClick);}this.menu=div;},doActionClick:function(action){this.action=action.action;this.fireEvent('action');this.hideMenu();},actionClick:function(e){e.stop();var a=this.retrieve('action');var p=this.retrieve('popup');if(a.confirm){dialogAsk(a.sconfirm,function(){p.doActionClick(a);});return;}p.doActionClick(a);},popupXY:function(mx,my,data){this.menu.show();var x=mx+this.options.offset_x;var y=my+this.options.offset_y;var d=this.menu.getGPS();var w=window.getGPS();if(x+d.width>w.width+w.scroll.x)x=mx-d.width;if(y+d.height>w.height+w.scroll.y)y=my-d.height;if(x<10)x=10;if(y<10)y=10;this.menu.show().set('styles',{left:x,top:y});milkmenu_stop_document=true;milkmenu_popup_visible=this;this.data=data;},popup:function(el,data){if(!el.getGPS)el=$(el);var p=el.getGPS();this.popupXY(p.x,p.y,data);},hideMenu:function(){this.menu.hide();}});var mui_tabControl=new Class({Implements:[Options,Events],options:{active_class:'active',menu_class:'tabs_menu',default_tab:0},initialize:function(container,tabs,titles,options){this.tabs=new Array();this.setOptions(options);container=mui_ME(container);var etabs=container.getElements(tabs);var id,title,dtitle,tab;for(var i=0;i<etabs.length;i++){tab=etabs[i];dtitle=tab.getElement(titles);if(dtitle==null)continue;title=dtitle.get('text');dtitle.dispose();id=mui_createID(tab.getProperty('id'));this.tabs.push({id:id,obj:tab,title:title,selected:false});if(i!=this.options.default_tab)tab.hide();}var menu=new Element('div',{'class':this.options.menu_class});var menu_ul=new Element('ul');for(var i=0;i<this.tabs.length;i++){var li=new Element('li').injectInside(menu_ul);this.tabs[i].li=li;var a=new Element('a',{href:'#'}).set('text',this.tabs[i].title).inject(li);a.addEvent('click',this.tabClicked.bindWithEvent(this,this.tabs[i].id));if(i==this.options.default_tab){li.addClass(this.options.active_class);this.tabs[i].selected=true;this.visible_tab=this.tabs[i].id;this.fireEvent('showtab');}}menu_ul.injectInside(menu);menu.injectTop(container);this.menu=menu_ul;return this;},makeSpecial:function(id,_class,active_class){this.tabs[this.findTab(id)].li.addClass(_class);if(active_class!=null)this.tabs[this.findTab(id)].active_class=active_class;},doShowTab:function(idx){var tab=this.tabs[idx];var ac=this.options.active_class;if($defined(tab.active_class))ac=tab.active_class;tab.obj.show();tab.selected=true;tab.li.addClass(ac);this.visible_tab=tab.id;this.fireEvent('showtab');return this;},doHideTab:function(idx){var tab=this.tabs[idx];var ac=this.options.active_class;if($defined(tab.active_class))ac=tab.active_class;tab.selected=false;tab.obj.hide();tab.li.removeClass(ac);return this;},showTab:function(id){for(var i=0;i<this.tabs.length;i++){if(this.tabs[i].selected){this.doHideTab(i);}if(this.tabs[i].id==id){this.doShowTab(i);}}return this;},findTab:function(id){for(var i=0;i<this.tabs.length;i++){if(this.tabs[i].id==id){return i;}}return false;},tabClicked:function(e,id){e.stop();this.showTab(id);}});var mui_window=new Class({Implements:[Options,Events],options:{'z-index':default_windows_zindex,'css_class':'mui_window',title:moo_lang.t('MooMilk User Interface'),width:'auto',height:'auto',title_bclose:true,default_visible:false,type:'',body:mui_defaultWindowBody},initialize:function(id,htmlcontent,options){this.id=mui_createID(id);this.setOptions(options);var displ='none';if(this.options.default_visible)displ='block';var div=new Element('div',{id:this.id,'class':this.options.css_class,styles:{display:displ,'z-index':this.options['z-index'],'position':'absolute'}}).injectInside(document.body);if(this.options.type!='')div.addClass(this.options.type);if(this.options.width!='auto'){var w=this.options.width;if(w<1)w=(window.getSize().x*w).toInt();if(w==0)w=500;div.set('styles',{width:w});}if(this.options.height!='auto'){var h=this.options.height;if(h<1)h=(window.getSize().y*h).toInt();if(h==0)h=400;div.set('styles',{height:h});}div.set('html',this.options.body);var body=div.getElements('.body')[0];if(htmlcontent!=false||htmlcontent!=null){if($type(htmlcontent)=='element'){body.grab(htmlcontent);}else if($type(htmlcontent)=='string'){body.set('html',htmlcontent);}}else{body.set('html','<p>Put your content using htmlcontent parameter.</p>');}var h2=div.getElements('h2')[0];h2.set('text',this.options.title);if(this.options.title_bclose){var btns=new Element('span',{'class':'window_buttons'});var bclose=new Element('a',{'href':'#','class':'bclose'});bclose.addEvent('click',this.bcloseClick.bindWithEvent(this));bclose.inject(btns);btns.inject(h2);}h2.setStyle('cursor','move');div.makeDraggable({handle:h2});this.h2=h2;this.dlg=div;this.body=body;this.modal_block=null;this.wblock=null;this.blocked=false;return this;},bcloseClick:function(e){e.stop();if(this.blocked){dialogWarning(moo_lang.t('err.window.busy'));return;}this.hide();},doShow:function(){this.dlg.show().center();this.fireEvent('show');},doHide:function(){this.unblock();this.dlg.hide();this.fireEvent('hide');},show:function(html){if(html!=null&&html!=false)this.body.set('html',html);this.doShow();return this;},showModal:function(html){if(this.modal_block==null)this.modal_block=new mui_blockUI(false,{'z-index':this.options['z-index']-1});this.modal_block.block();this.show(html);return this;},hide:function(){if(this.modal_block!=null)this.modal_block=this.modal_block.free();this.doHide();return this;},block:function(spinner){this.wblock=new mui_blockUI(this.body,{'z-index':this.options['z-index']+1});this.wblock.block(spinner);this.blocked=true;},unblock:function(){if(this.wblock!=null){this.wblock.free();this.wblock=null;}this.blocked=false;},free:function(){if(this.modal_block!=null)this.modal_block.free();delete this.modal_block;this.dlg.dispose();delete this.h2;delete this.body;delete this.dlg;}});var mui_actionWindow=new Class({Extends:mui_window,initialize:function(script,id,options){this.parent(id,'<p>...</p>',options);this.show_data=null;this.action=new moo_actionsAjax(script).addEvent('action',this.actionHandler.bindWithEvent(this));this.showing=false;},actionHandler:function(){if(this.action.code!=0){this.unblock();if(this.showing)this.hide();var s=this.action.msg;s+='<br />'+this.action.raw_msg;dialogError(s);return;}if((this.action.action=='window.show')||(this.action.action=='window.update')){this.showing=false;this.unblock();this.body.set('html',this.action.html);this.dlg.center();if(this.action.java!=''){eval(this.action.java);}return;}if(this.action.action_next=='window.close'){this.unblock();this.hide();if(this.action.msg!='')dialogInfo(this.action.msg);if(this.action.java!='')eval(this.action.java);return;}this.unblock();this.fireEvent('action');},doShow:function(){this.dlg.show().center();this.fireEvent('show');this.block(true);this.showing=true;this.action.send('window.show',this.show_data);},showData:function(data){this.show_data=data;},send:function(action,data){this.block(true);this.action.send(action,data);}});