//
// jQuery Lock Plugin
//
(function ( $ ) {
    $.fn.lock = function( options ) {
	// Keep the reference for later usage
	var elements = this;
	
	// Save the html of the elements		
	var savedHtmlList = elements.map(function(i, el){
		return $(el).html();
	});
		
        // Options
        var settings = $.extend({
            // Default options
            customHandler: null, // Function
            alertMessage: null 	 // String
        }, options );
		
	// Check for DOM changes
	$(elements).on('DOMSubtreeModified', function() {
		var savedHtml = savedHtmlList[elements.index(this)];
		var updatedHtml = $(this).html();
		//Check if there is a change in the element HTML
		if(updatedHtml != savedHtml){
			// If a customHandler is defined, call it and don`t continue
			if(settings.customHandler)
				settings.customHandler(updatedHtml, savedHtml);
			else
				$(this).html(savedHtml);
			// If the alertMessage was set, send the alert
			if(settings.alertMessage)
				alert(settings.alertMessage);				
		}
	});
        // Support chaining
        return elements;
    };
}( jQuery ));

@@ -34,13 +34,10 @@
 tion
- ( $ 
+($
 ) %7B%0A
@@ -65,22 +65,27 @@
 ion(
- 
 options
- 
 ) %7B%0A
-%09
+        
 // K
@@ -118,17 +118,24 @@
 r usage%0A
-%09
+        
 var elem
@@ -147,19 +147,25 @@
 = this;%0A
-%09%0A%09
+%0A        
 // Save 
@@ -191,17 +191,24 @@
 ments%09%09%0A
-%09
+        
 var save
@@ -247,20 +247,31 @@
 n(i, el)
+ 
 %7B%0A
-%09%09
+            
 return $
@@ -287,15 +287,20 @@
 ();%0A
-%09
+        
 %7D);%0A
-%09%09
 %0A   
@@ -460,10 +460,8 @@
 ull 
-%09 
 // S
@@ -488,16 +488,20 @@
 ions
- 
 );%0A
-%09%09%0A%09
+%0A        
 // C
@@ -521,17 +521,24 @@
 changes%0A
-%09
+        
 $(elemen
@@ -579,18 +579,28 @@
 ion() %7B%0A
-%09%09
+            
 var save
@@ -644,18 +644,28 @@
 this)%5D;%0A
-%09%09
+            
 var upda
@@ -690,18 +690,28 @@
 html();%0A
-%09%09
+            
 //Check 
@@ -751,20 +751,31 @@
 nt HTML%0A
-%09%09
+            
 if
+ 
 (updated
@@ -796,13 +796,27 @@
 tml)
+ 
 %7B%0A
-%09%09%09
+                
 // I
@@ -872,21 +872,35 @@
 ontinue%0A
-%09%09%09
+                
 if
+ 
 (setting
@@ -916,20 +916,36 @@
 andler)%0A
-%09%09%09%09
+                    
 settings
@@ -959,16 +959,22 @@
 Handler(
+this, 
 updatedH
@@ -994,20 +994,49 @@
 l);%0A
-%09%09%09else%0A%09%09%09%09
+                else%0A                    
 $(th
@@ -1056,19 +1056,32 @@
 dHtml);%0A
-%09%09%09
+                
 // If th
@@ -1123,13 +1123,27 @@
 ert%0A
-%09%09%09
+                
 if
+ 
 (set
@@ -1162,20 +1162,36 @@
 essage)%0A
-%09%09%09%09
+                    
 alert(se
@@ -1215,21 +1215,43 @@
 ge);
-%09%09%09%09%0A%09%09%7D%0A%09%7D);
+%0A            %7D%0A        %7D);%0A        
 %0A   
@@ -1309,20 +1309,18 @@
    %7D;%0A%7D(
- 
 jQuery
- 
 ));%0A

update customHandler call