function NewWindow(mypage, myname, w, h, scroll){
	var win = null;
	
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;

	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable';
	win = window.open(mypage, myname, settings);
}

function showInfo(info) {
	if(info == 'specs') {
		document.getElementById("features").style.display = "none";
		document.getElementById("features_tab").className = "";
		if(document.getElementById("warranty_tab") != undefined) {
			document.getElementById("modelwarranty").style.display = "none";
			document.getElementById("warranty_tab").className = "";
		}
	} else if (info == 'features') {
		document.getElementById("specs").style.display = "none";
		document.getElementById("specs_tab").className = "";
		if(document.getElementById("warranty_tab") != undefined) {
			document.getElementById("modelwarranty").style.display = "none";
			document.getElementById("warranty_tab").className = "";
		}
	} else if (info == 'warranty') {
		document.getElementById("features").style.display = "none";
		document.getElementById("specs").style.display = "none";
		document.getElementById("features_tab").className = "";
		document.getElementById("specs_tab").className = "";
	}

	if(info == 'warranty') {
		document.getElementById('model' + info).style.display = "block";
		document.getElementById(info + "_tab").className = "current";
	} else {
		document.getElementById(info).style.display = "block";
		document.getElementById(info + "_tab").className = "current";
	}
}

function printBrochure() {
	window.print();
}


function addLoadEvent(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
	
	sfHover = function() {
	var timeout = 600;
	var cssClass = "sfhover";

	var queue = [];
	var reCSS = new RegExp("\\b" + cssClass + "\\b");
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {

		// mouseover and mouseout handlers for regular mouse based interface.
		sfEls[i].onmouseover = function() {
			queueFlush();
			this.className += " " + cssClass;
		}
		sfEls[i].onmouseout = function() {
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// focus and blur handlers for keyboard based navigation.
		sfEls[i].onfocus = function() {
			queueFlush();
			this.className += " " + cssClass;
		}
		sfEls[i].onblur = function() {
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// click event handler needed for tablet type interfaces (e.g. Apple iPhone).
		sfEls[i].onclick = function(e) {
			if (this.className.search(reCSS) == -1) {
				// CSS not set, so clear all sibling (and decendants) menus, and then set CSS on this menu...
				var elems = this.parentNode.getElementsByTagName("li");
				for (var i=0; i<elems.length; i++) {
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				this.className += " " + cssClass;
			} else {
				// CSS already set, so clear all decendant menus and then this menu...
				var elems = this.getElementsByTagName("li");
				for (var i=0; i<elems.length; i++) {
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				this.className = this.className.replace(reCSS, "");
			}
			if (e && e.stopPropagation)
				e.stopPropagation();
			else
				window.event.cancelBubble = true;
		}
	}

	queueFlush = function () {
		while (queue.length) {
			clearTimeout(queue[0][0]);
			queueTimeout();
		}
	}

	queueTimeout = function() {
		if (queue.length) {
			var el = queue.shift()[1];
			el.className = el.className.replace(reCSS, "");
		}
	}
}
addLoadEvent(sfHover);