Index: pro-violet-viettel/sourcecode/application/config/database.php
===================================================================
--- pro-violet-viettel/sourcecode/application/config/database.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/config/database.php	(revision 483)
@@ -51,5 +51,5 @@
 $db['default']['hostname'] = 'mysql:host=127.0.0.1';
 $db['default']['username'] = 'root';//sbg
-$db['default']['password'] = 'Quyenhue@123';//sbg~~!!@@123
+$db['default']['password'] = '123456';//sbg~~!!@@123
 $db['default']['database'] = 'violet-viettel';
 $db['default']['dbdriver'] = 'pdo';
Index: pro-violet-viettel/sourcecode/application/config/routes.php
===================================================================
--- pro-violet-viettel/sourcecode/application/config/routes.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/config/routes.php	(revision 483)
@@ -44,5 +44,4 @@
 $route['violetservice/soanbai/mo'] = 'services/viettel/mo';
 $route['violetservice/soanbai/mo/wsdl'] = 'services/viettel/index/wsdl';
-$route['violetservice/soanbai/mo?wsdl'] = 'services/viettel/index/wsdl';
 
 $route['admin'] = 'admin/home';
@@ -57,5 +56,4 @@
 $route['admin/cong_tac_vien/xoa_cong_tac_vien'] = 'admin/collaborator/dodeleteUser';
 $route['admin/cong_tac_vien/cap_nhat'] = 'admin/collaborator/updateUser';
-
 
 $route['admin/mau_tin_nhan'] = 'admin/smstemplate';
Index: pro-violet-viettel/sourcecode/application/libraries/vsoap.php
===================================================================
--- pro-violet-viettel/sourcecode/application/libraries/vsoap.php	(revision 483)
+++ pro-violet-viettel/sourcecode/application/libraries/vsoap.php	(revision 483)
@@ -0,0 +1,8 @@
+<?php 
+class Vsoap extends SoapServer
+{
+    public function __construct($wsdl=null, $options = null)
+    {
+        return parent::__construct($wsdl, $options);
+    }
+}
Index: pro-violet-viettel/sourcecode/application/modules/frontend/controllers/lecture.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/frontend/controllers/lecture.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/modules/frontend/controllers/lecture.php	(revision 483)
@@ -26,6 +26,5 @@
 		if ($user_info){
 			$username = $user_info['username'];
-			$flashscript = $this->load->view('flashscript',null, true);
-			$this->load->view ( 'lecture_editor', array('username'=>$username, 'licenseAvailable' => $licenseAvailable, 'flashScript' => $flashscript));
+			$this->load->view ( 'lecture_editor', array('username'=>$username, 'licenseAvailable' => $licenseAvailable));
 
 		}else{
Index: pro-violet-viettel/sourcecode/application/modules/frontend/models/user_model.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/frontend/models/user_model.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/modules/frontend/models/user_model.php	(revision 483)
@@ -91,5 +91,5 @@
 			case 0:
 				$us_id = $id;
-				$user['created_time'] = $receiveTime;
+				$user['created_time'] = date('Y-m-d H:i:s');
 				$user['us_id'] = $us_id;
 				$user['cellphone'] = $username;
@@ -109,5 +109,5 @@
 			case 2:				
 			case 4:
-				$sms = "So dien thoai cá»§a Qui vi da duoc dang ky !";
+				$sms = "So dien thoai cua Qui vi da duoc dang ky !";
 				$status = 0;
 				break;
Index: pro-violet-viettel/sourcecode/application/modules/frontend/views/flashscript.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/frontend/views/flashscript.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/modules/frontend/views/flashscript.php	(revision 483)
@@ -7,5 +7,9 @@
 
 function InitViolet() {
-  g_Flash = isInternetExplorer ? LectorEditorOnline : document.LectorEditorOnline;
+  console.log('onload');
+  g_Flash = document.getElementById('LectorEditorOnline');
+  //g_Flash = isInternetExplorer ? LectorEditorOnline : document.LectorEditorOnline;
+
+  console.log(LectorEditorOnline);
 }
 
@@ -38,4 +42,5 @@
 // Handle all the FSCommand messages in a Flash movie.
 function LectorEditorOnline_DoFSCommand(command, args) {
+
   switch (command) {
     case "Set Title": SetWindowTitle(args); break;
Index: pro-violet-viettel/sourcecode/application/modules/frontend/views/lecture_editor.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/frontend/views/lecture_editor.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/modules/frontend/views/lecture_editor.php	(revision 483)
@@ -1,4 +1,4 @@
 <?php
-$this->load->view('layout/frontend/header', array('flashScript' => $flashScript));
+$this->load->view('layout/frontend/header');
 $base_url = base_url();
 $this->load->view('layout/frontend/sidebar');
@@ -13,9 +13,11 @@
 								<?php $flashVars = 'online=true&applicationId=Violet Online' ?>
 								<?php $flashVars.= '&commonLibList=sxIOE3.xml,sxIOE4.xml,sxIOE5.xml,tnIOE3.xml,tnIOE4.xml,tnIOE5.xml' ?>
-								<?php $flashVars.= '&youtubeUrl=Service/fake_youtube.php'.$langParam.'&command=Init OK' ?>
+								<?php $flashVars.= '&youtubeUrl='.$base_url.'assets/soanbai/Service/fake_youtube.php'.$langParam.'&command=Init OK' ?>
 								<?php $flashVars.= '&licenseStatus='.$licenseAvailable ?>
 
 								<div class="embed-responsive embed-responsive-16by9">
-								  <embed								  	  
+								  <embed
+								  	  id="LectorEditorOnline"
+								  	  name="LectorEditorOnline"								  	  
 									  class="embed-responsive-item" 
 									  src="<?php echo $base_url;?>assets/soanbai/Lecture/LectureEditor.swf" 
@@ -26,5 +28,4 @@
 								</div>							
 								<!-- PAGE CONTENT ENDS -->
-
 					</div><!-- /.page-content -->
 				</div><!-- /.main-content -->
@@ -35,5 +36,7 @@
 			</a>
 		</div><!-- /.main-container -->
+		
 <?php
-$this->load->view('layout/frontend/footer');
+$this->load->view('servicemodals');
+$this->load->view('layout/frontend/footer', array('usjs'=> array('assets/js/frontend/lecture.js')));
 ?>
Index: pro-violet-viettel/sourcecode/application/modules/frontend/views/servicemodals.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/frontend/views/servicemodals.php	(revision 483)
+++ pro-violet-viettel/sourcecode/application/modules/frontend/views/servicemodals.php	(revision 483)
@@ -0,0 +1,165 @@
+		<!-- alert-services -->
+		<div class="modal fade" id="alert-services" tabindex="-1" role="dialog"aria-hidden="true">
+		  <div class="modal-dialog">
+		    <div class="modal-content">
+		      <div class="modal-header">
+		        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+		        <h4 class="modal-title">ThÃŽng bÃ¡o dá»ch vá»¥</h4>
+		      </div>
+		      <div class="modal-body">
+		      	<div class="alert alert-block alert-success">						
+							<p>
+								QuÃ­ vá» chÆ°a ÄÄng kÃ­ sá»­ dá»¥ng dá»ch vá»¥ Soáº¡n BÃ i giáº£ng online. QuÃ­ vá» cÃ³ thá» dÃ¹ng thá»­ dá»ch vá»¥ Soáº¡n BÃ i giáº£ng online trÆ°á»c khi ÄÄng kÃ­.
+							</p>
+						</div>
+		      </div>
+
+		      <div class="modal-footer">
+		      	<button type="button" class="btn btn-info" data-dismiss="modal">DÃ¹ng thá»­</button>
+		      	<button type="button" class="btn btn-success" id="services-reg">ÄÄng kÃœ</button>
+		      </div>
+		    </div>
+		  </div>
+		</div>
+		<!-- END: alert-services -->
+		
+		<!-- alert-services-reg -->
+		<div class="modal fade" id="alert-services-reg" tabindex="-1" role="dialog"aria-hidden="true">
+		  <div class="modal-dialog">
+		    <div class="modal-content">
+		      <div class="modal-header">
+		        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+		        <h4 class="modal-title">ThÃŽng bÃ¡o dá»ch vá»¥</h4>
+		      </div>
+		      <div class="modal-body">
+		      	<h3>
+							TÃ i khoáº£n cá»§a quÃ­ vá» hiá»n táº¡i lÃ  1,000 Äá»ng.
+						</h3>
+						<h4 class="header blue bolder smaller">ÄÄng kÃœ dá»ch vá»¥</h4>
+						<h5>CÃ¡ch 1</h5>
+		      	<div class="alert alert-block alert-success">						
+							<table class="table">
+								<caption>Má»i quÃ­ vá» chá»n cÃ¡c gÃ³i dá»ch vá»¥ sau:</caption>
+								<tbody>
+									<tr>
+										<td>1 thÃ¡ng</td>
+										<td>15.000 VNÄ</td>
+										<td class="center">
+											<label>
+												<input type="checkbox" class="ace" />
+												<span class="lbl"></span>
+											</label>
+										</td>
+									</tr>
+									<tr>
+										<td>3 thÃ¡ng</td>
+										<td>40.000 VNÄ</td>
+										<td class="center">
+											<label>
+												<input type="checkbox" class="ace" />
+												<span class="lbl"></span>
+											</label>
+										</td>
+									</tr>
+									<tr>
+										<td>6 thÃ¡ng</td>
+										<td>70.000 VNÄ</td>
+										<td class="center">
+											<label>
+												<input type="checkbox" class="ace" />
+												<span class="lbl"></span>
+											</label>
+										</td>
+									</tr>
+									<tr>
+										<td>12 thÃ¡ng</td>
+										<td>130.000 VNÄ</td>
+										<td class="center">
+											<label>
+												<input type="checkbox" class="ace" />
+												<span class="lbl"></span>
+											</label>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+						<h5>CÃ¡ch 2</h5>
+						<h4>Soáº¡n tin: SBG VIP 1 (hay 3, 6, 12) gá»­i tá»i 8062</h4>
+		      </div>
+
+		      <div class="modal-footer">
+		      	<button type="button" class="btn btn-info" data-dismiss="modal">DÃ¹ng thá»­</button>
+		      	<button type="button" class="btn btn-success" id="services-sign">Tiáº¿p tá»¥c</button>
+		      </div>
+		    </div>
+		  </div>
+		</div>
+		<!-- END: alert-services-reg -->
+		
+		<!-- alert-services-reg-2 -->
+		<div class="modal fade" id="alert-services-reg-2" tabindex="-1" role="dialog"aria-hidden="true">
+		  <div class="modal-dialog">
+		    <div class="modal-content">
+		      <div class="modal-header">
+		        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+		        <h4 class="modal-title">ThÃŽng bÃ¡o dá»ch vá»¥</h4>
+		      </div>
+		      <div class="modal-body">
+		      	<div class="alert alert-block alert-success">						
+							<p>
+								QuÃ­ vá» cáº§n Äiá»n Äáº§y Äá»§ Há» vÃ  tÃªn chÃ­nh xÃ¡c báº±ng tiáº¿ng Viá»t cÃ³ dáº¥u, cÃ¡c tÃªn ÄÆ¡n vá» sáºœ khÃŽng ÄÆ°á»£c cháº¥p nháº­n.
+							</p>
+						</div>
+						<form class="form-horizontal" action="#" method="POST">
+							<div class="form-group">
+								<label for="form-field-first" class="col-sm-4 control-label no-padding-right">
+								Há» vÃ  tÃªn</label>
+								<div class="col-sm-8">
+									<input type="text" value="" placeholder="Há»" id="form-field-first" class="input-small">
+									<input type="text" value="" placeholder="TÃªn" id="form-field-last" class="input-small">
+								</div>
+							</div>
+
+							<div class="space-4"></div>
+
+							<div class="form-group">
+								<label for="form-field-username" class="col-sm-4 control-label no-padding-right">
+								ÄÆ¡n vá»</label>
+								<div class="col-sm-8">
+									<input type="text" placeholder="ÄÆ¡n vá»" id="form-field-username" class="col-xs-12 col-sm-10">
+								</div>
+							</div>
+						</form>
+		      <div class="modal-footer">
+		      	<a href="#" class="btn btn-success" data-dismiss="modal">ÄÄng kÃœ</a>
+		      </div>
+		    </div>
+		  </div>
+		</div>
+		<!-- END: alert-services-reg-2 -->
+		
+		<!-- alert-update-info -->
+		<div class="modal fade" id="alert-update-info" tabindex="-1" role="dialog"aria-hidden="true">
+		  <div class="modal-dialog">
+		    <div class="modal-content">
+		      <div class="modal-header">
+		        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+		        <h4 class="modal-title">ThÃŽng bÃ¡o dá»ch vá»¥</h4>
+		      </div>
+		      <div class="modal-body">
+		      	<div class="alert alert-block alert-success">						
+							<p>
+								QuÃ­ vá» hÃ£y nháº­p thÃŽng tin cÃ¡ nhÃ¢n Äá» cÃ³ thá» sá»­ dá»¥ng dá»ch vá»¥.
+							</p>
+						</div>
+		      </div>
+
+		      <div class="modal-footer">
+		      	<button type="button" class="btn btn-info" id="services-sign">Tiáº¿p tá»¥c</button>
+		      </div>
+		    </div>
+		  </div>
+		</div>
+		<!-- END: alert-update-info -->
+		
Index: pro-violet-viettel/sourcecode/application/modules/services/controllers/moservice.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/services/controllers/moservice.php	(revision 483)
+++ pro-violet-viettel/sourcecode/application/modules/services/controllers/moservice.php	(revision 483)
@@ -0,0 +1,74 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * Moservice Class
+ * 
+ * @author dzungnv02
+ *
+ */
+
+class Moservice extends MX_Controller 
+{
+	private $_wsdl = 'http://210.211.97.53/mo.wsdl';
+	private $_server = null;
+		
+	public function __construct() 
+	{
+		parent::__construct();
+		ini_set("soap.wsdl_cache_enabled","1");		
+		$this->_server = new SoapServer(NULL,
+					array('soap_version' => SOAP_1_2, 'encoding' => 'UTF-8', 'uri' => 'http://tempuri.org/')
+				);
+		
+	}
+	
+	public function index () 
+	{
+		function messageReceiver()
+		{
+			$aryArgs = func_get_args();
+			list($username, $password, $requestID, $userID, $receiverID, $serviceID, $commandCode, $contentType ,$info, $receiveTime) = $aryArgs;
+			return '1|0|'.$commandCode.$serviceID;
+		}
+		
+		$this->_server->addFunction('messageReceiver');		
+
+		try {
+			ob_start();
+			$soapOutput = '';
+			$this->_server->handle();
+			
+			if (ob_get_length() > 0) {
+				$soapOutput = ob_get_clean();
+			}			
+			
+			if ($soapOutput != '') { 
+				$pattern = '/<[^>]*[^\/]>/i';
+				$aryOutput = preg_split ($pattern, $soapOutput, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
+				
+				$xml = '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+						   <S:Body>
+						      <messageReceiverResponse xmlns="http://tempuri.org/">
+						         <return>'.$aryOutput[1].'</return>
+						      </messageReceiverResponse>
+						   </S:Body>
+						</S:Envelope>';
+				
+				header('Content-Type: text/xml; charset: utf-8');
+				echo $xml;
+			}
+			else {
+				header('Content-Type: text/html; charset: utf-8');
+				echo 'See service <a href="'.base_url().'services/moservice/wsdl">WSDL page</a>';
+			}
+		}
+		catch (Exception $e) {
+		    $this->_server->fault('Sender', $e->getMessage());
+		}		
+	}
+	
+	public function wsdl ()
+	{
+		header('Content-Type: text/xml; charset: utf-8');
+		echo file_get_contents($this->_wsdl);
+	}
+}
Index: pro-violet-viettel/sourcecode/application/modules/services/controllers/viettel.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/services/controllers/viettel.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/modules/services/controllers/viettel.php	(revision 483)
@@ -9,46 +9,13 @@
 class Viettel extends MX_Controller 
 {
+	
+	private $_server = null;
+	
 	function __construct() {
 		parent::__construct ();
-		
-		$this->nusoap_server = new soap_server ();
-		$this->nusoap_server->configureWSDL('messageReceiverWSDL','urn:messageReceiverWSDL');
-
-		$this->nusoap_server->soap_defencoding = 'UTF-8';		
-		$this->nusoap_server->methodreturnisliteral=TRUE;
-		
-		$this->nusoap_server->wsdl->addComplexType(
-				'messageReceiver',
-				'simpleType',
-				'struct',
-				'',
-				'SOAP-ENC:Array',
-				array(
-						'username'=>array('name'=>'username', 'type'=>'xsd:string'),
-						'password'=>array('name'=>'password', 'type'=>'xsd:string'),
-						'requestID'=>array('name'=>'requestID', 'type'=>'xsd:string'),
-						'userID'=>array('name'=>'userID', 'type'=>'xsd:string'),
-						'receiverID'=>array('name'=>'receiverID', 'type'=>'xsd:string'),
-						'serviceID'=>array('name'=>'serviceID', 'type'=>'xsd:string'),
-						'commandCode'=>array('name'=>'commandCode', 'type'=>'xsd:string'),
-						'contentType'=>array('name'=>'contentType', 'type'=>'xsd:string'),
-						'info'=>array('name'=>'info', 'type'=>'xsd:string'),
-						'receiveTime'=>array('name'=>'receiveTime', 'type'=>'xsd:string')
-				)
+		ini_set("soap.wsdl_cache_enabled","1");
+		$this->_server = new SoapServer(NULL,
+				array('soap_version' => SOAP_1_2, 'encoding' => 'UTF-8', 'uri' => 'http://tempuri.org/')
 		);
-		
-		$this->nusoap_server->register ( 'MOReceiver', 
-				array( 'username' => 'xsd:string',
-						'password' => 'xsd:string',
-						'requestID' => 'xsd:string',
-						'userID' => 'xsd:string',
-						'receiverID' => 'xsd:string',
-						'serviceID' => 'xsd:string',
-						'commandCode' => 'xsd:string',
-						'contentType' => 'xsd:string',
-						'info' => 'xsd:string',
-						'receiveTime' => 'xsd:string')
-				, array ('return' => 'xsd:string'),
-				'urn:messageReceiverWSDL',"urn:messageReceiverWSDL#MOReceiver","rpc","encoded");
 	}
 
@@ -56,14 +23,18 @@
 	{
 		if($this->uri->segment(4) == "wsdl") {
-			$_SERVER['QUERY_STRING'] = "wsdl";
+			header('Content-Type: text/xml; charset: utf-8');
+			$this->load->view('mowsdl');
 		} else {
-			$_SERVER['QUERY_STRING'] = "";
-		}
-		$this->nusoap_server->service(file_get_contents("php://input"));
+			header('Content-Type: text/html; charset: utf-8');
+			echo 'See service <a href="'.base_url().'violetservice/soanbai/mo/wsdl">WSDL page</a>';
+		}			
 	}
 	
 	public function mo() 
 	{	
-		function MOReceiver($username, $password, $requestID, $userID, $receiverID, $serviceID, $commandCode, $contentType ,$info, $receiveTime){
+		function messageReceiver(){
+			$aryArgs = func_get_args();
+			list($username, $password, $requestID, $userID, $receiverID, $serviceID, $commandCode, $contentType ,$info, $receiveTime) = $aryArgs;
+			
 			$msgType = '0'; //text message
 			$errCode = '1'; //#1:error; 1:Success;
@@ -78,4 +49,5 @@
 			if ($password != $mo_password) return '0|0|Password is not corrected!';
 			if (!$requestID) return '0|0|requestID is required!';
+			if ((int)$requestID != 4) return '0|0|requestID is not corrected!';
 			if (!$userID) return '0|0|UserID is required!';
 			if (!$serviceID) return '0|0|serviceID is required!';
@@ -96,5 +68,37 @@
 		}
 		
-		$this->nusoap_server->service(file_get_contents("php://input"));
+		$this->_server->addFunction('messageReceiver');
+		try {
+			ob_start();
+			$soapOutput = '';
+			$this->_server->handle();
+				
+			if (ob_get_length() > 0) {
+				$soapOutput = ob_get_clean();
+			}
+				
+			if ($soapOutput != '') {
+				$pattern = '/<[^>]*[^\/]>/i';
+				$aryOutput = preg_split ($pattern, $soapOutput, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
+		
+				$xml = '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+						   <S:Body>
+						      <messageReceiverResponse xmlns="http://tempuri.org/">
+						         <return>'.$aryOutput[1].'</return>
+						      </messageReceiverResponse>
+						   </S:Body>
+						</S:Envelope>';
+		
+				header('Content-Type: text/xml; charset: utf-8');
+				echo $xml;
+			}
+			else {
+				header('Content-Type: text/html; charset: utf-8');
+				echo 'See service <a href="'.base_url().'violetservice/soanbai/mo/wsdl">WSDL page</a>';
+			}
+		}
+		catch (Exception $e) {
+			$this->_server->fault('Sender', $e->getMessage());
+		}
 	}
 }
Index: pro-violet-viettel/sourcecode/application/modules/services/views/mowsdl.php
===================================================================
--- pro-violet-viettel/sourcecode/application/modules/services/views/mowsdl.php	(revision 483)
+++ pro-violet-viettel/sourcecode/application/modules/services/views/mowsdl.php	(revision 483)
@@ -0,0 +1,59 @@
+<?php echo "<?xml version='1.0' encoding='UTF-8'?>";?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">
+  <wsdl:types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
+      <s:element name="messageReceiver">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="requestID" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="userID" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="receiverID" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="serviceID" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="commandCode" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="contentType" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="info" type="s:string"/>
+            <s:element minOccurs="0" maxOccurs="1" name="receiveTime" type="s:string"/>
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="messageReceiverResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s:string"/>
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+    </s:schema>
+  </wsdl:types>
+  <wsdl:message name="messageReceiverSoapIn">
+    <wsdl:part name="parameters" element="tns:messageReceiver"/>
+  </wsdl:message>
+  <wsdl:message name="messageReceiverSoapOut">
+    <wsdl:part name="parameters" element="tns:messageReceiverResponse"/>
+  </wsdl:message>
+  <wsdl:portType name="MOReceiver">
+    <wsdl:operation name="messageReceiver">
+      <wsdl:input message="tns:messageReceiverSoapIn"/>
+      <wsdl:output message="tns:messageReceiverSoapOut"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="MOReceiver" type="tns:MOReceiver">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="messageReceiver">
+      <soap:operation soapAction="http://tempuri.org/messageReceiver" style="document"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="MOReceiver">
+    <wsdl:port name="MOReceiver" binding="tns:MOReceiver">
+      <soap:address location="<?php echo base_url();?>violetservice/soanbai/mo"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
Index: pro-violet-viettel/sourcecode/application/views/layout/frontend/footer.php
===================================================================
--- pro-violet-viettel/sourcecode/application/views/layout/frontend/footer.php	(revision 482)
+++ pro-violet-viettel/sourcecode/application/views/layout/frontend/footer.php	(revision 483)
@@ -85,5 +85,5 @@
                 {
                 ?>
-                <script type="text/javascript" src="<?php echo $base_url;?><?php echo $file?>"></script>
+                	<script type="text/javascript" src="<?php echo $base_url;?><?php echo $file?>"></script>
                 <?php
                 }
Index: pro-violet-viettel/sourcecode/assets/js/ace.min.js
===================================================================
--- pro-violet-viettel/sourcecode/assets/js/ace.min.js	(revision 482)
+++ pro-violet-viettel/sourcecode/assets/js/ace.min.js	(revision 483)
@@ -11,3 +11,5 @@
 	  setHeight();
 	})
+
+	$('a[href="' + window.location.hash + '"]').click()
 });
Index: pro-violet-viettel/sourcecode/assets/js/frontend/lecture.js
===================================================================
--- pro-violet-viettel/sourcecode/assets/js/frontend/lecture.js	(revision 483)
+++ pro-violet-viettel/sourcecode/assets/js/frontend/lecture.js	(revision 483)
@@ -0,0 +1,76 @@
+	function showModal() {
+		console.log('Show modal!');
+		$('#alert-services').modal('show');
+	}
+	
+	$('#services-reg').click(function() {
+		$('#alert-services').modal('hide');
+		$('#alert-services-reg').modal('show');
+	});
+	$('#services-sign').click(function() {
+		$('#alert-services-reg').modal('hide');
+		$('#alert-services-reg-2').modal('show');
+	})	
+	
+	var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
+	var g_Flash = null;
+	var g_cbData = "";
+	
+	function InitViolet() {
+	  g_Flash = document.getElementById('LectorEditorOnline');
+	  //g_Flash = $('#LectorEditorOnline');
+	  //g_Flash = isInternetExplorer ? LectorEditorOnline : document.LectorEditorOnline;
+	};
+	
+	function GetClipboardItem() {
+	  var cbData = window.clipboardData? window.clipboardData.getData('Text'): g_cbData;
+	  g_Flash.SetVariable("clipboardData", cbData);
+	  g_Flash.SetVariable("command", "Get Text");
+	};
+	
+	function SetClipboardItem(args) {
+	  if (window.clipboardData) window.clipboardData.setData('Text', args);
+	  else g_cbData = args;
+	  g_Flash.SetVariable("command", "Set OK");
+	};
+	
+	function SetWindowTitle(fileName) {
+	  if (fileName == "") document.title = "Violet Online";
+	  else {
+	    var docName = fileName.substring(0, fileName.length - 4);
+	    document.title = "Violet Online - " + docName;
+	  }
+	};
+	
+	function SetWindowState() {
+	  var full = (g_Flash.width == "100%");
+	  g_Flash.width  = full? "800": "100%";
+	  g_Flash.height = full? "580": "100%";
+	};
+	
+	// Handle all the FSCommand messages in a Flash movie.
+	function LectorEditorOnline_DoFSCommand(command, args) {
+	  switch (command) {
+	    case "Set Title": SetWindowTitle(args); break;
+	    case "Get Clipboard": GetClipboardItem(); break;
+	    case "Set Clipboard": SetClipboardItem(args); break;
+	    case "Set State": SetWindowState(); break;
+	    case "Quit": window.open('','_self').close(); break;
+	    case "trace": alert(args); break;
+	    case "Check License": showModal(); break;
+	  }
+	};
+	
+	// Hook for Internet Explorer.
+	if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
+	  document.write('<script language=\"VBScript\"\>\n');
+	  document.write('On Error Resume Next\n');
+	  document.write('Sub LectorEditorOnline_FSCommand(ByVal command, ByVal args)\n');
+	  document.write('  Call LectorEditorOnline_DoFSCommand(command, args)\n');
+	  document.write('End Sub\n');
+	  document.write('</script\>\n');
+	};
+
+	$(document).ready(function(){
+		InitViolet();
+	})
Index: pro-violet-viettel/sourcecode/assets/soanbai/index.php
===================================================================
--- pro-violet-viettel/sourcecode/assets/soanbai/index.php	(revision 482)
+++ pro-violet-viettel/sourcecode/assets/soanbai/index.php	(revision 483)
@@ -14,5 +14,6 @@
 
 function InitViolet() {
-  g_Flash = isInternetExplorer ? LectorEditorOnline : document.LectorEditorOnline;
+  //g_Flash = isInternetExplorer ? LectorEditorOnline : document.LectorEditorOnline;
+	g_Flash = document.getElementById('LectorEditorOnline');
 }
 
Index: pro-violet-viettel/sourcecode/log.txt
===================================================================
--- pro-violet-viettel/sourcecode/log.txt	(revision 482)
+++ 	(revision )
@@ -1,7 +1,0 @@
-'70'
-'http://sbgapi.violet.vn/user/getinfo'
-array (
-  'src' => 'violet',
-  'us_id' => '70',
-  'token' => '33d3b7ede4a5494f37bdeb167583baf0',
-)
