	var ex_docExt = new RegExp(/\.(docx*|xlsx*|pptx*|exe|zip|pdf|xpi)$/i);
	
	var ExitTracker = Class.create({
	initialize: function()
	{
		this.domain = document.location.toString().toLowerCase().split("/")[2];
 
		$$("a").each(function(item)
		{
			if (item.href && (item.href != (document.location + "#")))
			{
				$(item).observe("click", this.track.bindAsEventListener(this));
			}
		}.bind(this));
	},
 
	track: function(e)
	{
		try
		{
		 var el = e.element();
		 var exit_domain = null;
		 
		 if (el.href != undefined)
		 {
		    if (el.href.indexOf("mailto:") == 0 || el.href.indexOf("MAILTO:") == 0)
		    {
			this.track_event("Mailto",el.href.substr(el.href.indexOf(":")+1),window.location,'');
		    }
		    else {
			exit_domain = el.href.split("/")[2].toLowerCase();

			if (ex_docExt.test(el.href))
			{
			    this.track_event("Download", el.href, window.location, '');
			}
			else if (this.domain.toLowerCase().indexOf(exit_domain) == -1)
			{
			    this.track_event("Outbound", el.href, window.location, '');
			}
		    }
		 }
		} catch(err) {}
	},

	track_event: function(event_type,event_url,event_url_location,event_opt_value)
	{
	    try
		{
		if (number_of_tracker != undefined)
		{
			    //first track is call pageTracker
			if (!isNaN(event_opt_value))
			    event_opt_value = 1;
			
			for (i=0; i<number_of_tracker; i++)
			{
			    tracker = "pageTracker" + i.toString();
			    if (typeof eval(tracker) != undefined)
			    {
				    if (external_track_method == "P")
					eval(tracker + "._trackPageview('"+event_url+(event_url.indexOf("?") ? "?" : "&")+"type="+event_type+"&currentURL="+event_url_location+"')");
				    else
					eval(tracker +  "._trackEvent('"+event_type+"','"+event_url+"','"+event_url_location+"',"+event_opt_value+")");
			    }
			}
		}
	    } catch(err) {}
	}
    });

    var gaTracker = Class.create({
	track_pageview: function(pagename)
	{
	    try {
		if (number_of_tracker != undefined)
		{
			//first track is call pageTracker
		    for (i=0; i<number_of_tracker; i++)
		    {
			tracker = "pageTracker" + i.toString();
			if (typeof eval(tracker) != undefined)
				    eval(tracker + "._trackPageview('"+pagename+"')");
				
		    }
		}
	    } catch(err) {}
	},
	track_event: function(event_type,event_url,event_url_location,event_opt_value)
	{
	    try
		{
		if (number_of_tracker != undefined)
		{
			    //first track is call pageTracker

			for (i=0; i<number_of_tracker; i++)
			{
			    tracker = "pageTracker" + i.toString();
			    if (typeof eval(tracker) != undefined) {
			    	var evalStr = tracker + "._trackEvent('"+event_type+"','"+event_url+"','"+event_url_location+"'";			    	
			    	if(event_opt_value)
			    		evalStr += ","+event_opt_value;			    	
			    	evalStr += ");";
			    	
				    eval(evalStr);
			    }
			}
		}
	    } catch(err) {}
	}
    })

