diff --git a/application/classes/Controller/Handler/Map.php b/application/classes/Controller/Handler/Map.php
index ac6fc62f6373e257f1de8147e08c8e29952dcec5..059d1f175a04794348fecc16d40c4298e849ed7e 100644
--- a/application/classes/Controller/Handler/Map.php
+++ b/application/classes/Controller/Handler/Map.php
@@ -138,32 +138,30 @@ class Controller_Handler_Map extends Controller_Handler {
 		
 		// Поменять имя модуля
 		public function action_ChangeModuleName() {
+			$data['success'] = false;
             $this->post -> rule('ModuleID', 'not_empty')
                         -> rule('ModuleID', 'digit')
 						-> rule('ModuleName', 'not_empty');
             if($this->post->check()) {
-                $this->model->ChangeModuleName($this->user['TeacherID'], $this->post->offsetGet('ModuleID'), $this->post->offsetGet('ModuleName'));
-				$this->response->body(json_encode('Ok, ChangeModuleName!'));
-            }
-            else
-                $this->response->body(json_encode('Error, ChangeModuleName'));
+                $result = $this->model->ChangeModuleName($this->user['TeacherID'], $this->post->offsetGet('ModuleID'), $this->post->offsetGet('ModuleName'));
+				if ($result[0]['Num'] == 0)
+					$data['success'] = true;
+			}
+			$this->response->body(json_encode($data));
 		}
 		
 		// Поменять имя мероприятия
 		public function action_ChangeSubmoduleName() {
+			$data['success'] = false;
             $this->post -> rule('SubmoduleID', 'not_empty')
                         -> rule('SubmoduleID', 'digit')
 						-> rule('SubmoduleName', 'not_empty');
             if($this->post->check()) {
-                $this->model->ChangeSubmoduleName($this->user['TeacherID'], $this->post->offsetGet('SubmoduleID'), $this->post->offsetGet('SubmoduleName'));
-				$this->response->body(json_encode('Ok, ChangeSubmoduleName!'));
+                $result = $this->model->ChangeSubmoduleName($this->user['TeacherID'], $this->post->offsetGet('SubmoduleID'), $this->post->offsetGet('SubmoduleName'));
+				if ($result[0]['Num'] == 0)
+					$data['success'] = true;
             }
-            else
-                $this->response->body(json_encode('Error, ChangeSubmoduleName'));
-		}
-		
-		public function action_ChangeSubmoduleOrder() {
-			
+			$this->response->body(json_encode($data));
 		}
 		
 		// СВАП порядка двух модулей
diff --git a/application/views/teacher/map/edit.twig b/application/views/teacher/map/edit.twig
index 272537559e42742917df0bf9f141dd55136776ee..a0a384b26eaf3ac2b2198157f706cdef92a9f79c 100644
--- a/application/views/teacher/map/edit.twig
+++ b/application/views/teacher/map/edit.twig
@@ -7,6 +7,9 @@
 	{{ HTML.style('media/js/wnd/wnd.css')|raw }}
 	{{ HTML.script('media/js/wnd/wnd.js')|raw }}
 	
+	{{ HTML.script('media/js/event_inspector/event_inspector.js')|raw }}
+	{{ HTML.style('media/js/event_inspector/event_inspector.css')|raw }}
+	
 	{{ HTML.style('media/css/construct.css')|raw }}
 	{{ HTML.script('media/js/construct/edit.js')|raw }}
 	{{ HTML.script('media/js/construct/attach.js')|raw }}
diff --git a/media/js/construct/edit.js b/media/js/construct/edit.js
index 3ab1ad1d9d7b53fa256b72b9576256ef98392e6c..6991931a44168faeac7e4d1776360a013019432f 100644
--- a/media/js/construct/edit.js
+++ b/media/js/construct/edit.js
@@ -74,8 +74,8 @@ $(function() {
 			function(data){
 				data = $.parseJSON(data);
 				if(data.success === true)
-					alert('РћРє, ChangeSubmoduleControlType');
-				else alert('Error, ChangeSubmoduleControlType');
+					EventInspector_ShowMsg('РћРє, ChangeSubmodule ControlType', 'success');
+				else EventInspector_ShowMsg('Error, ChangeSubmodule ControlType', 'error');
 			}
 		);
 	}
@@ -91,8 +91,8 @@ $(function() {
 			function(data){
 				data = $.parseJSON(data);
 				if(data.success === true)
-					alert('РћРє, ChangeSubmoduleMaxRate');
-				else alert('Error, ChangeSubmoduleMaxRate');
+					EventInspector_ShowMsg('РћРє, ChangeSubmodule MaxRate', 'success');
+				else EventInspector_ShowMsg('Error, ChangeSubmodule MaxRate', 'error');
 			}
 		);
 	}
@@ -139,9 +139,9 @@ $(function() {
 			},
 			function(data){
 				data = $.parseJSON(data);
-				if(data.success === true) {
-					alert('РћРє, SwapModuleOrder');
-				} else alert('Error, SwapModuleOrder');
+				if(data.success === true)
+					EventInspector_ShowMsg('РћРє, SwapModuleOrder', 'success');
+				else EventInspector_ShowMsg('Error, SwapModuleOrder', 'error');
 			}
 		);
 	}
@@ -156,9 +156,9 @@ $(function() {
 			},
 			function(data){
 				data = $.parseJSON(data);
-				if(data.success === true) {
-					alert('РћРє, SwapModuleOrder');
-				} else alert('Error, SwapModuleOrder');
+				if(data.success === true)
+					EventInspector_ShowMsg('РћРє, SwapSubmoduleOrder', 'success');
+				else EventInspector_ShowMsg('Error, SwapSubmoduleOrder', 'error');
 			}
 		);
 	}
@@ -180,9 +180,9 @@ $(function() {
 			},
 			function(data){
 				data = $.parseJSON(data);
-				if(data.success === true) {
-					alert('РћРє, ChangeDiscipline');
-				} else alert('Error, ChangeDiscipline');
+				if(data.success === true)
+					EventInspector_ShowMsg('РћРє, ChangeDiscipline', 'success');
+				else EventInspector_ShowMsg('Error, ChangeDiscipline', 'error');
 			}
 		);
         return false
@@ -256,8 +256,8 @@ $(function() {
 					thisModuleDIV.attr('id', data.ModuleID);
 					// К добавленному в модуль мероприятию добавляем ID
 					thisModuleDIV.children('.subModules').children('.subModule').eq(0).attr('id', data.SubmoduleID);
-					alert('РћРє, AddModule');
-				} else alert('Error, AddModule');
+					EventInspector_ShowMsg('РћРє, AddModule', 'success');
+				} else EventInspector_ShowMsg('Error, AddModule', 'error');
 			}
 		);
 		
@@ -283,8 +283,8 @@ $(function() {
 				if(data.success === true) {
 					// К добавленному мероприятию добавляем ID
 					SubmodulesDIV.children('.subModule').eq(OrderNum - 1).attr('id', data.SubmoduleID);
-					alert('РћРє, AddSubmodule');
-				} else alert('Error, AddSubmodule');
+					EventInspector_ShowMsg('РћРє, AddSubmodule', 'success');
+				} else EventInspector_ShowMsg('Error, AddSubmodule', 'error');
 			}
 		);
 	});
@@ -324,8 +324,8 @@ $(function() {
 			function(data){
 				data = $.parseJSON(data);
 				if(data.success === true)
-					alert('РћРє, DeleteModule');
-				else alert('Error, DeleteModule');
+					EventInspector_ShowMsg('РћРє, DeleteModule', 'success');
+				else EventInspector_ShowMsg('Error, DeleteModule', 'error');
 			}
 		);
 		$(this).parent('div').parent('div').parent('div').remove();
@@ -359,8 +359,8 @@ $(function() {
 			function(data){
 				data = $.parseJSON(data);
 				if(data.success === true)
-					alert('РћРє, DeleteSubmodule');
-				else alert('Error, DeleteSubmodule');
+					EventInspector_ShowMsg('РћРє, DeleteSubmodule', 'success');
+				else EventInspector_ShowMsg('Error, DeleteSubmodule', 'error');
 			}
 		);
 		$(this).parent('div').parent('div').remove();
@@ -388,7 +388,10 @@ $(function() {
 					'ModuleName': NewModuleName
 				},
 				function(data){
-					alert(data);
+					data = $.parseJSON(data);
+					if(data.success === true)
+						EventInspector_ShowMsg('РћРє, Change Module Name', 'success');
+					else EventInspector_ShowMsg('Error, Change Module Name', 'error');
 				}
 			);
 		}
@@ -410,7 +413,10 @@ $(function() {
 					'SubmoduleName': NewSubmoduleName
 				},
 				function(data){
-					alert(data);
+					data = $.parseJSON(data);
+					if(data.success === true)
+						EventInspector_ShowMsg('РћРє, Change Submodule Name', 'success');
+					else EventInspector_ShowMsg('Error, Change Submodule Name', 'error');
 				}
 			);
 		}
diff --git a/media/js/event_inspector.js b/media/js/event_inspector.js
deleted file mode 100644
index 77db70482742dfc71e9a969dcba7d232c5f8e742..0000000000000000000000000000000000000000
--- a/media/js/event_inspector.js
+++ /dev/null
@@ -1,18 +0,0 @@
-function event_inspector_showMessage($text, $success){
-	$('.TopRightMessage').text($text);
-	
-	$('.TopRightMessage').show();
-	
-	if ($success == true)
-		$('.TopRightMessage').css('background', '#2bbd19');
-		
-	if ($success == false)
-		$('.TopRightMessage').css('background', '#FF6666');
-
-	if ($('.TopRightMessage').css('display') == 'block')
-		setInterval(
-			function(){
-				$('.TopRightMessage').hide("slow")
-			}, 5000
-		);
-}
diff --git a/media/js/event_inspector/event_inspector.css b/media/js/event_inspector/event_inspector.css
new file mode 100644
index 0000000000000000000000000000000000000000..5306f9a7e6475c49cb9574c4e09938deed9ac9fd
--- /dev/null
+++ b/media/js/event_inspector/event_inspector.css
@@ -0,0 +1,24 @@
+.EventInspectorList {
+	position: fixed;
+	height: auto;
+	width: 200px;
+	top: 50px;
+	right: 20px
+}
+	.EventInspectorList .EventItem {
+		width: auto;
+		padding: 10px 15px;
+		margin-bottom: 10px;
+		border-radius: 4px;
+		font-size: 14px;
+	}
+	.EventInspectorList .success {
+		color: #3c763d;
+		background-color: #dff0d8;
+		border: 1px solid #d6e9c6;
+	}
+	.EventInspectorList .error {
+		color: #a94442;
+		background-color: #f2dede;
+		border: 1px solid #ebccd1;
+	}
\ No newline at end of file
diff --git a/media/js/event_inspector/event_inspector.js b/media/js/event_inspector/event_inspector.js
new file mode 100644
index 0000000000000000000000000000000000000000..e65b6c4d06bd875599e17fe8e4e7a90609c4f4ac
--- /dev/null
+++ b/media/js/event_inspector/event_inspector.js
@@ -0,0 +1,14 @@
+var $ = jQuery;
+$(function() {
+	$('body').append('<div class="EventInspectorList"></div>');
+});
+
+function EventInspector_ShowMsg(text, type){
+	var MsgDiv = $('.EventInspectorList').append('<div class="EventItem '+ type +'">' + text + '</div>').children().last();
+	setTimeout(
+		function(){
+			MsgDiv.remove();
+		},
+		5000
+	);
+}