imgout=new Image(9,9);
imgin=new Image(9,9);

/////////////////BEGIN USER EDITABLE///////////////////////////////
	imgout.src="http://images.rockler.com/images/articles/offarrow.gif";
	imgin.src="http://images.rockler.com/images/articles/onarrow.gif";
///////////////END USER EDITABLE///////////////////////////////////
//this un-hides links
function showlink(id) { 
	if (document.getElementById) { // DOM3 = IE5, NS6
		if (document.getElementById(id).style.display == "none"){
			document.getElementById(id).style.display = 'block';
			}
	} else { 
		if (document.layers) {	
			if (document.id.display == "none"){
				document.id.display = 'block';
				}
		} else {
			if (document.all.id.style.visibility == "none"){
				document.all.id.style.display = 'block';
				}
			}
		}
}
//this hides endnotes
function hidenotes(id) { 
	if (document.getElementById) { // DOM3 = IE5, NS6
		if (document.getElementById(id).style.display == "block"){
			document.getElementById(id).style.display = 'none';
			}
	} else { 
		if (document.layers) {	
			if (document.id.display == "block"){
				document.id.display = 'none';
				}
		} else { 
			if (document.all.id.style.visibility == "block"){
				document.all.id.style.display = 'none';
				}
			}
		}
}
//this switches expand collapse icons
function filter(imagename,objectsrc){
	if (document.images){
		document.images[imagename].src=eval(objectsrc+".src");
	}
}

//show OR hide funtion depends on if element is shown or hidden
function shoh(id) { 
	
	if (document.getElementById) { // DOM3 = IE5, NS6
		if (document.getElementById(id).style.display == "none"){
			document.getElementById(id).style.display = '';
			filter(("img"+id),'imgin');			
		} else {
			filter(("img"+id),'imgout');
			document.getElementById(id).style.display = 'none';			
		}	
	} else { 
		if (document.layers) {	
			if (document.id.display == "none"){
				document.id.display = '';
				filter(("img"+id),'imgin');
			} else {
				filter(("img"+id),'imgout');	
				document.id.display = 'none';
			}
		} else {
			if (document.all.id.style.visibility == "none"){
				document.all.id.style.display = '';
			} else {
				filter(("img"+id),'imgout');
				document.all.id.style.display = 'none';
			}
		}
	}
}

function highlight(x,form,boxes)
{

var temp1 = 0;
var temp2 = document.forms[form].elements[boxes];
var temp3 = new Array();
for (var i=3;i<arguments.length;i++){temp3[i-3] = document.forms[form].elements[arguments[i]]}
if (x == 0){for (var i=0;i<temp2.length;i++){temp2[i].style.backgroundColor = "#D6D3CE";}
for (var i=0;i<temp3.length;i++)
{temp3[i].style.backgroundColor = "#ffffff";}
}

else {for (var i=0;i<temp2.length;i++){temp2[i].style.backgroundColor = "#D6D3CE";
temp2[i].value='';
temp2[i].readOnly = true}
for (var i=0;i<temp3.length;i++)
{temp3[i].style.backgroundColor = "#ffffff";
temp3[i].readOnly = false}
temp3[0].focus();
}
}

function triangle_art(){
var chkcase;
var chkbutton = document.triangle.radios1;
var temp = document.triangle.boxes1;
var temp1 = new Array();
var j=0;
for (var i=0;i<chkbutton.length;i++){if (chkbutton[i].checked == true){var chkcase = chkbutton[i].value}}

switch(chkcase)
{
case '1':
var sideO = document.triangle.sideO.value;
var sideA = document.triangle.sideA.value;
if (document.triangle.sideA.value == '' || document.triangle.sideO.value == '')  {alert ("Please enter values for the length of sides O and A of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideO <= 0) || (isNaN(sideO))){alert ("The length of side O must be a number greater than zero");
document.triangle.sideO.select();
return false
}
else if ((sideA <= 0) || (isNaN(sideA))) {alert ("The length of side A must be a number greater than zero");
document.triangle.sideA.select();
return false
}  
else {

var sideH = Math.round(Math.sqrt(Math.pow(sideO,2)+Math.pow(sideA,2))*10000)/10000;
var angle1 = Math.round(Math.atan((sideO/180*Math.PI)/(sideA/180*Math.PI))*180/Math.PI*10000)/10000;
var angle2 = Math.round(Math.atan((sideA/180*Math.PI)/(sideO/180*Math.PI))*180/Math.PI*10000)/10000;
 
}
break;
case '2':
var sideO = document.triangle.sideO.value;
var sideH = document.triangle.sideH.value;
if (document.triangle.sideH.value == '' || document.triangle.sideO.value == '')  {alert ("Please enter values for the length of sides O and H of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideO <= 0) || (isNaN(sideO))){alert ("The length of side O must be a number greater than zero");
document.triangle.sideO.select();
return false
}
else if ((sideH <= 0) || (isNaN(sideH))) {alert ("The length of side H must be a number greater than zero");
document.triangle.sideH.select();
return false
}  
else {

var sideA = Math.round(Math.sqrt(Math.pow(sideH,2)-Math.pow(sideO,2))*10000)/10000;
var angle1 = Math.round(Math.atan((sideO/180*Math.PI)/(sideA/180*Math.PI))*180/Math.PI*10000)/10000;
var angle2 = Math.round(Math.atan((sideA/180*Math.PI)/(sideO/180*Math.PI))*180/Math.PI*10000)/10000;
 
}
break;
case '3':
var sideA = document.triangle.sideA.value;
var sideH = document.triangle.sideH.value;

if (document.triangle.sideH.value == '' || document.triangle.sideA.value == '')  {alert ("Please enter values for the length of sides A and H of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideA <= 0) || (isNaN(sideA))){alert ("The length of side A must be a number greater than zero");
document.triangle.sideA.select();
return false
}
else if ((sideH <= 0) || (isNaN(sideH))) {alert ("The length of side H must be a number greater than zero");
document.triangle.sideH.select();
return false
}  
else {

var sideO = Math.round(Math.sqrt(Math.pow(sideH,2)-Math.pow(sideA,2))*10000)/10000;
var angle1 = Math.round(Math.atan((sideO/180*Math.PI)/(sideA/180*Math.PI))*180/Math.PI*10000)/10000;
var angle2 = Math.round(Math.atan((sideA/180*Math.PI)/(sideO/180*Math.PI))*180/Math.PI*10000)/10000;
 
}
break;
case '4':
var sideO = document.triangle.sideO.value;
var angle1 = document.triangle.angle1.value;
if (document.triangle.angle1.value == '' || document.triangle.sideO.value == '')  {alert ("Please enter values for the length of side O and Angle 1 of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideO <= 0) || (isNaN(sideO))){alert ("The length of side O must be a number greater than zero");
document.triangle.sideO.select();
return false
}
else if (angle1 <= 0 || isNaN(angle1) || angle1 >= 90) {alert ("Angle 1 must be a number greater than 0 and less than 90");
document.triangle.angle1.select();
return false
}
  
else {
var angle2 = Math.round((90-angle1)*10000)/10000;
var sideA = Math.round(Math.tan(angle2/180*Math.PI)*sideO*10000)/10000;
var sideH = Math.round(Math.sqrt(Math.pow(sideO,2)+Math.pow(sideA,2))*10000)/10000;

 
}
break;
case '5':
var sideA = document.triangle.sideA.value;
var angle1 = document.triangle.angle1.value;
if (document.triangle.angle1.value == '' || document.triangle.sideA.value == '')  {alert ("Please enter values for the length of side A and Angle 1 of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideA <= 0) || (isNaN(sideA))){alert ("The length of side A must be a number greater than zero");
document.triangle.sideA.select();
return false
}
else if (angle1 <= 0 || isNaN(angle1) || angle1 >= 90) {alert ("Angle 1 must be a number greater than 0 and less than 90");
document.triangle.angle1.select();
return false
}  
else {
var angle2 = Math.round((90-angle1)*10000)/10000;
var sideO = Math.round(Math.tan(angle1/180*Math.PI)*sideA*10000)/10000;
var sideH = Math.round(Math.sqrt(Math.pow(sideO,2)+Math.pow(sideA,2))*10000)/10000;

 
}
break;
case '6':
var sideH = document.triangle.sideH.value;
var angle1 = document.triangle.angle1.value;
if (document.triangle.angle1.value == '' || document.triangle.sideH.value == '')  {alert ("Please enter values for the length of side H and Angle 1 of the triangle");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sideH <= 0) || (isNaN(sideH))){alert ("The length of side H must be a number greater than zero");
document.triangle.sideH.select();
return false
}
else if (angle1 <= 0 || isNaN(angle1) || angle1 >= 90) {alert ("Angle 1 must be a number greater than 0 and less than 90");
document.triangle.angle1.select();
return false
}  
else {
var angle2 = Math.round((90-angle1)*10000)/10000;
var sideA = Math.round(Math.cos(angle1/180*Math.PI)*sideH*10000)/10000;
var sideO = Math.round(Math.sqrt(Math.pow(sideH,2)-Math.pow(sideA,2))*10000)/10000;

 
}
break;
}
var boxes = document.triangle.boxes1;
for (var i=0;i<boxes.length;i++){boxes[i].style.backgroundColor="#ffffff"}
document.triangle.sideO.value = sideO;
document.triangle.sideA.value = sideA;
document.triangle.sideH.value = sideH;
document.triangle.angle1.value = (angle1+" degrees");
document.triangle.angle2.value = (angle2+" degrees")

}




function chkTriangle_art(x){
var chkcase = 0;
var chkbutton = document.triangle.radios1;
for (var i=0;i<chkbutton.length;i++){if (chkbutton[i].checked == true){chkcase = chkbutton[i].value}
}
switch(chkcase)
{
case '1':
highlight(x,'triangle','boxes1','sideO','sideA');
break;
case '2':
highlight(x,'triangle','boxes1','sideO','sideH');
break;
case '3':
highlight(x,'triangle','boxes1','sideA','sideH');
break;
case '4':
highlight(x,'triangle','boxes1','sideO','angle1');
break;
case '5':
highlight(x,'triangle','boxes1','sideA','angle1');
break;
case '6':
highlight(x,'triangle','boxes1','sideH','angle1');
break;
}
}


function chkPolygon(x){
var chkcase = 0;
var chkbutton = document.calc.radios1;
for (var i=0;i<chkbutton.length;i++){if (chkbutton[i].checked == true){chkcase = chkbutton[i].value}
}
switch(chkcase)
{
case '1':
highlight(x,'calc','boxes1','sidenumber','width');
break;
case '2':
highlight(x,'calc','boxes1','sidenumber','width2');
break;
case '3':
highlight(x,'calc','boxes1','sidenumber','sidelength');
break;
}
}
function polygon(){
var chkcase;
var chkbutton = document.calc.radios1;
var temp = document.calc.boxes1;
var temp1 = new Array();
var j = 0;
for (var i=0;i<chkbutton.length;i++){if (chkbutton[i].checked == true){var chkcase = chkbutton[i].value}}

switch(chkcase)
{

case '1':
var sidenumber = document.calc.sidenumber.value;
var width = document.calc.width.value;
if (document.calc.width.value == '' || document.calc.sidenumber.value == '')  {alert ("Please enter values for the number of sides and dimension D1");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false;
}  
else if ((sidenumber < 3) || (sidenumber != parseInt(sidenumber)) || (isNaN(sidenumber))){alert ("the number of sides must be a whole number equal to 3 or more");
document.calc.sidenumber.select();
return false
}
else if ((width <= 0) || (isNaN(width))) {alert ("The outside dimension of the shape must be a number greater than zero");
document.calc.width.select();
return false
}  
else {

var bevel = Math.round(360/(sidenumber*2)*10000)/10000;
var a = Math.sin(bevel/180*Math.PI);
var b = Math.cos(bevel/180*Math.PI);
var width2 = Math.round((b*width)*10000)/10000; 
var sidelength = Math.round((width*a)*10000)/10000; 
}
break;
case '2':
var sidenumber = document.calc.sidenumber.value;
var width2 = document.calc.width2.value;
if ((document.calc.width.value || document.calc.sidenumber.value) == '')  {alert ("Please enter values for the number of sides and dimension D2");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false
}
else if (sidenumber < 3 || sidenumber != parseInt(sidenumber) || isNaN(sidenumber)){alert ("the number of sides must be a whole number equal to 3 or more");
document.calc.sidenumber.select();
return false;
}
else if ((width2 <= 0) || (isNaN(width2))) {alert ("The outside dimension of the shape must be a number greater than zero");
document.calc.width2.select();
return false;
}
else
{

var bevel = Math.round(360/(sidenumber*2)*10000)/10000;
var a = Math.tan(bevel/180*Math.PI);
var sidelength = Math.round(a*width2*10000)/10000;
var width1 = Math.pow((sidelength/2),2)  +  Math.pow((width2/2),2);
var width = Math.round(2*(Math.sqrt(width1))*10000)/10000;
}
break;

case '3':
var sidelength = document.calc.sidelength.value;
var sidenumber = document.calc.sidenumber.value;

if ((document.calc.width.value || document.calc.sidenumber.value) == '')  {alert ("Please enter values for the number of sides and the length of the sides");
for (var i=0;i<temp.length;i++){if 
(temp[i].readOnly == false && temp[i].value == ''){temp1[j] = temp[i];
j++;
}}
temp1[0].focus();
return false}

else if (sidenumber < 3 || sidenumber != Math.round(sidenumber) || isNaN(sidenumber)){alert ("the number of sides must be a whole number equal to 3 or more");
document.calc.sidenumber.select();
return false
} 
else if ((sidelength <= 0) || (isNaN(sidelength))) {alert ("The length of the sides must be a number greater than zero");
document.calc.sidelength.select();
return false
}  
else
{
var bevel = Math.round(180/sidenumber*10000)/10000;
var a = Math.sin(bevel/180*Math.PI);
var b = Math.cos(bevel/180*Math.PI);
var width = Math.round(sidelength/a*10000)/10000;
var width2 = Math.round(width*b*10000)/10000; 
}
break;
}
var boxes = document.calc.boxes1;
for (var i=0;i<boxes.length;i++){boxes[i].style.backgroundColor="#ffffff"}
document.calc.width.value = width;
document.calc.sidenumber.value = sidenumber;
document.calc.bevel.value = (bevel+" degrees");
document.calc.sidelength.value = sidelength;
document.calc.width2.value = width2;
}
