/*
 * Copyright (c) Davy's 2008 - 2009. All rights reserved.
 */
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();

var ImageRotator = Class.create({
	initialize: function(i,d) {
		this.step=0;
		this.fadestep=0;
		this.timer;
		this.fotimer;
		this.fitimer;
		this.l=$(d);
		this.ll=$('imgTL');
		this.im;
		this.iml
		this.imgLoad(i);
		setTimeout(this.imgFadeOut.bind(this),5000);
  },
	imgFadeOut: function() {
		clearInterval(this.fotimer);
		this.fadestep = this.l.getStyle('opacity');
		if (this.fadestep <= 0) { this.imgTrans(); }
		else { this.fadestep -= 0.01; this.l.setOpacity(this.fadestep); this.fotimer = setInterval(this.imgFadeOut.bind(this),20); }
	},
	imgTrans: function() {
		clearInterval(this.timer);
		if (this.step >= this.im.length) this.step=0;
		this.l.setOpacity(0.0);
		
		this.ll.href = this.iml[this.step];
		this.l.src=this.im[this.step].src;
		this.l.show();
		this.step++;
		this.imgFadeIn();
	},
	imgFadeIn: function() {
		clearInterval(this.fitimer);
		this.fadestep = this.l.getStyle('opacity');
		if (this.fadestep >= 1) { this.timer = setInterval(this.imgFadeOut.bind(this),5000); }
		else { this.fadestep += 0.01; this.l.setOpacity(this.fadestep); this.fitimer = setTimeout(this.imgFadeIn.bind(this),20); }
	},
	imgLoad:function(o) {
		var homepage = $w(
			'trans2 trans3 trans4 trans5 trans6 trans1'
		);
		var homepageLinks = $w(
			'javascript:// javascript:// javascript:// javascript:// javascript:// javascript://'
		);

		var winebar = $w(
			'transition_10 transition_2 transition_3 transition_4 transition_5 transition_6 transition_7 transition_8 transition_9 transition_1'
		);
		var winebarLinks = $w(
			'javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript://'
		);		
		
		var cigarsnuff = $w(
			'transition_8 transition_2 transition_3 transition_4 transition_5 transition_6 transition_7 transition_8 transition_1'
		);
		var cigarsnuffLinks = $w(
			'javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript://'
		);

		var homepage2 = $w(
			'home-classic-xmas-gifts home-host-a-party home-get-ready-for-xmas home-events-mixture-text home-classic-xmas-gifts-wine home-fine-dining home-classic-xmas-gifts-port'
		);
		var homepage2Links = $w(
			'javascript:// javascript:// javascript:// javascript:// javascript:// javascript:// javascript://'
		);
			
		var currentNames, height, basePath, width = 388;
	
		if (o == 0) {
			currentNames = homepage;
			currentLinks = homepageLinks;
			width = 584;
			height = 336;
			basePath = '/images/homepage/newyear09/';
		}
		else if (o == 1) {
			currentNames = winebar;
			currentLinks = winebarLinks;
			height = 291;
			basePath = '/images/winebars/transitions/';
		}
		else if (o == 2) {
			currentNames = cigarsnuff1;
			currentLinks = cigarsnuffLinks;
			height = 336;
			basePath = '/images/cigar_and_snuff/transitions/';
		}
		else if (o == 3) {
			currentNames = homepage2;
			currentLinks = homepage2Links;
			height = 336;
			basePath = '/images/transitions/';
		};
	
		this.im = currentNames.inject([], function(img, name) {
			var image = new Image(width, height);
			image.src = basePath + name + '.jpg';
			img.push(image);
			return img;
		});
		
		this.iml = currentLinks.inject([], function(imglink, name) {
			imglink.push(name);
			return imglink;
		});
	}
});


var layerTimer;
var msbLayer = 0;
var ProductSearchTerm;

/*
 * shopping basket rollovers
 */
var checkOut = new Array();
checkOut[0] = new Image(192,18); checkOut[0].src = '/images/wineshop/continue_to_checkout.gif';
checkOut[1] = new Image(192,18); checkOut[1].src = '/images/wineshop/continue_to_checkout_ro.gif';
checkOut[2] = new Image(12,11); checkOut[2].src = '/images/wineshop/incr_qty.gif';
checkOut[3] = new Image(12,11); checkOut[3].src = '/images/wineshop/incr_qty_ro.gif';
checkOut[4] = new Image(11,11); checkOut[4].src = '/images/wineshop/decr_qty.gif';
checkOut[5] = new Image(11,11); checkOut[5].src = '/images/wineshop/decr_qty_ro.gif';
checkOut[6] = new Image(12,11); checkOut[6].src = '/images/wineshop/delete_prod.gif';
checkOut[7] = new Image(12,11); checkOut[7].src = '/images/wineshop/delete_prod_ro.gif';
checkOut[8] = new Image(127,18); checkOut[8].src = '/images/wineshop/continue_shopping.gif';
checkOut[9] = new Image(127,18); checkOut[9].src = '/images/wineshop/continue_shopping_ro.gif';
checkOut[10] = new Image(181,18); checkOut[10].src = '/images/wineshop/information_about_delivery.gif';
checkOut[11] = new Image(181,18); checkOut[11].src = '/images/wineshop/information_about_delivery_ro.gif';

/* Global Rollovers */
var roImg = new Array();
roImg[0] = new Image(66,18); roImg[0].src = '/images/wineshop/basket_add.gif';
roImg[1] = new Image(66,18); roImg[1].src = '/images/wineshop/basket_add_ro.gif';
roImg[2] = new Image(40,18); roImg[2].src = '/images/ok_button.gif';
roImg[3] = new Image(40,18); roImg[3].src = '/images/ok_button_ro.gif';
roImg[4] = new Image(188,21); roImg[4].src = '/images/careers/file_browse_button.gif';
roImg[5] = new Image(188,21); roImg[5].src = '/images/careers/file_browse_button_ro.gif';
roImg[6] = new Image(60,18); roImg[6].src = '/images/information_vault/back_button.gif';
roImg[7] = new Image(60,18); roImg[7].src = '/images/information_vault/back_button_ro.gif';
roImg[8] = new Image(62,18); roImg[8].src = '/images/wineshop/login_button.gif';
roImg[9] = new Image(62,18); roImg[9].src = '/images/wineshop/login_button_ro.gif';
roImg[10] = new Image(192,18); roImg[10].src = '/images/wineshop/place_your_order_button.gif';
roImg[11] = new Image(192,18); roImg[11].src = '/images/wineshop/place_your_order_button_ro.gif';
roImg[12] = new Image(50,18); roImg[12].src = '/images/wineshop/apply_button.gif';
roImg[13] = new Image(50,18); roImg[13].src = '/images/wineshop/apply_button_ro.gif';
roImg[14] = new Image(85,18); roImg[14].src = '/images/wineshop/edit_address_button.gif';
roImg[15] = new Image(85,18); roImg[15].src = '/images/wineshop/edit_address_button_ro.gif';
roImg[16] = new Image(85,18); roImg[16].src = '/images/wineshop/amend_card_button.gif';
roImg[17] = new Image(85,18); roImg[17].src = '/images/wineshop/amend_card_button_ro.gif';
roImg[18] = new Image(101,18); roImg[18].src = '/images/wineshop/register_button.gif';
roImg[19] = new Image(101,18); roImg[19].src = '/images/wineshop/register_button_ro.gif';
roImg[20] = new Image(76,18); roImg[20].src = '/images/wineshop/activate_button.gif';
roImg[21] = new Image(76,18); roImg[21].src = '/images/wineshop/activate_button_ro.gif';
roImg[22] = new Image(138,18); roImg[22].src = '/images/wineshop/remind_button.gif';
roImg[23] = new Image(138,18); roImg[23].src = '/images/wineshop/remind_button_ro.gif';
roImg[24] = new Image(181,18); roImg[24].src = '/images/delivery_cost_info_button.gif';
roImg[25] = new Image(181,18); roImg[25].src = '/images/delivery_cost_info_button_ro.gif';
roImg[26] = new Image(191,18); roImg[26].src = '/images/wineshop/continue_without_login.gif';
roImg[27] = new Image(191,18); roImg[27].src = '/images/wineshop/continue_without_login_ro.gif';
function gRO(e,n) {
	var i = $(e.id); if (i) i.src = roImg[n].src;
	var si = $(e); if (si) si.src = roImg[n].src;
}


/* Background Image Rollovers */
var bro = new Array();
bro[0] = new Image(192,18); bro[0].src = '/winebars/images/arrow_link_button.jpg';
bro[1] = new Image(192,18); bro[1].src = '/winebars/images/arrow_link_button_ro.jpg';
bro[2] = new Image(9,10); bro[2].src = '/images/information_vault/arrow_right.gif';
bro[3] = new Image(9,10); bro[3].src = '/images/information_vault/arrow_right_ro.gif'
bro[4] = new Image(93,18); bro[4].src = '/images/careers/previous_page.gif';
bro[5] = new Image(93,18); bro[5].src = '/images/careers/previous_page_ro.gif'
bro[6] = new Image(72,18); bro[6].src = '/images/careers/next_page.gif';
bro[7] = new Image(72,18); bro[7].src = '/images/careers/next_page_ro.gif';
bro[8] = new Image(191,18); bro[8].src = '/images/careers/long_button_arrow_right.gif';
bro[9] = new Image(191,18); bro[9].src = '/images/careers/long_button_arrow_right_ro.gif';
bro[10] = new Image(120,18); bro[10].src = '/images/careers/medium_arrow_right.gif';
bro[11] = new Image(120,18); bro[11].src = '/images/careers/medium_arrow_right_ro.gif';
bro[12] = new Image(101,18); bro[12].src = '/images/careers/red_arrow_right.gif';
bro[13] = new Image(101,18); bro[13].src = '/images/careers/brown_arrow_right.gif';
function ButtonSwap(o,ac) { var imgO = $(o); if (imgO) { imgSrc = 'url(' + bro[ac].src + ')'; imgO.setStyle({ backgroundImage: imgSrc }); } }

/* is this dead now? */
function ImageSwap(o,ac) { var imgO = $(o); if (imgO) imgO.src = ro[ac].src; }

/* AJAX Mini Shopping Basket */
function AddRedirectToBasket(event) {
	var pd = new Array();
	var xd = Event.element(event).id; xd = xd.replace(/CT/ig, ""); pd = xd.split("_");
	var my = Event.pointerY(event);
	var mx = Event.pointerX(event);
	ARB(pd[0],pd[1],my,mx);
}
function ARB(productID, optionID, mY, mX) {
	var url = '/ajaxPHP/AddToBasket.php?productid=' + productID + '&optionid=' + optionID;
	new Ajax.Request(url, {
	  method: 'get',
		requestHeaders: {Accept: 'application/json'},
	  onSuccess: function(transport) {
			//var r = transport.responseText.evalJSON(true);
			clearTimeout(layerTimer); layerTimer=setTimeout("RedirectToBasket()",100);
	  }
	});
}
function RedirectToBasket() {
	window.location.replace('http://www.davy.co.uk/ShoppingBasket.php');
}

function AddToBasket(event) {
	var pd = new Array();
	var xd = Event.element(event).id; xd = xd.replace(/CT/ig, ""); pd = xd.split("_");
	var my = Event.pointerY(event);
	var mx = Event.pointerX(event);
	ATB(pd[0],pd[1],my,mx);
}
function ATB(productID, optionID, mY, mX) {
	var winSize = document.viewport.getDimensions();
	var url = '/ajaxPHP/AddToBasket.php?productid=' + productID + '&optionid=' + optionID;
	new Ajax.Request(url, {
	  method: 'get',
		requestHeaders: {Accept: 'application/json'},
	  onSuccess: function(transport) {
			var r = transport.responseText.evalJSON(true);
			var nw = parseInt(winSize.width / 3); mY=(mY+15); mX=(mX-nw);
			$('MiniShoppingBasketView').setStyle({ top: mY + 'px', left: mX + 'px' });
			$('MiniShoppingBasketView').show();
			$('MiniBasketContents').update(r.Msg);
			BTP(); clearTimeout(layerTimer); layerTimer=setTimeout("MSB(0)",7000);
	  }
	});
}
function BTP() {
	var notice = $('MiniBasketData');
	var url = '/ajaxPHP/BasketTotalPrice.php';
	
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
			notice.update(transport.responseText);
	  }
	});
}
function MSB(action) {
	if (action == 0) {
		$('MiniShoppingBasketView').hide();
		// IE6 and 7 can't do this, shame
		//Shadower.deshadow('MiniShoppingBasketView');
		msbLayer = 0;
		return;
	}

	if ($('MiniShoppingBasketView').visible()) return;

	var notice = $('MiniBasketContents');
	var url = '/ajaxPHP/MiniBasketContents.php';
	// notice the use of a proxy to circumvent the Same Origin Policy.
	
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
			notice.update(transport.responseText); //.setStyle({ background: '#dfd' });

			if (action == 1) {
				$('MiniShoppingBasketView').show();
				// IE6 and 7 can't do this, shame
				//Shadower.shadow('MiniShoppingBasketView',{distance: 8,angle: 130,opacity: 0.7,nestedShadows: 6,color: '#000000'});
				msbLayer = 1;
			}
	  }
	});
}
function ShowMiniBasket(action) {
	return;
	MSB(action);
}


/* AJAX Main Shopping Basket */
function RemoveItem(rowID, obj) {
	var notice = $('ShoppingBasketData');
	var url = '/ajaxPHP/EditShoppingBasket.php?action=1&rowid=' + rowID;
	// notice the use of a proxy to circumvent the Same Origin Policy.
	
	new Ajax.Request(url, {
	  method: 'get',
		onCreate: function() {
			$(obj).update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
		},
	  onSuccess: function(transport) {
			notice.update(transport.responseText);
	  }
	});
}
function UpdateItem(rowID, actionID, obj) {
	var notice = $('ShoppingBasketData');
	var url = '/ajaxPHP/EditShoppingBasket.php?action=' + actionID + '&rowid=' + rowID;
	// notice the use of a proxy to circumvent the Same Origin Policy.
	
	new Ajax.Request(url, {
	  method: 'get',
		onCreate: function() {
			$(obj).update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
		},
	  onSuccess: function(transport) {
			notice.update(transport.responseText);
	  }
	});
}
function UpdateItemCase(rowID, IsChecked, obj) {
	if (IsChecked == true) actionID = 5;
	if (IsChecked == false) actionID = 4;

	var notice = $('ShoppingBasketData');
	var url = '/ajaxPHP/EditShoppingBasket.php?action=' + actionID + '&rowid=' + rowID;
	// notice the use of a proxy to circumvent the Same Origin Policy.

	new Ajax.Request(url, {
	  method: 'get',
		onCreate: function() {
			$(obj).update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
		},
	  onSuccess: function(transport) {
			notice.update(transport.responseText);
	  }
	});
}


/* AJAX Product Search */
function PerformAjaxSearch(obj) {
	clearTimeout(layerTimer);
	ProductSearchTerm = obj.value;
	
	if (obj.value.length > 0) {
		layerTimer=setTimeout("RunAjaxSearch()", 1000);
	}
	else
		$('ajaxSearchResults').hide();
}
function RunAjaxSearch() {
	var notice = $('ajaxSearchResults');
	var url = '/ajaxPHP/ProductSearchResults.php?searchterm=' + encodeURIComponent(ProductSearchTerm);

	new Ajax.Request(url, {
	  method: 'get',
		onCreate: function() {
			RevealQuickSearchForm(1);
		},
	  onSuccess: function(transport) {
			notice.update(transport.responseText);
			$('ajaxSearchResults').show();
			
			/* so this search can be tracked with GoogleAnalytics, create a false search */
			pageTracker._trackPageview("/sitesearch.php?q=" + encodeURIComponent(ProductSearchTerm));
	  }
	});
}

function StdSearch(obj) {
	var uC; var uPR; var uS; var uGV; var uR;
	
	if ($('sCountryID')) { uC = $('sCountryID').value; } else { uC = 0; }
	if ($('sPriceRangeID')) { uPR = $('sPriceRangeID').value; } else { uPR = 0; }
	if ($('sStyleID')) { uS = $('sStyleID').value; } else { uS = 0; }
	if ($('sGrapeVarietyID')) { uGV = $('sGrapeVarietyID').value; } else { uGV = 0; }
	if ($('sRegion')) { uR = $('sRegion').value; } else { uR = 0; }

	var st = $('searchterm').value;
	var ns = st.replace(/^Type your search here$/gi, '');

	var url = '/ps/' + uC + '/' + uPR + '/' + uS + '/' + uGV + '/' + encodeURIComponent(ns) + '/' + uR + '//';

	$('ProductSearch').action = url;
	$('ProductSearch').submit();
}

function AdvancedSearch() {
	var uC; var uPR; var uS; var uGV; var uR; var uV; var uA;
	
	if ($('sCountryID')) { uC = $('sCountryID').value; } else { uC = 0; }
	if ($('sPriceRangeID')) { uPR = $('sPriceRangeID').value; } else { uPR = 0; }
	if ($('sStyleID')) { uS = $('sStyleID').value; } else { uS = 0; }
	if ($('sGrapeVarietyID')) { uGV = $('sGrapeVarietyID').value; } else { uGV = 0; }
	if ($('sRegion')) { uR = $('sRegion').value; } else { uR = 0; }
	if ($('sVintageID')) { uV = $('sVintageID').value; } else { uV = 0; }
	if ($('sAlcoholID')) { uA = $('sAlcoholID').value; } else { uA = 0; }

	var st = $('advsearchterm').value;
	var url = '/aps/' + uC + '/' + uPR + '/' + uS + '/' + uGV + '/' + uR + '/' + uV + '/' + uA + '/' + encodeURIComponent(st) + '//';
	
	document.location.href = url;
}

function AdvancedSearch_FrenchWines() {
	$('frenchwines').value = 1;
	$('suggstedterms').value = 0;
	
	var form = $('frmAdvSrch');
	var c = form.getInputs('checkbox', 'communes[]');
	var b = form.getInputs('checkbox', 'burgundy[]');
	var otr = form.getInputs('checkbox', 'otheregions[]');
	
	var cc = 0; var bc = 0; var orc = 0;
	c.each(function(item) { if (item.checked) cc++; });
	b.each(function(item) { if (item.checked) bc++; });
	otr.each(function(item) { if (item.checked) orc++; });

	if (cc == 0 && bc == 0 && orc == 0) {
		alert("Please select one or more France regions to search on.");
	}
	else {
		form.submit();
	}
	//alert(buttons[1].value);
}

function AdvancedSearch_SuggestTerms() {
	$('frenchwines').value = 0;
	$('suggstedterms').value = 1;
	
	var form = $('frmAdvSrch');
	var tm = form.getInputs('checkbox', 'terms[]');
	
	var tmc = 0;
	tm.each(function(item) { if (item.checked) tmc++; });

	if (tmc == 0) {
		alert("Please select one or more suggested search terms.");
	}
	else {
		form.submit();
	}
	
	//var buttons = form.getInputs('checkbox', 'communes[]')
	//alert(buttons[1].value);
}

function SearchFormSubmission() {
	var uC; var uPR; var uS; var uGV; var uR;
	
	if ($('sCountryID')) { uC = $('sCountryID').value; } else { uC = 0; }
	if ($('sPriceRangeID')) { uPR = $('sPriceRangeID').value; } else { uPR = 0; }
	if ($('sStyleID')) { uS = $('sStyleID').value; } else { uS = 0; }
	if ($('sGrapeVarietyID')) { uGV = $('sGrapeVarietyID').value; } else { uGV = 0; }
	if ($('sRegion')) { uR = $('sRegion').value; } else { uR = 0; }
	
	var st = $('searchterm').value;
	var ns = st.replace(/^Type your search here$/gi, '');

	var url = '/ps/' + uC + '/' + uPR + '/' + uS + '/' + uGV + '/' + encodeURIComponent(ns) + '/' + uR + '//'
	$('ProductSearch').action = url;
	$('ProductSearch').submit();
}
function SetSearchBox(action) {
	var sO = $('searchterm');
	if (sO)
	{
		if (sO.value == 'Type your search here' && action == 1) sO.value = '';
		if (sO.value == '' && action == 0) sO.value = 'Type your search here';
	}
}

function RevealQuickSearchForm(sh) {
	if ( $('frmCategorySearch') )
	{
		var fObj = new Array();
		fObj = $('frmCategorySearch').getElements();
		
		for (var index = 0, len = fObj.length; index < len; ++index) {
			var item = fObj[index]; if (sh==1) item.hide(); else item.show();
		}
	}
}

function CloseAjaxSearchResults() {
	RevealQuickSearchForm(0);
	if ($('ajaxSearchResults')) $('ajaxSearchResults').hide();
}

function closeErrMsg() {
	$('errMsgs').hide();
}

/* webshop category boxes */
var wsImageArr = new Array();
wsImageArr[0] = new Image(9,8);
wsImageArr[1] = new Image(9,8);
wsImageArr[2] = new Image(9,8);
wsImageArr[3] = new Image(9,8);
wsImageArr[0].src = '/product_images/wineshop/davy/category_pics/right_arrow_on.gif';
wsImageArr[1].src = '/product_images/wineshop/davy/category_pics/right_arrow.gif';
wsImageArr[2].src = '/product_images/rollovers/brown_arrow_right.gif';
wsImageArr[3].src = '/product_images/rollovers/red_arrow_right.jpg';

/* Davy Events Rollover */
function deCategoryBox(b,bh,bi,a,c,ri) {
	if (a==0) {
		$(b).setStyle({ borderColor: '#584527'} );
		$(bh).setStyle({ backgroundColor: c} );
		$(bi).src = ri; //wsImageArr[a].src;
	}
	
	if (a==1) {
		$(b).setStyle({ borderColor: '#cfcca1'} );
		$(bh).setStyle({ backgroundColor: c} );
		$(bi).src = ri; //wsImageArr[a].src;
	}
}

/* Wineshop Rollover */
function wsCategoryBox(b,bh,bi,a,c,ri) {
	if (a==0) {
		$(b).setStyle({ borderColor: '#584527'} );
		$(bh).setStyle({ backgroundColor: c} );
		$(bi).src = ri; //wsImageArr[a].src;
	}
	
	if (a==1) {
		$(b).setStyle({ borderColor: '#cfcca1'} );
		$(bh).setStyle({ backgroundColor: c} );
		$(bi).src = ri; //wsImageArr[a].src;
	}
}

/* text scroller */
var oScrollText;
var oScrollTimer;
var oScrollDirection;
var oScrollHeight = 0;

function ScrollInit(so,d) {
	oScrollHeight=$(so).getHeight(); oScrollHeight=(oScrollHeight-120);
	oScrollHeight = (oScrollHeight * -1);

	if (d == 'c') clearInterval(oScrollTimer);

	if (d != 'c') {
		oScrollText=so; oScrollDirection=d; oScrollTimer = setInterval(ScrollText,30);
	}
}
function ScrollText() {
	var getTop = $(oScrollText).getStyle('top'); getTop = getTop.replace(/px/gi, '');
	
	if (oScrollDirection == 'u') {
		getTop--;
		if (getTop <= oScrollHeight) clearInterval(oScrollTimer)
		else $(oScrollText).setStyle({ top: getTop + 'px' });
	}
	else if (oScrollDirection == 'd') {
		getTop++;
		if (getTop >= 0) clearInterval(oScrollTimer);
		else $(oScrollText).setStyle({ top: getTop + 'px' });
	}
}

/* Careers: swap profiles */
function ShowProfile(n) {
	var pf = new Array();
	pf[0] = 'dProfile0';
	pf[1] = 'dProfile1';
	pf[2] = 'dProfile2';

	if ( !$(pf[n]) ) return;

	for (a=0; a <= 2; a++) {
		if (a == n) $(pf[a]).show();
		else $(pf[a]).hide();
	}
}

function CreateBookmarkLink(title,url)
{
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
}

function ClearBox(e,v)
{
	var el = $(e);
	if (el) {
		if (el.value == v) {
			el.value = ''; if (e.type == 'text' && e.id == 'clPassword') try { e.type = 'password'; } catch(e) {}
		}
		else if (el.value == '') {
			el.value = v; if (e.type == 'password' && e.id == 'clPassword') try { e.type = 'text'; } catch(e) {}
		}
	}
}

function SubmitPrizeDraw() {
	var canSubmit = true;
	var ok = $('pTitle').present()
				&& $('pFullname').present()
				&& $('pAddress1').present()
				&& $('pPostcode').present()
				&& $('pEmailAddr').present();

	if (!ok) { alert("Please complete all required fields."); canSubmit = false; return false; }
	if (!canSubmit) return false;

	var ans = SubmitPrizeDrawEntry($('pEmailAddr').value);
}
function SubmitPrizeDrawEntry(e) {
	var url = '/ajaxCheckOut/CheckEmailDomain.php?ea=' + encodeURIComponent(e);
	
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText == 0) {
				alert("The email address you've entered does not appear to be valid.");
			}
			else {
				$('frmPrizeDraw').request({
					parameters: { ChkSec : 1 },
					method: 'post',
					onCreate: function() {
						$('pBtnSend').update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
					},
					onFailure: function(transport) {
						$('pBtnSend').update('<input type="button" src="/images/wineshop/send-prize-draw-button.gif" alt="SEND for your chance to WIN" width="191" height="18" class="PrizeDraw" onclick="SubmitPrizeDraw();" />');
					},
					onSuccess: function(transport) {
						if (transport.responseText == 1) {
							$('dPrizeDrawConfirmation').update('<div style="margin:5px 0px 10px 5px; color:#843528;">Thank you. Your prize draw entry has been received successfully.<br /><br />Why not have a look our Winebars and our online Wineshop and have wine delivered to your door.</div><p style="padding:0; margin:10px 0px 0px 10px; line-height:15px;"><a href="http://www.davy.co.uk/winebars/" style="text-decoration:none;"><span class="longButton">View Davy&rsquo;s Winebars</span></a></p><p style="padding:0; margin:10px 0px 0px 10px; line-height:15px;"><a href="http://www.davy.co.uk/c/wineshop-buy-online.html?menuid=2" style="text-decoration:none;"><span class="longButton">View Davy&rsquo;s Wineshop</span></a></p>');
						}
						else if (transport.responseText == 2) {
							alert('Illegal operation.');
							
							$('pBtnSend').update('<input type="button" src="/images/wineshop/send-prize-draw-button.gif" alt="SEND for your chance to WIN" width="191" height="18" class="PrizeDraw" onclick="SubmitPrizeDraw();" />');
						}
						else if (transport.responseText == 3) {
							alert("Please enter the correct code from the Davy's Winebar you last visited.");
							
							$('pBtnSend').update('<input type="button" src="/images/wineshop/send-prize-draw-button.gif" alt="SEND for your chance to WIN" width="191" height="18" class="PrizeDraw" onclick="SubmitPrizeDraw();" />');
						}
						else {
							alert(transport.responseText);
						}
					}
				});
			}
		}
	});
}


function SubmitEnPrimeur() {
	var ok;
	var canSubmit = true;
	ok = $('eTitle').present()
				&& $('eFullname').present()
				&& $('eAddress1').present()
				&& $('ePostcode').present()
				&& $('eEmailAddr').present();
	if (!ok) { alert("Please complete all required fields."); canSubmit = false; return false; }
	if (!canSubmit) return false;

	var ans = SubmitEnPrimeurEntry($('eEmailAddr').value);
}
function SubmitEnPrimeurEntry(e) {
	var url = '/ajaxCheckOut/CheckEmailDomain.php?ea=' + encodeURIComponent(e);
	
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText == 0) {
				alert("The email address you've entered does not appear to be valid.");
			}
			else {
				$('frmEnPrimeur').request({
					parameters: { ChkSec : 1 },
					method: 'post',
					onCreate: function() {
						$('eBtnSend').update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
					},
					onFailure: function(transport) {
						$('eBtnSend').update('<input type="button" src="/information_vault/images/en-primeur-offers-btn.gif" alt="Receive next en primeur offer" width="174" height="16" class="EnPrimeurOffers" onclick="SubmitEnPrimeur();" />');
					},
					onSuccess: function(transport) {
						if (transport.responseText == 1) {
							$('dEnPrimeur').update('<div style="margin-top:5px; margin-left:10px; margin-bottom:10px; color:#843528;">Thank you. Your information request for en primeur has been received successfully.</div>');
						}
						else if (transport.responseText == 2) {
							alert('Illegal operation.');
						}
						else {
							alert(transport.responseText);
						}
					}
				});
			}
		}
	});
}

function SubmitPartyEnquiry(f) {
	var ok;
	var canSubmit = true;
	ok = $('Fullname').present()
				&& $('PhoneNumber').present();
	if (!ok) { alert("Please complete all required fields."); canSubmit = false; return false; }
	if (!canSubmit) return false;
	
	$(f).request({
		parameters: { CHK_SEC : 1, WBPE : 1 },
		method: 'post',
		onCreate: function() {
			//$('btnSend').update('<img src="/ajaxPHP/loading.gif" width="18" height="18" />');
		},
		onFailure: function(transport) {
			//$('btnSend').update('<input id="btnSend" type="button" src="/information_vault/images/en-primeur-offers-btn.gif" alt="Receive next en primeur offer" width="174" height="16" class="EnPrimeurOffers" onclick="SubmitEnPrimeur();" />');
		},
		onSuccess: function(transport) {
			if (transport.responseText == 1) {
				$('EntryStatus').update('<div style="margin-top:5px; margin-left:10px; margin-bottom:10px; color:#843528;">Thank you. Your party enquiry has been received and we will contact you shortly.</div>');
			}
			else if (transport.responseText == 2) {
				alert('Illegal operation.');
			}
			else {
				alert(transport.responseText);
			}
		}
	});
}
