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"},
		{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"},
		{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();

if(BrowserDetect.browser!='Explorer') {
	$(function(){
		var $el, leftPos, newWidth,
			$mainNav = $("#menu");

		$mainNav.append("<li id='magic-line'></li>");

		var $magicLine = $("#magic-line");

		$magicLine
			.width($(".menu_text").width()-10)
			.height($mainNav.height()-8)
			.css("left", $(".menu_text a").position().left+5)
			.data("origLeft", $(".menu_text a").position().left+5)
			.data("origWidth", $magicLine.width())
			.data("origColor", $(".menu_text a").attr("rel"));

		$("#menu li").find("a").hover(function() {
			$el = $(this);
			leftPos = $el.position().left+5;
			newWidth = $el.parent().width()-10;
			$magicLine.stop().animate({
				left: leftPos,
				width: newWidth,
				backgroundColor: $el.attr("rel")
			})
		},

		function() {
			$magicLine.stop().animate({
				left: $magicLine.data("origLeft"),
				width: $magicLine.data("origWidth"),
				backgroundColor: $magicLine.data("origColor")
			});
		});
	});
}
