function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



var http_request = false;
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('pricespan').innerHTML = result; 
			document.getElementById('estprice').value = result;
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   
    
   
function getprice() {
      var poststr = "belly=" + encodeURI( document.getElementById("belly").value ) +
	  				"&accent1=" + encodeURI( document.getElementById("accent1").value ) +
					"&core1=" + encodeURI( document.getElementById("core1").value ) +
					"&core2=" + encodeURI( document.getElementById("core2").value ) +
					"&accent2=" + encodeURI( document.getElementById("accent2").value ) +
					"&back=" + encodeURI( document.getElementById("back").value ) +
					"&handle=" + encodeURI( document.getElementById("handle").value ) +
					"&arrowpass=" + encodeURI( document.getElementById("arrowpass").value ) +
					"&nkd=" + encodeURI( document.getElementById("nkd").value ) +
					"&drawweight=" + encodeURI( document.getElementById("drawweight").value ) +
					"&draw=" + encodeURI( document.getElementById("draw").value ) +
                    "&length=" + encodeURI( document.getElementById("length").value ) ;
		if (document.cbform.dblnk.checked==true)
		{
		poststr = poststr + "&dblnk=1";
		}
      makePOSTRequest('postcbb.php', poststr);
}



function setbowimage()
{
if (document.cbform.belly.value>0)
{
var wdbelly="images/bb/"+document.cbform.belly.value+".jpg";
MM_swapImage('bellyimg','',wdbelly,0);
}
if (document.cbform.accent1.value>0)
{
var wdaccent1="images/bb/"+document.cbform.accent1.value+".jpg";
MM_swapImage('accent1img','',wdaccent1,0)
}
else
{
MM_swapImage('accent1img','','images/bb/shim.gif',0);
}
if (document.cbform.core1.value>0)
{
var wdcore1="images/bb/"+document.cbform.core1.value+".jpg";
MM_swapImage('core1img','',wdcore1,0);
}
if (document.cbform.core2.value>0)
{
var wdcore2="images/bb/"+document.cbform.core2.value+".jpg";
MM_swapImage('core2img','',wdcore2,0)
}
else
{
MM_swapImage('core2img','','images/bb/shim.gif',0);
}
if (document.cbform.accent2.value>0)
{
var wdaccent2="images/bb/"+document.cbform.accent2.value+".jpg";
MM_swapImage('accent2img','',wdaccent2,0)
}
else
{
MM_swapImage('accent2img','','images/bb/shim.gif',0);
}
if (document.cbform.back.value>0)
{
var wdback="images/bb/"+document.cbform.back.value+".jpg";
MM_swapImage('backimg','',wdback,0)
}
if (document.cbform.back.value==4)
{
var oElement = document.getElementById("bamboodiv");
oElement.style.display = "block";
}
else
{
var oElement = document.getElementById("bamboodiv");
oElement.style.display = "none";
}
if (document.cbform.handle.value>0)
{
var wdhandle="images/bb/handle-"+document.cbform.handle.value+".gif";
MM_swapImage('handleimg','',wdhandle,0)
}
else
{
MM_swapImage('handleimg','','images/bb/shim.gif',0);
}
if (document.cbform.arrowpass.value>0)
{
var wdarrowpass="images/bb/arrowpass-"+document.cbform.arrowpass.value+".gif";
MM_swapImage('arrowpassimg','',wdarrowpass,0)
}
else
{
MM_swapImage('arrowpassimg','','images/bb/shim.gif',0);
}
if (document.cbform.nkd.value>-1)
{
var dblnk=1;
if (document.cbform.dblnk.checked && document.cbform.nkd.value>0)
	{
		dblnk=2;
	}
var nkdpic="images/bb/nkd-"+document.cbform.nkd.value+"-1"+".jpg";
MM_swapImage('nkdimg','',nkdpic,0)
}
}

function settillered()
{
var till = document.cbform.draw.value - 0;
document.getElementById('tillered').innerHTML = till + 2;
}

function checkarrowpass()
{
	if (document.cbform.arrowpass.value>0)
	{
		document.cbform.handed.disabled=false;
		document.getElementById('handedlabel').className = 'enabledlabel';
	}
	else
	{ 	
		document.cbform.handed.disabled=true;
		document.getElementById('handedlabel').className = 'disabledlabel';
		document.cbform.handed.selectedIndex = 0;
	}
}

function padchars(hchar, pad) {
	if (pad==2 && hchar.length == 1) {
		var pre = "0";
		hchar = pre + hchar;
	}
	return hchar;
}
function decimal(dec)
{
	this.dec=dec;
	this.toBinary=function() { return this.dec.toString(2); }
	this.toHex=function() { return this.dec.toString(16).toUpperCase(); }
	this.toOctal=function() { return this.dec.toString(8); }
}

function hex(hex)
{
	this.hex=hex;
	this.toDecimal=function() { return parseInt(this.hex, 16); }
	this.toBinary=function() { return this.toDecimal().toString(2); }
	this.toOctal=function() { return this.toDecimal().toString(8); }
}
function urlcode() {
	var urlstring = "http://www.yewtreearchery.co.uk/custombowdesigner-a";
	
	var urlcode = 0;
	var woodscode1= 1;
	var woodscode2= 1;
	var featcode= 1;
	var speccode = 1;
	urlcode = padchars(document.cbform.belly.value, 2);
	urlcode = urlcode + padchars(document.cbform.accent1.value, 2);
	urlcode = urlcode + padchars(document.cbform.core1.value, 2);
	woodscode1 = urlcode;
	urlcode = padchars(document.cbform.core2.value, 2);
	urlcode = urlcode + padchars(document.cbform.accent2.value, 2);
	urlcode = urlcode + padchars(document.cbform.back.value, 2);
	woodscode2= urlcode;
	urlcode = padchars(document.cbform.handle.value, 1);
	urlcode = urlcode + padchars(document.cbform.arrowpass.value, 1);
	urlcode = urlcode + padchars(document.cbform.handed.value, 1);
	urlcode = urlcode + padchars(document.cbform.nkd.value, 1);
	var dblnkchk=0
			if (document.cbform.dblnk.checked==true)
		{
		dblnkchk=1;
		}
	urlcode = urlcode +dblnkchk;
	featcode = urlcode;
	urlcode = padchars(document.cbform.drawweight.value, 2);
	urlcode = urlcode + padchars(document.cbform.draw.value, 2);
	urlcode = urlcode + padchars(document.cbform.length.value, 2);
	speccode=urlcode;
	woodscode1 = woodscode1 - 0;
	woodscode1 = woodscode1.toString(36);
	woodscode2 = woodscode2 - 0;
	woodscode2 = woodscode2.toString(36);
	featcode = featcode - 0;
	featcode = featcode.toString(36);
	speccode = speccode - 0;
	speccode = speccode.toString(36);
	urlstring = urlstring + woodscode1 + "-" + woodscode2 + "-" + featcode + "-" + speccode + ".htm";
	document.getElementById('bowreflink').href=urlstring;
	document.getElementById('bowref').value=urlstring;
}

function resetcalc()
{
document.getElementById('calculate').disabled=false;
document.getElementById('submit').disabled=true;
}
function setcalc()
{
document.getElementById('calculate').disabled=true;
document.getElementById('submit').disabled=false;
}

function cbb()
{
setbowimage();
settillered();
checkarrowpass();
resetcalc();
}
function calculatefunc()
{
getprice();
urlcode();
setcalc();
}