(function($,window,document){var _appBasePath="/js/",_resources={},_autoloads=[],_checkDepends=function(depends){var checkResolved=0,l=depends.length;while(l--){var r=_resources[depends[l]];switch($.type(r)){case"array":if(_checkDepends(r)){checkResolved++}break;case"object":if(r.dfd.isResolved()){checkResolved++}else{if(r.dfd.isRejected()){throw"Resource '"+depends[l]+"' is rejected"}}break}}return(depends.length==checkResolved)},_appendObj=function(r){var alias=r.alias||r.src,resource=null;if(typeof _resources[alias]=="undefined"){r.alias=alias;resource=_resources[alias]=$.Resource(r)}else{resource=_resources[alias]}switch($.type(r.succes)){case"function":resource.succes(r.succes);break;case"string":resource.succes(function(){eval(r.succes)});break}switch($.type(r.error)){case"function":resource.error(r.error);break;case"string":resource.error(function(){eval(r.error)});break}return alias},_createResource=function(alias){var ra=alias.split(".");if($.inArray(ra[0],["app","jquery","ui"])!=-1){var type,ext=ra.pop();switch(ext){case"htm":type="ajax";break;case"css":case"js":type=ext;break;default:ra.push(ext);ext=type="js"}return $.Resource({alias:alias,type:type,src:_appBasePath+ra.join("/")+"."+ext})}else{throw new Error("Resource '"+alias+"' not found")}},_findObj=function(alias){var app=$;$.each(alias.split("."),function(){if($.type(app[this])=="object"){app=app[this];return true}else{app=null;return false}});return app};$.Resource=function(){var o=arguments[0]||{};if(o.autoload){_autoloads.push(o.alias)}return{alias:o.alias,dfd:$.Deferred(),type:o.type,src:o.src,data:o.data||{},metadata:o.metadata||{},method:o.method||"GET",dataType:o.dataType||"html",depends:o.depends||[],autoload:o.autoload||false,cache:(typeof o.cache!="undefined")?o.cache:true,timeout:o.timeout||10000,isLock:false,isLoaded:o.loaded||false,checkDepends:function(){var check=false;try{check=_checkDepends(this.depends)}catch(e){check=false;this.isLoaded=true;this.isLock=false;this.dfd.reject()}return check},load:function(){if(this.isLock||this.isLoaded||!this.checkDepends()){return false}this.isLock=true;var self=this,fComplete=function(){self.isLock=false;self.isLoaded=true},fSuccess=function(){if(self.type=="js"){var app=_findObj(self.alias);if(app!==null&&app.applicationName){app.succes(self.dfd.resolve).error(self.dfd.reject)}else{self.dfd.resolve.apply(this,arguments)}}else{self.dfd.resolve.apply(this,arguments)}};var option={};switch(this.type){case"json":option.type=this.method;option.data=this.data;option.dataType="json";break;case"js":option.type=this.method;option.dataType="script";break;case"ajax":default:option.type=this.method;option.data=this.data;option.dataType=this.dataType}switch(this.type){case"css":var link=document.createElement("link");document.getElementsByTagName("head")[0].appendChild(link);link.setAttribute("type","text/css");link.setAttribute("rel","stylesheet");link.setAttribute("href",this.src);fSuccess();fComplete();break;default:option.url=this.src;option.cache=this.cache;option.timeout=this.timeout;$.ajax(option).success(fSuccess).error(this.dfd.reject).complete(fComplete)}return true},deferred:function(){var self=this;$(function(){self.load()});return self.dfd.promise()},succes:function(funk){if($.isFunction(funk)){this.dfd.done(funk)}return this},error:function(funk){if($.isFunction(funk)){this.dfd.fail(funk)}return this}}};$.getResource=function(alias){return _resources[alias]};$.setResources=function(){var aliases=[];for(var i=0;i<arguments.length;i++){var r=arguments[i];if($.type(r.src)!="undefined"){aliases.push(_appendObj(r))}else{switch($.type(r)){case"array":case"object":$.each(r,function(i,r){if($.type(i)=="string"){if($.type(r.src)!="undefined"){r.alias=i;aliases.push(_appendObj(r))}else{if($.isArray(r)){_resources[i]=r;aliases.push(i)}}}else{aliases=aliases.concat($.setResources(r))}});break;case"string":aliases.push(r);break}}}return aliases};$.dependsTree=function(resources,allAliases,topAlias,tmp){var i=0;if(typeof tmp=="undefined"||tmp===null){tmp={}}switch($.type(resources)){case"array":for(i=0;i<resources.length;i++){$.dependsTree(resources[i],allAliases,topAlias,tmp)}break;case"string":switch($.type(_resources[resources])){case"array":$.dependsTree(_resources[resources],allAliases,topAlias,tmp);break;case"null":case"undefined":_resources[resources]=_createResource(resources);default:if(topAlias){if(typeof tmp[topAlias]=="undefined"){tmp[topAlias]=[]}if($.inArray(resources,tmp[topAlias])==-1){tmp[topAlias].push(resources);_resources[resources].succes(function(){_resources[topAlias].load()})}}allAliases.push(resources);if(_resources[resources].depends.length>0){$.dependsTree(_resources[resources].depends,allAliases,resources,tmp)}}break}};$.depends=function(){var dfdResources=[],allAliases=[],aliases=$.unique($.setResources.apply(null,arguments));$.dependsTree(aliases,allAliases);$.each($.unique(allAliases),function(k,v){dfdResources.push(_resources[v].deferred())});delete allAliases;delete aliases;return $.when.apply(null,dfdResources)};var repl=new RegExp(".*"+document.location.host+"([^?]*).*","i");$.grep($('head script[src^="/js/"], head link[type="text/css"]'),function(elem){var uri=$(elem).attr("src");if(!uri){uri=$(elem).attr("href")}if(uri){if(uri.length>0&&!!uri.match(document.location.host)){$.setResources({type:(elem.tagName.toLowerCase()=="script")?"js":"css",src:uri.replace(repl,"$1"),loaded:true})}else{return}}});$(function(){if(_autoloads.length){$.depends(_autoloads)}})})(jQuery,window,document);(function(c,b,a){var d=[];c.namespace=function(){c.each(arguments,function(e,f){var g=b;c.each(f.split("."),function(j,h){g=!!g[h]?g[h]:g[h]={}})})};c.observer={_filter:function(j,g,i){var h=(this.topic==j),f=true,e=true;if(typeof i!="undefined"){f=(this.thisObject==i)}if(typeof g!="undefined"){e=(this.callback==g)}return h&&f&&e},add:function(g,e,f){d.push({topic:g,callback:e,thisObject:f});return this},remove:function(i,g,h){if(typeof i=="undefined"){d=[];return this}var e=c.grep(d,function(j){return c.observer._filter.call(j,i,g,h)}),f=e.length;while(f--){d.splice(c.inArray(e[f],d),1)}delete e;return this},notify:function(g,h){var e=c.grep(d,function(i){return c.observer._filter.call(i,g)}),f=e.length;h=c.isArray(h)?h:[];h.unshift(g);while(f--){e[f].callback.apply(e[f].thisObject||null,h)}delete e;return this}};c.emptyRequest=function(f){var e=c.Deferred();if(f){e.resolve()}else{e.reject()}return e};c.request=function(){var j={},i={src:null,data:null,type:"POST",cache:false,timeout:10000,async:true};c.extend(j,i,c.type(arguments[0])=="object"?arguments[0]:{src:arguments[0],data:arguments[1],type:arguments[2]});var f=c.Deferred(),g={status:null,errorThrown:null,errors:[],response:null,request:c.isFunction(j.data)?j.data():j.data},h=function(k,n,l,m){g.status=n;g.errorThrown=l;if(c.isArray(m)){g.errors=g.errors.concat(m)}f.rejectWith(g)},e=function(l,m,k){l=l||{};if(c.type(l.status)=="undefined"||c.type(l.status)=="null"){h(k,"error","\u041d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430")}else{switch(l.status){case"error":g.response=l.data;h(k,l.status,"\u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435",l.errors);break;case"ok":g.status=l.status;g.errors=[];g.response=l.data;f.resolveWith(g);break;default:h(k,"error","\u0421\u0442\u0430\u0442\u0443\u0441 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d")}}};c.ajax({url:j.src,type:j.type,data:g.request,dataType:"json",cache:j.cache,timeout:j.timeout,async:j.async,success:e,error:h});return f}})(jQuery,window,document);(function(a){a.application=function(d,h,c){var e=d.split(".")[0],g=a.getResource(d)||{};d=d.split(".")[1];if(!c){c=h;h=null}a[e]=a[e]||{};var f=new a.Application(),b=function(){};b.prototype=a.extend(true,f,{namespace:e,applicationName:d},c);a[e][d]=new b();a[e][d].metadata=g.metadata||null;if(h){a.depends(h).done(function(){a[e][d].createApplication()}).fail(function(){a[e][d].dfd.reject()})}else{a[e][d].createApplication()}};a.Application=function(){this.applicationName="";this.dfd=a.Deferred();this.metadata=null;this.options={}};a.Application.prototype={createApplication:function(){this._init()},_init:function(){this.dfd.resolve()},succes:function(b){if(a.isFunction(b)){this.dfd.done(b)}return this},error:function(b){if(a.isFunction(b)){this.dfd.fail(b)}return this},option:function(c,d){var b=c;if(arguments.length===0){return a.extend({},this.options)}if(typeof c==="string"){if(d===undefined){return this.options[c]}b={};b[c]=d}this._setOptions(b);return this},_setOptions:function(c){var b=this;a.each(c,function(d,e){b._setOption(d,e)});return this},_setOption:function(b,c){this.options[b]=c;return this}}})(jQuery);
