/* GLOBALS
================================================== */

var subNav_elements = new Array('bookstores','catalog','authors','about');
var subNav_t = new Object('bookstores','catalog','authors','about'); // timer
var relatedProduct_t; // timer


Event.observe(window, 'load', function() {
	if($$('div.multi_tab_wrapper').length > 0)
	{
		var elements = $$('div.multi_tab_wrapper');
		for(i=0;i<elements.length;i++)
		{
			var myElement = ''
			var myHash = location.hash.replace('#','');
			if(myHash != '' && document.getElementById('tab_'+myHash))
			{
				myElement = myHash;
			}
			multiTab_showTab(elements[i].id,myElement)
		}
	}
	if (document.getElementById('notice'))
	{
		new Effect.Pulsate('notice', { pulses: 1, duration: 1 });
	}
});


/* FUNCTIONS
================================================== */

function show_more(area) {
	document.getElementById(area+"_default").style.display="none";
	document.getElementById(area+"_alt").style.display="block";
	document.getElementById(area+"_toggle_default").style.display="none";
	document.getElementById(area+"_toggle_alt").style.display="block";
}

function show_less(area) {
	document.getElementById(area+"_alt").style.display="none";
	document.getElementById(area+"_default").style.display="block";
	document.getElementById(area+"_toggle_alt").style.display="none";
	document.getElementById(area+"_toggle_default").style.display="block";
}
function subNav_toggle(element,action)
{
	if(element != "" && document.getElementById('nav-' + element + '-sub'))
	{
		if(action == "open")
		{
			for(i=0; i<subNav_elements.length; i++)
			{
				if (subNav_elements[i] != element)
				{
					if(document.getElementById('nav-' + subNav_elements[i] + '-sub'))
					{
						document.getElementById('nav-' + subNav_elements[i] + '-sub').style.display="none";
					}
					clearTimeout(subNav_t[subNav_elements[i]]);
				}
			}
			document.getElementById('nav-' + element + '-sub').style.display="block";
			document.getElementById('nav-' + element).className="hover"
			clearTimeout(subNav_t[element]);
		} else if (action == "timedclose") {
			subNav_t[element] = setTimeout("subNav_toggle('" + element + "','close')",500);
		} else if (action == "close") {
			document.getElementById('nav-' + element + '-sub').style.display="none";
			document.getElementById('nav-' + element).className="";
		}
	}
}
function featuredProduct_switch(num)
{
	if(document.getElementById('featured_product_'+num) && document.getElementById('featured_product_'+num).style.display=='none')
	{
		for(i=0; i<7; i++)
		{
			if(document.getElementById('featured_product_'+i))
			{
				document.getElementById('featured_product_'+i).style.display="none";
			}
		}
		document.getElementById('featured_product_'+num).style.display="block";
	}
	return false;
}
function featuredFamily_switch(num)
{
	var currentFamily = new Boolean(true);
	if(document.getElementById('product_family_'+num) && document.getElementById('product_family_'+num).style.display=='none')
	{
		currentFamily = false;
		for(i=0; i<5; i++)
		{
			if(document.getElementById('product_family_'+i))
			{
				document.getElementById('product_family_'+i).style.display="none";
				document.getElementById('product_family_link_'+i).className="";
				document.getElementById('product_family_abs_link_'+i).style.display="none";
			}
		}
		document.getElementById('product_family_'+num).style.display="block";
		document.getElementById('product_family_link_'+num).className="current";
		document.getElementById('product_family_abs_link_'+num).style.display="block";
	}
	if (currentFamily != true)
	{
		return false;
	}
}
function multiTab_showTab(container,element)
{
	if(container != '' && element == '') // default; show first tab
	{
		if(document.getElementById(container) && $(container).childElements().length > 1)
		{
			$(container).childElements()[1].style.display="block";
			document.getElementById($(container).childElements()[1].id.replace(/^tab_/,'')+'_link').className='first current';
		}
	} else if (container != '' && element != '') { // show element
		if(document.getElementById('tab_'+element) && document.getElementById('tab_'+element).style.display=="none")
		{
			var elements = $(container).childElements();
			for(i=1;i<elements.length;i++) // start at 1 because the UL of tabs is 0
			{
				elements[i].style.display="none";
				document.getElementById(elements[i].id.replace(/^tab_/,'')+'_link').className=document.getElementById(elements[i].id.replace(/^tab_/,'')+'_link').className.replace('current','');
			}
			document.getElementById('tab_'+element).style.display="block"
			document.getElementById(element+'_link').className=document.getElementById(element+'_link').className+' current';
		}
	}
}
function relatedProducts_move(direction,numToShow)
{
	if(document.getElementById('related_products'))
	{
		var elements = $('related_products').childElements();
		if(elements.length > numToShow)
		{
			relatedProducts_prev = relatedProducts_start;
			if (direction == "next" && (relatedProducts_start + numToShow) < elements.length)
			{
				relatedProducts_start++;
				document.getElementById('related_products_previous').style.display="block";
				if((relatedProducts_start + numToShow) >= elements.length)
				{
					document.getElementById('related_products_next').style.display="none";
				}
			} else if (direction == "previous" && relatedProducts_start > 0) {
				relatedProducts_start--;
				document.getElementById('related_products_next').style.display="block";
				if(relatedProducts_start == 0)
				{
					document.getElementById('related_products_previous').style.display="none";
				}
			}
			if (relatedProducts_start != relatedProducts_prev)
			{
				for(i=0;i<relatedProducts_start;i++)
				{
					elements[i].style.display="none";
				}
				for(i=relatedProducts_start; i<=(relatedProducts_start + (numToShow - 1));i++)
				{
					elements[i].style.display="block";
				}
				for(i=(relatedProducts_start + numToShow); i<elements.length;i++)
				{
					elements[i].style.display="none";
				}
			}
		}
	}
}