
(function($){var T=$.txt=function(key){if(T.isEmpty()){T.load();}
var txt=T.get(key)||key;if(arguments.length>1){return T.fill(txt,Array.prototype.slice.call(arguments,1));}
return txt;};T.version="0.4.2";$.fn.txt=function(key){var txt=T.apply(this,arguments);return this.text(txt);};T.repository={};T.get=function(key){return T.repository[key];};T.load=function(){T.load.properties(T.repository);};T.isEmpty=function(){for(var k in T.repository){return false;}
return true;};T.put=function(key,value,noOverride){var old=T.repository[key];if(noOverride&&old){return value;}
T.repository[key]=value.toString();return old;}
T.putAll=function(source,noOverride){var updated=false;$.each(source,function(key,value){var ret=T.put(key,value,noOverride);if(!updated&&ret!=value){updated=true;}});return updated;}
T.fill=function(txt,args){for(var i=0,m=args.length;i<m;i++){txt=txt.replace('{'+i+'}',args[i]);}
return txt;};function fix(props){var vals=[],last;for(var i=0,m=props.length;i<m;i++){var str=$.trim(props[i]);if(i!=0&&last.charAt(last.length-1)=='\\'){last=last.substring(0,last.length-1)+'='+str;vals[vals.length-1]=last;}else if(str!=''){last=str;vals.push(str);}}
return vals;}
var P=T.load.properties=function(){var $txtProps=$(T.load.properties.select);if($txtProps.length>0){var props=$txtProps.text();props=fix(props.split('='));var keys=[],entries=[];keys[0]=props[0];for(var i=1,m=props.length-1;i<m;i++){var prop=props[i],space=prop.lastIndexOf(' ');keys.push(prop.substring(space+1));entries.push($.trim(prop.substring(0,space)));}
entries.push(props[props.length-1]);for(var i=0,m=keys.length;i<m;i++){T.put(keys[i],entries[i]);}}};P.select='.txt-properties';var show=function(){var args=Array.prototype.slice.call(arguments),opts=args[args.length-1];if($.isFunction(opts)){args=args.slice(0,args.length-1);opts={ok:opts};}else if(typeof opts!="object"){opts={};}
var txt=txt=T.apply(this,args);if(opts.ok){var m=opts.ok,f=this;opts.ok=function(){m.apply(f,[txt].concat(args));};}
(opts['native']||this.options['native']||!$.fn.dialog?this['native']:this.dialog).call(this,txt,opts);return txt;};T.say=function(){return show.apply(T.say,arguments);};T.ask=function(){return show.apply(T.ask,arguments);};T.say['native']=function(txt,opts){alert(txt);if(opts.ok){opts.ok();}};T.ask['native']=function(txt,opts){if(confirm(txt)&&opts.ok){opts.ok();}};var D=T.say.dialog=function(txt,opts){var o=$.extend({},this.options,opts);if(!o.buttons){o.buttons={};if(this==T.ask){o.buttons[$.txt('txt.button.cancel')]=o._cancel;}
o.buttons[$.txt('txt.button.ok')]=o._ok;}
if(o.noEscape){o.closeOnEscape=false;}
var $d=$(o.html).html(txt).data('txt.ok',o.ok).dialog(o);if(o.noEscape){$d.parents('.ui-dialog').find('.ui-dialog-titlebar-close').hide();}};T.ask.dialog=function(){D.apply(this,arguments);};T.say.options={autoOpen:true,dialogClass:'txt-dialog',modal:true,width:400,ok:null,'native':false,noEscape:true,html:'<div class="txt-dialog-content"></div>',_ok:function(){var $d=$(this),ok=$d.data('txt.ok');$d.dialog('destroy').remove();if(ok){ok();}},_cancel:function(){$(this).dialog('destroy').remove();}};T.ask.options=$.extend({},T.say.options);$(function(){if($.ui&&$.ui.dialog){$.txt.put('txt.button.ok','OK');$.txt.put('txt.button.cancel','Cancel');$.txt.put('txt.title.say','Alert');$.txt.put('txt.title.ask','Confirm');$.txt.load();if(!$.txt.say.options.title){$.txt.say.options.title=$.txt.get('txt.title.say');}
if(!$.txt.ask.options.title){$.txt.ask.options.title=$.txt.get('txt.title.ask');}
if($.ui.version.indexOf("1.7")==0){var p=$.ui.dialog.prototype.close;$.ui.dialog.prototype.close=function(){p.apply(this,arguments);var self=this;if(self.options.modal){var maxZ=0;$('.ui-dialog').each(function(){if(this!=self.uiDialog[0]){maxZ=Math.max(maxZ,$(this).css('z-index'));}});$.ui.dialog.maxZ=maxZ;}};var d=$.ui.dialog.overlay.destroy;$.ui.dialog.overlay.destroy=function($el){d.apply(this,arguments);var maxZ=0;$.each(this.instances,function(){maxZ=Math.max(maxZ,this.css('z-index'));});this.maxZ=maxZ;};}}});})(jQuery);
