var loadingUploadFile = false;
var onCloseLoadingDialog = function(){
	
};
var onUploadDelay = function(){
	var message = $('modal_dialog_message');
	if(message){
		message.innerHTML = 'The file is bigger than expected. The upload process may take longer. Please wait ...';
	}
}
var afterUploadFile = function(model,field,file){
};
var afterDeleteFile = function(model,field,file){
};
function onLoadingFile(model,field){
	loadingUploadFile = setTimeout('onUploadDelay();',1*60*1000);
	var domId = model+('-'+field).replace('_','-').camelize();
	var preview = $('preview'+domId);
	var image = document.createElement('img');
	var file = document.createElement('div');
//	file.id = 'file_'+File['sesskey'];
	var filename = document.createElement('span');
	filename.innerHTML = 'Loading...';
	image.src = '/img/loading.gif';
	image.setAttribute('alt','Loading...');
	var picture = document.createElement('div');
	picture.className = 'picture';
	picture.appendChild(image);
	picture.innerHTML = '&nbsp;'+picture.innerHTML+'&nbsp;';
	image = picture.getElementsByTagName('img')[0];
	file.appendChild(picture);
	file.appendChild(filename);
	file.className = 'file';
	preview.appendChild(file);
}
function onUploadFile(model,field,data){
//	Dialog.closeInfo();
	clearTimeout(loadingUploadFile);
	loadingUploadFile = false;
	var domId = model+('-'+field).replace('_','-').camelize();
	var File = eval(data);
	var preview = $('preview'+domId);
	var files = preview.getElementsBySelector('div.file');
	var image = document.createElement('img');
	var file = files[files.size() - 1];//document.createElement('div');
//	console.dir(File);
	file.id = 'file_'+File['sesskey'];
	var filename = file.getElementsByTagName('span')[0];//document.createElement('span');
	var link = document.createElement('a');
	var cross = document.createElement('img');
	cross.src = '/img/uploader/cross.png';
	cross.setAttribute('alt','Borrar');
	link.appendChild(cross);
	link.href = '/uploader/delete/'+model+'/'+field+'/'+File['sesskey']+'/';
	link.className = 'delete';
	link.onclick = function(){return false};
	Event.observe(link,'click',function(event){
		new Ajax.Request(link.href,{
			onSuccess:function(svr){
				file.parentNode.removeChild(file);
			},
			onComplete:function(){
				afterDeleteFile(model,field,File);
			}
		});
	},false);
	filename.innerHTML = File['name']+'.'+File['ext'];
	image.src = '/img/'+File['thumb'];
	image.style.display = 'none';
	var picture = file.getElementsBySelector('div.picture')[0];//document.createElement('div');
	//picture.className = 'picture';
	picture.innerHTML = '';
	picture.appendChild(image);
	picture.innerHTML = '&nbsp;'+picture.innerHTML+'&nbsp;';
	image = picture.getElementsByTagName('img')[0];
	file.appendChild(picture);
	file.appendChild(filename);
	file.appendChild(link);
	file.className = 'file';
	preview.appendChild(file);
	new Effect.Appear(image,{afterFinish:function(){
		afterUploadFile(model,field,File);
	}});
}
function onErrorFile(model,field,message){
//	Dialog.closeInfo();
	clearTimeout(loadingUploadFile);
	loadingUploadFile = false;
	var domId = model+('-'+field).replace('_','-').camelize();
	var preview = $('preview'+domId);
	var files = preview.getElementsBySelector('div.file');
	var file = files[files.size() - 1];
	preview.removeChild(file);
	if(message){
//		Dialog.alert(message,{
//			className:'alphacube',resizable:false,
//			width:'250',height:'100',okLabel:'OK'
//		});
	}
}
