

//swap an image's source
function swapImg(id, img) {

	document.getElementById(id).src=img;

}


function swapFrame(currentFrame, newFrame, currentLinkA, newLinkA, currentLinkB, newLinkB, imgID, newImg, borderOn) {
    styleObjOld=document.getElementById(currentFrame).style;
	styleObjNew=document.getElementById(newFrame).style;
	styleLinkAOld=document.getElementById(currentLinkA).style;
	styleLinkANew=document.getElementById(newLinkA).style;
	styleLinkBOld=document.getElementById(currentLinkB).style;
	styleLinkBNew=document.getElementById(newLinkB).style;
	
	styleObjOld.display='none';
	styleObjNew.display='';
	styleLinkAOld.display='none';
	styleLinkANew.display='';	
	styleLinkBOld.display='none';
	styleLinkBNew.display='';
	
	swapImg(imgID, newImg);
	
	if (borderOn == 1) {
		document.getElementById(imgID).style.border="1px solid #A69B80";
	}
	else {
		document.getElementById(imgID).style.border="0px";
	}
}


function unlockSelect() {
document.onselectstart= function() { return true };
document.onmousedown= function() { return true };
}

function lockSelect() {
document.onselectstart= function() { return false };
document.onmousedown= function() { return false };
} 


// Email obfuscator script 2.1 by Tim Williams, University of Arizona
// Random encryption key feature by Andrew Moulden, Site Engineering Ltd
// Noscript feature and obfuscation of link text by Roger Cornwell, Cornwell Internet
// This code is freeware provided these five comment lines remain intact
// A wizard to generate this code is at http://www.jottings.com/obfuscator/
function printEmail()
{ 
	coded = "gh1xv@cxYvcxmx2.De1"
	  key = "2yWMDGSKgei8Nl53swAaC4F9EHOuvxkqf0VmI6hb7rntdBJczpLjoT1RPQZXUY"
	  shift=coded.length
	  link=""
	  for (i=0; i<coded.length; i++) {
		if (key.indexOf(coded.charAt(i))==-1) {
		  ltr = coded.charAt(i)
		  link += (ltr)
		}
		else {     
		  ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length
		  link += (key.charAt(ltr))
		}
	  }
	document.write("<a href='mailto:"+link+"'>"+link+"</a>")
}

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();



// enforce min-width of main frame for IE

function ieminwidth() { 
	bodyWidth=document.body.clientWidth;
	if (bodyWidth < 950) { 
		document.getElementById('container').style.width='750px';
	}
	else {
		document.getElementById('container').style.width='80%';
	}
	
	var browser     = '';

	if (navigator.appName.indexOf('Microsoft') != -1) { browser = 'IE' }
	
	if (browser == 'IE') { 
		
		var newh = document.getElementById('main').offsetHeight;
		document.getElementById('left').style.height = newh;
		document.getElementById('right').style.height = newh;
	}

}

/*
*
*	main.js, Copyright (c) 2006, Eric Hossinger
*
*/

//check an object's visibility and swap
function checkVis(id) {

	if(document.getElementById(id).style.visibility == 'hidden') {

		swapVis(id, 'visible');
	
	} else {

		swapVis(id, 'hidden');

	}

}


//swap an object's css class
function swapClass(id, newClass) {

	document.getElementById(id).className=newClass;

}

//swap an object's visibility
function swapVis(id, vis) {

	document.getElementById(id).style.visibility=vis;

}

//e is event object passed from function invocation
function checkEnter(e, link) {

	var characterCode //literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}
	else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		window.location=link;
	}

}

function init() {

	var index = document.getElementById('feat_ind').value;
	var img = document.getElementById('img' + index).value;
	var title = document.getElementById('title' + index).value;
	var url = document.getElementById('url' + index).value;
	var cat = document.getElementById('cat' + index).value;

	document.getElementById('feat_recipe').style.background=" url('http://www.jamieoliver.com/media/p" + img + "_s.jpg')";
	frames[0].window.location.href="http://www.jamieoliver.com/skins/default/scroller.php?title=" + title + "&url=" + url + "&cat=" + cat + "&target=top";

}

function rback(target) {

	var index = document.getElementById('feat_ind').value;
	var feat_max = document.getElementById('feat_max').value;
	var back = index - 1;

	if(index == 1) {

		back = feat_max;

	}

	var img = document.getElementById('img' + back).value;
	var title = document.getElementById('title' + back).value;
	var url = document.getElementById('url' + back).value;
	var cat = document.getElementById('cat' + back).value;

	document.getElementById('feat_ind').value = back;

	document.getElementById('feat_recipe').style.background=" url('http://www.jamieoliver.com/media/p" + img + "_s.jpg')";
	frames[0].window.location.href="http://www.jamieoliver.com/skins/default/scroller.php?title=" + title + "&url=" + url + "&cat=" + cat + "&target=" + target;

}

function rnext(target) {

	var index = document.getElementById('feat_ind').value;
	var feat_max = document.getElementById('feat_max').value;
	var next = parseInt(index) + 1;

	if(index == feat_max) {

		next = 1;

	}

	var img = document.getElementById('img' + next).value;
	var title = document.getElementById('title' + next).value;
	var url = document.getElementById('url' + next).value;
	var cat = document.getElementById('cat' + next).value;

	document.getElementById('feat_ind').value = next;

	document.getElementById('feat_recipe').style.background=" url('http://www.jamieoliver.com/media/p" + img + "_s.jpg')";
	frames[0].window.location.href="http://www.jamieoliver.com/skins/default/scroller.php?title=" + title + "&url=" + url + "&cat=" + cat + "&target=" + target;

}

function rate(rating) {

	if(rating > 0) {
		for(i = 1; i <= rating; i ++) {

			swapClass('r' + i, 'on');
			swapClass('x' + i, 'hide');

		}
	}


	if(rating == 0) {
		for(i = 1; i < 6; i ++) {

			swapClass('r' + i, 'hide');
			swapClass('x' + i, 'on');

		}
	}

}
