// Uploadprogress
var maxwidth;
var date = new Date();
var upid;
var bold;
var told;
var refresh = 8;
// Uploadfields
var maxfields = 5;
var fcount;
var uptpl;

$q(document).ready(function(){
	// Nasty FF Bug
	//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	img1 = new Image();
	img1.src = siteurl + "/images/design/progressbarbg.gif";
	img2 = new Image();
	img2.src = siteurl + "/images/design/progressbar.gif";
	img3 = new Image();
	img3.src = siteurl + "/images/small/progressbarbg.gif";
	
	// Uploadfields
	//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	$q('#uploadmore').click(function(){
		if (fcount < maxfields){
			addfield();
		}
	});
	// Uploadprogress
	//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	$q('#uploadform').submit(function(sender){
		upid = $q('#uploadform input[@name=APC_UPLOAD_PROGRESS]').val();
		if (upid){
			startprogress();
		}
		//sender.preventDefault();
	});
	
	//fieldinit2();
});
function fieldinit(){
	$q('.uploadfieldrow:gt(0)').remove();
	uptpl = $q('.uploadfieldrow:first').clone();
	var dbg = uptpl.find('input')[0];
	dbg.value = "";
	updatefieldcount();
}
function updatefieldcount(){
	fcount = $q('.uploadfieldrow').size();
	if (fcount < maxfields){
		$q('#uploadmore:hidden').show();
	}else{
		$q('#uploadmore:visible').hide();
	}
}
function addfield(){
	uptpl.clone().insertAfter('.uploadfieldrow:last');
	$q('.uploadfieldrow:last').append('<div class="button btn_remove"></div>');
	$q('.btn_remove').click(function(){
		$q(this).parent().remove();
		updatefieldcount();
	});
	updatefieldcount();
}
// Uploadprogress
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function startprogress(){
	$q('.uploadcontrolls').hide();
	//$q('.uploadprogress').fadeIn("slow");
	$q('.uploadprogress').show();
	maxwidth = $q('.uploadprogress .bar').css('width');
	maxwidth = maxwidth.replace('px','');
	$q('.uploadprogress .bar').width(0);
	bold = 0;
	//Firefox Bugfix
	$q('.uploadprogress .barframe').css('background-image',$q('.uploadprogress .barframe').css('background-image'));
	$q('.uploadprogress .bar').css('background-image',$q('.uploadprogress .bar').css('background-image'));
	setTimeout("fetchstats()",refresh * 100);
}
function fetchstats(){
	$q.post(siteurl + "/getprogress.php",
		{ id: upid },
		function(xml){
			var percent = $q('percent',xml).text();
			var totalbyte = $q('totalbyte',xml).text();
			var aktbyte = $q('aktbyte',xml).text();
			var akttime = $q('time',xml).text();
			var debug = $q('debug',xml).text()
			var neww = Math.round(maxwidth / 100  * percent);
			var dtime = (akttime - told) * 1000;
			var kbs = round((aktbyte - bold) / dtime * 1000 / 1024);
			bold = aktbyte;
			told = akttime;
			$q('.uploadprogress .percent').html(percent+"%");
			if (kbs > 0){
				$q('.uploadprogress .speed').html(kbs);
			}
			$q('.uploadprogress .transfered').html(round(aktbyte / 1024 / 1024));
			$q('.uploadprogress .size').html(round(totalbyte / 1024 / 1024));
			$q('.uploadprogress .bar').animate({width: neww}, 'slow');
			//$q('body').text(xml);
			setTimeout("fetchstats()",refresh * 100);
		}
	);
}
function round(x) {
	var k = (Math.round(x * 100) / 100).toString();
	k += (k.indexOf('.') == -1)? '.00' : '00';
	return k.substring(0, k.indexOf('.') + 3);
}