var uploads_in_progress = 0;
var sids = {};

function beginUpload(ul,sid) {			
	ul.form.submit();
	sids[ul.name] = sid;
	uploads_in_progress = uploads_in_progress + 1;
	var pb = $(ul.name + "_progress");
	Element.show(pb.parentNode);
	new Ajax.PeriodicalUpdater({},baseDir+'clients/fileProgress',{'decay': 2,'frequency' : 2,'method': 'post','parameters': 'sid=' + sid,'onSuccess' : function(request){updateProgress(pb,request)},'onFailure':function(request){updateFailure(pb,request)}})
}
//alert(baseDir+'clients/fileProgress');
function updateProgress(pb,req) {
	var percent = req.responseText;
	//alert(req.responseText);
	if(!percent) percent = 0;
	pb.style.width = (percent * 2) + 'px';
	//widthTransition(pb.style.width)
	
	
	if(percent == "100") {
		var inp_id = pb.id.replace("_progress","");
		if(sids[inp_id]) {
			uploads_in_progress = uploads_in_progress - 1;
			
			var inp = $(inp_id);
			if(inp) {
				inp.value = sids[inp_id];
			}
			submitUpload(document.postform);
		}
		Element.hide(pb.parentNode);
		sids[inp_id] = false;
	}
}

/*function widthTransition(from, to, duration)
{
  //pb.style.width = (percent * 2) + 'px';
  var diff = to - from;
  setTimeout(function(){$('file_progress').style.width = diff*i}, i);
}*/

function updateFailure(pb,req) {
	var mes = req.responseText;
	pb.style.width=0;
	alert(mes);
	uploads_in_progress = uploads_in_progress - 1;
}

function submitUpload(frm) {
	if(uploads_in_progress > 0) {
		alert("File upload in progress. Please wait until upload finishes and try again.");
	} else {
		frm.submit();
	}
}


function uploadChange(name, type)
{
	$(name+'_container').style.display = 'none';
	$(name+'_upload').style.display = 'block';
	
	return false;
}

function uploadRemove(name, type)
{
	//alert(document.getElementById(name+'_preview').src);
  if(type == 'image')
  {
    $(name+'_preview').src = baseDir+'img/placeholder.png';
  }
  if(type == 'file')
  {
    $(name+'_fileIcon').src = baseDir+'img/filetypes/none.gif';
    $(name+'_filename').innerHTML = 'No file uploaded';
  }
	$(name).value = '';	
	
	return false;
}
