/*wgd js Functions */


/* Start  - show - hide content layer Code. */
function wgd_hidecontent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function wgd_showcontent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "block";
}
/* End  - show - hide content layer Code */

/*  --------------------------------------------------------------*/

/* Start  - Tab content layer Code.*/

/* Toggles the current tab in display. */
function toggleTab(id) {
  if (!id) id = 1;
  var tabtitle = document.getElementById("tab-title-bar");
  if (tabtitle) {
    var links = tabtitle.getElementsByTagName("a");
    for (var i = 0; i < links.length; i++) {
      if (links[i].name && links[i].name != ('tab' + id)) {
        var content = document.getElementById("tabcontent" + (i+1));
        if (content) {
          content.style.display = "none";
	      links[i].className = "";
        }
      }
      else {
        links[i].className = "selected";
      }
    }
    var tbcont = document.getElementById("tabcontent" + id);
    if (tbcont) tbcont.style.display = "block";
  }
}






/* Displays the first tab once the page has loaded.*/

function initTabs() { 
toggleTab(1); 
}

/*
if (window.attachEvent) { 
window.attachEvent("onload", initTabs); 
} 
else { 
window.addEventListener("load", initTabs, false); 
}
*/


/* End  - Tab content layer Code. */
 
/* ---------------------------------------------------------------------*/
 
 /* Start Mini Cart Code. */
 
 /***********************************************************************
* getCartItem		-	Gets the Actinic Cart Value & No of Items
*
* Input: nIndex	-	Cart item index to retrieve
*							1 = TOTAL_VALUE
*							3 = CART_COUNT
*
* Returns:				Requested cart item or 0 (zero) if not found
************************************************************************/
//CART_CONTENT = Cookie name
//1 = TOTAL_VALUE
//3 = CART_COUNT

function getCartItem(nIndex)
	{
	var act_cart= getCookie("CART_CONTENT")
	var sTemp =(act_cart != null) ? sTemp=act_cart.split("\t"):0;
	return (sTemp.length > 0) ? sTemp[nIndex] : 0;
	}

/***********************************************************************
*
* GotoAnchor - JS for jumping to an anchor - some user agents don't handle
*				anchors correctly if BASE HREF is present
*
* Input: 				sAnchor
*
* Returns:				nothing
*
************************************************************************/

function GotoAnchor(sAnchor)
	{
	window.location.hash = sAnchor;
	}

/***********************************************************************
*
* getFullCart		-	fetches cart content summary
*
* Returns:		-	HTML string for summary display
*
* Graham Bradley 2006
* Comments & bug reports to web@gbradley.co.uk
*
* To make editing the output HTML easier, output code has been split into
* nine 'template' strings.
*
*	tableOpen	-	the opening table code
*	itemLine	-	repeated for each item in the cart
*	shippingLine	-	for displaying shipping charges (if any)
*	vatLine		-	for displaying VAT on items & shipping (if any)
*	discountLine	-	for displaying discount total (if any)
*	surchargeLine	-	for displaying surcharge total (if any)
*	totalLine	-	for displaying the cart total
*	tableClose	-	the closing table code
*	emptyLine	-	displayed when cart is empty
*
* Within these templates, you can use variables to insert values into
* the summary, similar to variables in Actinic:
*
*	VAR:QUANTITY	-	The quantity of item in cart
*	VAR:TITLE	-	Abbreviated name of item
*	VAR:LINK	-	URL of item via the cgi-bin
*	VAR:PRICE	-	Formatted price of item
*	VAR:SHIPPING	-	Total of shipping applied
*	VAR:VAT		-	Total VAT on cart items & shipping
*	VAR:DISCOUNT	-	Total of discounts applied
*	VAR:SURCHARGE	-	Total of surcharges applied
*	VAR:TOTAL	-	Grand total
*
* Variables can only be used in the templates in which they are found.	
*
************************************************************************/

function getFullCart(){

var tableOpen="<table width='100%'>";
var itemLine="<tr><td valign='top'>VAR:QUANTITYx </td><td><a href='VAR:LINK'>VAR:TITLE...</a></td><td align='right' valign='top'>VAR:PRICE</td></tr>"
var shippingLine="<tr><td colspan='2'>Shipping</td><td align='right'>VAR:SHIPPING</td></tr>"
var vatLine="<tr><td colspan='2'>VAT</td><td align='right'>VAR:VAT</td></tr>"
var discountLine="<tr><td colspan='2'>Discounts</td><td align='right'>VAR:DISCOUNT</td></tr>"
var surchargeLine="<tr><td colspan='2'>Surcharges</td><td align='right'>VAR:SURCHARGE</td></tr>"
var totalLine="</table><table width='100%'><tr><td><b>Total</b></td><td align='right'><b>VAR:TOTAL</b></td></tr>"
var tableClose="</table>"
var emptyLine="Your basket is currently empty";

var cookie=getCartItem(4);

if (!cookie){
	return emptyLine;
	}
var re=new Array();
var match=new Array();
var total=0;
var str;
re[1]=/cur=([^&]*)&!/g;
re[2]=/&!(.*)/g;
re[3]=/ss=(.*)cur=/i;
re[4]=/tx=(.*)sh=/i;
re[5]=/sh=(.*)ss=/i;
for (i=1;i<re.length;i++){
	match[i]=re[i].exec(cookie);
	match[i]=match[i][1];
	}
lines=match[2].split("&!");
store=new Array();
re[0]=/^(\d*)x/;
re[1]=/x([^>]*)>/;
re[2]=/>([^>]*)>/;
re[3]=/>([^>]*)$/;
str=tableOpen;
for (i=0;i<lines.length;i++){
	for (j=0;j<re.length-2;j++){
		detail=lines[i].match(re[j]);
		store[j]=detail[1];
		}
	str+=itemLine.replace("VAR:QUANTITY",store[0]).replace("VAR:LINK",match[3]+"?PRODREF="+store[1]+"&NOLOGIN=1").replace("VAR:TITLE",store[2]).replace("VAR:PRICE",match[1]+((store[3]*1).toFixed(2)));
	total+=(store[3]*1);
	}
if (match[5] > 0){
	str+=shippingLine.replace("VAR:SHIPPING",match[1]+(match[5]/100));
	total=total+=(match[5]/100);
	}
if (match[4] > 0){
	str+=vatLine.replace("VAR:VAT",match[1]+(match[4]/100));
	total=total+=(match[4]/100);
	}
gTotal=getCartItem(1);
var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null){
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++){
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
total=total.toFixed(2);
gTotal=(gTotal/100).toFixed(2);
if (total>gTotal){
	str=str+=discountLine.replace("VAR:DISCOUNT","-"+match[1]+(total-gTotal).toFixed(2));
	}
else if (total<gTotal){
	str=str+=surchargeLine.replace("VAR:SURCHARGE",match[1]+(gTotal-total).toFixed(2));
	}
str+=totalLine.replace("VAR:TOTAL",match[1]+(gTotal));
str+=tableClose;
return str;
}

/* End Mini Cart Code */
 
/*---------------------------------------------------------------------------------------- */

/* Start Pond Volume Calculator Code */
 
 											//Set Variables
var mylength = 0;
var mywidth = 0;
var mydepth = 0;
var myshaded = 0;
var myunit = 0;
var myshape ="";
var mymeasure = "";


											//Start Unit Check
function WhatUnit (form){
if(form.R1[0].checked)
myunit = 0.25;
if(form.R1[1].checked)
myunit = 0;
}
										

											//Start Shape Check
function Whatshape(form){
if(form.S1[0].checked){
form.width.disabled=false;
form.WidthLable.value = "Pond Width";
form.WidthLable.disabled=false;
form.LengthLable.value ="Pond Length";
form.Unit2.disabled=false;
}		
else
if(form.S1[1].checked){
form.width.disabled=true;
form.WidthLable.disabled=true;
form.LengthLable.value ="Pond Diameter";
form.Unit2.disabled=true;
}
}			
  					
  											//Start Measure Check
function WhatMeasure(form){
if(form.M1[0].checked){
form.Unit.value = "(m)";
form.Unit1.value = "(m)";
form.Unit2.value = "(m)";
form.Unit5.value = "Litres";
form.Unit6.value = "Litres";
}		
else
if(form.M1[1].checked){
form.Unit.value = "(ft)";
form.Unit1.value = "(ft)";
form.Unit2.value = "(ft)";
form.Unit5.value = "Gallons";
form.Unit6.value = "Gallons";
}		
}

											//Start Collect Field Values
function Setmylength(length){
mylength = length.value;
}

function Setmywidth(width){
mywidth = width.value;
}

function Setmydepth(depth){
mydepth = depth.value;
}

											//Start Radio Button Checks, Follwed by Howmany
function CheckRadio (form){
							
var Type0Checked =0						//Checking that a Sunlight has been selected
var Type1Checked =0
var Type2Checked =0
var TypeChecked =0
if(form.R1[0].checked){			
Type0Checked = 1}
if(form.R1[1].checked){    
Type1Checked = 1}
TypeChecked = parseInt(Type0Checked + Type1Checked)
if (TypeChecked < 1 ){
alert("Please Select degree of Sunlight")}
						 	
var Shape0Checked =0						//Checking that a shape has been selected
var Shape1Checked =0
var ShapeChecked =0
if(form.S1[0].checked){			
Shape0Checked = 1}
if(form.S1[1].checked){    
Shape1Checked = 1}
ShapeChecked = parseInt(Shape0Checked + Shape1Checked)
if (ShapeChecked < 1 ){
alert("Please Select a Pond Shape")}

							
var Unit0Checked =0						//Checking that a unit of measurment has been selected
var Unit1Checked =0
var UnitChecked =0
if(form.M1[0].checked){			
Unit0Checked = 1}
if(form.M1[1].checked){    
Unit1Checked = 1}
UnitChecked = parseInt(Unit0Checked + Unit1Checked)
if (UnitChecked < 1 ){
alert("Please Select a Unit of Measurment")}
HowMany (form)
}	

function PreCalcCheckRadio(form){		//Start Radio Button Checks, without Howmany

var Type0Checked =0						//Checking that a shape has been selected
var Type1Checked =0
var Type2Checked =0
var TypeChecked =0
if(form.R1[0].checked){			
Type0Checked = 1}
if(form.R1[1].checked){    
Type1Checked = 1}
TypeChecked = parseInt(Type0Checked + Type1Checked)
if (TypeChecked < 1 ){
alert("Please Select Degree of Sunlight / Shading")}

						 					//Checking that a shape has been selected
var Shape0Checked =0
var Shape1Checked =0
var ShapeChecked =0
if(form.S1[0].checked){			
Shape0Checked = 1}
if(form.S1[1].checked){    
Shape1Checked = 1}
ShapeChecked = parseInt(Shape0Checked + Shape1Checked)
if (ShapeChecked < 1 ){
alert("Please Select a Pond Shape")}

											//Checking that a unit of measurment has been selected
var Unit0Checked =0
var Unit1Checked =0
var UnitChecked =0
if(form.M1[0].checked){			
Unit0Checked = 1}
if(form.M1[1].checked){    
Unit1Checked = 1}
UnitChecked = parseInt(Unit0Checked + Unit1Checked)
if (UnitChecked < 1 ){
alert("Please Select a Unit of Measurment")}
}	

											//Start Calculate & Show Volumes
function HowMany (form)
{
form.volume.value=""
form.evolume.value=""

var unit = 0
if(form.M1[0].checked){			
unit = 1000}

if(form.M1[1].checked){			
unit = 6.24}


if (form.S1[0].checked){
	if (mylength<0.01){
	alert ("Please Enter A Pond Length")
}
	if (mywidth<0.01){
	alert ("Please Enter A Pond Width")
}
	if (mydepth<0.01){
	alert ("Please Enter A Pond Depth")
}

	if (mylength > 0)
		if (mydepth > 0)
			if (mywidth > 0){
			var difference
			difference = parseInt(((mylength * mywidth) * mydepth)* unit);
			form.volume.value = difference;
		}
}
else
if(form.S1[1].checked){
if (mylength<1){
alert ("Please Enter A Pond Diameter")
}
if (mydepth<0.01){
alert ("Please Enter A Pond Depth")
}
if (mylength > 0)
	if (mydepth > 0){
		var difference;
		difference = parseInt(((((mylength/2) * (mylength/2))*3.142)* mydepth)* unit);
		if (difference>0){
		form.volume.value = difference;
		}
		else
		alert("Please Enter The Pond Dimensions, Using Numbers Only")
		}
}

var edifference = 0
var factor = 0
var sfactor = 0
if(form.R1[0].checked){    
sfactor= 0.25


}

var dfactor = 0
if(form.M1[0].checked){			
	if(mydepth < 0.76){			
	dfactor= 0.25}
}
if(form.M1[1].checked){			
	if(mydepth < 2.49){			
	dfactor= 0.25}
}

factor = ((sfactor + dfactor)+ 1); 



var unit = 0
if(form.M1[0].checked){			
unit = 1000}

if(form.M1[1].checked){			
unit = 6.24}


edifference = parseInt(difference * factor);
	if (edifference>0){
	form.evolume.value = edifference
	}
	else
	alert("Please Enter The Pond Dimensions, Using Numbers Only")
}

											// Start Clear Form-->
function ClearForm(form)
{
form.R1.value = "";
form.depth.value = "";
form.length.value = "";
form.width.value = "";
form.volume.value = "";
form.Unit.value = "";
form.Unit1.value = "";
form.Unit2.value = "";
form.Unit5.value = "";
form.Unit6.value = "";
form.S1[0].checked=0;
form.S1[1].checked=0;
form.M1[0].checked=0;
form.M1[1].checked=0;
form.R1[0].checked=0;
form.R1[1].checked=0;
form.volume.value = "";
form.evolume.value = "";
mywidth = 0;
mydepth = 0;
mylength = 0;
form.R1[0].focus();
}

/* End Pond Volume Calculator Code */

/*------------------------------------------------------------------------------------- */
 
/* Start - Q & A Hide / Show Layer Code */


var wgd_slideSpeed = 10;	// Higher value = faster
var wgd_timer = 10;	// Lower value = faster

var objectIdToSlideDown = false;
var wgd_activeId = false;
var wgd_slideInProgress = false;
var wgd_slideInProgress = false;
var wgd_expandMultiple = false; // true if you want to be able to have multiple items expanded at the same time.

function showHideContent(e,inputId)
{
	if(wgd_slideInProgress)return;
	wgd_slideInProgress = true;
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	var answerDiv = document.getElementById('wgd_a' + numericId);

	objectIdToSlideDown = false;

	if(!answerDiv.style.display || answerDiv.style.display=='none'){
		if(wgd_activeId &&  wgd_activeId!=numericId && !wgd_expandMultiple){
			objectIdToSlideDown = numericId;
			slideContent(wgd_activeId,(wgd_slideSpeed*-1));
		}else{

			answerDiv.style.display='block';
			answerDiv.style.visibility = 'visible';

			slideContent(numericId,wgd_slideSpeed);
		}
	}else{
		slideContent(numericId,(wgd_slideSpeed*-1));
		wgd_activeId = false;
	}
}

function slideContent(inputId,direction)
{

	var obj =document.getElementById('wgd_a' + inputId);
	var contentObj = document.getElementById('wgd_ac' + inputId);
	height = obj.clientHeight;
	if(height==0)height = obj.offsetHeight;
	height = height + direction;
	rerunFunction = true;
	if(height>contentObj.offsetHeight){
		height = contentObj.offsetHeight;
		rerunFunction = false;
	}
	if(height<=1){
		height = 1;
		rerunFunction = false;
	}

	obj.style.height = height + 'px';
	var topPos = height - contentObj.offsetHeight;
	if(topPos>0)topPos=0;
	contentObj.style.top = topPos + 'px';
	if(rerunFunction){
		setTimeout('slideContent(' + inputId + ',' + direction + ')',wgd_timer);
	}else{
		if(height<=1){
			obj.style.display='none';
			if(objectIdToSlideDown && objectIdToSlideDown!=inputId){
				document.getElementById('wgd_a' + objectIdToSlideDown).style.display='block';
				document.getElementById('wgd_a' + objectIdToSlideDown).style.visibility='visible';
				slideContent(objectIdToSlideDown,wgd_slideSpeed);
			}else{
				wgd_slideInProgress = false;
			}
		}else{
			wgd_activeId = inputId;
			wgd_slideInProgress = false;
		}
	}
}



function initShowHideDivs()
{
	var divs = document.getElementsByTagName('DIV');
	var divCounter = 1;
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='wgd_question'){
			divs[no].onclick = showHideContent;
			divs[no].id = 'wgd_q'+divCounter;
			var answer = divs[no].nextSibling;
			while(answer && answer.tagName!='DIV'){
				answer = answer.nextSibling;
			}
			answer.id = 'wgd_a'+divCounter;
			contentDiv = answer.getElementsByTagName('DIV')[0];
			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px';
			contentDiv.className='wgd_answer_content';
			contentDiv.id = 'wgd_ac' + divCounter;
			answer.style.display='none';
			answer.style.height='1px';
			divCounter++;
		}
	}
}


/* End - Q & A Hide / Show Layer Code */
 
