diff --git a/plugins/CoreAdminHome/CoreAdminHome.php b/plugins/CoreAdminHome/CoreAdminHome.php
index 279b6456d64a6502347f37c32dabc25a207a8ef8..b8c804cad2cfce0877c745210d10f50bc7b0f1d1 100644
--- a/plugins/CoreAdminHome/CoreAdminHome.php
+++ b/plugins/CoreAdminHome/CoreAdminHome.php
@@ -61,8 +61,6 @@ class Piwik_CoreAdminHome extends Piwik_Plugin
 		
 		$jsFiles[] = "libs/jquery/jquery.js";
 		$jsFiles[] = "libs/jquery/jquery-ui.js";
-		$jsFiles[] = "libs/jquery/jquery.bgiframe.js";
-		$jsFiles[] = "libs/jquery/jquery.blockUI.js";
 		$jsFiles[] = "libs/jquery/fdd2div-modified.js";
 		$jsFiles[] = "libs/javascript/sprintf.js";
 		$jsFiles[] = "themes/default/common.js";
diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php
index 9624f102dcf5cb0faf83613a2d1a9717c314517c..f9b649bc8f6ae8f51cd45773a7210ee5a9984c4d 100644
--- a/plugins/CoreHome/CoreHome.php
+++ b/plugins/CoreHome/CoreHome.php
@@ -53,11 +53,9 @@ class Piwik_CoreHome extends Piwik_Plugin
 		
 		$jsFiles[] = "libs/jquery/jquery.js";
 		$jsFiles[] = "libs/jquery/jquery-ui.js";
-		$jsFiles[] = "libs/jquery/jquery.bgiframe.js";
 		$jsFiles[] = "libs/jquery/jquery.tooltip.js";
 		$jsFiles[] = "libs/jquery/jquery.truncate.js";
 		$jsFiles[] = "libs/jquery/jquery.scrollTo.js";
-		$jsFiles[] = "libs/jquery/jquery.blockUI.js";
 		$jsFiles[] = "libs/jquery/fdd2div-modified.js";
 		$jsFiles[] = "libs/jquery/superfish_modified.js";
 		$jsFiles[] = "libs/jquery/jquery.history.js";
diff --git a/plugins/Dashboard/templates/Dashboard.js b/plugins/Dashboard/templates/Dashboard.js
index 1ec0d38882c9c1f0b374c12476c3e857bec9d8d5..848a0704fbb700045073ab0685d16e57668cd3e1 100644
--- a/plugins/Dashboard/templates/Dashboard.js
+++ b/plugins/Dashboard/templates/Dashboard.js
@@ -228,7 +228,6 @@ dashboard.prototype =
 		self.widgetDialog.before('<div id="placeholder"> </div>');
 		self.widgetDialog.dialog({
 			title: '',
-			bgiframe: true,
 			modal: true,
 			width: 'auto',
 			position: ['center', 'center'],
@@ -264,7 +263,7 @@ dashboard.prototype =
 				self.makeSortable();
 			});
 		}
-		piwikHelper.windowModal( '.dialog#confirm', onDelete)
+		piwikHelper.windowModal('#confirm', onDelete)
 	},
 	
 	// Called by DataTables when the View type changes.
diff --git a/plugins/Dashboard/templates/dashboard.css b/plugins/Dashboard/templates/dashboard.css
index 76ceba68da1eafed328a8fda68a3c5e9c494cdae..4524b4b4d3fd2729fdee9a4e018358dee6c330ff 100644
--- a/plugins/Dashboard/templates/dashboard.css
+++ b/plugins/Dashboard/templates/dashboard.css
@@ -81,35 +81,56 @@
 	margin: 6px 6px 0 0;
 }
 
-.dialog {
+.ui-confirm {
 	display: none;
 	width:630px;
 	background:#fff;
-	padding: 20px 10px;
 	color: #7A0101;
 	cursor: wait;
-	font-size: 12px;
-	font-weight: bold;
-	text-align: center;
+	font-size: 12px!important;
+	font-family:Arial,Verdana,Arial,Helvetica,sans-serif;
 	border-radius:4px;
+	padding:20px 10px;
 	-moz-border-radius:4px;
 	-webkit-border-radius:4px;
+	min-height:0!important;
 }
-.dialog h2{
-	font-weight:bold; 
+.ui-confirm h2{
+    text-align: center;
+	font-weight:bold;
+	padding:0;
 }
 
-.dialog input{
-	background: #B5B0A7 url("../../../themes/default/images/dashboard_h_bg_hover.png") repeat-x 0 0;
-	color:#fff;
-	border:0;
-	padding:5px 20px;
+.ui-dialog .ui-dialog-buttonpane{
+    text-align: center;
+    border: none;
+}
+
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{
+    float: none;
+}
+
+.ui-dialog input, .ui-dialog button{
+	background: #B5B0A7 url("../../../themes/default/images/dashboard_h_bg_hover.png") repeat-x 0 0!important;
+	color:#fff!important;
+	border:0!important;
+	font-size: 12px!important;
+	padding:5px 20px!important;
 	border-radius:3px;
 	-moz-border-radius:3px;
 	-webkit-border-radius:3px;
-	cursor:pointer; 
-	display:inline-block; 
-	margin:12px 8px 3px 8px;
+	cursor:pointer;
+	display:inline-block;
+	margin:0 8px 3px 8px!important;
+}
+
+.ui-dialog .ui-button-text{
+    padding: 0!important;
+}
+
+.ui-widget-overlay {
+    opacity: 0.6;
+    background: none #000;
 }
 
 .dummyHandle {
diff --git a/plugins/Dashboard/templates/index.tpl b/plugins/Dashboard/templates/index.tpl
index de040f72781cb3616d45836850e2f83b8954a2d4..e76ede18441d3069b715ebcd184077d3e646eb62 100644
--- a/plugins/Dashboard/templates/index.tpl
+++ b/plugins/Dashboard/templates/index.tpl
@@ -33,10 +33,10 @@ $(document).ready( function() {
 {/literal}
 <div id="dashboard">
  
-	<div class="dialog" id="confirm">
-	        <h2>{'Dashboard_DeleteWidgetConfirm'|translate}</h2>
-			<input id="yes" type="button" value="{'General_Yes'|translate}" />
-			<input id="no" type="button" value="{'General_No'|translate}" />
+	<div class="ui-confirm" id="confirm">
+	    <h2>{'Dashboard_DeleteWidgetConfirm'|translate}</h2>
+		<input id="yes" type="button" value="{'General_Yes'|translate}" />
+		<input id="no" type="button" value="{'General_No'|translate}" />
 	</div> 
 	
 	<div id="addWidget">
diff --git a/plugins/Dashboard/templates/widgetMenu.js b/plugins/Dashboard/templates/widgetMenu.js
index fc6e9343c68c880a5d8644752c4639d012a09b32..9a4008af1fc1405049ab3cee196f0ca2742d67c2 100644
--- a/plugins/Dashboard/templates/widgetMenu.js
+++ b/plugins/Dashboard/templates/widgetMenu.js
@@ -273,7 +273,6 @@ widgetMenu.prototype =
 	
 	hideMenu: function()
 	{
-		$.unblockUI();
 	},
 	
 	filterOutAlreadyLoadedWidget: function()
diff --git a/plugins/Feedback/templates/feedback.js b/plugins/Feedback/templates/feedback.js
index d82a48bc89a3f146314d99fe2ff60ffe4cdde773..b45b1dcfa2a299d9de5919b2fd9de667dd13fdbe 100644
--- a/plugins/Feedback/templates/feedback.js
+++ b/plugins/Feedback/templates/feedback.js
@@ -21,7 +21,6 @@ $(function() {
 
 				fbDiv.dialog({
 					title: feedback.html(),
-					bgiframe: true,
 					modal: true,
 					width: 650,
 					position: ['center', 90],
diff --git a/plugins/Installation/templates/integrityDetails.tpl b/plugins/Installation/templates/integrityDetails.tpl
index edac941868c03128690c7b4c07ca1536673887f9..074f93faca444f00366ba82d2869e94c6ca41e19 100644
--- a/plugins/Installation/templates/integrityDetails.tpl
+++ b/plugins/Installation/templates/integrityDetails.tpl
@@ -12,7 +12,6 @@
 {literal}<!--
 $(function() {
 	$("#integrity-results").dialog({
-		bgiframe: true,
 		modal: true,
 		autoOpen: false,
 		width: 600,
diff --git a/plugins/PDFReports/templates/index.tpl b/plugins/PDFReports/templates/index.tpl
index 8e1e437aebf736032a9a80b3a31f3313cbf4126e..d27580972d202bc349a62e86b018c075941b60ce 100644
--- a/plugins/PDFReports/templates/index.tpl
+++ b/plugins/PDFReports/templates/index.tpl
@@ -18,10 +18,10 @@
 	</div>
 </div>
 
-<div class="dialog" id="confirm">
-        <h2>{'PDFReports_AreYouSureDeleteReport'|translate}</h2>
-		<input id="yes" type="button" value="{'General_Yes'|translate}" />
-		<input id="no" type="button" value="{'General_No'|translate}" />
+<div class="ui-confirm" id="confirm">
+	<h2>{'PDFReports_AreYouSureDeleteReport'|translate}</h2>
+	<input id="yes" type="button" value="{'General_Yes'|translate}" />
+	<input id="no" type="button" value="{'General_No'|translate}" />
 </div> 
 
 <script type="text/javascript">
diff --git a/plugins/PDFReports/templates/pdf.js b/plugins/PDFReports/templates/pdf.js
index 0c64c80078bfa6a3b3e2fb6c8fd29d56c839760a..c45498e2a2628d643522f0e366c501849de9e0d9 100644
--- a/plugins/PDFReports/templates/pdf.js
+++ b/plugins/PDFReports/templates/pdf.js
@@ -103,7 +103,7 @@ function initManagePdf()
 			ajaxRequest.data = parameters;
 			$.ajax( ajaxRequest );
 		}
-		piwikHelper.windowModal( '.dialog#confirm', onDelete);
+		piwikHelper.windowModal( '#confirm', onDelete);
 	});
 
 	// Edit Report click
diff --git a/plugins/UsersManager/templates/UsersManager.js b/plugins/UsersManager/templates/UsersManager.js
index e2523de88b5d9f32d5d40238a4beeced627799fa..44fd61153cf222250f390b7161848422f1551cb6 100644
--- a/plugins/UsersManager/templates/UsersManager.js
+++ b/plugins/UsersManager/templates/UsersManager.js
@@ -157,17 +157,17 @@ function bindUpdateAccess()
 	var idSite = getIdSites();
 	if(idSite == 'all')
 	{
-		var target = this;       
+		var target = this;
 		
 		//ask confirmation
-		var userLogin = $(this).parent().parent().find('#login').html();
-		$('.dialog#confirm #login').text( userLogin ); // if changed here change also the launchAjaxRequest
+		var userLogin = $(this).parent().parent().find('#login').text();
+		$('#confirm').find('#login').text( userLogin ); // if changed here change also the launchAjaxRequest
 
 		function onValidate()
 		{			
 			launchAjaxRequest(target, successCallback);	
 		}
-		piwikHelper.windowModal( '.dialog#confirm', onValidate)
+		piwikHelper.windowModal( '#confirm', onValidate)
 	}
 	else
 	{
@@ -218,10 +218,8 @@ $(document).ready( function() {
 			piwikHelper.hideAjaxError();
 			var idRow = $(this).attr('id');
 			var loginToDelete = $(this).parent().parent().find('#userLogin').html();
-			if( confirm(sprintf(_pk_translate('UsersManager_DeleteConfirm_js'),'"'+loginToDelete+'"')) )
-			{
-				$.ajax( getDeleteUserAJAX( loginToDelete ) );
-			}
+			$('#confirmUserRemove h2').text(sprintf(_pk_translate('UsersManager_DeleteConfirm_js'),'"'+loginToDelete+'"'));
+			piwikHelper.windowModal( '#confirmUserRemove', function(){ $.ajax( getDeleteUserAJAX( loginToDelete ) ); });
 		}
 	);
 	
diff --git a/plugins/UsersManager/templates/UsersManager.tpl b/plugins/UsersManager/templates/UsersManager.tpl
index b0021cc619bbfd231533ccd7461c14cb6a4bdb77..e60c2a2733a23094952c8d21c035fadbb1822e32 100644
--- a/plugins/UsersManager/templates/UsersManager.tpl
+++ b/plugins/UsersManager/templates/UsersManager.tpl
@@ -83,13 +83,19 @@
 	</table>
 </div>
 
-<div class="dialog" id="confirm"> 
-	<p>{'UsersManager_ChangeAllConfirm'|translate:"<span id='login'></span>"}</p>
-	<input id="yes" type="button" value="{'General_Yes'|translate}" />
-	<input id="no" type="button" value="{'General_No'|translate}" />
+<div class="ui-confirm" id="confirm">
+	<h2>{'UsersManager_ChangeAllConfirm'|translate:"<span id='login'></span>"}</h2>
+    <input id="yes" type="button" value="{'General_Yes'|translate}" />
+    <input id="no" type="button" value="{'General_No'|translate}" />
 </div> 
 
 {if $userIsSuperUser}
+    <div class="ui-confirm" id="confirmUserRemove">
+        <h2></h2>
+        <input id="yes" type="button" value="{'General_Yes'|translate}" />
+        <input id="no" type="button" value="{'General_No'|translate}" />
+    </div> 
+
 	<br />
 	<h2>{'UsersManager_UsersManagement'|translate}</h2>
 	<p>{'UsersManager_UsersManagementMainDescription'|translate} 
diff --git a/themes/default/common.js b/themes/default/common.js
index 2fb7b7550f383f158662fea0ae98cd2e88b85557..3aa6cf4615c3ab79cc3ee7aff9d4ead3eadb74d8 100644
--- a/themes/default/common.js
+++ b/themes/default/common.js
@@ -10,29 +10,34 @@ function piwikHelper()
 }
 
 /*
- * Displays a Modal window popover. Text will be taken from the DOM node domSelector.
+ * Displays a Modal dialog. Text will be taken from the DOM node domSelector.
  * When user clicks Yes in Modal,onValidate() will be executed.
  * 
- * On clicking No, or esc key, the modal will fade out.
+ * On clicking No, or esc key, the dialog will fade out.
  */
 piwikHelper.windowModal = function( domSelector, onValidate )
 {
-	var question = $(domSelector);
-	$(document).keydown( function( e ) { 
-		if( e.which == 27)  $.unblockUI(); }
-	);
-	$('#no', question).unbind('click').click($.unblockUI);
-	$('#yes', question).unbind('click').click(function() {
-		onValidate();
-		$.unblockUI();
-	});
-	$.blockUI({
-		message: question, 
-		css: { width: 650, border:0, background:"none", top:90 }
-	});
-	
-	$.unblockUI
+    var question = $(domSelector);
+    var buttons = {};
+    var textYes = $('#yes', question).attr('value');
+    if(textYes) {
+        buttons[textYes] = function(){$(this).dialog("close"); onValidate()};
+        $('#yes', question).hide();
+    }
+    var textNo = $('#no', question).attr('value');
+    if(textNo) {
+        buttons[textNo] = function(){$(this).dialog("close");};
+        $('#no', question).hide();
+    }
+    question.dialog({
+        resizable: false,
+        modal: true,
+        buttons: buttons,
+        width: 650,
+        position: ['center', 90]
+    });
 }
+
 var globalAjaxQueue = [];
 piwikHelper.queueAjaxRequest = function( request )
 {
diff --git a/themes/default/ieonly.css b/themes/default/ieonly.css
index 9c7b293bc3d36191957df80cd837c6961b1e897c..fb84813d950057f5e229858d7c6481b7cd0ab6ef 100644
--- a/themes/default/ieonly.css
+++ b/themes/default/ieonly.css
@@ -19,7 +19,7 @@ ol#menuList li, ul#widgetList li .button,
 }
 
 .widget, 
-.widgetTop {
+.widgetTop{
 	position: relative;
 	behavior: url("index.php?module=Proxy&action=getPieHtc");
 }
@@ -27,11 +27,22 @@ ol#menuList li, ul#widgetList li .button,
 	z-index: 1003!important;
 }
 
+.ui-widget-overlay {
+    z-index: 1002!important;
+}
+
 .widgetContent {
 	width: 99.8%;
 	overflow: hidden;
 }
 
+/**
+ * disable CSS3PIE for rounded corners in dialogs, as IE fails to display them correct
+ */
+.ui-dialog input, .ui-dialog button{
+    behavior: none;
+}
+
 /**
  * IE7 fixes
  */
@@ -44,3 +55,6 @@ ol#menuList li, ul#widgetList li .button,
 	margin-top: 0!important;
 }
 
+*+html .ui-confirm.ui-widget-content {
+    padding-top: 0px;
+}