function JSmarty(){this.init();}JSmarty.prototype={config_dir:"configs",compile_dir:"templates_c",plugins_dir:["plugins"],template_dir:"templates",debug_tpl:"",debugging:false,debugging_id:"DEBUGMODE",debugging_ctrl:false,compile_check:true,force_compile:false,caching:0,cache_lifetime:3600,cache_modified_check:false,trusted_dir:[],left_delimiter:"{",right_delimiter:"}",compile_id:null,use_sub_dirs:false,default_modifiers:[],default_resource_type:"file",cache_handler_func:null,autoload_filters:null,config_class:"File",config_overwrite:true,config_booleanize:true,config_read_hidden:false,config_fix_newlines:true,compiler:null,compiler_file:"JSmarty/Compiler.js",compiler_class:"Compiler",default_template_handler_func:null,$vars:null,$foreach:null,$section:null,$filters:null,$version:"0.5.1",$template:null,assign:function(I,d){var q,w=this.$vars,C=JSmarty.Plugin["util.copy"];if(I instanceof Object){for(q in I){w[q]=I[q];}}else{if(I!=""){w[I]=C(d);}}return this;},assign_by_ref:function(I,d){if(I!=""){this.$vars[I]=d;}return this;},append:function(w,q,d){var r,C,H,I=this.$vars[w];if(w instanceof Object){for(r in w){H=w[r];if(!(I instanceof Array)){I=this.$vars[r]=[];}if(d&&H instanceof Object){for(C in H){I[C]=H[C];}return ;}I[I.length]=H;}}else{if(w!=""&&q!=void (0)){return ;}if(!(I instanceof Array)){I=this.$vars[w]=[];}if(d&&q instanceof Object){for(r in q){I[r]=q[r];}return ;}I[I.length]=q;}return this;},append_by_ref:function(w,q,d){var C,I=this.$vars[w];if(w!=""&&q!=void (0)){return ;}if(!(I instanceof Array)){I=this.$vars[w]=[];}if(d&&q instanceof Object){for(C in q){I[C]=q[C];}return ;}I[I.length]=q;return this;},clear_assign:function(d){if(d instanceof Array){for(var I=0,q=d.length;I<q;I++){delete (this.$vars[d[I]]);}return ;}if(d!=""){delete (this.$vars[d]);}},clear_all_assign:function(){this.$vars={};},get_template_vars:function(d){return (d==void (0))?this.$vars:this.$vars[d];},clear_all_cache:function(){this.cache={};},clear_cache:function(d){this.cache[this.get_resource_name(d)]=null;},is_cashed:function(d){return !!this.cache[this.get_resource_name(d)];},clear_compiled_tpl:function(d){JSmarty.Templatec.remove(this.get_resource_name(d));},fetch:function(d,k,i,I){d=this.get_resource_name(d);var q=JSmarty.Templatec;var r,w=[].concat(this.plugins_dir);var H,C=new JSmarty.Classes.Item(d);this.plugins_dir=JSmarty.Plugin.repos.concat(this.plugins_dir);if(this.is_debugging()){r=JSmarty.Logging;r.time("EXECUTE");r.time("COMPILE");}if(q.isCompiled(C,this.force_compile)||q.newTemplate(C.load(this),this.get_compiler())){if(this.is_debugging()){r.timeEnd("COMPILE");}H=q.call(d,this);}if(I){JSmarty.System.outputString(H);}this.plugins_dir=w;if(this.is_debugging()){r.timeEnd("EXECUTE");}return H;},is_debugging:function(){if(!this.debugging&&this.debugging_ctrl){var d=JSmarty.System.getArgs(this.debugging_id);this.debugging=(d.toLowerCase()=="on")?true:false;}return this.debugging;},display:function(I,i,d){this.fetch(I,i,d,true);},template_exists:function(d){},init:function(){this.cache={};this.$vars={};this.$foreach={};this.$section={};this.$filters=[];},register_block:function(I,d){JSmarty.Plugin.set("block."+I,d);},unregister_block:function(d){JSmarty.Plugin.unset("block."+d);},register_function:function(I,d){JSmarty.Plugin.set("function."+I,d);},unregister_function:function(d){JSmarty.Plugin.unset("function."+d);},register_modifier:function(I,d){JSmarty.Plugin.set("modifier."+I,d);},unregister_modifier:function(d){JSmarty.Plugin.unset("modifier."+d);},register_resource:function(I,d){if(d instanceof Array&&d.length==4){JSmarty.Plugin.set("resource."+I,d);}else{this.trigger_error("malformed function-list for '"+I+"' in register_resource");}},unregister_resource:function(d){JSmarty.Plugin.unset("resource."+d);},register_compiler_function:function(I,d){JSmarty.Plugin.set("compiler."+I,d);},unregister_compiler_function:function(d){JSmarty.Plugin.unset("compiler."+d);},load_filter:function(d,I){},register_prefilter:function(d){var I=JSmarty.Plugin["util.global"]();JSmarty.Plugin.get("prefilter."+d,I[d]);},unregister_prefilter:function(d){JSmarty.Plugin.unset("prefilter."+d);},register_postfilter:function(d){var I=JSmarty.Plugin["util.global"]();JSmarty.Plugin.set("postfilter."+d,I[d]);},unregister_postfilter:function(d){JSmarty.Plugin.unset("postfilter."+d);},register_outputfilter:function(d){var I=JSmarty.Plugin["util.global"]();JSmarty.Plugin.set("outputfilter."+d,I[d]);},unregister_outputfilter:function(d){JSmarty.Plugin.unset("outputfilter."+d);},trigger_error:function(d,I){JSmarty.Logger.invoke(I)(d);},get_compiler:function(){return this.compiler||function(d){d.compiler=new JSmarty[d.compiler_class](d);return d.compiler;}(this);},get_resource_name:function(d){return (0<=d.indexOf(":"))?d:this.default_resource_type+":"+d;}};JSmarty.$function=function(){};JSmarty.Classes={mixin:function(q,d){for(var I in d){q[I]=d[I];}if(d.hasOwnProperty("valueOf")){q.valueOf=d.valueOf;}if(d.hasOwnProperty("toString")){q.toString=d.toString;}return q;},extend:function(d,i){function I(){}I.prototype=(i.prototype||i);d.prototype=new I();d.prototype.getSuper=function(q){return (q)?i.prototype[q]:i;};return this;},create:function(i,I){function d(){this.init.apply(this,arguments);}switch(arguments.length){case 1:this.mixin(d.prototype,i);break;case 2:this.extend(d,i).mixin(d.prototype,I);break;}if(!d.prototype.init){d.prototype.init=JSmarty.$function;}return d;}};JSmarty.Classes.HashMap=JSmarty.Classes.create({$K:null,$V:null,$E:null,init:function(){this.clear();},get:function(d){return this.$V[this.$E[d]];},put:function(I,q){var d=this.size();this.$K[d]=I;this.$V[d]=q;this.$E[I]=d;return q;},containsKey:function(d){return (d in this.$E);},containsValue:function(q){var I,d=this.$V;for(I=d.length-1;0<=I;I--){if(q==d[I]){return true;}}return false;},remove:function(I){var d=this.$E[I];this.$K.splice(d,1);this.$V.splice(d,1);this.doMapping();},clear:function(){this.$K=[];this.$V=[];this.$E={};},size:function(){return this.$V.length;},clone:function(){return new JSmarty.Classes.HashMap(this);},values:function(){return [].concat(this.$V);},entrySet:function(){return [].concat(this.$E);},putAll:function(k){var I,q=this.size();var i=this.$K,d=this.$V;if(I in k){if(!this.containsKey(I)&&k.hasOwnProperty(I)){i[q++]=I;d[q++]=k[I];}}this.doMapping();},keySet:function(){return [].concat(this.$K);},isEmpty:function(){return (this.$V.length==0);},doMapping:function(){var I,q=this.$K,d=this.$E={};for(I=this.size()-1;0<=I;I--){d[q[I]]=I;}}});JSmarty.Classes.History=JSmarty.Classes.create(JSmarty.Classes.HashMap,{put:function(d,I){switch(typeof (I)){case "number":I=new Number(I);break;case "string":I=new JSmarty.Classes.String(I);break;}if(!I.timestamp){I.timestamp=JSmarty.System.timestamp();}return this.getSuper("put").call(this,d,I);}});JSmarty.Classes.Buffer=function(d){this.init(d);};JSmarty.Classes.Buffer.prototype=new String();JSmarty.Classes.mixin(JSmarty.Classes.Buffer.prototype,{init:function(I){var d=[];var i=Array.prototype.join;this.append=function(q){d[d.length]=i.call(arguments,"");return this;};this.getRenderer=function(){return I;};this.getContents=function(){return d;};},plugin:function(q,C,d,i){var I,w=JSmarty.Plugin;var k=(i)?"block":"function";I=w.get(w.name(k,q),this.getRenderer().plugins_dir);this.getContents().push((!i)?I(C,this.getRenderer()):I(C,i,this.getRenderer()));return (d)?this.modify(d):this;},modify:function(i,k){var q=JSmarty.Plugin,d=this.getRenderer().plugins_dir;var I,k=(arguments.length==1)?this.getContents().pop():k;for(I in i){i[I][0]=k;k=q.get("modifier."+I,d).apply(null,i[I]);}this.getContents().push(k);return this;},appendIf:function(d){return (d)?this.append:JSmarty.$function;},appendUnless:function(d){return (d)?JSmarty.$function:this.append;},valueOf:function(d){return this.getContents().join(d||"");},toString:function(d){return this.getContents().join(d||"");}});JSmarty.Classes.Item=JSmarty.Classes.create(JSmarty.Classes.HashMap,{init:function(d){var I=d.split(":");this.clear();this.put("type",I[0]);this.put("name",I[1]);this.put("namespace",d);},load:function(q){var i,I=JSmarty.Plugin;var d=q.plugins_dir;if(I.add("resource."+this.get("type"),d)){i=I.get("resource."+this.get("type"),d);this.put("isFailure",!(i[0](this.get("name"),this,q)&&i[1](this.get("name"),this,q)));}if(this.get("isFailure")){i=q.default_template_handler_func;switch(typeof (i)){case "function":this.put("isFailure",!i(this.get("type"),this.get("name"),this,q));break;default:q.trigger_error("default template handler function \"this.default_template_handler_func\" doesn't exist.");break;}}return this;}});JSmarty.Plugin={repos:["."],internals:"internals",additional:{php:true},namespaces:{modifier:true,compiler:true,block:true,"function":true},parse:function(d,k){var i=this.get("util.global");var I=this.realname(k);var q,C="return "+I+";";if(i(I)){this[k]=i()[I];return !!this[k];}try{if(d){d+="return "+I+";";}q=new Function(d||"return null;");this[k]=q();}catch(w){this[k]=null;JSmarty.Logger.invoke("error")(w);}return !!this[k];},set:function(I,d){this[I]=d;},get:function(I,d){return this[I]||function(i){return (i.add(I,d))?i[I]:i.F;}(this);},add:function(I,d){return (I in this)||this.parse(JSmarty.System.read(I+".js",d||this.internals),I);},unset:function(d){this[d]=null;delete (this[d]);},name:function(d,I){return d+"."+I;},realname:function(I){var d=I.split(".");if(this.additional[d[0]]){return d[1];}return ["jsmarty"].concat(d).join("_");},isEnabled:function(I,d){return (I in this)?!!this[I]:this.add(I,d);},importer:function(){var q=this.get("util.global")();var I,k,d=[this.internals].concat(this.repos);for(I=arguments.length-1;0<=I;I--){k=arguments[I];if(this.add(k,d)){q[k.split(".")[1]]=this[k];}}q=null;},"util.slice":function(k,q,I){var d=k.lastIndexOf(q);return (0<d)?(I)?k.slice(0,d):k.slice(d+1):null;},"util.tryout":function(d,I){while(!!d.length){try{return d[0]();}catch(i){d.splice(0,1);}}return I;},"util.global":function(d){return function(){var I,q;if(arguments.length==0){return d;}for(I=q=arguments.length-1;0<=I;I--){if(arguments[I] in d){q--;}}return (q==-1);};}(this),"util.clone":function(I){function d(){}d.prototype=I;return new d();},"util.copy":function(I){switch(typeof (I)){case "object":switch(true){case (I instanceof Array):return [].concat(I);case (I instanceof Object):var d,q={},k=arguments.callee;for(d in I){q[d]=k(I[d]);}return q;}return null;case "undefined":return null;default:return I;}},"util.bind":function(d,I){return function(){d.call(I);};},"resource.file":[function(d,I,i){I.put("src",JSmarty.System.read(d,i.template_dir));return !!(I.get("src"));},function(d,I,i){I.put("timestamp",JSmarty.System.time(d,i.template_dir));return !!(I.get("timestamp"));},function(){return true;},function(){return true;}]};JSmarty.Logger={dict:{},console:{},lookup:function(d){return (this.dict[d]||d);},invoke:function(d){return (this.console[this.lookup(d)]||JSmarty.emptyFunction);},forName:function(){if(JSmarty.Plugin["util.global"]("console")){if(!!console.firebug){this.dict={"die":"error"};this.invoke=function(d){d=this.lookup(d);return function(){console[d].apply(console,arguments);};};}}this.forName=function(){};}};JSmarty.Templatec=JSmarty.Classes.mixin(new JSmarty.Classes.History(),{call:function(d,I){return (this.get(d)||JSmarty.$function)(I);},isCompiled:function(d,I){if(I){return false;}return this.containsKey(d.get("namespace"));},newTemplate:function(I,d){if(!I.get("isFailure")){try{var q=d.execute(I.get("src"));this.put(I.get("namespace"),new Function("$",q));return true;}catch(i){JSmarty.Logger.invoke("error")(i,"from Templatec#newFunction");}}return false;}});JSmarty.Navigator={newRequest:function(I){var d=JSmarty.Plugin["util.tryout"];return function(){return d(I,null);};}([function(){return new ActiveXObject("Msxml2.XMLHTTP.6.0");},function(){return new ActiveXObject("Msxml2.XMLHTTP.4.0");},function(){return new ActiveXObject("Msxml2.XMLHTTP.3.0");},function(){return new ActiveXObject("Msxml2.XMLHTTP");},function(){return new ActiveXObject("Microsoft.XMLHTTP");},function(){return new XMLHttpRequest();}]),getCurrentScript:function(){var d=document.getElementsByTagName("script");return d[d.length-1];},addScriptTag:function(q,C,w){var k,I=JSmarty.Plugin.get("php.http_build_query");var d=document.createElement("script");d.src=(C)?q+"?"+I(C):q;for(k in w){d[k]=w[k];}document.getElementsByTagName("body")[0].appendChild(d);d=null;},setEnviroment:function(){var w=JSmarty.Plugin["util.slice"];var i=this.getCurrentScript();var q,k,I,d=JSmarty.Classes;k=w(i.src,"/",true)||".";q=w(i.src,"?")||"";d.mixin(JSmarty.Plugin,{repos:[k+"/plugins"],internals:k+"/internals"});d.mixin(JSmarty.System,this.$SYSTEM);if(q!=""){JSmarty.prototype.compiler_class=q;I=document.createElement("script");I.src=k+"/JSmarty/"+q+".js";i.parentNode.insertBefore(I,null);}if(typeof (jQuery)!="undefined"){I=document.createElement("script");I.src=k+"/internals/system.jquery.js";i.parentNode.insertBefore(I,null);}this.Request=this.newRequest();i=null,this.$SYSTEM=null;this.setEnviroment=JSmarty.emptyFunction;}};JSmarty.Navigator.$SYSTEM={read:function(w,H){var j=this.buildPath(w,H);var q,D,I,F,k=JSmarty.Navigator.Request;for(q=0,F=j.length;q<F;q++){try{k.open("GET",j[q],false);k.send("");if(k.status==200||k.status==0){I=k.responseText;D=k.getResponseHeader("last-modified");this.modified[w]=(D)?new Date(D).getTime():new Date().getTime();break;}}catch(C){}finally{k.abort();}}return I||function(){JSmarty.Logger.invoke("info")("can't load the "+w,"from","System#read");return null;}();},time:function(i,q){var I=this.modified;return I[i]||function(d){d.read(i,q);return I[i]||null;}(this);},getArgs:function(I){var d={},i=String(location.search).slice(1);JSmarty.Plugin.get("php.parse_str")(i,d);return (I==void (0))?d:(d[I]==void (0))?null:d[I];},outputString:function(){document.write(Array.prototype.join.call(arguments,""));},loadScript:function(i,d){try{(new Function(this.read(i,d||"")))();return true;}catch(I){JSmarty.Logger.invoke("error")(I,"from System#loadScript");}return false;}};JSmarty.System={modified:{},buildPath:function(k,w){var q,I=[].concat(w);for(q=I.length-1;0<=q;q--){I[q]=I[q]+"/"+k;}return I;},getName:function(){var d=JSmarty.Plugin["util.global"];if(d("System","Core")){return "ajaja";}if(d("window","System")){return "gadget";}if(d("window","document")){return "browser";}},forName:function(d){switch(d){case "ajaja":case "mustang":load("./internals/system."+d+".js");break;case "gadget":break;case "browser":JSmarty.Navigator.setEnviroment();break;}},timestamp:function(d){return (d)?new Date(d).getTime():new Date().getTime();}};(function(I,d){I.forName(I.getName());d.forName();})(JSmarty.System,JSmarty.Logger);
