var GalleryClient = {
		selectForPublish : function(el, mid) {
			var checked = el.checked;
			var fname = el.value;
			var files = new Array;
			files.push(fname);
			var action = el.checked ? "selectForPublish" : "unselectForPublish";
			GalleryClient.updateQueue(files, action, mid);
		},
		updateMultiple : function(selected, mid) {
			var gallery_index = $('gallery_index');
			var inputs = gallery_index.select('input[name="publish[]"]');
			var files = new Array;
			inputs.each(function(inputel) {
							inputel.checked = selected;
							files.push(inputel.value);
						}
			);
			var action = selected ? "selectForPublish" : "unselectForPublish";
			GalleryClient.updateQueue(files, action, mid);
		},
		selectAllOnPage : function(mid) {
			GalleryClient.updateMultiple(true, mid);
		},
		unselectAllOnPage : function(mid) {
			GalleryClient.updateMultiple(false, mid);
		},
		updateQueue : function(files, action, mid) {
			var updater = "/index.php?sid=gallery&a="+action +"&menuid=" + mid;
			new Ajax.Request(updater, {
				parameters : 'files=' + files.toJSON(),
				onSuccess : function(transport) {
					var json_response = transport.responseText.evalJSON();
					var queue_size = 0;
					if(json_response.queue_size) queue_size = json_response.queue_size;
					
					$('publish_selected_count').update(queue_size);
				}
			}
			);
		}
}
