function externalLinks()
{	// applies a target="_blank" attribute to anchors with rel="external"
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++)
	{
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
		{
			anchor.target = "_blank";
		}
	}
}

function chloc()
{
	if (this.selectedIndex == 0) return;	
	var url = this.options[this.selectedIndex].value;
	eval("window.location='" + url + "'");
}

function assignOnChange(elementId)
{ // assigns onchange event to named element
	var element = document.getElementById(elementId);
	if (! element) return;
	element.selectedIndex = 0;
	element.onchange = chloc;
}

function productSearch()
{
	if (!document.getElementsByTagName) return;
	var selects = document.getElementsByTagName("select");
	
	var url = "/products/search/";
	
	for (var i=0; i<selects.length; i++)
	{
		var select = selects[i];
		if ((select.getAttribute("name") == "manufacturer" || select.getAttribute("name") == "condition" || select.getAttribute("name") == "equipment") && select.selectedIndex != 0)
		{
			url = url + select.getAttribute("name") + "/" + select.options[select.selectedIndex].value + "/";
		}
	}
	
	eval("window.location='" + url + "'");
}

function assignOnClick()
{ // assigns onclick event to product search button
	var element = document.getElementById('productsearch');
	if (! element) return;
	element.onclick = productSearch;
}

function assignAssistance()
{
	if (!document.getElementsByTagName) return;
	
	var elements = document.getElementsByTagName("input");
	for (var i=0; i<elements.length; i++)
	{
		var element = elements[i];
		if (element.getAttribute("type") == "radio" && element.getAttribute("name") == "assistancetype")
		{	// found the right radio buttons
			element.onclick = updateAssistance;
		}
	}
}

function updateAssistance()
{
	if (!document.getElementsByTagName) return;
	
	var elements = document.getElementsByTagName("input");
	for (var i=0; i<elements.length; i++)
	{
		var element = elements[i];
		if (element.getAttribute("type") == "radio" && element.getAttribute("name") == "assistancetype")
		{	// found the right radio buttons
			if (element.getAttribute("value") == "service")
				var radioService = element;
			else if (element.getAttribute("value") == "installation")
				var radioInstallation = element;
		}
	}
	var tableService = document.getElementById('assistanceservice');
	if (! tableService) return;
	if (radioService.checked)
	{
		tableService.style.display = '';
	}
	else
	{
		tableService.style.display = 'none';
	}
	
	var tableInstallation = document.getElementById('assistanceinstallation');
	if (! tableInstallation) return;
	if (radioInstallation.checked)
	{
		tableInstallation.style.display = '';
	}
	else
	{
		tableInstallation.style.display = 'none';
	}
}

function myInit()
{
	externalLinks();
	assignOnChange('services');
	assignOnClick();
	assignAssistance();
	updateAssistance();
}

window.onload = myInit;
