	/*
	For the shelves page to give a price
*/
function calcShelfPrice() {
	//alert("calcShelfPrice");
	var length = document.getElementById('calc_length').value;
	
	if(isNaN(length)) {
		length = 0;
	}
	
	var width = document.getElementById('calc_width').value;
	if(isNaN(width)) {
		width = 0;
	}
	var wood = document.getElementById('calc_wood').value;
	var formula = 0.00026;
	
	switch(wood) {
		case 'Beech':
			break;
		case 'Oak':
			formula = 0.00036;
			break;
		case 'Iroko':
			formula = 0.00034;
			break;
		case 'Cherry':
			formula = 0.00038;
			break;
		case 'Walnut':
			formula = 0.00054;
			break;
		default:
			break;
	}
	
	var result = length * width * formula;
	
	var price = document.getElementById('calc_price_b4_discount');
	
	price.childNodes[0].nodeValue = "£" + result.toFixed(2);
	
	/** USe for sales */
	var price = document.getElementById('calc_price');
	if(price) {
		result = result * 0.8;

		price.childNodes[0].nodeValue = "£" + result.toFixed(2);
	}

	var btn = document.getElementById('shelf-add-button');
	if(0.00 == result.toFixed(2)) {
		//btn.style.className = "hide";
		btn.style.visibility = "hidden";		
		btn.style.display = "none";
	} else {
		//btn.style.className = "googlecart-add";
		btn.style.visibility = "visible";		
		btn.style.display = "block";
	}
	//alert("btn " + btn + " class " + btn.style.visibility);

	googlecart.activateMarkup();
	
}

function calcWorktopPrice() {
	//alert("calcWorktopPrice");
	var length = document.getElementById('calc_length').value;
	
	if(isNaN(length)) {
		length = 0;
	}
	
	var width = document.getElementById('calc_width').value;
	if(isNaN(width)) {
		width = 0;
	}
	var wood = document.getElementById('calc_wood').value;
	var formula =  0.00036205;
	var thickness = 44;
	
	switch(wood) {
		case 'American Oak':
			break;
		case 'American Walnut':
			formula = 0.000489783;
			break;
		case 'American Cherry':
			formula = 0.00050906;
			break;
		case 'Canadian Maple':
			formula = 0.000364764;
			break;
		case 'European Beech':
			formula = 0.000312069;
			break;
		case 'Steamed Beech':
			formula = 0.000260015;
			break;
		case 'Sapele':
			formula = 0.000313695;
			break;
		case 'Iroko':
			formula = 0.000351402;
			break;
		case 'European Oak':
			formula =  0.000487157;
			break;
		default:
			break;
	}
	//we don't multiply by thickness anymore - it is accounted for in the formula.
	var result = width * length * formula;
	
	var price = document.getElementById('calc_price_b4_discount');
	
	price.childNodes[0].nodeValue = "£" + result.toFixed(2);
	
	/** USe for sales */
	var price = document.getElementById('calc_price');
	if(price) {
		result = result * 0.9;

		price.childNodes[0].nodeValue = "£" + result.toFixed(2);
	}

	var btn = document.getElementById('shelf-add-button');
	if(0.00 == result.toFixed(2)) {
		//btn.style.className = "hide";
		btn.style.visibility = "hidden";		
		btn.style.display = "none";
	} else {
		//btn.style.className = "googlecart-add";
		btn.style.visibility = "visible";		
		btn.style.display = "block";
	}
	//alert("btn " + btn + " class " + btn.style.visibility);

	googlecart.activateMarkup();
	
}

// End Delivery Calculator
//Begin GoogleCart handling for hiding / showing upstand buttons based on what's in the cart
var worktopInCart = false;

function googlecartWidgetLoaded() {
	//alert("googlecartWidgetLoaded");
	_checkCartForWorktops();
}

function googlecartAfterAdd(item, index) {
	if(false == worktopInCart) {
		var title = item.getTitle();
		//alert("afterAdd " + title);
		if(0 < title.indexOf("Worktop")) {
			worktopInCart = true;
			_updateButtons();
		}
	}
}

function googlecartAfterRemove(item, index) {
	_checkCartForWorktops();
}


function _checkCartForWorktops() {
	worktopInCart = false;
	var items = googlecart.getItems();
	//alert("items = " + items);
	for(var i = 0;i < items.length; i++) {// in items) {
		var prod = items[i];
		var title = prod.getTitle();
		//alert("product " + title);
		if(0 < title.indexOf("Worktop") && false == prod.isMarkedForRemoval()) {
			//alert("found worktop in cart @ " + title + " qty " + prod.getQuantity() + " removed? " + prod.isMarkedForRemoval());
			worktopInCart = true;
			//enable any buttons.
			break;
		}
	}
	_updateButtons();
}

function _updateButtons() {
	var btns = document.getElementsByClassName("upstand-add-button");
	//alert("_updateButtons worktopInCart " + worktopInCart + " found " +  btns.length);
	for(i = 0;i < btns.length;i++) {
		var btn = btns[i];
		if(true == worktopInCart) {
			btn.style.visibility = "visible";		
			btn.style.display = "block";
		} else {
			btn.style.visibility = "hidden";		
			btn.style.display = "none";
		}
	}
}

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) {
			retnode.push(elem[i]);
		}
	}
	return retnode;
};
//End Google Cart stuff.
//	sIFR related - initialise the font replacement
var tahoma = {
  src: './swfs/tahoma.swf'
};
sIFR.activate(tahoma);
sIFR.replace(tahoma, {
    selector: '.sifrShadow'
    ,css: {
			'.med': {'font-size':'167%'}
			,'.big': {'font-size':'200%'}
			,'.small': {'font-size':'67%'}
      ,'.tiny': {'font-size':'50%'}
      ,'.sIFR-root': { 'color': '#1c435b', 'font-weight':'bold', 'font-size':'20px','text-align':'center' , 'margin-left':0, 'margin-right':0, 'leading':-2}
    }
    ,filters: {
      DropShadow: {
        knockout: false
        ,distance: 7
        ,color: '#49748f'
        ,strength: 0.3
      }
    }
		,wmode: 'transparent'
  });
