var flashUploader_activeFlashUploaders = new Array();
flashUploader_activeFlashUploadersIds = new Array();
var flashUploader_runJS_onNoActiveUploads = '';

function flashUploader(id) 
{
	INITSTRING  = document.getElementById('INITSTRING_'+id).value; 
	
	var so = new SWFObject(INITSTRING, id, '172', '19', '8', '#FFFFFF');
	so.addParam('quality'  , 'high');
	so.addParam('showmenu' , 'false');
	so.addParam('menu'     , '0');
	// so.addVariable('varname','varvalue')
	so.write('ENV_'+id);
}

function flashUploader_onSelect(id, selectedFiles)
{
	// check if maximum allowed files wasn't exceeded, if yes display alert
	var maxFiles = parseInt($('#MAXFILES_' + id).val());
	if (parseInt(selectedFiles) > maxFiles)
	{
		alert($('#MAXFILES_ERRMSG_' + id).html().replace('-maxFiles-',maxFiles));
	}

	// check if uploader already is in uploaders array, if not push it there
	if (!corex.inArray(id,flashUploader_activeFlashUploadersIds))
	{
		flashUploader_activeFlashUploadersIds.push(id);
		flashUploader_activeFlashUploaders.push(new Array(id, selectedFiles));
	}

	// if uploader already found, update selectedFiles (for multiple selection on same uploader)
	else
	{
		for(i=0;i<flashUploader_activeFlashUploaders.length;i++)
		{
			if (flashUploader_activeFlashUploaders[i][0] == id)
			{
				flashUploader_activeFlashUploaders[i][1] = selectedFiles;
			}

		}
	}
}

function flashUploader_onComplete(id) 
{
	var tmp = new Array();
	
	for(i=0;i<flashUploader_activeFlashUploaders.length;i++) {
		if (flashUploader_activeFlashUploaders[i][0]!=id) {
			tmp.push(flashUploader_activeFlashUploaders[i]);
		}
	}
	
	flashUploader_activeFlashUploaders = tmp;
	
	if (flashUploader_activeFlashUploaders.length==0) {
		eval(flashUploader_runJS_onNoActiveUploads + '()');
	}
}

function flashUploader_runAllUploads(submitButtonEnvelopeId,runJS_onNoActiveUploads) 
{
	// check if there are some uploades where are selected more than allowed number of files
	var id, selectedFiles, maxFiles;

	for(i=0;i<flashUploader_activeFlashUploaders.length;i++)
	{
		id = flashUploader_activeFlashUploaders[i][0];
		selectedFiles = parseInt(flashUploader_activeFlashUploaders[i][1]);
		maxFiles = parseInt($('#MAXFILES_' + id).val());

		if (selectedFiles > maxFiles)
		{
			alert($('#MAXFILES_ERRMSG_' + id).html().replace('-maxFiles-',maxFiles));
			return;
		}
	}

	flashUploader_runJS_onNoActiveUploads = runJS_onNoActiveUploads;
	
	if (flashUploader_activeFlashUploaders.length==0) {
		eval(flashUploader_runJS_onNoActiveUploads + '()');
	} else {
		xajax_corex_templateLoader('____buttonApply_active',submitButtonEnvelopeId,'','','flashUploader_runInternal()');	
	}
}

function flashUploader_runInternal() 
{
	var id;

	for(i=0;i<flashUploader_activeFlashUploaders.length;i++) {
		id = flashUploader_activeFlashUploaders[i][0];
		document.getElementById(id).runUpload();
	}
}
