Index: src/main/config/component/combobox.xml
===================================================================
--- src/main/config/component/combobox.xml	(revision 13714)
+++ src/main/config/component/combobox.xml	(working copy)
@@ -110,6 +110,12 @@
 	        	<description>HTML: script expression; a list is called</description>
 		    	<defaultvalue><![CDATA[""]]></defaultvalue>
 		    </property>
+	        <property>
+		    	<name>onlistclose</name>
+		    	<classname>java.lang.String</classname>
+	        	<description>HTML: script expression; a list is closed</description>
+		    	<defaultvalue><![CDATA[""]]></defaultvalue>
+		    </property>
 		    <property>
 		    	<name>onselect</name>
 		    	<classname>java.lang.String</classname>
Index: src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js
===================================================================
--- src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js	(revision 13714)
+++ src/main/resources/org/richfaces/renderkit/html/scripts/combobox.js	(working copy)
@@ -6,7 +6,7 @@
 	
 	initialize: function(combobox, listId, parentListId, valueFieldId, fieldId, buttonId, buttonBGId, shadowId, commonStyles,  userStyles, 
 						 listWidth, listHeight, itemsText, directInputSuggestions, filterNewValue, 
-						 selectFirstOnUpdate, onlistcall, onselected, defaultMessage, isDisabled, value,
+						 selectFirstOnUpdate, onlistcall, onlistclose, onselected, defaultMessage, isDisabled, value,
 						 showDelay, hideDelay) {
 		
 		this.directInputSuggestions = directInputSuggestions;
@@ -29,7 +29,7 @@
 		listWidth = (!listWidth) ? this.getCurrentWidth() : listWidth;
 		
 		this.comboList = new Richfaces.ComboBoxList(listId, parentListId, selectFirstOnUpdate, filterNewValue, this.classes.combolist, listWidth, 
-													listHeight, itemsText, onlistcall, fieldId, shadowId, showDelay, hideDelay);
+													listHeight, itemsText, onlistcall, onlistclose, fieldId, shadowId, showDelay, hideDelay);
 		this.defaultMessage = defaultMessage;
 		
 		if (value) {
Index: src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js
===================================================================
--- src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js	(revision 13714)
+++ src/main/resources/org/richfaces/renderkit/html/scripts/combolist.js	(working copy)
@@ -2,7 +2,7 @@
 Richfaces.ComboBoxList = Class.create();
 Richfaces.ComboBoxList.prototype = {
 	
-	initialize: function(listId, parentListId, selectFirstOnUpdate, filterNewValues, classes, width, height, itemsText, onlistcall, fieldId, shadowId,decorationId,
+	initialize: function(listId, parentListId, selectFirstOnUpdate, filterNewValues, classes, width, height, itemsText, onlistcall, onlistclose, fieldId, shadowId,decorationId,
 						 showDelay, hideDelay) {
 		 
 		this.list = document.getElementById(listId);
@@ -13,10 +13,15 @@
 		this.itemsText = itemsText;
 		this.shadowElem = document.getElementById(shadowId);
 		this.onlistcall = onlistcall; 
+		this.onlistclose = onlistclose; 
 		
 		if (this.onlistcall) {
 			this.listParent.observe("rich:onlistcall", this.onlistcall);
 		}
+
+		if (this.onlistclose) {
+			this.listParent.observe("rich:onlistclose", this.onlistclose);
+		}
 		
 		this.selectFirstOnUpdate = selectFirstOnUpdate;
 		this.filterNewValues = filterNewValues;
@@ -143,6 +148,7 @@
 			this.hide();
 		}.bind(this), this.hideDelay);*/
 		this.hide();
+		this.listParent.fire("rich:onlistclose", {});
 	},
 	
 	hide : function() {
@@ -160,7 +166,6 @@
 		
 		//this.listParent.style.display = "none";
 		Element.hide(this.listParent);
-		
 	},
 	
 	eventOnScroll: function (e) {
Index: src/main/templates/combobox.jspx
===================================================================
--- src/main/templates/combobox.jspx	(revision 13714)
+++ src/main/templates/combobox.jspx	(working copy)
@@ -356,6 +356,7 @@
 											   #{filterNewValues}, 
 											   #{selectFirstOnUpdate},
 											   #{this:getAsEventHandler(context, component, "onlistcall")}, 
+											   #{this:getAsEventHandler(context, component, "onlistclose")}, 
 											   #{this:getAsEventHandler(context, component, "onselect")},
 											   "#{defaultLabel}",
 											   #{disabled}, #{convertedValue}, 
