/*
 * onUserExit jQuery Plugin (http://www.userfirstinteractive.com/)
 * @author Scott D. Brooks 
 * @created by UserFirst Interactive (creations@userfirstinteractive.com)
 * 
 * @version 1.0
 * 
 * @changelog
 * v 1.0 	->	Starting release [Dec. 27, 2008]
 * 
 */
var showVentana 		= 0;
var movingWithinSite 	= false;  // this is the var that determines if the unload was caused by a user leaving, or navigating in the site.
var codeToExecute		= function() {};
var navegadorClient		= '';

function userMovingWithinSite() {
	movingWithinSite = true;
}

(function($){	
	$.fn.onUserExit = function(options) {		
		var defaults = {
			execute:			"",	 // no function assigned by default
			internalURLs:		"",		// used to detect whether the url is internal or not (you can add subdomains to this list so when a user hops between sites, they are still considered to be internal.
			navegadorClient:	 ""
		};
		var options 			= $.extend(defaults, options);
		
		if (options.execute == "") {
			alert("The onUserExit jQuery Plugin has been misconfigured.  Please add the function you wish to execute.");
		}
		if (options.internalURLs == "") {
			alert("The onUserExit jQuery Plugin has been misconfigured.  Please add internal URLs so it know when the user is navigating internally.");
		}
		codeToExecute = options.execute;
		navegadorClient = options.navegadorClient;
		
		// add onClick function to all internal links
		$("a").each(function() {
			var obj = $(this); 
			var valor = obj.attr("href");
				if(typeof valor != 'undefined'){
					var linkIsInternal = false;
					
					var myInternalURLs = options.internalURLs.split("|");
					
					for (i = 0; i < myInternalURLs.length; i++) {
						if (obj.attr("href").indexOf(myInternalURLs[i]) !== -1) {
							linkIsInternal = true;
						}
						// if it's a relative or absolute URL, so it's internal.
						if (obj.attr("href").indexOf("http://") == -1) {
							linkIsInternal = true;
						}
						if (obj.attr("href").indexOf("https://") == -1) {
							linkIsInternal = true;
						}
					}
		
					if (linkIsInternal == true) {	
						obj.bind("click", function(){
							userMovingWithinSite();
		    			});
					}
				}
		});
		
		$j("a.link_nav").each(function() {
			var obj = $(this); 
				obj.bind('click', function(){
					if (obj.attr("href").indexOf("?") == -1) {
						obj.attr("href",obj.attr("href") +'?_SITE=solollama_eng');
					}else{
 	 					obj.attr("href",obj.attr("href") +'&_SITE=solollama_eng'); 
					}
		 		}
			);
		});
	};
	
	$(window).unload(function() { 
		// unloading the page when the user is leaving
		if (movingWithinSite == false) {
			//if(navegadorClient != 'Safari'){
				if(showVentana == 0){			
					showVentana = 1;
					codeToExecute();
				}
			//}
		}
	});
	
	
	$(window).bind('beforeunload', function() {
		
		// unloading the page when the user is leaving
		if (movingWithinSite == false) {
			//if(showVentana == 0){	
				//showVentana = 1;		
				if(navegadorClient == 'Safari' || navegadorClient == 'Firefox'){
					showVentana = 1;		
					codeToExecute();
				}
			//}
			
		}
	});
	
		
})(jQuery);
