var interfaces = [];

function searchUI(ui, link, content){
	this.ui = ui;
	this.link = link;
	this.link.myObject = this;
	this.content = content;
	
	this.link.onclick = this.handleClick;
	this.link.style.cursor = "pointer";
	
	if(this.ui.id != "active")
	{
		this.content.style.display = "none";
		this.link.style.paddingBottom = "3px";
	}
	
};

searchUI.prototype.handleClick = function()
{
	/* TOGGLE ALL ELEMENTS, (AKA ACCORDIAN TYPE FUNCTIONALITY) */
	
	for(var a=0,z=interfaces.length; a<z; a++)
	{
		if(interfaces[a].ui == this.myObject.ui)
		{
			if(this.myObject.content.style.display == "none")
			{
			this.myObject.content.style.display = "block";
			this.myObject.link.style.paddingBottom = "0px";
			this.myObject.ui.id = "active";
			}
			else
			{
			this.myObject.content.style.display = "none";
			this.myObject.link.style.paddingBottom = "3px";
			this.myObject.ui.id = "";
			}
		}
		else
		{
			interfaces[a].content.style.display = "none";
			interfaces[a].ui.id = "";
		}
	}
	
	/* TOGGLE EACH ITEM ON AND OFF INDIVIDUALLY == COMMENT ONE OR THE OTHER OUT DEPENDING ON DESIRED FUNCTIONALITY == */
	/*
	if(this.myObject.content.style.display == "none")
	{
		this.myObject.content.style.display = "block";
		this.myObject.link.style.paddingBottom = "0px";
		this.myObject.ui.id = "active";
	}
	else
	{
		this.myObject.content.style.display = "none";
		this.myObject.link.style.paddingBottom = "3px";
		this.myObject.ui.id = "";
	}
	*/
	
};

function buildGUI()
{
	
	var docDivs = document.getElementsByTagName("div");
	var i = docDivs.length;
	
	while( --i >= 0 )
	{
		
		if("section" == docDivs[i].className)
		{
			
			var thisChildren = docDivs[i].getElementsByTagName("*");
			var thisContent = false,thisLink = false;
			
			for(var a=0, z=thisChildren.length; a<z; a++)
			{
				
				if(thisChildren[a].className)
				{
					switch(thisChildren[a].className)
					{
						case "contentBox":
								thisContent = thisChildren[a];
							break;
							
						case "header1":
						case "header2":
						case "header3":
						case "header4":
						case "header5":
								thisLink = thisChildren[a];
							break;	
					}
					
				}
				
				if(thisContent && thisLink)
				{
					break;
				}
				
			}
			
			interfaces[interfaces.length] = new searchUI(docDivs[i], thisLink, thisContent);
			
			
		}
	}
	
}


var objectRefs = new Array();

function runConversions(minMax)
{
	
	if(objectRefs.length <= 0)
	{
			objectRefs =  {
							"US":
								{
									"min":
									{
										"inches":document.getElementById("USminInches"),
										"feet":document.getElementById("USminFeet"),
										"cm":document.getElementById("USminCm")
									},
									"max":
									{
										"inches":document.getElementById("USmaxInches"),
										"feet":document.getElementById("USmaxFeet"),
										"cm":document.getElementById("USmaxCm")
									}
								},
							"INT":
								{
									"min":
									{
										"inches":document.getElementById("INTminInches"),
										"feet":document.getElementById("INTminFeet"),
										"cm":document.getElementById("INTminCm")
									},
									"max":
									{
										"inches":document.getElementById("INTmaxInches"),
										"feet":document.getElementById("INTmaxFeet"),
										"cm":document.getElementById("INTmaxCm")
									}
								}
						  };
	}
	
	var subSection = document.getElementById("active");
	var USorINT;
	
	switch(subSection.title)
	{
		case "US/Canada":
				USorINT = objectRefs.US;
			break;
			
		case "International":
				USorINT = objectRefs.INT;
			break;
	}
	
	var minOrMax;
	if(minMax == "min")
	{
		minOrMax = USorINT["min"];
	}
	else if(minMax == "max")
	{
		minOrMax = USorINT["max"];
	}
	
	// CREATE NEW OBJECT FOR UNIVERSAL STORING AND COMPARING
	var measurements = new Object();
	
	measurements.changedTotal = parseFloat(minOrMax["inches"].value);
	
	// KEEP INCOMING SIZE WITHIN RESPECTIVE LIMITS
	if(measurements.changedTotal >= 95)
	{
		measurements.changedTotal = 95;
	}
	
	measurements.conversions = new Array();
	
	// CALCULATE CONVERSIONS
	
	// INCHES
	measurements.conversions["inches"] = Math.round(measurements.changedTotal);
	
	// CM
	measurements.conversions.cmTotal = Math.round(measurements.changedTotal*2.54);

	// KEEP CM WITHIN MAXIMUM RESPECTIVE LIMITS
	if(measurements.conversions.cmBig >= 200 && measurements.conversions.cmSml >= 41)
	{
		measurements.conversions.cmSml = 41;
	}
	
	// FEET	
	measurements.conversions["feetFeet"] = parseInt(measurements.changedTotal/12);
	measurements.conversions["feetInches"] = parseInt((measurements.changedTotal-(measurements.conversions.feetFeet*12)));
	
	minOrMax.feet.innerHTML = measurements.conversions.feetFeet+"' "+measurements.conversions.feetInches+"\"";
	minOrMax.cm.innerHTML = measurements.conversions.cmTotal;
	
		
}



window.onload = buildGUI;