var xmlHttp;
var resortid;
var propertygroupid;
var weekstart;
var freetext;
var divtochange;
var mRowID;
var mMouseposX;
var mMouseposY;

function extractNumber(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}

function savequote()
{
	if(document.getElementById("email").value == "")
	{
		alert("Please input an email address.");
		return;
	}
	if(document.getElementById("yourname").value == "")
	{
		alert("Please input your name.");
		return;
	}
	if(document.getElementById("phone").value == "")
	{
		alert("Please input your phone number.");
		return;
	}
	
	var http;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	document.getElementById("buynow").innerHTML = "";
	var url="ajax/savequote.php?email="+document.getElementById("email").value+"&nme="+document.getElementById("yourname").value+"&phn="+document.getElementById("phone").value;
	

	
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{
		if(http.readyState == 4 && http.status == 200) 
		{
			document.getElementById("savequote").innerHTML="<p>Your quote has been saved. You will shortly recive an email with instructions on reactivating your quote. Bear in mind that if you add any more items to your basket now, you will need to save the quote again.</p>"
			document.getElementById("savequotebutton").innerHTML="";
			
		}
	}
	http.send(null);
}
function selectedquality()
{
	var http;
	var i = 0;
	var newdiv;
	var container;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	
	document.getElementById("thickness").innerHTML=""
	document.getElementById("packnumber").value=""
	var url="ajax/selectedquality.php?spid="+document.getElementById("species").value+"&edge="+document.getElementById("edgetype").value+"&quality="+document.getElementById("quality").value;
	

	
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{
		if(http.readyState == 4 && http.status == 200) 
		{
			busyit();
			var str=http.responseText;
			var mySplitResult = str.split("|");
						
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mthicknesssplit = mySplitResult[0];
			var mthicknessresult = mthicknesssplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Thickness";
			newdiv.value = "";
			container = document.getElementById("thickness");
			container.appendChild(newdiv);
			for(i = 0; i < mthicknessresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mthicknessresult[i];
				newdiv.value = mthicknessresult[i];
				container = document.getElementById("thickness");
				container.appendChild(newdiv);
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			resetbusy();

		}
	}
	http.send(null);
}
function selectedgetype()
{
	var http;
	var i = 0;
	var newdiv;
	var container;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	
	document.getElementById("quality").innerHTML=""
	document.getElementById("thickness").innerHTML=""
	document.getElementById("packnumber").value=""
	var url="ajax/selectedgetype.php?spid="+document.getElementById("species").value+"&edge="+document.getElementById("edgetype").value;
	

	
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{
		if(http.readyState == 4 && http.status == 200) 
		{
			busyit();
			var str=http.responseText;
			var mySplitResult = str.split("|");
						
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mqualitysplit = mySplitResult[0];
			var mqualityresult = mqualitysplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Quality";
			newdiv.value = "";
			container = document.getElementById("quality");
			container.appendChild(newdiv);
			for(i = 0; i < mqualityresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mqualityresult[i];
				newdiv.value = mqualityresult[i];
				container = document.getElementById("quality");
				container.appendChild(newdiv);
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mthicknesssplit = mySplitResult[1];
			var mthicknessresult = mthicknesssplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Thickness";
			newdiv.value = "";
			container = document.getElementById("thickness");
			container.appendChild(newdiv);
			for(i = 0; i < mthicknessresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mthicknessresult[i];
				newdiv.value = mthicknessresult[i];
				container = document.getElementById("thickness");
				container.appendChild(newdiv);
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			resetbusy();

		}
	}
	http.send(null);
}
function selectspecies()
{
	var http;
	var i = 0;
	var newdiv;
	var container;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	
	document.getElementById("edgetype").innerHTML=""
	document.getElementById("quality").innerHTML=""
	document.getElementById("thickness").innerHTML=""
	document.getElementById("packnumber").value=""
	var url="ajax/selectspecies.php?spid="+document.getElementById("species").value;
	

	
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{
		if(http.readyState == 4 && http.status == 200) 
		{
			busyit();
			var str=http.responseText;
			var mySplitResult = str.split("|");
			//////////////////Start doing kind////////////////////////////////////////////////////////////
			var mkindsplit = mySplitResult[0];
			var mkindsplitresult = mkindsplit.split("~");
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Edge Type";
			newdiv.value = "";
			container = document.getElementById("edgetype");
			container.appendChild(newdiv);
			
			for(i = 0; i < mkindsplitresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mkindsplitresult[i];
				newdiv.value = mkindsplitresult[i];
				container = document.getElementById("edgetype");
				container.appendChild(newdiv);
			}
			//////////////////End doing kind////////////////////////////////////////////////////////////
			
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mqualitysplit = mySplitResult[1];
			var mqualityresult = mqualitysplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Quality";
			newdiv.value = "";
			container = document.getElementById("quality");
			container.appendChild(newdiv);
			for(i = 0; i < mqualityresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mqualityresult[i];
				newdiv.value = mqualityresult[i];
				container = document.getElementById("quality");
				container.appendChild(newdiv);
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mthicknesssplit = mySplitResult[2];
			var mthicknessresult = mthicknesssplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Thickness";
			newdiv.value = "";
			container = document.getElementById("thickness");
			container.appendChild(newdiv);
			for(i = 0; i < mthicknessresult.length; i++)
			{
				newdiv = document.createElement("option");
				newdiv.innerHTML = mthicknessresult[i];
				newdiv.value = mthicknessresult[i];
				container = document.getElementById("thickness");
				container.appendChild(newdiv);
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			resetbusy();

		}
	}
	http.send(null);
}
function choosecladdingprofile()
{
	
	var http;
	var i = 0;
	var newdiv;
	var container;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	

	var url="ajax/choosecladdingprofile.php?tid="+document.getElementById("grade").value+"&pid="+document.getElementById("profile").value;
	
	document.getElementById("width").innerHTML=""
	
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{
		if(http.readyState == 4 && http.status == 200) 
		{
			busyit();
			var str=http.responseText;
			var mySplitResult = str.split("|");
						
			//////////////////Start doing quality////////////////////////////////////////////////////////////
			var mwidthsplit = mySplitResult[0];
			var mwithresult = mwidthsplit.split("~");			
			newdiv = document.createElement("option");
			newdiv.innerHTML = "Choose Width";
			newdiv.value = "";
			container = document.getElementById("width");
			container.appendChild(newdiv);
			varx = 0;
			for(i = 0; i < mwithresult.length; i++)
			{
				x=i+1;
				newdiv = document.createElement("option");
				newdiv.innerHTML = mwithresult[x];
				newdiv.value = mwithresult[i];
				container = document.getElementById("width");
				container.appendChild(newdiv);
				i=i+1;
			}
			//////////////////End doing quality////////////////////////////////////////////////////////////
			resetbusy();

		}
	}
	http.send(null);
	
	
	//var mHeight="<option>Choose height</option><option value=\"80\">80</option><option value=\"100\">100</option><option value=\"125\">125</option><option value=\"150\">150</option><option value=\"175\">175</option><option value=\"200\">200</option>"
	

}
function setcomponentheight()
{
	//var mHeight="<option>Choose height</option><option value=\"80\">80</option><option value=\"100\">100</option><option value=\"125\">125</option><option value=\"150\">150</option><option value=\"175\">175</option><option value=\"200\">200</option>"
	var newdiv;
	var container;
	document.getElementById("height").innerHTML="";
	document.getElementById("grade").innerHTML="";
	document.getElementById("profile").innerHTML="";
	
	if(document.getElementById("component").value == "3")
	{

		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "19x19";
		newdiv.value = "19";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Quarter Round";
		newdiv.value = "8";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade";
		newdiv.value = "1";
		container = document.getElementById("grade");
		container.appendChild(newdiv);	
	}
	else if(document.getElementById("component").value == "2")
	{
		newdiv = document.createElement("option");
		newdiv.innerHTML = "50";
		newdiv.value = "50";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "65";
		newdiv.value = "65";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "80";
		newdiv.value = "80";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Choose Grade";
		newdiv.value = "1";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade";
		newdiv.value = "1";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Character Gradee";
		newdiv.value = "2";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Ogee";
		newdiv.value = "1";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Bullnose";
		newdiv.value = "2";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Torus";
		newdiv.value = "3";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Lambs Tongue";
		newdiv.value = "4";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
	}
	else
	{
		newdiv = document.createElement("option");
		newdiv.innerHTML = "100";
		newdiv.value = "100";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "125";
		newdiv.value = "125";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "150";
		newdiv.value = "150";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "170";
		newdiv.value = "175";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "200";
		newdiv.value = "200";
		container = document.getElementById("height");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Choose Grade";
		newdiv.value = "1";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade";
		newdiv.value = "1";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Character Gradee";
		newdiv.value = "2";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Ogee";
		newdiv.value = "1";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Bullnose";
		newdiv.value = "2";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Torus";
		newdiv.value = "3";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Lambs Tongue";
		newdiv.value = "4";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
	}

}
function removeitem(mItem)
{
	divtochange="deletebasket";
	var url="ajax/removebasket.php?item="+mItem;
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}
function setmetrepar()
{
	busyit();
	divtochange="snstable";
	var url="ajax/draw_par_cuttinglist.php";
	if(document.getElementById("runningmetres").checked == true)
	{
		url=url+"?rm=1";
	}
	else
	{
		url=url+"?rm=0";
	}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}
function setmetresns()
{
	busyit();
	divtochange="snstable";
	var url="ajax/draw_sns_cuttinglist.php";
	if(document.getElementById("runningmetres").checked == true)
	{
		url=url+"?rm=1";
	}
	else
	{
		url=url+"?rm=0";
	}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}
function setcladding()
{
	
	if(document.getElementById("menvironment").value == ""){return;}
	var newdiv;
	var container;
	document.getElementById("profile").innerHTML="";
	document.getElementById("grade").innerHTML="";
	
	newdiv = document.createElement("option");
	newdiv.innerHTML = "Choose Grade";
	newdiv.value = "";
	container = document.getElementById("grade");
	container.appendChild(newdiv);
	
	newdiv = document.createElement("option");
	newdiv.innerHTML = "Choose Profile";
	newdiv.value = "";
	container = document.getElementById("profile");
	container.appendChild(newdiv);
		
	if(document.getElementById("menvironment").value == "Internal")
	{
		//<option value="101">Prime Grade Air Dried European Oak</option>
        //<option value="102">Character Grade Air Dried European Oak</option>
        //<option value="103">Prime Grade Fresh Sawn European Oak</option>
        //<option value="104">Character Grade Fresh Sawn European Oak</option>
        //<option value="105">Prime Grade Kiln Dried</option>
        //<option value="106">Character Grade Kiln Dried</option>
		
		
								
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade Kiln Dried";
		newdiv.value = "105";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Character Grade Kiln Dried";
		newdiv.value = "106";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Shiplap";
		newdiv.value = "2";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "T and G 'V' groove";
		newdiv.value = "3";
		container = document.getElementById("profile");
		container.appendChild(newdiv);

		//alert(document.getElementById("menvironment").value);
		//document.getElementById("profile").innerHTML="<option value=''></option><option value='2'>Shiplap</option><option value='3'>T&amp;G 'V' groove</option>";
		//return;
	}
	if(document.getElementById("menvironment").value == "External")
	{
		//<option value="101">Prime Grade Air Dried European Oak</option>
        //<option value="102">Character Grade Air Dried European Oak</option>
        //<option value="103">Prime Grade Fresh Sawn European Oak</option>
        //<option value="104">Character Grade Fresh Sawn European Oak</option>
        //<option value="105">Prime Grade Kiln Dried</option>
        //<option value="106">Character Grade Kiln Dried</option>
								
								
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade Air Dried European Oak";
		newdiv.value = "101";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Character Grade Air Dried European Oak";
		newdiv.value = "102";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Prime Grade Fresh Sawn European Oak";
		newdiv.value = "103";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Character Grade Fresh Sawn European Oak";
		newdiv.value = "104";
		container = document.getElementById("grade");
		container.appendChild(newdiv);
		
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Shiplap";
		newdiv.value = "2";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Feather Edged";
		newdiv.value = "1";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Rainscreen Cladding";
		newdiv.value = "4";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		
		newdiv = document.createElement("option");
		newdiv.innerHTML = "Board on Board";
		newdiv.value = "5";
		container = document.getElementById("profile");
		container.appendChild(newdiv);
		//alert(document.getElementById("menvironment").value);
		//document.getElementById("profile").innerHTML="<option value=''></option><option value='1'>Feather Edged</option><option value='2'>Shiplap</option><option value='4'>Rainscreen Cladding</option><option value='5'>Board on Board</option>";
		//return;
	}
	
}
function planedallround(mID)
{ 
	mRowID=mID;
	var mPriceEachEle = "priceeach"+mID;
	var mLineTotalEle = "linetotal"+mID;
	var mLengthEle = "length"+mID;
	var mQuantEle = "quantity"+mID;
	var mGradeEle = "grade"+mID;
	var mThicknessEle = "thickness"+mID;
	var mWidthEle = "width"+mID;
	document.getElementById(mPriceEachEle).value="";
	document.getElementById(mLineTotalEle).value="";
		
	if(document.getElementById(mLengthEle).value == "")
	{
		return;
	}
	if(document.getElementById(mQuantEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mThicknessEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mWidthEle).value == "")
	{
		return;
	}
	
	if(!IsNumeric(document.getElementById(mQuantEle).value))
	{
		document.getElementById(mQuantEle).value = "";
		alert("Please input a number into quantity");
		return;
	}
	if(!IsNumeric(document.getElementById(mWidthEle).value))
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 269mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mLengthEle).value))
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal width between 0.5 and 4.1");
		return;
	}
	if(document.getElementById(mWidthEle).value  > 269)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 269mm");
		return;
	}
	if(document.getElementById(mWidthEle).value  < 15)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 269mm");
		return;
	}
	if(document.getElementById(mLengthEle).value  > 4.1)
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a length between 0.5 and 4.1");
		return;
	}
	busyit();
	var url="ajax/planedallround.php";
	url=url+"?grade="+document.getElementById(mGradeEle).value+"&width="+document.getElementById(mWidthEle).value+"&thickness="+document.getElementById(mThicknessEle).value+"&length="+document.getElementById(mLengthEle).value+"&quantity="+document.getElementById(mQuantEle).value;
	//url=url+"&sid="+Math.random();
	//alert(url);
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="priceeach";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function calcbeam(mID)
{ 
	mRowID=mID;
	var mPriceEachEle = "priceeach"+mID;
	var mLineTotalEle = "linetotal"+mID;
	var mLengthEle = "length"+mID;
	var mQuantEle = "quantity"+mID;
	var mGradeEle = "grade"+mID;
	var mThicknessEle = "thickness"+mID;
	var mWidthEle = "width"+mID;
	document.getElementById(mPriceEachEle).value="";
	document.getElementById(mLineTotalEle).value="";
		
	if(document.getElementById(mLengthEle).value == "")
	{
		return;
	}
	if(document.getElementById(mQuantEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mThicknessEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mWidthEle).value == "")
	{
		return;
	}
	
	if(document.getElementById("grade1").value == "12")
	{
		if(document.getElementById(mLengthEle).value  > 3)
		{
			document.getElementById(mLengthEle).value = "";
			alert("Please input a nominal length between 0.5m and 3m");
			return;
		}
	}
	
	
	
	if(!IsNumeric(document.getElementById(mQuantEle).value))
	{
		document.getElementById(mQuantEle).value = "";
		alert("Please input a number into quantity");
		return;
	}
	if(!IsNumeric(document.getElementById(mWidthEle).value))
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mThicknessEle).value))
	{
		document.getElementById(mThicknessEle).value = "";
		alert("Please input a nominal thickness between 44mm and 300mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mLengthEle).value))
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal length between 0.5 and 7.5");
		return;
	}
	if(document.getElementById(mWidthEle).value  > 300)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mWidthEle).value < 44)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mThicknessEle).value < 44)
	{
		document.getElementById(mThicknessEle).value = "";
		alert("Please input a nominal thickenss between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mLengthEle).value  > 7.5)
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal length between 0.5 and 7.5");
		return;
	}
	busyit();
	var url="ajax/calcbeam.php";
	url=url+"?grade="+document.getElementById(mGradeEle).value+"&width="+document.getElementById(mWidthEle).value+"&thickness="+document.getElementById(mThicknessEle).value+"&length="+document.getElementById(mLengthEle).value+"&quantity="+document.getElementById(mQuantEle).value;
	//url=url+"&sid="+Math.random();
	//alert(url);
	
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="priceeach";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function calcdougbeam(mID)
{ 
	mRowID=mID;
	var mPriceEachEle = "priceeach"+mID;
	var mLineTotalEle = "linetotal"+mID;
	var mLengthEle = "length"+mID;
	var mQuantEle = "quantity"+mID;
	var mGradeEle = "grade"+mID;
	var mThicknessEle = "thickness"+mID;
	var mWidthEle = "width"+mID;
	document.getElementById(mPriceEachEle).value="";
	document.getElementById(mLineTotalEle).value="";
		
	if(document.getElementById(mLengthEle).value == "")
	{
		return;
	}
	if(document.getElementById(mQuantEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mThicknessEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mWidthEle).value == "")
	{
		return;
	}
	if(!IsNumeric(document.getElementById(mQuantEle).value))
	{
		document.getElementById(mQuantEle).value = "";
		alert("Please input a number into quantity");
		return;
	}
	if(!IsNumeric(document.getElementById(mWidthEle).value))
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mThicknessEle).value))
	{
		document.getElementById(mThicknessEle).value = "";
		alert("Please input a nominal thickness between 44mm and 300mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mLengthEle).value))
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal length between 0.5 and 7.5");
		return;
	}
	if(document.getElementById(mWidthEle).value  > 300)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mWidthEle).value < 44)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mThicknessEle).value < 44)
	{
		document.getElementById(mThicknessEle).value = "";
		alert("Please input a nominal thickenss between 44mm and 300mm");
		return;
	}
	if(document.getElementById(mLengthEle).value  > 7.5)
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal length between 0.5 and 7.5");
		return;
	}
	busyit();
	var url="ajax/calcbeam.php";
	var width=Number(document.getElementById(mWidthEle).value);
	var thick=Number(document.getElementById(mThicknessEle).value);
	width=width+6;
	thick=thick+6;
	url=url+"?grade="+document.getElementById(mGradeEle).value+"&width="+width+"&thickness="+thick+"&length="+document.getElementById(mLengthEle).value+"&quantity="+document.getElementById(mQuantEle).value;
	//url=url+"&sid="+Math.random();
	//alert(url);
	
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="priceeach";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function planedallroundnew(mID)
{ 
	mRowID=mID;
	var mPriceEachEle = "priceeach"+mID;
	var mLineTotalEle = "linetotal"+mID;
	var mLengthEle = "length"+mID;
	var mQuantEle = "quantity"+mID;
	var mGradeEle = "grade"+mID;
	var mThicknessEle = "thickness"+mID;
	var mWidthEle = "width"+mID;
	var mRunnigMetres = 0;
	var mQuant=0;
	var mLength = 0;
	document.getElementById(mPriceEachEle).value="";
	document.getElementById(mLineTotalEle).value="";
		
	if(document.getElementById(mLengthEle).value == "")
	{
		return;
	}
	try
	{
		if(document.getElementById(mQuantEle).value == "")
		{
			return;
		}
	}
	catch(e)
	{
		mRunnigMetres = 1; //set calc to running metres as element does not exist
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mThicknessEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mWidthEle).value == "")
	{
		return;
	}
	try
	{
		if(!IsNumeric(document.getElementById(mQuantEle).value))
		{
			document.getElementById(mQuantEle).value = "";
			alert("Please input a number into quantity");
			return;
		}
	} catch(e){};
	if(!IsNumeric(document.getElementById(mWidthEle).value))
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mLengthEle).value))
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal width between 0.5 and 4.1");
		return;
	}
	if(document.getElementById(mWidthEle).value  > 275)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(document.getElementById(mWidthEle).value  < 15)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(mRunnigMetres == 0)
	{
		if(document.getElementById(mLengthEle).value  > 4.1)
		{
			document.getElementById(mLengthEle).value = "";
			alert("Please input a nominal width between 0.5 and 4.1");
			return;
		}
	}
	busyit();
	
	if(mRunnigMetres == 1)
	{
			mQuant=document.getElementById(mLengthEle).value /2;
			mLength = 2;
	}
	else
	{
		mQuant=document.getElementById(mQuantEle).value;
		mLength = document.getElementById(mLengthEle).value;
	}
	
	var url="ajax/planedallround.php";
	url=url+"?grade="+document.getElementById(mGradeEle).value+"&width="+document.getElementById(mWidthEle).value+"&thickness="+document.getElementById(mThicknessEle).value+"&length="+mLength+"&quantity="+mQuant;
	//url=url+"&sid="+Math.random();
	//alert(url);
	
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="priceeach";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function calcsawntosize(mID)
{ 
	mRowID=mID;
	var mPriceEachEle = "priceeach"+mID;
	var mLineTotalEle = "linetotal"+mID;
	var mLengthEle = "length"+mID;
	var mQuantEle = "quantity"+mID;
	var mGradeEle = "grade"+mID;
	var mThicknessEle = "thickness"+mID;
	var mWidthEle = "width"+mID;
	var mRunnigMetres = 0;
	var mQuant=0;
	var mLength = 0;
	document.getElementById(mPriceEachEle).value="";
	document.getElementById(mLineTotalEle).value="";
		
	if(document.getElementById(mLengthEle).value == "")
	{
		return;
	}
	try
	{
		if(document.getElementById(mQuantEle).value == "")
		{
			return;
		}
	}
	catch(e)
	{
		mRunnigMetres = 1; //set calc to running metres as element does not exist
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mThicknessEle).value == "")
	{
		return;
	}
	if(document.getElementById(mGradeEle).value == "")
	{
		return;
	}
	if(document.getElementById(mWidthEle).value == "")
	{
		return;
	}
	try
	{
		if(!IsNumeric(document.getElementById(mQuantEle).value))
		{
			document.getElementById(mQuantEle).value = "";
			alert("Please input a number into quantity");
			return;
		}
	} catch(e){};
	if(!IsNumeric(document.getElementById(mWidthEle).value))
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(!IsNumeric(document.getElementById(mLengthEle).value))
	{
		document.getElementById(mLengthEle).value = "";
		alert("Please input a nominal width between 0.5 and 4.1");
		return;
	}
	if(document.getElementById(mWidthEle).value  > 275)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(document.getElementById(mWidthEle).value  < 15)
	{
		document.getElementById(mWidthEle).value = "";
		alert("Please input a nominal width between 15mm and 275mm");
		return;
	}
	if(mRunnigMetres == 0)
	{
		if(document.getElementById(mLengthEle).value  > 4.1)
		{
			document.getElementById(mLengthEle).value = "";
			alert("Please input a nominal width between 0.5 and 4.1");
			return;
		}
	}
	busyit();
	
	if(mRunnigMetres == 1)
	{
			mQuant=document.getElementById(mLengthEle).value;
			mLength = 1;
	}
	else
	{
		mQuant=document.getElementById(mQuantEle).value;
		mLength = document.getElementById(mLengthEle).value;
	}
	
	var url="ajax/sawntosize.php";
	url=url+"?grade="+document.getElementById(mGradeEle).value+"&width="+document.getElementById(mWidthEle).value+"&thickness="+document.getElementById(mThicknessEle).value+"&length="+mLength+"&quantity="+mQuant;
	//url=url+"&sid="+Math.random();
	//alert(url);
	
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="priceeach";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function calcdecking()
{ 
	
	
	document.getElementById("cost").value="";
		
	if(document.getElementById("grade").value == "")
	{
		return;
	}
	if(document.getElementById("profile").value == "")
	{
		return;
	}
	if(document.getElementById("width").value == "")
	{
		return;
	}
	
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(!IsNumeric(document.getElementById("m2").value))
	{
		document.getElementById("m2").value = "";
		alert("Please input a number into area required");
		return;
	}
	
	busyit();
	var url="ajax/calcdecking.php";
	url=url+"?grade="+document.getElementById("grade").value+"&width="+document.getElementById("width").value+"&profile="+document.getElementById("profile").value+"&area="+document.getElementById("m2").value;
	url=url+"&sid="+Math.random();
	//alert(url);
	//return;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="cost";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function calccladdng()
{ 
	document.getElementById("cost").value="";
		
	if(document.getElementById("menvironment").value == "")
	{
		return;
	}
	if(document.getElementById("grade").value == "")
	{
		return;
	}
	if(document.getElementById("profile").value == "")
	{
		return;
	}
	if(document.getElementById("width").value == "")
	{
		return;
	}
	
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(!IsNumeric(document.getElementById("m2").value))
	{
		document.getElementById("m2").value = "";
		return;
	}
	
	busyit();
	var url="ajax/calccladding.php";
	url=url+"?clid="+document.getElementById("width").value+"&area="+document.getElementById("m2").value;
	url=url+"&sid="+Math.random();
	//alert(url);
	//return;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="cost";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function addtobasketcladding_new(mEnvironment,mProfile,mID)
{ 
	divtochange="";
	
	if(mProfile == 1){mProfile="Feather Edged";}
	if(mProfile == 5){mProfile="Board On Board";}
	if(mProfile == 2){mProfile="Shiplap";}
	if(mProfile == 2){mProfile="Tongue and Grooved ";}
	if(mProfile == 4){mProfile="Rainscreen";}
	
	if(document.getElementById("grade"+mID).value == "")
	{
		return;
	}
	if(document.getElementById("width"+mID).value == "")
	{
		return;
	}
	if(document.getElementById("m2"+mID).value == "")
	{
		return;
	}
	if(document.getElementById("cost"+mID).value == "")
	{
		return;
	}
	
	var mItem="";
	var mEnv="";
	var mPrice="";
	mEnv=mEnvironment;
	mItem = "Oak Cladding "+mEnv+" "+document.getElementById("grade"+mID)[document.getElementById("grade"+mID).selectedIndex].innerHTML+" "+mProfile+" Width(mm):"+document.getElementById("width"+mID)[document.getElementById("width"+mID).selectedIndex].innerHTML+" Area(m<sup>2</sup>):"+document.getElementById("m2"+mID).value;
	mPrice=document.getElementById("cost"+mID).value;
	

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
				
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			resetbusy();
			calcbasket();
			$.jGrowl(mItem+" Added To Basket");
		}
	}
	http.send(null);
	

	
}

function calccladdng_new(mEnvironment,mProfile,mID)
{ 
	document.getElementById("cost"+mID).value="";
	if(document.getElementById("grade"+mID).value == "")
	{
		//document.getElementById("m2"+mID).value="";
		//alert("Please select a grade of wood.");
		return;
	}
	if(document.getElementById("width"+mID).value == "")
	{
		//document.getElementById("m2"+mID).value="";
		//alert("Please select a width.");
		return;
	}
	
	if(document.getElementById("m2"+mID).value == "")
	{
		return;
	}
	if(!IsNumeric(document.getElementById("m2"+mID).value))
	{
		document.getElementById("m2"+mID).value = "";
		return;
	}
	
	busyit();
	var url="ajax/calccladding.php";
	url=url+"?clid="+document.getElementById("width"+mID).value+"&area="+document.getElementById("m2"+mID).value+"&grade="+document.getElementById("grade"+mID).value+"&profile="+mProfile;
	//alert(url);
	//return;
	
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			resetbusy();
			document.getElementById("cost"+mID).value=http.responseText;
		}
	}
	http.send(null);
}
function calcomponent_new(mRowID,mCompID,mProfID)
{ 
	document.getElementById("cost"+mRowID).value="";
	if(document.getElementById("grade"+mRowID).value == "")
	{
		alert("Please choose a grade of wood.");
		return;
		return;
	}
	if(document.getElementById("height"+mRowID).value == "")
	{
		return;
	}
	
	if(document.getElementById("m2"+mRowID).value == "")
	{
		alert("Please input a number into the length.");
		return;
	}
	if(!IsNumeric(document.getElementById("m2"+mRowID).value))
	{
		document.getElementById("m2"+mRowID).value = "";
		alert("Please input a number into area required");
		return;
	}
	if(document.getElementById("m2"+mRowID).value < 30)
	{
		alert("Please note we have a minimum production run of 30 /m");
		return;
	}
	busyit();
	var url="ajax/calccomponent.php";
	url=url+"?grade="+document.getElementById("grade"+mRowID).value+"&height="+document.getElementById("height"+mRowID).value+"&profile="+mProfID+"&area="+document.getElementById("m2"+mRowID).value+"&component="+mCompID;
	url=url+"&sid="+Math.random();
	//alert (url);
	
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			resetbusy();
			document.getElementById("cost"+mRowID).value=http.responseText;
		}
	}
	http.send(null);
}
function calcomponent()
{ 
	document.getElementById("cost").value="";
		
	if(document.getElementById("component").value == "")
	{
		return;
	}
	if(document.getElementById("grade").value == "")
	{
		return;
	}
	if(document.getElementById("profile").value == "")
	{
		return;
	}
	if(document.getElementById("height").value == "")
	{
		return;
	}
	
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(!IsNumeric(document.getElementById("m2").value))
	{
		document.getElementById("m2").value = "";
		alert("Please input a number into area required");
		return;
	}
	if(document.getElementById("m2").value < 30)
	{
		alert("Please note we have a minimum production run of 30 /m");
		return;
	}
	busyit();
	var url="ajax/calccomponent.php";
	url=url+"?grade="+document.getElementById("grade").value+"&height="+document.getElementById("height").value+"&profile="+document.getElementById("profile").value+"&area="+document.getElementById("m2").value+"&component="+document.getElementById("component").value;
	url=url+"&sid="+Math.random();

	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	divtochange="cost";
	xmlHttp.onreadystatechange=stateChanged;
	//alert(url);
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function calcfloorprice(mPrice,mVat)
{ 
	document.getElementById("cost").value="";
	divtochange="";
	var width = "";
	var wastage = "";
	var m2 = "";
	var m2total = "";
	

	
	width=document.getElementById('width').value;
	wastage=document.getElementById('wastage').value;
	m2=document.getElementById('m2').value;
	if(!IsNumeric(m2))
	{
		document.getElementById('m2').value="";
		return;
	}
	m2total = (m2);
	if (wastage == ""){wastage=0;}
	if (width == ""){return;}
	if (m2 == ""){return;}
	if (wastage > 0)
	{
		m2total=m2total*wastage;
	}
	if (width == "")
	{
		//document.getElementById("hardwood").innerHTML = "&nbsp;Please choose a width.";
		return;
	}
	m2total = m2total*mPrice;
	m2total = CurrencyFormatted(m2total);
	var m2vat="";
	m2vat=m2total*mVat;
	m2vat = CurrencyFormatted(m2vat);
	if (wastage > 0)
	{
		m2=m2*wastage;
	}
	m2 = CurrencyFormatted(m2);
	document.getElementById("cost").value=m2total;
	//document.getElementById("hardwood").innerHTML = "&nbsp;&pound;"+m2total+" (&pound;"+m2vat+" inc VAT)";
}
function filteroakpack2()
{ 
	divtochange="oakview";
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	busyit();
	var quality=document.getElementById("quality").value; 
	var species=document.getElementById("species").value; 
	var thickness=document.getElementById("thickness").value; 
	var packnumber=document.getElementById("packnumber").value; 
	var edgetype=document.getElementById("edgetype").value; 
	
	var url="ajax/filteroakpack2.php";
	url=url+"?quality="+quality+"&species="+species+"&thickness="+thickness+"&packnumber="+packnumber+"&edgetype="+edgetype;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function filteroakpack()
{ 
	divtochange="oakview";
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	busyit();
	var quality=document.getElementById("quality").value; 
	var species=document.getElementById("species").value; 
	var thickness=document.getElementById("thickness").value; 
	var packnumber=document.getElementById("packnumber").value; 
	
	var url="ajax/filteroakpack.php";
	url=url+"?quality="+quality+"&species="+species+"&thickness="+thickness+"&packnumber="+packnumber;
	url=url+"&sid="+Math.random();
	//alert(url);
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function addsawnandplanedtobasket(mItemTitle)
{
	divtochange="";
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	var i=0;
	var mGradeEle="";
	var mWidthEle="";
	var mThickEle="";
	var mLengthEle="";
	var mQuantEle="";
	var mQuant = "";
	var mPriceEachEle="";
	var mPriceTotalEle="";
	var url= "";
	var mItem = "";
	var mPrice = "";
	for (i=1;i<=30;i++)
	{
		mGradeEle="grade" + i;
		mWidthEle="width" + i;
		mThickEle="thickness" + i;
		mLengthEle="length" + i;
		mQuantEle="quantity" + i;
		mPriceEachEle="priceeach" + i;
		mPriceTotalEle="linetotal" + i;
		
		var mCont = "";
		if (document.getElementById(mPriceTotalEle).value == "0.00")
		{
			document.getElementById(mPriceTotalEle).value ="";
		}
		if(document.getElementById(mPriceTotalEle).value != "" || document.getElementById(mPriceTotalEle).value > 0)
		{
			mCont = "";
			xmlHttp=GetXmlHttpObject();
			while (mCont == "")
			{
				xmlHttp.onreadystatechange=stateChanged;
				if (xmlHttp.readyState==4){mCont = "Continue";}
				if (xmlHttp.readyState==0){mCont = "Continue";}
			}
			
			url="ajax/addbasket.php";
			mPrice=document.getElementById(mPriceEachEle).value;
			try
			{
				mQuant=document.getElementById(mQuantEle).value;
				mItem = mItemTitle + " " + document.getElementById(mGradeEle)[document.getElementById(mGradeEle).selectedIndex].innerHTML + " Width:" + document.getElementById(mWidthEle).value+ "mm Thickness:" + document.getElementById(mThickEle).value+ "mm Length:" + document.getElementById(mLengthEle).value+"m";
				url=url+"?item="+mItem+"&price="+mPrice+"&quantity="+mQuant+"&totalcost="+document.getElementById(mPriceTotalEle).value;
			}
			catch(err)
			{

				mQuant=1;
				mItem = mItemTitle + " " + document.getElementById(mGradeEle)[document.getElementById(mGradeEle).selectedIndex].innerHTML + " Width:" + document.getElementById(mWidthEle).value+ "mm Thickness:" + document.getElementById(mThickEle).value+ "mm Running Metres:" + document.getElementById(mLengthEle).value+"m";
				url=url+"?item="+mItem+"&price="+mPrice+"&quantity="+mQuant+"&totalcost="+document.getElementById(mPriceTotalEle).value;
			}
			mItem=mItem+" added to basket";
			$.jGrowl(mItem);
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
			
			document.getElementById(mThickEle).selectedIndex = 0;
			document.getElementById(mGradeEle).selectedIndex = 0;
			try
			{
				document.getElementById(mQuantEle).value = "";
			}catch(err){}
			document.getElementById(mPriceTotalEle).value = "";
			document.getElementById(mWidthEle).value = "";
			document.getElementById(mPriceEachEle).value = "";
			document.getElementById(mLengthEle).value = "";
			
		}
		
	}
	calcbasket();
	

	
}
function addbeamtobasket(mItemTitle,mStart)
{
	divtochange="";
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	var i=0;
	var mGradeEle="";
	var mWidthEle="";
	var mThickEle="";
	var mLengthEle="";
	var mQuantEle="";
	var mQuant = "";
	var mPriceEachEle="";
	var mPriceTotalEle="";
	var url= "";
	var mItem = "";
	var mPrice = "";
	var mEnd = mStart + 29;
	
	for (i=mStart;i<=mEnd;i++)
	{
		mGradeEle="grade" + i;
		mWidthEle="width" + i;
		mThickEle="thickness" + i;
		mLengthEle="length" + i;
		mQuantEle="quantity" + i;
		mPriceEachEle="priceeach" + i;
		mPriceTotalEle="linetotal" + i;
		
		var mCont = "";
		if (document.getElementById(mPriceTotalEle).value == "0.00")
		{
			document.getElementById(mPriceTotalEle).value ="";
		}
		if(document.getElementById(mPriceTotalEle).value != "" || document.getElementById(mPriceTotalEle).value > 0)
		{
			mCont = "";
			xmlHttp=GetXmlHttpObject();
			while (mCont == "")
			{
				xmlHttp.onreadystatechange=stateChanged;
				if (xmlHttp.readyState==4){mCont = "Continue";}
				if (xmlHttp.readyState==0){mCont = "Continue";}
			}
			
			url="ajax/addbasket.php";
			mPrice=document.getElementById(mPriceEachEle).value;
			try
			{
				mQuant=document.getElementById(mQuantEle).value;
				mItem = mItemTitle + " " + document.getElementById(mGradeEle)[document.getElementById(mGradeEle).selectedIndex].innerHTML + " Width:" + document.getElementById(mWidthEle).value+ "mm Thickness:" + document.getElementById(mThickEle).value+ "mm Length:" + document.getElementById(mLengthEle).value+"m";
				url=url+"?item="+mItem+"&price="+mPrice+"&quantity="+mQuant+"&totalcost="+document.getElementById(mPriceTotalEle).value;
			}
			catch(err)
			{

				mQuant=1;
				mItem = mItemTitle + " " + document.getElementById(mGradeEle)[document.getElementById(mGradeEle).selectedIndex].innerHTML + " Width:" + document.getElementById(mWidthEle).value+ "mm Thickness:" + document.getElementById(mThickEle).value+ "mm Running Metres:" + document.getElementById(mLengthEle).value+"m";
				url=url+"?item="+mItem+"&price="+mPrice+"&quantity="+mQuant+"&totalcost="+document.getElementById(mPriceTotalEle).value;
			}
			
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
			
			document.getElementById(mThickEle).selectedIndex = 0;
			document.getElementById(mGradeEle).selectedIndex = 0;
			try
			{
				document.getElementById(mQuantEle).value = "";
			}catch(err){}
			document.getElementById(mPriceTotalEle).value = "";
			document.getElementById(mWidthEle).value = "";
			document.getElementById(mPriceEachEle).value = "";
			document.getElementById(mLengthEle).value = "";
			
		}
		
	}
	calcbasket();
	

	
}
function addtobasketdecking()
{ 
	divtochange="";
	
	if(document.getElementById("grade").value == "")
	{
		return;
	}
	if(document.getElementById("profile").value == "")
	{
		return;
	}
	if(document.getElementById("width").value == "")
	{
		return;
	}
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(document.getElementById("cost").value == "")
	{
		return;
	}
	
	var mItem="";
	var mPrice="";
	
	mItem = "Oak Decking "+document.getElementById("grade")[document.getElementById("grade").selectedIndex].innerHTML+" "+document.getElementById("profile")[document.getElementById("profile").selectedIndex].innerHTML+" "+document.getElementById("m2").value+"m2";
	mPrice=document.getElementById("cost").value;
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
			
			
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	document.getElementById("cost").value="";
	calcbasket();
	

	
}
function sendgatetobasket(mDoor,mQuant,mPrice)
{
	divtochange="";
	
				
	url="ajax/addbasketdoor.php";
	url=url+"?item="+mDoor+"&price="+mPrice+"&quantity="+mQuant;
	url=url+"&sid="+Math.random();
	//alert(url);		
	mCont = "";
	xmlHttp=GetXmlHttpObject();
	while (mCont == "")
	{
		xmlHttp.onreadystatechange=stateChanged;
		if (xmlHttp.readyState==4){mCont = "Continue";}
			if (xmlHttp.readyState==0){mCont = "Continue";}
	}	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}
function senddoortobasket(mDoor,mQuant,mPrice)
{
	divtochange="";
	
				
	url="ajax/addbasketdoor.php";
	url=url+"?item="+mDoor+"&price="+mPrice+"&quantity="+mQuant;
	url=url+"&sid="+Math.random();
	//alert(url);		
	mCont = "";
	xmlHttp=GetXmlHttpObject();
	while (mCont == "")
	{
		xmlHttp.onreadystatechange=stateChanged;
		if (xmlHttp.readyState==4){mCont = "Continue";}
			if (xmlHttp.readyState==0){mCont = "Continue";}
	}	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
}
function buygate(mDoorArray,mDoorGroup)
{
	var str=mDoorArray;
	var mySplitResult = str.split("~");
	var mQuantID = "";
	var mSizeID = "";
	var mPriceID = "";
	var mItem="";
	busyit();
	for(i = 0; i < mySplitResult.length; i++)
	{
		mQuantID=mySplitResult[i];
		if(document.getElementById(mQuantID).value != "0")
		{
			mSizeID=mQuantID.replace("quantity", "size");
			mPriceID=mQuantID.replace("quantity", "cost");
			mPriceID=document.getElementById(mPriceID).innerHTML;
			mSizeID=document.getElementById(mSizeID).innerHTML;
			mQuantID=document.getElementById(mQuantID).value;
			mPriceID=mPriceID.replace("\u00A3", "");
			
			
			sendgatetobasket(mDoorGroup+" "+mSizeID,mQuantID,mPriceID);
			mItem=mDoorGroup+" "+mSizeID+" added to basket.";
			$.jGrowl(mItem);
		}
	}
	calcbasket();
	resetbusy();
}

function buydoor(mDoorArray,mDoorGroup)
{
	var str=mDoorArray;
	var mySplitResult = str.split("~");
	var mQuantID = "";
	var mSizeID = "";
	var mPriceID = "";
	var mItem="";
	busyit();
	for(i = 0; i < mySplitResult.length; i++)
	{
		mQuantID=mySplitResult[i];
		if(document.getElementById(mQuantID).value != "0")
		{
			mSizeID=mQuantID.replace("quantity", "size");
			mPriceID=mQuantID.replace("quantity", "cost");
			mPriceID=document.getElementById(mPriceID).innerHTML;
			mSizeID=document.getElementById(mSizeID).innerHTML;
			mQuantID=document.getElementById(mQuantID).value;
			mPriceID=mPriceID.replace("\u00A3", "");
			
			
			senddoortobasket(mDoorGroup+" "+mSizeID,mQuantID,mPriceID);
			mItem=mDoorGroup+" "+mSizeID+" added to basket.";
			$.jGrowl(mItem);
		}
	}
	calcbasket();
	resetbusy();
}
function calcomponent_new(mRowID,mCompID,mProfID)
{ 
	document.getElementById("cost"+mRowID).value="";
	if(document.getElementById("grade"+mRowID).value == "")
	{
		alert("Please choose a grade of wood.");
		return;
		return;
	}
	if(document.getElementById("height"+mRowID).value == "")
	{
		return;
	}
	
	if(document.getElementById("m2"+mRowID).value == "")
	{
		alert("Please input a number into the length.");
		return;
	}
	if(!IsNumeric(document.getElementById("m2"+mRowID).value))
	{
		document.getElementById("m2"+mRowID).value = "";
		alert("Please input a number into area required");
		return;
	}
	if(document.getElementById("m2"+mRowID).value < 30)
	{
		alert("Please note we have a minimum production run of 30 /m");
		return;
	}
	busyit();
	var url="ajax/calccomponent.php";
	url=url+"?grade="+document.getElementById("grade"+mRowID).value+"&height="+document.getElementById("height"+mRowID).value+"&profile="+mProfID+"&area="+document.getElementById("m2"+mRowID).value+"&component="+mCompID;
	url=url+"&sid="+Math.random();
	//alert (url);
	
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			resetbusy();
			document.getElementById("cost"+mRowID).value=http.responseText;
		}
	}
	http.send(null);
}
function addtobasketcomponent_new(mRowID,mCompID,mProfID,mCompTxt,mProfTxt)
{ 

	
	if(document.getElementById("grade"+mRowID).value == "")
	{
		return;
	}
	if(document.getElementById("height"+mRowID).value == "")
	{
		return;
	}
	if(document.getElementById("m2"+mRowID).value == "")
	{
		return;
	}
	if(document.getElementById("cost"+mRowID).value == "")
	{
		return;
	}
	
	var mItem="";
	var mEnv="";
	var mPrice="";
	mEnv=mCompTxt;
	mItem = mEnv+" "+document.getElementById("grade"+mRowID)[document.getElementById("grade"+mRowID).selectedIndex].innerHTML+" "+mProfTxt+" "+document.getElementById("m2"+mRowID).value+"m"+" "+document.getElementById("height"+mRowID).value+"mm";
	mPrice=document.getElementById("cost"+mRowID).value;
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
						
	document.getElementById("cost"+1).value="";
	
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			calcbasket();
			$.jGrowl(mItem+" Added To Basket");
			document.getElementById("height"+mRowID).value ="";
			document.getElementById("m2"+mRowID).value ="";
			document.getElementById("cost"+mRowID).value="";
			document.getElementById("grade"+mRowID).value="";
		}
	}
	http.send(null);
			
	
	

	
}
function addtobasketfloor()
{ 
	divtochange="";
	
	if(document.getElementById("width").value == "")
	{
		return;
	}
	if(document.getElementById("wastage").value == "")
	{
		return;
	}
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(document.getElementById("cost").value == "")
	{
		return;
	}
		
	var mItem="";
	var mEnv="";
	var mPrice="";
	
	mItem = "Oak Flooring Width:"+document.getElementById("width")[document.getElementById("width").selectedIndex].innerHTML+" Area:"+document.getElementById("m2").value+"m<sup>2</sup>";
	mPrice=document.getElementById("cost").value;
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
			
			
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
			
	calcbasket();
	

	
}
function addtobasketcladding()
{ 
	divtochange="";
	
	if(document.getElementById("menvironment").value == "")
	{
		return;
	}
	if(document.getElementById("grade").value == "")
	{
		return;
	}
	if(document.getElementById("profile").value == "")
	{
		return;
	}
	if(document.getElementById("width").value == "")
	{ddingdddd
		return;
	}
	if(document.getElementById("m2").value == "")
	{
		return;
	}
	if(document.getElementById("cost").value == "")
	{
		return;
	}
	
	var mItem="";
	var mEnv="";
	var mPrice="";
	mEnv=document.getElementById("menvironment").value;
	mItem = "Oak Cladding "+mEnv+" "+document.getElementById("grade")[document.getElementById("grade").selectedIndex].innerHTML+" "+document.getElementById("profile")[document.getElementById("profile").selectedIndex].innerHTML+" Width(mm):"+document.getElementById("width")[document.getElementById("width").selectedIndex].innerHTML+" Area(m<sup>2</sup>):"+document.getElementById("m2").value;
	mPrice=document.getElementById("cost").value;
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
			
//	alert(url);		
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
			
	calcbasket();
	$.jGrowl(mItem+" Added To Basket");

	
}
function addtobasketkitt()
{ 

	
	if(document.getElementById("kitquant").value == "")
	{
		return;
	}
	
	http=GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/adddoorkit.php";
	url=url+"?quant="+document.getElementById("kitquant").value;
	url=url+"&sid="+Math.random();
						
	document.getElementById("cost"+1).value="";
	
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			calcbasket();
			$.jGrowl("Door Kit Added To Basket");
			document.getElementById("kitquant").value ="";
		}
	}
	http.send(null);	
}
function addtobasketpacks(mItem,mPrice)
{ 
	divtochange="packs";
	
	
	
	xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
			
	url="ajax/addbasketsingle.php";
	url=url+"?item="+mItem+"&price="+mPrice;
	url=url+"&sid="+Math.random();
			
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
	mItem=mItem+" added to basket";
			$.jGrowl(mItem);
	
}
function calcbasket()
{ 
	divtochange="basketview";
	var http = GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
	var url="ajax/calcbasket.php";
	//url=url+"?item="+mItem+"&price="+mPrice;
//	url=url+"&sid="+Math.random();
	//alert(url);
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			document.getElementById(divtochange).innerHTML=http.responseText;
		}
	}
	http.send(null);
}
function calcripped()
{
	if(document.getElementById("length").value == "")
	{
		return;
	}
	if(document.getElementById("length").value < 50)
	{
		alert("There is a 50m minimum order.");
	}
	var http = GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	
	var url="ajax/calcripped.php?width="+document.getElementById("width").value+"&length="+document.getElementById("length").value;
//	alert(url);
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			document.getElementById("cost").value=http.responseText;
		}
	}
	http.send(null);
}
function addrippedtowidthtobasket()
{
	if(document.getElementById("length").value == "")
	{
		return;
	}
	var http = GetXmlHttpObject();
	if (http==null)
 	{
 		alert ("Browser does not support HTTP Request");
 		return;
 	}

	
	var mItem = "Kiln Dried Oak Strips - Width: "+document.getElementById("width").value+"(mm) Length: "+document.getElementById("length").value+"(m)";
	var url="ajax/addbasketsingle.php?item="+mItem+"&price="+document.getElementById("cost").value;
//	alert(url);
	http.onreadystatechange=stateChanged;
	http.open("GET",url,true);
	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			calcbasket();
			$.jGrowl(mItem +" Added to basket");
		}
	}
	http.send(null);
}
function stateChanged() 
{ 
	if (divtochange == "deletebasket")
	{
		//alert(xmlHttp.responseText);
		if(xmlHttp.responseText == "deleted")
		{
			window.location.reload();
		}
		return;
	}
	
	if (divtochange == "")
	{
		return;
	}
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		
		if(divtochange=="packs")
		{
			document.getElementById("basketview").innerHTML=xmlHttp.responseText;
		}
		if(divtochange=="basketview")
		{
			document.getElementById(divtochange).innerHTML=xmlHttp.responseText;
			return;
		}
		if(divtochange=="snstable")
		{
			document.getElementById(divtochange).innerHTML=xmlHttp.responseText;
			resetbusy();
			return;
		}
		
		if(divtochange=="priceeach")
		{
			var mPriceVal="";
			var mQuantEle = "quantity" + mRowID;
			var mtotalEle ="linetotal"  + mRowID;
			var meacheEle = divtochange+   + mRowID;
			mRowID=mRowID+3;
			var mTableID = "t" + mRowID;
			mPriceVal = xmlHttp.responseText;
			mPriceVal = CurrencyFormatted(mPriceVal);
			document.getElementById(mtotalEle).value=mPriceVal;
			try
			{
				mPriceVal = CurrencyFormatted(xmlHttp.responseText/document.getElementById(mQuantEle).value);
				document.getElementById(meacheEle).value=mPriceVal;
			} 
			catch(e)
			{
				mPriceVal = CurrencyFormatted(mPriceVal);
				document.getElementById(meacheEle).value=mPriceVal;
			}
			document.getElementById(mTableID).style.visibility="visible";
			try
  			{
				document.getElementById(mTableID).style.removeAttribute("display");
			}
			catch(err)
			{
				document.getElementById(mTableID).style.removeProperty("display");
			}
			
			resetbusy();
			//calcbasket();
			return;
		}
		
		if(divtochange=="cost")
		{
			
			document.getElementById(divtochange).value=xmlHttp.responseText;
			resetbusy();
			return;
		}
		if(divtochange=="oakview")
		{
			
			document.getElementById(divtochange).innerHTML=xmlHttp.responseText;
			resetbusy();
			return;
		}
	} 
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}
function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}
function resetbusy()
{

	document.getElementById("pleasewaitcontainer").innerHTML="";
	document.getElementById("container").style.visibility="visible";
	//try
	//{
//		document.getElementById("content_box").style.removeProperty("height");
	//}
	//catch (e)
  	//{
	//	document.getElementById("content_box").style.removeAttribute("height");
	//}
	
//	document.body.scrollTop=mMousepos;
	//scrollToCoordinates();
}
function busyit()
{

	//document.getElementById("container").style.visibility="collapse";
	//document.body.clientHeight/Width
	document.getElementById("pleasewaitcontainer").style.left = ((document.body.clientWidth - 157) / 2)+"px";
	document.getElementById("pleasewaitcontainer").style.top = ((document.body.clientHeight - 157) / 2)+"px";
	document.getElementById("pleasewaitcontainer").innerHTML="<br /><br /><div id ='pleasewait' align='center'><div style='height:30px'></div><img src='images/ajax-loader.gif' alt='Please Wait'/></div>";
	
}

function scrollToCoordinates() 
{

  window.scrollTo(0,0);

}
function copyaddress()
{
	
	document.getElementById("bfirst_name").value = document.getElementById("first_name").value;
	document.getElementById("blast_name").value = document.getElementById("last_name").value;
	document.getElementById("bemail").value = document.getElementById("email").value;
	document.getElementById("bphone").value = document.getElementById("phone").value;
	document.getElementById("baddress1").value = document.getElementById("address1").value;
	document.getElementById("baddress2").value = document.getElementById("address2").value;
	document.getElementById("btown").value = document.getElementById("town").value;
	document.getElementById("bcounty").value = document.getElementById("county").value;
	document.getElementById("bpostcode").value = document.getElementById("postcode").value;	
}
function checkout()
{
	if(document.getElementById("terms").checked == false)
	{
		alert("Please check that you have read out terms and conditions.");
		return;
	}
	if(document.getElementById("email").value == "")
	{
		alert("Please input an email address.");
		return;
	}
	if(document.getElementById("bemail").value == "")
	{
		alert("Please input an email address.");
		return;
	}
	
	
	
	var http = GetXmlHttpObject();
	var url = "ajax/setdelivery.php";
	var params = "lorem=ipsum&name=binny";
	
	params="bfirst_name="+document.getElementById("bfirst_name").value;
	params=params+"&first_name="+document.getElementById("first_name").value;
	params=params+"&blast_name="+document.getElementById("blast_name").value;
	params=params+"&last_name="+document.getElementById("last_name").value;
	params=params+"&bemail="+document.getElementById("bemail").value;
	params=params+"&email="+document.getElementById("email").value;
	params=params+"&bphone="+document.getElementById("bphone").value;
	params=params+"&phone="+document.getElementById("phone").value;
	params=params+"&baddress1="+document.getElementById("baddress1").value;
	params=params+"&address1="+document.getElementById("address1").value;
	params=params+"&baddress2="+document.getElementById("baddress2").value;
	params=params+"&address2="+document.getElementById("address2").value;
	params=params+"&btown="+document.getElementById("btown").value;
	params=params+"&town="+document.getElementById("town").value;
	params=params+"&bcounty="+document.getElementById("bcounty").value;
	params=params+"&county="+document.getElementById("county").value;
	params=params+"&bpostcode="+document.getElementById("bpostcode").value;
	params=params+"&postcode="+document.getElementById("postcode").value;	
	params=params+"&collect="+document.getElementById("collect").checked;	
	
		
	http.open("POST", url, true);

	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");

	http.onreadystatechange = function() 
	{//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) 
		{
			window.location = "checkout.php"
		}
	}
	http.send(params);

}
