showLargerPhoto = function(image,width,height) {
	var URL = "showphoto.html?image=" + escape(image);
	var windowName = "largerphoto" + Math.random();	
	var w = screen.availWidth;
	var h = screen.availHeight;
	var leftPos = Math.round((w-width)/2);
	var topPos = Math.round((h-height)/2);
	var defaults = "scrollbars=no,resizable=yes,";
	var centerOnScreen = "top="+topPos+",left="+leftPos+",width="+width+",height="+height;
	// safari seems to need the trailing comma
	var options = "'" + defaults + centerOnScreen + ",'";
	var msgWindow = window.open(URL,windowName,options);
	msgWindow.focus();
	return false;
};

rateHover = function(num) {
	for (var i=1; i<=5; i++) {
		var hat = document.getElementById('rate' + i);
		var newclass = (i <= num) ? 'on' : '';
		var span = hat.getElementsByTagName('SPAN')[0];
		span.className = newclass;
	}
};

setRating = function(num) {
	currentRating = num;
	rateHover(num);
	var cancelButton = document.getElementById('ratecancel');
	cancelButton.style.visibility = "visible";
	setCookie(savedRatingName,num);
};

displayRating = function() {
	rateHover(currentRating);
};

cancelRating = function() {
	setRating(0);
	var cancelButton = document.getElementById('ratecancel');
	cancelButton.style.visibility = "hidden";
};

gearSub = function(subnum,optiontotal,thislink) {
	var currentOption = document.getElementById('gearsub' + subnum + 'option' + thislink.rel);
	currentOption.style.display = "none";
	var nextOptionNum = (parseInt(thislink.rel) < parseInt(optiontotal)) ? parseInt(thislink.rel) + 1 : 1;
	var nextOption = document.getElementById('gearsub' + subnum + 'option' + nextOptionNum);
	nextOption.style.display = "block";
	thislink.rel = nextOptionNum;
};

changeCat = function(num) {
	var categories = document.getElementById('categories');
	var list = categories.getElementsByTagName('UL')[0];
	var items = list.getElementsByTagName('LI');
	for (var i=0; i<items.length; i++) {
		items[i].className = '';
	}
	items[num-1].className = 'on';
	
	var links = document.getElementById('catlinks');
	var linkslist = links.getElementsByTagName('UL');
	for (var i=0; i<linkslist.length; i++) {
		linkslist[i].style.display = 'none';
	}
	var toshow = document.getElementById('cat' + num);
	toshow.style.display = "block";
}

removeSavedRecipe = function(num) {
	var past = document.getElementById('past');
	var list = past.getElementsByTagName('UL')[0];
	var items = list.getElementsByTagName('LI');
	items[num-1].style.display = "none";
};

showPrinterVersion = function() {
	setActiveStyleSheet('printer');
};

showFullVersion = function() {
	setActiveStyleSheet('fullstyle');
};

setActiveStyleSheet = function(title) {
   var i, a, main;
   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
     if(a.getAttribute("rel").indexOf("style") != -1
        && a.getAttribute("title")) {
       a.disabled = true;
       if(a.getAttribute("title") == title) a.disabled = false;
     }
   }
}

activateExternalLinks = function() {
	// changes the target attribute on links with rel="external" set
	// this is necessary since xhtml strict doesn't allow the target attribute
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
	}
};

activateDemoLinks = function() {
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i < anchors.length; i++) {
		var anchor = anchors[i];
		var linkto = anchor.getAttribute("href");
		var onclick = anchor.getAttribute("onclick");
		var onmousedown = anchor.getAttribute("onmousedown");
		if (linkto == "#") {
			anchor.href = "javascript:alert('Not available in demo');";
		}		
	}
};

onload = function() {
	activateExternalLinks();
	if (parseInt(currentRating) > 0) setRating(currentRating);
	//activateDemoLinks();
};

var savedRating = parseInt(getCookie(savedRatingName));
var currentRating = (savedRating) ? savedRating : 0;
