
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();


function gotoLink(el){
	if (el.className.indexOf("current") != -1) return;
	var link = el.getElementsByTagName("a")[0].getAttribute("href");
	window.location = link;
}

function hoverLink(el){
	if (el.className.indexOf("current") != -1) return;
	var link = el.getElementsByTagName("a")[0];
	link.style.color = "#ec358c";
}

function leaveLink(el){
	if (el.className.indexOf("current") != -1) return;
	var link = el.getElementsByTagName("a")[0];
	link.style.color = "white";
}

function loadMenu() {
	var menuTable = document.getElementById("menu_table");
	var items = menuTable.getElementsByTagName("td");
	
	for (i=0; i<items.length; i++){
		items[i].onclick = function (e) { gotoLink(this) }
		items[i].onmouseover = function (e) { hoverLink(this) }
		items[i].onmouseout = function (e) { leaveLink(this) }
	}
	
	detectBrowser();
	loadLoginPanel();
}


function getCookie(name) {
	var cookies = document.cookie;
	if (cookies.length==0) return "";
	istart = cookies.indexOf(name+"=");
	if (istart==-1) return "";
	iend = cookies.indexOf(";", istart);
	if (iend==-1) iend = cookies.length;
	value = cookies.substring(istart+name.length+1, iend);
	return unescape(value);
}


function loadLoginPanel() {
	if ($("login_inner_div")==null) {
		return;
	}
	var email = getCookie("tonsho_user");
	if (email==null || email=="") return;
	new Ajax.Updater({success: "login_inner_div"}, "/include/login_panel.jsp", {
		asynchronous: true,
		method: "get",
		parameters: {email: email}, 
		onSuccess: function(response) {
		}, 
		onFailure: function(response) {
		}
	});
}


function detectBrowser(){
	if (BrowserDetect.browser == "Explorer" && BrowserDetect.version < "7"){
		chooseStyle("styleIE", 60);
		fixPNG();
		if (BrowserDetect.version < "5.5"){
			alert("Your browser (Internet " + BrowserDetect.browser + " " + BrowserDetect.version + ") is very old " + 
			"and is not fully supported by Tonsho. Please upgrade to a newer version (at least 5.5) or download an " +
			"alternative browser (Firefox, Safari...) in order to experience Tonsho at its best. You will now be " +
			"redirected to the download page of Internet Explorer 7");
			window.location = "http://www.microsoft.com/windows/downloads/ie/getitnow.mspx";
		}
	}
}




// http://homepage.ntlworld.com/bobosola/pngfix.js
function fixPNG(){
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	
	if ((version >= 5.5) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
	      var img = document.images[i]
	      var imgName = img.src.toUpperCase()
	      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	      {
	         var imgID = (img.id) ? "id='" + img.id + "' " : ""
	         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	         var imgStyle = "display:inline-block;" + img.style.cssText 
	         if (img.align == "left") imgStyle = "float:left;" + imgStyle
	         if (img.align == "right") imgStyle = "float:right;" + imgStyle
	         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	         var strNewHTML = "<span " + imgID + imgClass + imgTitle
	         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
	         img.outerHTML = strNewHTML
	         i = i-1
	      }
	   }
	}
}


function forgotPass(url) {
	var email = document.getElementById("user").value;
	if (url==null) url = "/forgot_pass.jsp";
	window.location = url + "?email="+email;
	return false;
}


function mailPassword(email){
	new Ajax.Request("/UpdateUser", {
		method: "post",
		parameters: {action: "forgotpass", email: email},
		on200: function (e) {
			alert("Your password was mailed to you.");
		}, 
		on400: function (e) {
			alert("Unfortunately, your password could not be mailed to you. Please contact support@tonsho.com");
		}
	});
}


function mailPassword(){
	var email = document.getElementById("email").value;
	mailPassword(email);
}

