whole_func_string: function() {
  			// Determine browser version (IE8-) ($.browser.msie is deprecated since jQuery 1.9)
  			try {
  				if ($.browser.msie === true && $.browser.version < 9) {
  					this.isIE8AndOlder = true;
  				}
  			} catch (ex) {
  				try {
  					var matches = navigator.userAgent.match(/(msie) ([\w.]+)/i);
  					if (matches[2] < 9) {
  						this.isIE8AndOlder = true;
  					}
  				} catch (ex2) {}
  			}
  
  			// Listening window blur
  			$(window).focus();
  			$(window).blur(function(e) {
  				$.iframeTracker.windowLoseFocus(e);
  			});
  
  			// Focus retriever (get the focus back to the page, on mouse move)
  			$("body").append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /></div>');
  			this.focusRetriever = $("#focus_retriever");
  			this.focusRetrieved = false;
  
  			// Special processing to make it work with my old friend IE8 (and older) ;)
  			if (this.isIE8AndOlder) {
  				// Blur doesn't works correctly on IE8-, so we need to trigger it manually
  				this.focusRetriever.blur(function(e) {
  					e.stopPropagation();
  					e.preventDefault();
  					$.iframeTracker.windowLoseFocus(e);
  				});
  
  				// Keep focus on window (fix bug IE8-, focusable elements)
  				$("body").click(function(e) {
  					$(window).focus();
  				});
  				$("form").click(function(e) {
  					e.stopPropagation();
  				});
  
  				// Same thing for "post-DOMready" created forms (issue #6)
  				try {
  					$("body").on("click", "form", function(e) {
  						e.stopPropagation();
  					});
  				} catch (ex) {
  					console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: " + ex.message + ")");
  				}
  			}
  		}
func_code_string: function() {
  			// Determine browser version (IE8-) ($.browser.msie is deprecated since jQuery 1.9)
  			try {
  				if ($.browser.msie === true && $.browser.version < 9) {
  					this.isIE8AndOlder = true;
  				}
  			} catch (ex) {
  				try {
  					var matches = navigator.userAgent.match(/(msie) ([\w.]+)/i);
  					if (matches[2] < 9) {
  						this.isIE8AndOlder = true;
  					}
  				} catch (ex2) {}
  			}
  
  			// Listening window blur
  			$(window).focus();
  			$(window).blur(function(e) {
  				$.iframeTracker.windowLoseFocus(e);
  			});
  
  			// Focus retriever (get the focus back to the page, on mouse move)
  			$("body").append('<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true" /></div>');
  			this.focusRetriever = $("#focus_retriever");
  			this.focusRetrieved = false;
  
  			// Special processing to make it work with my old friend IE8 (and older) ;)
  			if (this.isIE8AndOlder) {
  				// Blur doesn't works correctly on IE8-, so we need to trigger it manually
  				this.focusRetriever.blur(function(e) {
  					e.stopPropagation();
  					e.preventDefault();
  					$.iframeTracker.windowLoseFocus(e);
  				});
  
  				// Keep focus on window (fix bug IE8-, focusable elements)
  				$("body").click(function(e) {
  					$(window).focus();
  				});
  				$("form").click(function(e) {
  					e.stopPropagation();
  				});
  
  				// Same thing for "post-DOMready" created forms (issue #6)
  				try {
  					$("body").on("click", "form", function(e) {
  						e.stopPropagation();
  					});
  				} catch (ex) {
  					console.log("[iframeTracker] Please update jQuery to 1.7 or newer. (exception: " + ex.message + ")");
  				}
  			}
  		}
func_documentation_string: true for Internet Explorer 8 and older Init (called once on document ready)