Hello all! I have some code here that is working exactly how I want it to with one exception. This code itself alerts users when they leave our site. Basically asking them to participate in a survey. The one snag with this code is that it will not alert them when they manually leave the site, by manually I mean type it into the address bar. Which I think is what most people do when leaving a site. Any and all help would be GREATLY appreciated. Thanks!

Here is the code:

Code:
function SurveyRelocationManager(){
	//Constr.
	this.aInternalURLs = new Array();
}
SurveyRelocationManager.prototype.init = function(){
	
	this.setInternalURLs();
}
SurveyRelocationManager.prototype.setSurveyURL = function(s){
	this.sSurv = s;
}
SurveyRelocationManager.prototype.getSurveyURL = function(){
	return this.sSurv.valueOf();
}
SurveyRelocationManager.prototype.addInternalURL = function(s){
	this.aInternalURLs.push(s);
}
SurveyRelocationManager.prototype.removeInternalURL = function(s){
	for(var a = 0; a<this.aInternalURLs.length; a++){
		if(this.aInternalURLs[a] == s){
			this.aInternalURLs.splice(a, 1);
		}
	}
}
SurveyRelocationManager.prototype.getInternalURLs = function(){
	return this.aInternalURLs.slice(0);
}
SurveyRelocationManager.prototype.getURLIsInternal = function(s){
	var t;
	/*
		KLUDGE:		t.indexOf 	returns -1 if aInternalURLs has no 
		slash at the end.  Somehow forward slashes cancels the eval.
		TODO:		Refactor t.indexOf.
	*/
	
	for(var a = 0; a<this.aInternalURLs.length; a++){
		t = this.aInternalURLs[a];
		//
		if(s.indexOf(t) != -1){
			return true;
		}else if(s.indexOf('http://') == -1)
			return true;
	}
	return false;
}
SurveyRelocationManager.prototype.onClick = function(o){
	var b = this.getURLIsInternal(o.toString());
	if(!b){
		var c = confirm("Do you want to take the survey?");
		if(c){
			//TODO:		Relocate here.
			document.location = this.getSurveyURL();
		} else {
			return true;
		}
	} else {
		return true;
	}
	return false;
}