var file = {
	"init": function() {
		try {
			$j(".file_property").hide();
			$j(".file_input").live("change", this, function(e) {
				var input		= $j(this);
				var property		= $j("#"+input.attr("id")+"_file_property");
				if(input.val()) {
					property.show();
				}
				else {
					property.hide();
				}
			});
			$j(".file_multiple_control_add").live("click", this, function(e) {
				var button		= $j(this);
				var fe			= button.parent().parent();
				var line			= fe.parent();
				var cnt			= (line.data("cnt")?line.data("cnt"):0)+1;
				var fe_clone		= fe.clone(true,true);
				
				line.data("cnt",cnt);
				fe_clone.find(":input, label, div.file_property").each(function() {
					var element		= $j(this);
					var attr_name	= element.attr("for")?"for":"id";
					var attr			= element.attr(attr_name);
					var re			= new RegExp("(-[0-9]+)", "gi");
					var new_attr		= attr.replace(re,"-"+cnt);
					element.attr(attr_name,new_attr);
				});
				fe_clone.find(":input").val("");
				fe_clone.find("div.file_property").hide();
				fe_clone.find(".form_element_download").remove();
				fe_clone.insertAfter(fe);
			});
			$j(".file_multiple_control_remove").live("click", this, function(e) {
				var button		= $j(this);
				var fe			= button.parent().parent();
				var line			= fe.parent();
				var e_cnt		= line.find(".form_element_file").length;
				var d_cnt		= fe.find(".form_element_download").length;
				
				if(e_cnt>1 && d_cnt==0) {
					fe.remove();
				}
			});
		} catch(e) { poety.exception(e,"file:init"); }
	},
	"remove": function(url,id) {
		try {
			var fr		= $j("#file_remove_"+id);
			var q		= fr.attr("title");
			var pars		= {
				"remove"		: 1
			};
			if(confirm(q)) {
				$j.post(url, pars, function(response) {
					var file_id = parseInt(response);
					if(file_id==id) {
						fr.parent().remove();
					}
					else {
						alert(response);
					}
				});
			}
		} catch(e) { poety.exception(e,"file:remove"); }
	}
};

//function file_remove(url,id) {
//	var pars = 'remove=1';
//
//	if(confirm($('file_remove_'+id).getAttribute('title'))) {
//		var myAjax = new Ajax.Request(
//			url, 
//			{
//				method: 'post', 
//				parameters: pars, 
//				onComplete: file_remove_response
//			});
//	}
//}
//
//function file_remove_response(originalRequest) {
//	if(file_id = parseInt(originalRequest.responseText)) {
//		if($('file_remove_'+file_id)) {
//			$('file_remove_'+file_id).parentNode.remove();
//		}
//	}
//	else {
//		alert("You couldn't remove this file!");
//	}
//}

$j(document).ready(function() {
	file.init();
});
