/*** Graceful degrade for non-javascript users & some event capture for livesearch ***/

window.onload = addscript; // Graceful degrade stuff for non-javascript users

function addscript() {
	// check to see that the browser supports the getElementById method
	if (!document.getElementById) {
		return false; 
	} else {
		document.getElementById('searchfield').value= " Search";
		if (document.getElementById('sharefb')) {
			document.getElementById('sharefb').href= " http://www.facebook.com/sharer.php?u=" + document.location.href;
		}
		
		// Add Descriptors to Forms
		if (document.getElementById('txtfriendemail')) { document.getElementById('txtfriendemail').value= " Your friend's email address"; }		
		if (document.getElementById('txtfriendemailname')) { document.getElementById('txtfriendemailname').value= " Your name"; }
		if (document.getElementById('txtfriendemailyours')) { document.getElementById('txtfriendemailyours').value= " Your email address"; }

		if (document.getElementById('txtname')) { document.getElementById('txtname').value= " Name"; }
		if (document.getElementById('txtemail')) { document.getElementById('txtemail').value= " Email"; }
		if (document.getElementById('txtcomment')) { document.getElementById('txtcomment').value= " Message"; }
		
	}	
}

function clearfield(item) { item.value=""; }
	
function openpopup() {
	//window.open(linkURL,'popup','width=' + w +',height=' + h);
	window.open('popup.html','popup','width=500,height=500');
}

function shownewsletter() {
	document.getElementById('newsletter').style.visibility = "visible";
}
function hidenewsletter() {
	document.getElementById('newsletter').style.visibility = "hidden";
}

function showcontactus(loc) {
	addscript();
	if (loc == 1) {
		document.getElementById('contactus').style.bottom = "auto";
		document.getElementById('contactus').style.left = "auto";
		document.getElementById('contactus').style.top = "25px";
		document.getElementById('contactus').style.right = "10px";
	} else if (loc == 2) {
		document.getElementById('contactus').style.top = "auto";
		document.getElementById('contactus').style.right = "auto";
		document.getElementById('contactus').style.left = "340px";
		document.getElementById('contactus').style.bottom = "40px";
	}
	document.getElementById('contactus').style.visibility = "visible";
}
function hidecontactus(loc) {
	document.getElementById('contactus').style.visibility = "hidden";
}

function hideemailfriend() {
	document.getElementById('emailfriend').style.visibility = "hidden";
}
function showemailfriend() {
	document.getElementById('emailfriend').style.visibility = "visible";
	addscript();
}

function clearsearch() { //Clear from initial focus
	document.getElementById("searchfield").value="";
}

/*** AJAX for Forms ***/
var http_request = false;

function makePOSTRequest(url, parameters, divname) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				result = http_request.responseText;
				document.getElementById(divname).innerHTML = result;
			} else {
				alert('There was a problem with the request.');
			}
		}
	};
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

// Contact
function contact(obj,divname) {
	var formmsg = "Please enter your ";

	if (document.getElementById("ContactFormSpan")) {
		var txtname = document.getElementById("txtname").value;
		var txtemail = document.getElementById("txtemail").value;
		var txtcomment = document.getElementById("txtcomment").value;
		
		if (txtname == " Name" | txtname == "") {
			formmsg = formmsg + "name";
			document.getElementById("formmsg2").innerHTML = formmsg;
			return;
		} else if (txtemail == " Email" | txtemail == "") {
			formmsg = formmsg + "email";
			document.getElementById("formmsg2").innerHTML = formmsg;
			return
		} else if (txtcomment == " Message" | txtcomment == "") {
			formmsg = formmsg + "message";
			document.getElementById("formmsg2").innerHTML = formmsg;
			return
		} else {
			document.getElementById("ContactFormSpan").innerHTML = "<img src='/lifestyle/ui/ajax-loader.gif' border='0' alt='' id='ajaxloaderemail' />";
			var curDateTime = new Date(); //For IE
			var poststr = "name=" + encodeURI(txtname) + "&email=" + encodeURI(txtemail) + "&uniqueID=" + curDateTime + "&msg=" + encodeURI(txtcomment);
			var divname = divname;
			makePOSTRequest('/lifestyle/processcontact.aspx', poststr, divname);
		}
	}
}


// Email a friend
function emailfriend(obj,divname) {

	var formmsg = "Please enter your ";
	if (document.getElementById("EmailFormSpan")) {
		var txtfriendemail = document.getElementById("txtfriendemail").value;
		var txtfriendemailname = document.getElementById("txtfriendemailname").value;
		var txtfriendemailyours = document.getElementById("txtfriendemailyours").value;
		var pageurl = document.location.href;
		
		if (txtfriendemail == " Your friend's email address" | txtfriendemail == "") {
			formmsg = formmsg + "friend's email";
			document.getElementById("formmsg").innerHTML = formmsg;
			return;
		} else if (txtfriendemailname == " Your name" | txtfriendemailname == "") {
			formmsg = formmsg + "your name";
			document.getElementById("formmsg").innerHTML = formmsg;
			return
		} else if (txtfriendemailyours == " Your email address" | txtfriendemailyours == "") {
			formmsg = formmsg + "your email";
			document.getElementById("formmsg").innerHTML = formmsg;
			return
		} else {
			document.getElementById("EmailFormSpan").innerHTML = "<img src='/lifestyle/ui/ajax-loader.gif' border='0' alt='' id='ajaxloaderemail' />";
			var curDateTime = new Date(); //For IE
			var poststr = "friendemail=" + txtfriendemail + "&name=" + encodeURI(txtfriendemailname) + "&email=" + encodeURI(txtfriendemailyours) + "&url=" + pageurl + "&uniqueID=" + curDateTime;
			var divname = divname;
			makePOSTRequest('/lifestyle/processemail.aspx', poststr, divname);
		}

	}
}

/*** START Lightweight browser detection ***/

//alert(BrowserDetect.browser + ' ' + BrowserDetect.version + ' on ' + BrowserDetect.OS);

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: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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();

/*** START Primary nav hover function for IE ***/

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

/*** Only apply the JS hover to IE6 & less ***/
if (BrowserDetect.version == 6) {
	if (window.attachEvent) window.attachEvent("onload", sfHover);
}

