Index: trunk/xpressme_integration_kit/blocks/widget_block.php
===================================================================
--- trunk/xpressme_integration_kit/blocks/widget_block.php	(revision 436)
+++ trunk/xpressme_integration_kit/blocks/widget_block.php	(revision 437)
@@ -20,5 +20,7 @@
 		$this_template = empty( $options[1] ) ? 'db:'.$mydirname.'_widget_block.html' : trim( $options[1] );
 		$title_show = empty( $options[2] ) ? false : true ;
-    	$selected = array_slice($options,3); // get allowed cats
+		$widget_select = empty( $options[3] ) ? '' : $options[3] ;
+
+		$selected = explode(',' , $widget_select);
 
 		if ($mydirname == 'wordpress'){
@@ -48,5 +50,7 @@
 		$form .= "<br />";
 		$form .= _MB_XP2_SELECT_WIDGET .":<br />\n";
-		$select = "&nbsp;&nbsp;&nbsp;<select name='options[]' multiple=\"multiple\">\n";
+    	$form .= "<input type='hidden' name='options[3]' value='$widget_select' />\n";
+
+		$select = "&nbsp;&nbsp;&nbsp;<select name='widget_sel' multiple=\"multiple\" onclick=\"WidgetSelect()\">\n";
 		$found = false;
 		foreach ( (array) $sidebars_widgets as $index => $sidebar ){
@@ -67,4 +71,19 @@
 
 		$select .=  "</select><br/>\n";
+    $select .= '
+<script type="text/javascript">
+    function WidgetSelect(){
+        var idx=new Array();
+        var sel=document.forms["blockform"].elements["widget_sel"].options;
+        for(var i=0, n=0; i<sel.length; i++){
+            if(sel[i].selected){ idx[n++]=sel[i].value; }
+        }
+        if(idx.length>0){
+        	document.forms["blockform"].elements["options[3]"].value = idx;
+		}
+    }
+</script>
+';
+		
 		if ($found){
 			$form = $form . $select;
