Index: trunk/kernel/admin_templates/incs/ajax.js =================================================================== diff -u -r5494 -r5496 --- trunk/kernel/admin_templates/incs/ajax.js (.../ajax.js) (revision 5494) +++ trunk/kernel/admin_templates/incs/ajax.js (.../ajax.js) (revision 5496) @@ -182,17 +182,20 @@ }; // AJAX ProgressBar classs -function AjaxProgressBar($prefix, $url, $format) { - this.Prefix = $prefix; +function AjaxProgressBar($url) { + this.WindowTitle = this.GetWindow().document.title; this.URL = $url; - this.DisplayFormat = $format; this.BusyRequest = false; this.LastResponceTime = this.GetMicroTime(); this.ProgressPercent = 0; // progress percent this.ProgressTime = new Array(); this.Query(); } +AjaxProgressBar.prototype.GetWindow = function() { + return window.parent ? window.parent : window; +} + AjaxProgressBar.prototype.GetMicroTime = function() { var $now = new Date(); return Math.round($now.getTime() / 1000); // because miliseconds are returned too @@ -227,7 +230,13 @@ AjaxProgressBar.prototype.FormatTime = function ($seconds) { $seconds = parseInt($seconds); - return Math.floor($seconds / 60) + ':' + $seconds % 60; + + var $minutes = Math.floor($seconds / 60); + if ($minutes < 10) $minutes = '0' + $minutes; + $seconds = $seconds % 60; + if ($seconds < 10) $seconds = '0' + $seconds; + + return $minutes + ':' + $seconds; } AjaxProgressBar.prototype.showProgress = function ($percent) { @@ -237,14 +246,11 @@ this.LastResponceTime = $now; var $display_progress = parseInt(this.ProgressPercent); - var $display_div = document.getElementById('progress_display[' + this.Prefix + ']'); - if ($display_div) { - var $result = this.DisplayFormat; - $result = $result.replace('#PERCENT_DONE#', $display_progress); - $result = $result.replace('#TIME_LEFT#', this.FormatTime( this.GetEstimatedTime() )); - $result = $result.replace('#TIME_USED#', this.FormatTime( Math.sum(this.ProgressTime) )); - $display_div.innerHTML = $result; - } - document.getElementById('progress_done[' + this.Prefix + ']').style.width = $display_progress + '%'; - document.getElementById('progress_left[' + this.Prefix + ']').style.width = (100 - $display_progress) + '%'; + this.GetWindow().document.title = $display_progress + '% - ' + this.WindowTitle; + document.getElementById('progress_display[percents_completed]').innerHTML = $display_progress + '%'; + document.getElementById('progress_display[elapsed_time]').innerHTML = this.FormatTime( Math.sum(this.ProgressTime) ); + document.getElementById('progress_display[Estimated_time]').innerHTML = this.FormatTime( this.GetEstimatedTime() ); + + document.getElementById('progress_bar[done]').style.width = $display_progress + '%'; + document.getElementById('progress_bar[left]').style.width = (100 - $display_progress) + '%'; } \ No newline at end of file