
document.loadingdefaults = 1;
var scrollratio;
scrollratio = 0.85;

if(document.all && !document.getElementById) {
	document.getElementById = function(id) {
		return document.all[id];
	}
}

// ------------------------- viewerLoaded -- is fired by the viewer when it is loaded. ---------
function viewerLoaded() {
	try {
		Opt('pole','12');
		//Opt('arm','single');
		Opt('arm','none');
		Opt('fixture','24');
		Opt('accessories','left');
		selectionsLoaded();
	} catch(e) {
		//alert('viewerLoaded function error: ' + e.description);
	}
	return true;
}

// ------------------------- resetItem -- reapplies selections to the viewer. -------------
function resetItem(t) {
	if (document.loadingdefaults != 1) {
		var sf = document.forms['selections'];
		var qf = document.forms['frmQuote'];
		var v = document.getElementById('viewer').contentWindow.document;

		if (t == 'base' || t == 'all') {
			s('base',sf.base.value,sf.baseiname.value,v.basefid,v.basew,v.baseh,v.baseX1,v.baseY1,v.baseX2,v.baseY2,null,null,v.basefileid,'',v.basenudge);
		}
		if (t == 'pole' || t == 'all') {
			s('pole',sf.pole.value,sf.poleiname.value,v.shaftfid,v.shaftw,v.shafth,v.shaftX1,v.shaftY1,v.shaftX2,v.shaftY2,v.shaftX3,v.shaftY3,v.shaftfileid,sf.o_pole.value,0);
		}
		if (t == 'arm' || t == 'all') {
			s('arm',sf.arm.value,sf.arminame.value,v.armfid,v.armw,v.armh,v.armX1,v.armY1,v.armX2,v.armY2, v.armX3,v.armY3,v.armfileid,'',0);
			if (t != 'all') { resetItem('fixture') };
		}
		if (t == 'fixture' || t == 'all') {
			s('fixture',sf.fixture.value,sf.fixtureiname.value,v.fixturefid,v.fixturew,v.fixtureh,v.fixX1,v.fixY1, v.fixX2,v.fixY2, v.fixX3,v.fixY3,v.fixturefileid,'',v.fixturenudge);
		}
		if (t == 'accessories' || t == 'all') {
			//s('accessories',sf.accessories.value,qf.Accessories.value,v.accessoriesfid,v.accessoriesw,v.accessoriesh,v.accessoriesX1,v.accessoriesY1, null, null, null, null,v.accessoriesfileid,'',0);
		}
		if (t == 'all')
		{
			setTimeout("viewer.setPositions('all')", 500);
		}
	}
}

function hi(t,iname) {
	var d = document;
	d.hovertemp = d.getElementById(t+'itemname').innerHTML;
	d.getElementById(t+'itemname').innerHTML = iname;
}

function unhi(t) {
	var d = document;
	d.getElementById(t+'itemname').innerHTML = d.hovertemp;
}

function s(t,it,iname,fid,w,h,x1,y1,x2,y2,x3,y3,fileid,shaft_height,nudge_value) {
	var allow2;
	//select item
	//it = item id, fid = pole bulder file id, fileid = pdf file id
	if (t=='fixture') {
		allow2 = shaft_height;
	}
	else {
		allow2 = false;
	}
	var d = document;
	var v = document.getElementById('viewer').contentWindow.document;
	var sf = d.forms['selections'];
	shaft_height = d.forms['frmQuote'].Shaft_Height.value;
	var pole_lbl = v.getElementById('pole_lbl');
	var base_lbl = v.getElementById('base_lbl');
	var arm_lbl = v.getElementById('arm_lbl');
	var fix1_lbl = v.getElementById('fix1_lbl');
	var fix2_lbl = v.getElementById('fix2_lbl');
	var fix3_lbl = v.getElementById('fix3_lbl');

	var sizemultiplier = 1;

	var fip = v.scalePx/v.shaftScale;// conversion factor for feet into px

	if (t == 'base'){
		try {
			try { d.getElementById(t + sf.base.value).className = 'unsc';
			} catch(e) {}
			d.getElementById(t + it).className = 'sc';

			sf.base.value=it;
			v.basefid = fid;
			v.basefileid = fileid;
			v.basew = w;
			v.baseh = h;
			v.baseX1 = x1; //arm
			v.baseY1 = y1; //arm
			v.baseX2 = x2; //baseX1
			v.baseY2 = y2; //baseY1
			v.basenudge = nudge_value;

			var baseheight = h/12; // in feet
			var bih = y1-y2; // base image height in px
			var reqpx = baseheight*fip*sizemultiplier;
			var ratio = reqpx/bih;
			v.baseratio = ratio;
			baseheight = parseInt(482 * ratio);
			var basewidth = parseInt(312 * ratio);
			v.images['basemask'].style.height=reqpx;
			v.images['basemask'].style.width=basewidth;
			v.images['base'].height=reqpx+1;
			v.images['base'].src='/img.asp?fid='+fid+'&height='+reqpx+'&width=0&isGif=1';

			var aIname = iname.split('<br>');
			d.forms['frmQuote'].Base_Type.value = aIname[1];
			sf.baseiname.value = iname;

			if (fileid) {
				base_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
			} else {
				base_lbl.innerHTML = aIname[1];
			}

			d.getElementById(t+'itemname').innerHTML = iname;
			d.hovertemp = iname;
		} catch (e) {
			//alert('s:base:'+e.description);
		}

	} else if (t == 'pole') { // shaft
		try {
			if (sf.pole.value != '') d.getElementById(t + sf.pole.value).className = 'unsc';
			d.getElementById(t + it).className = 'sc';
			sf.pole.value=it;
			var aIname = iname.split('<br>');
			d.forms['frmQuote'].Shaft_Type.value = aIname[1];
			sf.poleiname.value = iname;

			if ((aIname[1] == 'RT') || (aIname[1] == 'RTFP')) {
				//22-30
				if (d.forms['frmQuote'].Shaft_Height.value < 22) {
					Opt('pole','22');
				}
				d.getElementById('poleheight').style.display='none';
				d.getElementById('roadwaypoleheight').style.display='block';
			} else {
				//12-20
				if (d.forms['frmQuote'].Shaft_Height.value > 20) {
					Opt('pole','20');
				}
				d.getElementById('roadwaypoleheight').style.display='none';
				d.getElementById('poleheight').style.display='block';
			}

			if (fileid) {
				pole_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
			} else {
				pole_lbl.innerHTML = aIname[1];
			}

			v.shaftfid = fid;
			v.shaftfileid = fileid;
			v.shaftw = w;
			v.shafth = h;
			v.shaftX1 = x1; //arm
			v.shaftY1 = y1; //arm
			v.shaftX2 = x2; //baseX1
			v.shaftY2 = y2; //baseY1
			v.shaftX3 = x3; //topX1
			v.shaftY3 = y3; //topY1

			// calculate the image height of the pole
			var poleheight = v.shaftLength * fip;
			if (v.armY3 == 'True') {
				var fixtureheight = v.fixtureh/12; // in feet
				var reqpx = ((v.fixY1*v.fixratio) + ((10*v.scalefactor) + (v.armY2*v.armratio)) - (v.armY1*v.armratio));

				if (poleheight > (poleheight + (reqpx) + (fixtureheight*fip*.25))) {
					poleheight = poleheight + (reqpx) + (fixtureheight*fip*.25);
				}
			}
			var polewidth = (5/12); // in inches/12
			var piw = (Math.abs(x2-x1))*2; // pole image width in px
			var reqpx = polewidth*fip*sizemultiplier;
			var ratio = reqpx/piw;
			v.poleratio = ratio;
			polewidth = 312 * ratio;
			v.images['pole'].src='/img.asp?fid='+fid+'&height=0&width=0&crop=5&shaft_height='+shaft_height+'&isGif=1';
			v.images['scale'].src='/img.asp?fid=255&height='+5.9*fip+'&isGif=1';
			d.getElementById(t+'itemname').innerHTML = aIname[1] + ' <br> ' + aIname[0];
			d.hovertemp = aIname[1] + ' <br> ' + aIname[0];
		} catch (e) {
			alert('s:pole:'+e.description);
		}

	} else if (t == 'arm') {
		try {
			var wasPair = 0;
			if (sf.arm.value != '') d.getElementById(t + sf.arm.value).className = 'unsc';
			d.getElementById(t + it).className = 'sc';
			sf.arm.value=it;
			var aIname = iname.split('<br>');
			if (sf.o_arm.value == 'none') {
				d.forms['frmQuote'].Arm_Type.value = '';
				d.getElementById('locbox').style.display='none';
			} else {
				d.forms['frmQuote'].Arm_Type.value = aIname[1];
				d.getElementById('locbox').style.display='block';
			}
			sf.arminame.value = iname;

			if (fileid) {
				arm_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
			} else {
				arm_lbl.innerHTML = aIname[1];
			}

			if (d.forms['frmQuote'].Arm_Type.value == 'RPM1' || d.forms['frmQuote'].Arm_Type.value == 'RPM1-CC3693' || d.forms['frmQuote'].Arm_Type.value == 'GRA' || d.forms['frmQuote'].Arm_Type.value == 'FFA') {
				Opt('arm','single');
			} else {
				if (v.armY3 == 'True' && y3 != 'True') {
					wasPair = 1;
				}
				if (y3 == 'True') { //viewer.armY3 != 'True' &&
					v.armY3 = y3; // --topMounted bit
					if (x3 == 'True') {
						wasPair = 1;
					}
					else {
						Opt('arm','double');
					}

				}
			}

			v.armfid = fid;
			v.armfileid = fileid;
			v.armw = w;
			v.armh = h;
			v.armX1 = x1; //shaft
			v.armY1 = y1; //shaft
			v.armX2 = x2; //fixt
			v.armY2 = y2; //fixt
			v.armX3 = x3; // --not used (now used for single top mounted)
			v.armY3 = y3; // --topMounted bit

			var armwidth = w/12; // in feet
			var aiw = Math.abs(x1-x2); // arm image width in px
			var reqpx = armwidth*fip*sizemultiplier;
			var ratio = reqpx/aiw;
			v.armratio = ratio;

			armwidth = 312 * ratio;
			var armheight = 482 * ratio;
			if (wasPair == 0)
			{
				v.images['arm1'].style.height=armheight;
				v.images['arm1'].style.width=armwidth;
				v.images['arm2'].style.height=armheight;
				v.images['arm2'].style.width=armwidth;
			} else {
				v.images['arm1'].style.height='';
				v.images['arm1'].style.width='';
				v.images['arm2'].style.height='';
				v.images['arm2'].style.width='';
			}
			v.images['arm1'].src='/img.asp?fid='+fid+'&width='+armwidth+'&height='+armheight+'&crop=2&isGif=1';
			v.images['arm2'].src='/img.asp?fid='+fid+'&width='+armwidth+'&height='+armheight+'&crop=2&isGif=1&flipY=1';

			if (wasPair == 1) {
				 Opt('arm','double');
				//resetItem('pole');
			}

			if (y3 == 'True') {
				//resetItem('pole');
			}

			d.getElementById(t+'itemname').innerHTML = iname;
			d.hovertemp = iname;

			//setTimeout("viewer.setPositions('arm')", 500);
		} catch (e) {
			alert('s:arm:'+e.description);
		}

	} else if (t == 'fixture') {
		try{
			var fixturelist = d.getElementById('fixturelist').contentWindow.document;
			try{
				fixturelist.getElementById(t + sf.fixture.value).className = 'unsc';
			} catch(e) {}
			fixturelist.getElementById(t + it).className = 'sc';

			sf.fixture.value=it;

			v.fixturefid = fid;
			v.fixturefileid = fileid;
			v.fixturew = w;
			v.fixtureh = h;

			if (allow2 == 'True') {
				if (sf.o_arm.value == 'none') {
					d.getElementById('locbox').style.display='none';
					//alert('hide');
				} else {
					d.getElementById('locbox').style.display='block';
					//alert('show');
				}
			}
			else {
				d.getElementById('locbox').style.display='none';
				//alert('hide2');
			}

			//original - flip x's and y's to do a flip
			v.fixX1 = x1; //arm
			v.fixY1 = y1; //arm
			v.fixX2 = x2; //top
			v.fixY2 = y2; //top

			v.fixturenudge = nudge_value;

			if (sf.o_arm.value == 'none') {
				d.forms['frmQuote'].Arm_Type.value = '';
			}
			var aIname = iname.split('<br>');
			d.forms['frmQuote'].Luminaire.value = aIname[1];
			sf.fixtureiname.value = iname;

			if (fileid) {
				fix1_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
				fix2_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
				fix3_lbl.innerHTML = '<A HREF="/file.asp?file_id='+fileid+'" TARGET="file">' + aIname[1] + '</A>';
			} else {
				fix1_lbl.innerHTML = aIname[1];
				fix2_lbl.innerHTML = aIname[1];
				fix3_lbl.innerHTML = aIname[1];
			}

			d.getElementById(t+'itemname').innerHTML = iname;
			d.hovertemp = iname;

			var fixtureheight = h/12; // in feet
			var fih = Math.abs(y1-y2); // fixture image width in px
			var reqpx = fixtureheight*fip*sizemultiplier;
			var ratio = reqpx/fih;
			v.fixratio = ratio;
			var fixturewidth = 312 * ratio;
			fixtureheight = 482 * ratio;
			v.images['fix1'].style.height=fixtureheight;
			v.images['fix1'].style.width=fixturewidth;
			v.images['fix1'].src='/img.asp?fid='+fid+'&width='+fixturewidth+'&height='+fixtureheight+'&crop=2&isGif=1';
			v.images['fix2'].style.height=fixtureheight;
			v.images['fix2'].style.width=fixturewidth;
			v.images['fix2'].src='/img.asp?fid='+fid+'&width='+fixturewidth+'&height='+fixtureheight+'&crop=2&isGif=1';
			v.images['fix3'].style.height=fixtureheight;
			v.images['fix3'].style.width=fixturewidth;
			v.images['fix3'].src='/img.asp?fid='+fid+'&width='+fixturewidth+'&height='+fixtureheight+'&crop=2&isGif=1';

			//controlCap();
			//setTimeout("viewer.setPositions('fixture')", 500);
		} catch (e) {
			//	alert('s:fixture:'+e.description);
		}

	} else if (t == 'accessories') {
		var accessSlot;
		var viacc1 = v.images['accessories1'];
		var viacc2 = v.images['accessories2'];
		var viacc3 = v.images['accessories3'];
		var viacc4 = v.images['accessories4'];
		var viacc5 = v.images['accessories5'];
		var viacc6 = v.images['accessories6'];

		if (((sf.accessories.value == '') || (sf.accessories.value == it)) && (sf.accessories2.value != it) && (sf.accessories3.value != it)) {
			accessSlot = 1;
			v.access1Name = iname;
			sf.accessories.value=it;

			if (d.getElementById('o_accessories_left').className == 'current') {
				try {
					if (viacc2.style.display=='block') {
						viacc2.style.display='none';
						viacc1.style.display='none';
						if (sf.accessories.value != '') d.getElementById(t + sf.accessories.value).className = 'unsc';
						v.access1Name = '';
						sf.accessories.value='';
					}
					else if (viacc2.style.display=='none') {
						viacc2.style.display='block';
						viacc1.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_right').className == 'current') {

				try {
					if (viacc1.style.display=='block') {
						viacc1.style.display='none';
						viacc2.style.display='none';
						if (sf.accessories.value != '') d.getElementById(t + sf.accessories.value).className = 'unsc';
						v.access1Name = '';
						sf.accessories.value='';
					}
					else if (viacc1.style.display=='none') {
						viacc1.style.display='block';
						viacc2.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_lr').className == 'current') {
				try {
					if ((viacc1.style.display=='block') || (viacc2.style.display=='block')) {
						viacc1.style.display='none';
						viacc2.style.display='none';
						if (sf.accessories.value != '') d.getElementById(t + sf.accessories.value).className = 'unsc';
						v.access1Name = '';
						sf.accessories.value='';
					}
					else if ((viacc1.style.display=='none') || (viacc2.style.display=='none')) {
						viacc1.style.display='block';
						viacc2.style.display='block';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
		}
		else if (((sf.accessories2.value == '') || (sf.accessories2.value == it)) && (sf.accessories3.value != it)) {

			accessSlot = 2;
			v.access2Name = iname;
			sf.accessories2.value=it;

			if (d.getElementById('o_accessories_left').className == 'current') {
				try {
					if (viacc4.style.display=='block') {
						viacc4.style.display='none';
						viacc3.style.display='none';
						if (sf.accessories2.value != '') d.getElementById(t + sf.accessories2.value).className = 'unsc';
						v.access2Name = '';
						sf.accessories2.value='';
					}
					else if (viacc4.style.display=='none') {
						viacc4.style.display='block';
						viacc3.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_right').className == 'current') {
				try {
					if (viacc3.style.display=='block') {
						viacc3.style.display='none';
						viacc4.style.display='none';
						if (sf.accessories2.value != '') d.getElementById(t + sf.accessories2.value).className = 'unsc';
						v.access2Name = '';
						sf.accessories2.value='';
					}
					else if (viacc3.style.display=='none') {
						viacc3.style.display='block';
						viacc4.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_lr').className == 'current') {
				try {
					if ((viacc3.style.display=='block') || (viacc4.style.display=='block')) {
						viacc3.style.display='none';
						viacc4.style.display='none';
						if (sf.accessories2.value != '') d.getElementById(t + sf.accessories2.value).className = 'unsc';
						v.access2Name = '';
						sf.accessories2.value='';
					}
					else if ((viacc3.style.display=='none') || (viacc4.style.display=='none')) {
						viacc3.style.display='block';
						viacc4.style.display='block';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
		}
		else if ((sf.accessories3.value == '') || (sf.accessories3.value == it)){
			accessSlot = 3;
			v.access3Name = iname;
			sf.accessories3.value=it;

			if (d.getElementById('o_accessories_left').className == 'current') {
				try {
					if (viacc6.style.display=='block') {
						viacc6.style.display='none';
						viacc5.style.display='none';
						if (sf.accessories3.value != '') d.getElementById(t + sf.accessories3.value).className = 'unsc';
						v.access3Name = '';
						sf.accessories3.value='';
					}
					else if (viacc6.style.display=='none') {
						viacc6.style.display='block';
						viacc5.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_right').className == 'current') {
				try {
					if (viacc5.style.display=='block') {
						viacc5.style.display='none';
						viacc6.style.display='none';
						if (sf.accessories3.value != '') d.getElementById(t + sf.accessories3.value).className = 'unsc';
						v.access3Name = '';
						sf.accessories3.value='';
					}
					else if (viacc5.style.display=='none') {
						viacc5.style.display='block';
						viacc6.style.display='none';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
			else if (d.getElementById('o_accessories_lr').className == 'current') {
				try {
					if ((viacc5.style.display=='block') || (viacc6.style.display=='block')) {
						viacc5.style.display='none';
						viacc6.style.display='none';
						if (sf.accessories3.value != '') d.getElementById(t + sf.accessories3.value).className = 'unsc';
						v.access3Name = '';
						sf.accessories3.value='';
					}
					else if ((viacc5.style.display=='none') || (viacc6.style.display=='none')) {
						viacc5.style.display='block';
						viacc6.style.display='block';
						d.getElementById(t + it).className = 'sc';
					}
				}
				catch (e){alert(e.description);}
			}
		} else {
			alert('Cannot add more than 3 accessories.  Please remove an accessory by clicking on one already selected to toggle it off.');
		}

		v.activeAccess = it;
		v.activeAccessSlot = accessSlot;

		if (!v.access1Name) {
			v.access1Name = '';
		}
		if (!v.access2Name) {
			v.access2Name = '';
		}
		if (!v.access3Name) {
			v.access3Name = '';
		}

		d.forms['frmQuote'].Accessories.value = v.access1Name + "\n" + v.access2Name + "\n" + v.access3Name;

		v.accessoriesfid = fid;
		v.accessoriesw = w;
		v.accessoriesh = h;

		v.accessoriesX1 = x1;
		v.accessoriesY1 = y1;

		var accessorywidth = w/12; // in feet
		var accessorywidth = accessorywidth*fip*sizemultiplier;
		var accessoryheight = h/12; // in feet
		var accessoryheight = accessoryheight*fip*sizemultiplier;


		// accessories are not scaled
		if (accessSlot == 1) {
			viacc1.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1';
			viacc2.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1&flipY=1';
		}
		else if (accessSlot == 2) {
			viacc3.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1';
			viacc4.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1&flipY=1';
		}
		else if (accessSlot == 3) {
			viacc5.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1';
			viacc6.src='/img.asp?fid='+fid+'&width='+accessorywidth+'&height='+accessoryheight+'&crop=3&isGif=1&flipY=1';
		}
	}
	try {
		if (d.loadingdefaults != 1) {
			//setTimeout("viewer.setPositions('all')",150);
			setTimeout("viewer.setDragControls()",500);
		} else {
			//setTimeout("viewer.setPositions('all')",2500);
			setTimeout("viewer.setDragControls()",3000);
		}
	} catch (e) {
		//alert('loading defaults, setpositions not called.');
	}
}

function controlScale(it) {
	var d = document;
	var oShowEl = d.getElementById('o_scale');

	// Sets the positioning of the scale image
	if (oShowEl.className=='current')
	{
		oShowEl.className='';
		viewer.d.getElementById('scale').style.display='none';
	} else {
		oShowEl.className='current';
		viewer.d.getElementById('scale').style.display='block';
	}
}

function Opt(t,it) {
	var d = document;
	var v = document.getElementById('viewer').contentWindow.document;
	var sf = document.forms['selections'];

	if (t == 'base'){
		var oShowEl = d.getElementById(it);
		sf.o_base.value=it;

	} else if (t == 'pole') { // shaft
		var oShowEl = d.getElementById('o_pole_' + it);
		d.forms['frmQuote'].Shaft_Height.value = it;
		
		d.getElementById('o_pole_12').className = 'opt';
		d.getElementById('o_pole_14').className = 'opt';
		d.getElementById('o_pole_16').className = 'opt';
		d.getElementById('o_pole_18').className = 'opt';
		d.getElementById('o_pole_20').className = 'opt';
		d.getElementById('o_pole_22').className = 'opt';
		d.getElementById('o_pole_24').className = 'opt';
		d.getElementById('o_pole_26').className = 'opt';
		d.getElementById('o_pole_28').className = 'opt';
		d.getElementById('o_pole_30').className = 'opt';
		
		sf.o_pole.value=it;
		try {
			viewer.setBGgrid(it);
		} catch (e) {
		}
		oShowEl.className='current';
		try {
			// rescale all items.
			setTimeout("resetItem('all')",500);
		}
		catch (e){
		}

	} else if (t == 'arm') {
			if (it != 'none') {
				if (v.armY3 == 'True' && it != 'none') {
					it = 'double';
				}
				if (d.forms['frmQuote'].Arm_Type.value == 'RPM1' || d.forms['frmQuote'].Arm_Type.value == 'RPM1-CC3693' || d.forms['frmQuote'].Arm_Type.value == 'GRA' || d.forms['frmQuote'].Arm_Type.value == 'FFA') {
					it = 'single';
				}
				if (v.armX3 == 'True' && it != 'none') {
					it = 'single';
				}
			}
d.getElementById('locbox').style.display='none';
			var oShowEl = document.getElementById('o_arm_'+it);
			var arm_lbl = v.getElementById('arm_lbl');
			var top_lbl = v.getElementById('top_lbl');
			var fix1_lbl = v.getElementById('fix1_lbl');
			var fix2_lbl = v.getElementById('fix2_lbl');
			var fix3_lbl = v.getElementById('fix3_lbl');
			d.getElementById('o_arm_none').className = 'opt';
			d.getElementById('o_arm_single').className = 'opt';
			d.getElementById('o_arm_double').className = 'opt';
			sf.o_arm.value=it;
			oShowEl.className='current';

			if (it == 'none') {
				v.images['arm1'].style.display='none';
				v.images['arm2'].style.display='none';
				v.getElementById('arm_lbl').style.display='none';
				fix1_lbl.style.display='none';
				fix2_lbl.style.display='none';
				fix3_lbl.style.display='block';

				v.images['fix3'].src=v.images['fix1'].src;
				v.images['top'].style.display='none';
				v.images['fix3'].style.display='block';
				v.images['fix1'].style.display='none';
				v.images['fix2'].style.display='none';
				sf.armQty.value = 0;
				d.forms['frmQuote'].Arm_Type.value = '';

			} else if (it == 'single') {
				v.images['arm1'].style.display='block';
				v.images['arm2'].style.display='none';
				v.getElementById('arm_lbl').style.display='block';
				top_lbl.style.display='none';
				fix1_lbl.style.display='block';
				fix2_lbl.style.display='none';
				fix3_lbl.style.display='none';
				v.images['fix1'].style.display='block';
				v.images['fix2'].style.display='none';
				v.images['fix3'].style.display='none';
				v.images['top'].style.display='block';

				sf.armQty.value = 1;
				d.forms['frmQuote'].Arm_Type.value = sf.arminame.value.replace(/bracket<br>/i, "");

			} else if (it == 'double') {
				v.images['arm1'].style.display='block';
				if (v.armY3 != 'True') {
					v.images['arm2'].style.display='block';
					v.images['top'].style.display='block';
				} else {
					v.images['arm2'].style.display='none';
					fix2_lbl.style.display='none';
					v.images['top'].style.display='none';
				}
				top_lbl.style.display='none';
				v.getElementById('arm_lbl').style.display='block';
				fix1_lbl.style.display='block';
				//fix2_lbl.style.display='block';
				fix3_lbl.style.display='none';
				v.images['fix1'].style.display='block';
				v.images['fix2'].style.display='block';
				v.images['fix3'].style.display='none';
				sf.armQty.value = 2;
				d.forms['frmQuote'].Arm_Type.value = sf.arminame.value.replace(/bracket<br>/i, "");
			}
			controlCap();
			//setTimeout("viewer.setPositions('arm')", 500);
			viewer.setPositions('arm');

	} else if (t == 'fixture') {
		var oShowEl = document.getElementById('o_fixture_' + it);

		d.getElementById('o_fixture_24').className = 'opt';
		d.getElementById('o_fixture_32').className = 'opt';
		d.getElementById('o_fixture_23').className = 'opt';
		d.getElementById('o_fixture_27').className = 'opt';
		d.getElementById('o_fixture_40').className = 'opt';
		d.getElementById('o_fixture_39').className = 'opt';
		d.getElementById('o_fixture_60').className = 'opt';
		d.getElementById('o_fixture_61').className = 'opt';
		
		sf.o_fixture.value=it;
		d.getElementById('fixturelist').src='/builder/fixture_list.rpc.asp?cat_id='+it;
		oShowEl.className='current';

	} else if (t == 'loc') {
		var tmpX1, tmpX2;
		var tmpY1, tmpY2;
		
		tmpX1 = v.fixX1;
		tmpX2 = v.fixX2;
		tmpY1 = v.fixY1;
		tmpY2 = v.fixY2;
		//alert(tmpX1 + ' - ' + tmpX2 + ' - ' + tmpY1 + ' - ' + tmpY2);
		v.fixX1 = tmpX2;
		v.fixY1 = tmpY2;
		v.fixX2 = tmpX1;
		v.fixY2 = tmpY1;

		viewer.setPositions('fixture');

	} else if (t == 'accessories') {
		var oShowEl = document.getElementById('o_accessories_' + it);
		d.getElementById('o_accessories_left').className = 'opt';
		d.getElementById('o_accessories_right').className = 'opt';
		d.getElementById('o_accessories_lr').className = 'opt';

		var viacc1 = v.images['accessories1'];
		var viacc2 = v.images['accessories2'];
		var viacc3 = v.images['accessories3'];
		var viacc4 = v.images['accessories4'];
		var viacc5 = v.images['accessories5'];
		var viacc6 = v.images['accessories6'];

		sf.o_accessories.value=it;
		oShowEl.className='current';

		if (v.activeAccessSlot == 1) {
			if (it == 'left') {
				viacc2.style.display='block';
				viacc1.style.display='none';
			} else if (it == 'right') {
				viacc2.style.display='none';
				viacc1.style.display='block';
			} else if (it == 'lr') {
				viacc1.style.display='block';
				viacc2.style.display='block';
			}
		}
		else if (v.activeAccessSlot == 2) {
			if (it == 'left') {
				viacc4.style.display='block';
				viacc3.style.display='none';
			} else if (it == 'right') {
				viacc4.style.display='none';
				viacc3.style.display='block';
			} else if (it == 'lr') {
				viacc4.style.display='block';
				viacc3.style.display='block';
			}
		}
		else if (v.activeAccessSlot == 3) {
			if (it == 'left') {
				viacc6.style.display='block';
				viacc5.style.display='none';
			} else if (it == 'right') {
				viacc6.style.display='none';
				viacc5.style.display='block';
			} else if (it == 'lr') {
				viacc5.style.display='block';
				viacc6.style.display='block';
			}
		}
	}
}

function controlCap() {
	var d = document;
	var v = document.getElementById('viewer').contentWindow.document;
	var sf = d.forms['selections'];
	var fip = v.scalePx/v.shaftScale;// conversion factor for feet into px
	var top = v.images['top'];

	if (sf.o_arm.value!='none') {
		v.images['fix3'].style.display='none';
		// determine the shaft type   h18, w11
		var shafttype = d.forms['frmQuote'].Shaft_Type.value;
		if (shafttype == 'FP' || shafttype == 'P') {
			//BCC469
			top.src= '/img.asp?fid=2960&crop2&width='+0.6*fip+'&height='+0.8*fip+'&isGif=1';
		} else if (shafttype == 'T' || shafttype == 'TFP') {
			//BCC  image does not exist in database 2140
			top.src= '/img.asp?fid=3500&crop2&width='+0.35*fip+'&height='+0.7*fip+'&isGif=1';
		} else if (shafttype == 'SQ') {
			// no cap
			top.src = '/images/transparent.gif';
		} else {
			// BCC
			top.src= '/img.asp?fid=3500&crop2&width='+0.45*fip+'&height='+0.8*fip+'&isGif=1';
		}
		if (v.armY3 != 'True') {
			top.style.display='block';
		} else {
			top.style.display='none';
		}
	} 
}

function controlTabs(t) {
	var d = document;
	try {
		d.getElementById('l_base').style.display='none';
		d.getElementById('l_shaft').style.display='none';
		d.getElementById('l_arm').style.display='none';
		d.getElementById('l_fixture').style.display='none';
		d.getElementById('l_accessories').style.display='none';
		d.getElementById('l_quote').style.display='none';
		d.getElementById(t).style.display='block';
		d.activeTab = t;

		d.getElementById('b_base').className = '';
		d.getElementById('b_shaft').className = '';
		d.getElementById('b_arm').className = '';
		d.getElementById('b_fixture').className = '';
		d.getElementById('b_accessories').className = '';
		d.getElementById('b_quote').className = '';

		if (t == 'l_base') {
			d.getElementById('b_base').className = 'current';
			d.images['basetablet'].width = d.getElementById('basetable').clientWidth*scrollratio;
		} else if (t == 'l_shaft') {
			d.getElementById('b_shaft').className = 'current';
			d.images['poletablet'].width = d.getElementById('poletable').clientWidth*scrollratio;
		} else if (t == 'l_arm') {
			d.getElementById('b_arm').className = 'current';
			d.images['armtablet'].width = d.getElementById('armtable').clientWidth*scrollratio;
		} else if (t == 'l_fixture') {
			d.getElementById('b_fixture').className = 'current';
			setTimeout('setFixtureScroller()', 500);
		} else if (t == 'l_accessories') {
			d.getElementById('b_accessories').className = 'current';
			d.images['accessoriestablet'].width = d.getElementById('accessoriestable').clientWidth*scrollratio;
		} else if (t == 'l_amenities') {
			d.getElementById('b_amenities').className = 'current';
		} else if (t == 'l_quote') {
			d.getElementById('b_quote').className = 'current';
			d.frmQuote.Project_Name.focus();
		}
	} catch (e) {
		//alert('controlTabs:'+e.description);
	}
}

function setFixtureScroller() {
	var fixturelistwidth =  document.getElementById('fixturelist').contentWindow.document.getElementById('fixturetable').clientWidth;
	if (fixturelistwidth != 0) {
		document.images['fixturetablet'].width = fixturelistwidth*scrollratio;
		document.getElementById('fixturelist').width = fixturelistwidth;
	} else {
		setTimeout('setFixtureScroller()', 500);
	}
}