/* (C) 2008 PRIME Computer Kft. www.prime.hu */
PSIntra.gl_progress=[];jQuery.extend({psupdateprogress:function(ap){if(PSIntra.gl_progress[ap]===undefined){return false}var aprog=PSIntra.gl_progress[ap];aprog.timerhandle=-1;if(aprog.finished){return false}aprog.checkcounter++;if(aprog.checkcounter>aprog.checkevery){if(aprog.onstatus!=null){var res=aprog.onstatus(aprog.progressid,ap);aprog.totalparts=res.totalparts;aprog.finishedparts=res.finishedparts}aprog.checkcounter=1}if(aprog.totalparts==0){aprog.innerstate++;if(aprog.innerstate>50){aprog.innerstate=0}aprog.progress.css("background-position",(aprog.innerstate*2)+"% center")}else{if(aprog.innerstate>=0){aprog.progress.css("background-image","none");aprog.innerstate=-1}if(aprog.innerstate==-1){aprog.progress.css("border-color",aprog.altbordercol);aprog.innerstate=-2}else{aprog.progress.css("border-color",aprog.bordercolor);aprog.innerstate=-1}if(aprog.finishedparts<0){aprog.finishedparts=0}if(aprog.finishedparts>aprog.totalparts){aprog.finishedparts=aprog.totalparts}var innerdiv=aprog.progress.find(".progress");var w=Math.round(aprog.finishedparts/aprog.totalparts*100);innerdiv.css("width",w+"%");aprog.progress.find(".text").html(w+" %");aprog.finished=aprog.finishedparts==aprog.totalparts}if(aprog.finished){aprog.progress.css("border-color",aprog.bordercolor);if(aprog.finishtext!=""){innerdiv.css("width","0%");aprog.progress.find(".text").html(aprog.finishtext)}aprog.timerhandle=setTimeout("$.psfinishprogress("+ap+");",100)}else{aprog.timerhandle=setTimeout("$.psupdateprogress("+ap+");",aprog.qintervall)}return false},psfinishprogress:function(ap){if(PSIntra.gl_progress[ap]===undefined){return false}var aprog=PSIntra.gl_progress[ap];aprog.timerhandle=-1;if(aprog.onfinish!==null){aprog.onfinish(aprog.progressid,ap)}if(aprog.actionbutton!=""){$.endisbutton($.formid(aprog.actionbutton),"",true)}return false},psstopprogress:function(ap){if(ap===undefined){for(ap in PSIntra.gl_progress){$.psstopprogress(ap)}return false}else{if(PSIntra.gl_progress[ap]===undefined){return false}}var aprog=PSIntra.gl_progress[ap];if(aprog.timerhandle>=0){clearTimeout(aprog.timerhandle);aprog.timerhandle=-1}aprog.finished=true;var innerdiv=aprog.progress.find(".progress");aprog.progress.css("background-image","none");aprog.innerstate=-1;innerdiv.css("width","0%");aprog.progress.find(".text").html(aprog.aborttext);return false},pspstatusrogress:function(aprog_id,ap){var pdata={prog_id:aprog_id};$.addsid(pdata);pdata[PSIntra.prt_ajaxfunc]="getprogstatus";var prog_res=$.mygetbypost("ajaxgate.php",pdata,"json");var res={prog_id:prog_res.PROG_ID,proc_name:prog_res.PROCESS_NAME,init_msg:prog_res.INIT_MESSAGE,finish_msg:prog_res.FINISH_MESSAGE,totalparts:prog_res.TOTALPARTS,finishedparts:prog_res.FINISHEDPARTS,proc_start:prog_res.PROCESS_START,proc_end:prog_res.PROCESS_END};return res}});jQuery.fn.extend({psprogress:function(opt){var opts=$.extend({progressid:0,onstatus:$.pspstatusrogress,onfinish:null,qintervall:500,checkevery:1,totalparts:0,finishedparts:0,actionbutton:"",bordercolor:"navy",altbordercol:"red",bgimgurl:"java/images/progressback.gif",waittext:"Kérem várjon...",finishtext:"A folyamat elkészült...",aborttext:"A folyamat megszakítva..."},opt||{});opts.checkcounter=0;opts.innerstate=0;opts.finished=false;opts.progress=jQuery(this);opts.timerhandle=-1;if(opts.actionbutton!=""){$.endisbutton($.formid(opts.actionbutton),"",false)}var innerdiv=opts.progress.find(".progress"),ap=-1,pid=opts.progress.attr("id");if(innerdiv.length!=1){ap=PSIntra.gl_progress.length;innerdiv=$("<div class='progress'></div>");opts.progress.append("<div class='text'>&nbsp;</div>");$("<span class='text'>&nbsp;</span>").css("width",opts.progress.width()).appendTo(innerdiv);opts.progress.append(innerdiv)}else{for(var ep in PSIntra.gl_progress){if(PSIntra.gl_progress[ep].progress.attr("id")==pid){ap=ep;break}}if(ap<0){return false}}innerdiv.css("width","0%");opts.progress.find(".text").html(opts.waittext);opts.progress.css("background-image",'url("'+opts.bgimgurl+'")').css("border-color",opts.bordercolor);PSIntra.gl_progress[ap]=opts;PSIntra.gl_progress[ap].timerhandle=setTimeout("$.psupdateprogress("+ap+");",100)}});