		
		
		var isIE = false;
var isFirefox = false;
detectBrowser();
function detectBrowser(){
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		isIE = true;
	}else{
		isFirefox = true;
	}
}


var varNewCellRemoveButton;
var varNewLink;
function addRowToToolbox(oButton, vCategory, vSiteId, vSiteName, vSiteUrl){
	if(!document.cookie){
		Alert("You have to have cookies enabled, or login to save changes.");
		return;
	}
	
	if(document.getElementById("tool_box_help")){
		oExplainationRow = document.getElementById("tool_box_help");
		oExplainationRow.parentNode.removeChild(oExplainationRow);
	}
	
	oUserSpan = document.getElementById("site_votes_"+vSiteId);
	vUsers = oUserSpan.innerHTML;
	
	vUsers++;
	
	oVotesDisplay = document.getElementById("votes_"+vSiteId);
	if(vUsers == 1){
		oVotesDisplay.innerHTML = vUsers+" user";
	}else{
		oVotesDisplay.innerHTML = vUsers+" users";
	}

	oButton.disabled = true;
	oButton.value = "boxed";

	oToolBoxTable = document.getElementById("tool_box_table");
	oNewToolBoxRow = oToolBoxTable.insertRow(0);
	oNewToolBoxRow.id = "toolbox_row_"+vSiteId;
	
	oNewToolBoxCell = oNewToolBoxRow.insertCell(0);
	
	oToolBoxRowTable = document.createElement("TABLE");
	
	oToolBoxRowTable.style.opacity = .0;
	oToolBoxRowTable.style.filter = 'alpha(opacity=0)';
	
	oNewRow = oToolBoxRowTable.insertRow(0);
	oNewCellCategory = oNewRow.insertCell(0);
	oNewCellUsers = oNewRow.insertCell(1);
	oNewCellUsers.width = 30;
	oNewCellUsers.align = "right";
	oNewCellRemoveButton = oNewRow.insertCell(2);			
	oNewCellSiteName = oNewRow.insertCell(3);
	
	oNewCellCategory.innerHTML = vCategory;
	oNewCellCategory.width = 80;
	oNewCellUsers.innerHTML = vUsers;
	oNewCellUsers.id = "toolbox_users_"+vSiteId;
	
	oNewButton = document.createElement('INPUT');
	oNewButton.type = "button";
	oNewButton.value = "-";
	oNewButton.vLinkId = vSiteId;
	oNewButton.vLinkName = vSiteName;
	
	if(isFirefox){
		oNewButton.addEventListener("click", removeLink, false);
	}else{
		oNewButton.attachEvent("onclick", removeLink);
	}
	
	oNewButton.style.width = "20px";
	oNewCellRemoveButton.appendChild(oNewButton);
	
	oNewLink = document.createElement('A');
	oNewLink.innerHTML = vSiteName;
	oNewLink.href = vSiteUrl;
	oNewLink.target = "_blank";
	varNewLink = oNewLink;
	
	oNewCellSiteName.appendChild(oNewLink);
	oNewToolBoxCell.appendChild(oToolBoxRowTable);

	vOpacity = 0;
	varObjectToFadeIn = oToolBoxRowTable;
	for(i=1; i < 10; i++){
		wait(100*i);
	}

}

		
function wait(delay){
	string="fadeInObject();";
	setTimeout(string,delay);
}


var varObjectToFadeIn;
var vOpacity;
function fadeInObject(){
	vOpacity++;
	varObjectToFadeIn.style.filter = 'alpha(opacity=' + vOpacity*10 + ')';
	varObjectToFadeIn.style.opacity = (vOpacity*.10);
}


function removeLink(evt){
	if(isFirefox){
		deleteToolboxRow(evt.target.vLinkId, evt.target.vLinkName);
	}else{
		deleteToolboxRow(event.srcElement.vLinkId, event.srcElement.vLinkName);
	}
}


function deleteToolboxRow(vSiteId, vSiteName){
	oToolBoxUsers = document.getElementById("toolbox_users_"+vSiteId);
	oVotesCell = document.getElementById("votes_"+vSiteId);

	if(oVotesCell){
		vUsers = oToolBoxUsers.innerHTML;
		vUsers--;
		
		oBoxButton = document.getElementById("box_button_"+vSiteId);
		
		if(vUsers == 1){
			oVotesCell.innerHTML = '<span id="site_votes_'+vSiteId+'">'+vUsers+'</span> user';
		}else{
			oVotesCell.innerHTML = '<span id="site_votes_'+vSiteId+'">'+vUsers+'</span> users';
		}
		
		oBoxButton.disabled = false;
		oBoxButton.value = "box";
	}
	oTableRow = document.getElementById("toolbox_row_"+vSiteId);
	oTableRow.parentNode.removeChild(oTableRow);
	removeToolFromBox(vSiteId);
	

	
}


function setCookie(name, value, days) {
	var exdate = new Date();
	exdate.setTime(exdate.getTime()+(days*24*60*60*1000));
	var curCookie = name + "=" + escape(value) + "; expires=" + exdate.toGMTString() + "; path=/";
	document.cookie = curCookie;
	
}


function getCookie(name) {
	var dc = document.cookie;
	
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
	}

	if (begin == -1){ 
		return null;
		
	} else {
		begin += 2;
		var end = document.cookie.indexOf(";", begin);
		if (end == -1)
		end = dc.length;
		return unescape(dc.substring(begin + prefix.length, end));
		
	}
}

	
function getBrowserId(){
	if(getCookie('browserid') == null){
		vRawRandomNumber = Math.random()*1000000000000000;
		vRandomNumber = Math.floor(vRawRandomNumber);
		setCookie('browserid', vRandomNumber, 60);
		return vRandomNumber;
	}else{
		return getCookie('browserid');
	}
}

		
var http = getHTTPObject(); // We create the HTTP Object
	
function getHTTPObject() {

var xmlhttp;

	/*@cc_on
	  @if (@_jscript_version >= 5)
	  try {
	    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	    try {
	      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (E) {
	      xmlhttp = false;
	    }
	  }
	
	  @else
	
	    xmlhttp = false;
	
	  @end @*/
	  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	    try {
	      xmlhttp = new XMLHttpRequest();
	    } catch (e) {
	      xmlhttp = false;
	    }
	  }
	  return xmlhttp;

}
	
function handleHttpResponse() {
  if (http.readyState == 4) {
   	//alert(http.responseText);
  }
}

var vToolboxInitialYLocation;
var oBox;

function initialize_toolbox_variables(){
	oBox = document.getElementById("tool_box_area");
	vToolboxInitialYLocation = findPosY(oBox);
	if (document.createEvent) {
		var tptEvent = document.createEvent("Events");
		tptEvent.initEvent("tptChanged", false, false, window, null);
		document.dispatchEvent(tptEvent);
	}
}

function move_box(){
	var top = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;

	if(top > vToolboxInitialYLocation){
		oBox.style.marginTop = (top - vToolboxInitialYLocation+10)+"px";
	}else{
		oBox.style.marginTop = "0px";
	}
	
}

function findPosY(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return curtop;
}


/* detect the browser we're using */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an 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();

