
/*********************************************************************
                             BROWSER DETECT
 *********************************************************************/

function isSpiderVisit(){
	if (BrowserDetect.browser=="UNKNOWN_BROWSER" &&
		BrowserDetect.version=="UNKNOWN_VERSION" && 
		BrowserDetect.OS=="UNKNOWN_OS"){
		return true;
	}else{
		return false;
	}
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "UNKNOWN_BROWSER";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "UNKNOWN_VERSION";
		this.OS = this.searchString(this.dataOS) || "UNKNOWN_OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


/*********************************************************************
                             VISIT LOG
 *********************************************************************/



/*
var baseURL_local ="http://127.0.0.1:9090/agenttoolboxes/";
var baseURL_tahoe ="http://www.agenttoolboxes.com/";
var baseURL_HTTPS ="https://www.agenttoolboxes.com/";

function getBaseURL(){
	var currLoc = ""+document.location;
	currLoc = currLoc.toLowerCase();
	
	if (currLoc.indexOf("http://")==0){
		if (currLoc.indexOf("http://127.0.0.1")==0){
			return baseURL_local;
		}else{
			return baseURL_tahoe;
		}
	}else{
		return baseURL_HTTPS;
	}
}
*/


function getBaseURL(){
	var currLoc = ""+document.location;
	
	currLoc = currLoc.toLowerCase();
	
	var DOMAIN_HTTP ="http://";
	var DOMAIN_HTTPS ="https://";
	var DOMAIN_LOCAL ="127.0.0.1";
	
	var pos_http = currLoc.indexOf(DOMAIN_HTTP);
	var pos_https = currLoc.indexOf(DOMAIN_HTTPS);
	var pos_local = currLoc.indexOf(DOMAIN_LOCAL);
	

	
	if (pos_local>=0){
	   var pos2 = currLoc.indexOf("/",DOMAIN_HTTPS.length);
	   if (pos2>0){
	   	pos3 = currLoc.indexOf("/",pos2+1);
	   	return currLoc.substring(0,pos3+1);
	   }
	}
	
	if (pos_http>=0){
	   var pos2 = currLoc.indexOf("/",DOMAIN_HTTP.length);
	   return currLoc.substring(0,pos2+1);
	}
	
	if (pos_https>=0){
	   var pos2 = currLoc.indexOf("/",DOMAIN_HTTPS.length);
	   return currLoc.substring(0,pos2+1);
	}
		
	return "";
	
}


//current document
var __eeDocument;

//referer url
var __eeReferer 	= "";
//entry page
var __eeEntryPage	= "";

function __eeParseRequest(){
	if (__eeDocument){
		__eeReferer		=__eeToStringCode(__eeDocument.referrer);
		__eeEntryPage	=__eeToStringCode(__eeDocument.location.href);
	}
}

function __eeToStringCode(eeText){
	if (!eeText ||eeText===null || eeText.size===0){
		return "";
	}
	
	var eeCodes ="";
	for (var i=0; i<eeText.length; i=i+1){
		var myCode = eeText.charCodeAt(i);
		eeCodes +=myCode+"_";
	}

	
	return eeCodes;
}



function __eeRegVisitor(){
	
	//current document
	__eeDocument = document;
	
	//parse request
	__eeParseRequest();
	
	var myBaseURL =getBaseURL();
	
	var url =myBaseURL+"rr.html";
		var a = {
			referer : __eeReferer,
			entryPage : __eeEntryPage,
			r:__eeGetRandom()
		};

		try{
			var pars =$H(a).toQueryString();	
	
			var ajax = new Ajax.Request(
				url, 
				{
					method: 'get', 
					parameters: pars, 
					onComplete: __eeRegVisitorComplete
				});			
		
		}catch(e){
		    //hide search icon
		    //alert(e.message);
		  	//closeAjaxLoading();
		}
			
	
}

function __eeRegVisitorComplete(){
	//do nothing after ajax call
}


function __eeGetRandom(){
	var max = 10000;
	var min = 1;
        var range = max - min;
        var rand = Math.random();
        return(min + Math.round(rand * range));
}


//register onload
if (!isSpiderVisit()){
	__eeRegVisitor(); //register visitor
}


