function contains(a, obj) {
  var i = a.length;
  while (i--) {
	if (a[i] === obj) {
	  return true;
	}
  }
  return false;
}

function getelementsbyname(tagname, name)
{
	var inputs = document.getElementsByTagName(tagname);
	var elements = new Array();
	for(var i=0; i < inputs.length; i++)
	{
		if(inputs.item(i).getAttribute( 'name' ) == name )
		{
			elements.push( inputs.item(i) );
		}
	}
	return elements;
}

function hideotherproducts(productkey)
{
	var elements = getelementsbyname('div', 'product');
	var productid = productkey;
	for (var i=0; i < elements.length; i++)
	{
		var id = elements[i].id;
		if (id.indexOf(productkey) == 0)
		{
			productid = id;
		}
		else
		{
			document.getElementById(id).style.display = 'none';
			document.getElementById('switch_' + id).style.display = 'none';
		}
	}
	
	var groupname = productid.slice(productid.indexOf('__group_') + 8);
	var groupelements = getelementsbyname('div', 'group');
	for (var i=0; i < groupelements.length; i++)
	{
		var groupid = groupelements[i].id;
		if (groupid != groupname)
		{
			document.getElementById(groupid).style.display = 'none';
		}
	}
	
	if (document.getElementById('switch_' + productid))
	{
		document.getElementById('switch_' + productid).onclick = '';
	}
	if (document.getElementById('switch_accessories_' + productkey))
	{
		document.getElementById('switch_accessories_' + productkey).onclick = '';
	}
	
	return productid;
}

function toggleproductdisplay(productkey)
{
	toggledivimg(productkey);
	openproductlist = new Array();
	opengrouplist = new Array();
	var elements = getelementsbyname('div', 'product');
	var allcollapsed = true;
	for (var i=0; i < elements.length; i++)
	{
		var id = elements[i].id;
		var display = elements[i].style.display;
		
		if (display == 'block')
		{
			var accid = 'accessories_' + id.substr(0, id.indexOf('__'));
			var accgroupid = 'accessories_' + id.slice(id.indexOf('__group_') + 8);
			openproductlist.push(accid);
			opengrouplist.push(accgroupid);
			allcollapsed = false;
		}
	}
	
	if (allcollapsed == true)
	{
		var accelements = getelementsbyname('div', 'product-accessories');
		for (var i=0; i < accelements.length; i++)
		{
			var accid = accelements[i].id;
			document.getElementById(accid).style.display = 'none';
			var oldSrc = document.getElementById('sign_' + accid).src;
			var newSrc = oldSrc.replace('minus.gif', 'plus.gif');
			document.getElementById('sign_' + accid).src = newSrc;
			document.getElementById('switch_' + accid).style.display = 'block';
		}
		
		var accgroupelements = getelementsbyname('div', 'accessories_group');
		for (var i=0; i < accgroupelements.length; i++)
		{
			var accgroupid = accgroupelements[i].id;
			document.getElementById(accgroupid).style.display = 'block';
		}
	}
	else
	{ 
		var accelements = getelementsbyname('div', 'product-accessories');
		for (var i=0; i < accelements.length; i++)
		{
			var accid = accelements[i].id;
			if (contains(openproductlist, accid))
			{
				document.getElementById(accid).style.display = 'block';
				var oldSrc = document.getElementById('sign_' + accid).src;
				var newSrc = oldSrc.replace('plus.gif', 'minus.gif');
				document.getElementById('sign_' + accid).src = newSrc;
				document.getElementById('switch_' + accid).style.display = 'block';
			}
			else
			{
				document.getElementById(accid).style.display = 'none';
				document.getElementById('switch_' + accid).style.display = 'none';
			}
		}
	
		var accgroupelements = getelementsbyname('div', 'accessories_group');
		for (var i=0; i < accgroupelements.length; i++)
		{
			var accgroupid = accgroupelements[i].id;
			if (contains(opengrouplist, accgroupid))
			{
				document.getElementById(accgroupid).style.display = 'block';
			}
			else
			{
				document.getElementById(accgroupid).style.display = 'none';
			}
		}
	}
}

function toggledivimg(id) 
{
	try
	{
		if (document.getElementById(id)) 
		{
			if (document.getElementById(id).style.display == 'block') 
			{
				document.getElementById(id).style.display = 'none';
				var oldSrc = document.getElementById('sign_' + id).src;
				var newSrc = oldSrc.replace('minus.gif', 'plus.gif');
				document.getElementById('sign_' + id).src = newSrc;
			} 
			else 
			{
				document.getElementById(id).style.display = 'block';
				var oldSrc = document.getElementById('sign_' + id).src;
				var newSrc = oldSrc.replace('plus.gif', 'minus.gif');
				document.getElementById('sign_' + id).src = newSrc;
			}
		}
		else
		{
			if (document.layers) 
			{
				sign = 'sign_' + id;
				if (document.id.display == 'block') 
				{
					document.id.display = 'none';
					var oldSrc = document.sign.src;
					var newSrc = oldSrc.replace('minus.gif', 'plus.gif');
					document.sign.src = newSrc;
				} 
				else 
				{
					document.id.display = 'block';
					var oldSrc = document.sign.src;
					var newSrc = oldSrc.replace('plus.gif', 'minus.gif');
					document.sign.src = newSrc;
				}
			} 
			else 
			{
				sign = 'sign_' + id;
				if (document.all.id.style.display == 'block') 
				{
					document.all.id.style.display = 'none';
					var oldSrc = document.all.sign.src;
					var newSrc = oldSrc.replace('minus.gif', 'plus.gif');
					document.all.sign.src = newSrc;
				} 
				else 
				{
					document.all.id.style.display = 'block';
					var oldSrc = document.all.sign.src;
					var newSrc = oldSrc.replace('plus.gif', 'minus.gif');
					document.all.sign.src = newSrc;
				}
			}
		}
	}
	catch (err)
	{
	}
}