


var kkpApp={_curidx:0,_URL:'',_LANG:'',_NODEID:0,_ERRS:{errors_warning:'Uwaga! Wystąpiły błędy !',unknown_json_err:'Wystąpił nieznany błąd. Dane mogły nie zostać zapisane.',loading_obj:'Błąd przy wczytywaniu obiektu'},_MSGS:{textarea_left:'pozostało %1 znaków(i)'},_spinnerId:'mainspinner',_numLoads:0,autoSpin:false,useCache:false,objs:{},objInit:{},objDeps:{advboard:['folder'],file:['fileHelper'],image:['file'],drawing:['image'],descriptionhtml:['description'],productfolder:['folder'],productcatalog:['folder'],detail:['product'],detailfolder:['folder'],detailcatalog:['folder'],detaildrawing:['drawing'],news:['folder'],newscatalog:['folder'],newsfolder:['folder'],patterndrawing:['drawing'],infofolder:['folder'],product:['folder'],detail:['product'],galleryfolder:['folder'],gallerycatalog:['folder'],news:['folder'],drawingfolder:['folder'],lib:['classification'],detaildrawingfolder:['folder'],patterndrawingfolder:['folder'],drawingcatalog:['folder'],detaildrawingcatalog:['folder'],patterndrawingcatalog:['folder'],regionversion:['folder'],contest:['folder'],contestentry:['file'],contestimage:['image'],forumfolder:['folder'],material100:['image'],material200:['material100']},genNum:function(){return this._curidx++;},genId:function(){return'kkp-'+(this.genNum());},randomString:function(len)
{var chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";var ret='';for(var i=0;i<len;i++)
{var idx=Math.floor(Math.random()*chars.length);ret+=chars.charAt(idx);}
return ret;},getScriptsPath:function(){return kkpApp._URL+'/public/scripts';},showSpinner:function(){jQuery('#'+this._spinnerId).show();},hideSpinner:function(){jQuery('#'+this._spinnerId).hide();},incLoad:function(){if(this._numLoads<=0)this.showSpinner();this._numLoads++;},decLoad:function(){this._numLoads--;if(this._numLoads<=0){this._numLoads=0;this.hideSpinner();}},loadScript:function(scriptname,callOnOk,callOnError){var self=this;if(this.autoSpin)this.incLoad();$.ajax({type:"GET",url:kkpApp.getScriptsPath()+'/'+scriptname,dataType:"script",cache:this.useCache,success:this.autoSpin?function(){self.decLoad();callOnOk();}:callOnOk,error:this.autoSpin?function(){self.decLoad();callOnError();}:callOnError});},getClassPath:function(cls){return'kkp/'+cls+'.js';},loadClass:function(cls,callback){var self=this;this.loadScript(this.getClassPath(cls),function(){callback();},function(){self.onClassLoadError();});},onClassLoadError:function(){this.decLoad();alert(this._ERRS.loading_obj);}};
