﻿function breadcrumbs()
	{
	var x 		= 0;
	var stop 	= 0;
	var output 	= "<a href=\"/\">home</a>  •  ";
	sURL 		= new String;
  	bits 		= new Object;

	sURL 		= location.href;
	sURL 		= sURL.slice(8, sURL.length);
	chunkStart 	= sURL.indexOf("/");
  	sURL 		= sURL.slice(chunkStart + 1, sURL.length)

	while(!stop)
		{
    	chunkStart = sURL.indexOf("/");

		if (chunkStart != -1)
			{
    		bits[x] = sURL.slice(0, chunkStart)
     		sURL 	= sURL.slice(chunkStart + 1, sURL.length);
   			}
   		else
   			{
     		stop = 1;
   			}
   		x++;
  		}

	for(var i in bits)
		{
   		output += "<a href=\"";
   		
   		for(y = 1; y < x-i; y++)
   			{
     		output += "../";
   			}
   		output += bits[i] + "/\">" + bits[i] + "</a>  •  ";
  		}
  	document.write(output + document.title);
  	}


function switchProductTab(tabNum)
	{
	switch (tabNum)
		{
		case '1': 
			document.getElementById('GEN_INFO').style.display = 'block';
			document.getElementById('GALLERY').style.display = 'none';
			document.getElementById('ACTION').style.display = 'none';
			document.getElementById('GUIDES').style.display = 'none';
			document.getElementById('VIDEOS').style.display = 'none';
			document.getElementById('SPECS').style.display = 'none';
			break;
		case '2': 
			document.getElementById('GEN_INFO').style.display = 'none';
			document.getElementById('GALLERY').style.display = 'block';
			document.getElementById('ACTION').style.display = 'none';
			document.getElementById('GUIDES').style.display = 'none';
			document.getElementById('VIDEOS').style.display = 'none';
			document.getElementById('SPECS').style.display = 'none';
			break;
		case '3': 
			document.getElementById('GEN_INFO').style.display = 'none';
			document.getElementById('GALLERY').style.display = 'none';
			document.getElementById('ACTION').style.display = 'block';
			document.getElementById('GUIDES').style.display = 'none';
			document.getElementById('VIDEOS').style.display = 'none';
			document.getElementById('SPECS').style.display = 'none';
			break;
		case '4': 
			document.getElementById('GEN_INFO').style.display = 'none';
			document.getElementById('GALLERY').style.display = 'none';
			document.getElementById('ACTION').style.display = 'none';
			document.getElementById('GUIDES').style.display = 'block';
			document.getElementById('VIDEOS').style.display = 'none';
			document.getElementById('SPECS').style.display = 'none';
			break;
		case '5': 
			document.getElementById('GEN_INFO').style.display = 'none';
			document.getElementById('GALLERY').style.display = 'none';
			document.getElementById('ACTION').style.display = 'none';
			document.getElementById('GUIDES').style.display = 'none';
			document.getElementById('VIDEOS').style.display = 'block';
			document.getElementById('SPECS').style.display = 'none';
			break;
		case '6': 
			document.getElementById('GEN_INFO').style.display = 'none';
			document.getElementById('GALLERY').style.display = 'none';
			document.getElementById('ACTION').style.display = 'none';
			document.getElementById('GUIDES').style.display = 'none';
			document.getElementById('VIDEOS').style.display = 'none';
			document.getElementById('SPECS').style.display = 'block';
			break;
		}
	}
	

function switchLegalTab(tabNum)
	{
	switch (tabNum)
		{
		//Customer satisfaction guarantee
		case '1':
			document.getElementById('CSAT').style.display = 'block';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		// Price match guarantee
		case '2': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'block';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		//Technical support
		case '3': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'block';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		// Vehicle warranty
		case '4': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'block';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		// Shipping policies
		case '5': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'block';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		// Privacy policies
		case '6': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'block';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		// Legal status of vehicle
		case '7': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'block';
			document.getElementById('WAIVER').style.display = 'none';
			break;
		//Liability waiver
		case '8': 
			document.getElementById('CSAT').style.display = 'none';
			document.getElementById('PRICE').style.display = 'none';
			document.getElementById('SUPPORT').style.display = 'none';
			document.getElementById('WARRANTY').style.display = 'none';
			document.getElementById('SHIPPING').style.display = 'none';
			document.getElementById('PRIVACY').style.display = 'none';
			document.getElementById('STATUS').style.display = 'none';
			document.getElementById('WAIVER').style.display = 'block';
			break;
		}
	}


function MemorialDay(thisYear)
	{
	/*
	According to the US Monday Holiday Law, Memorial Day is celebrated on the last Monday of May.
	This function determines the 31st of May in the year specified in the argument "thisYear"
	and then uses an offset based upon the day that the 31st falls upon to calculate the last Monday
	of the month. Once the offset is applied to the date, the date is returned to the calling statement.
	*/
	
	var dateNum	= 31;								// Set date to 31st
	var theDate = new Date(thisYear, 4, dateNum);	// Get the system date for May 31 in the year specified
	var dayNum	= theDate.getDay();					// Determine what day of the week that is
	
	switch (dayNum)
		{
		case 0: dateNum -= 6; break;	// If the 31st is a Sun, decrement the date by 6 days
		case 1: dateNum -= 0; break;	// If the 31st is a Mon, decrement the date by 0 days
		case 2: dateNum -= 1; break;	// If the 31st is a Tue, decrement the date by 1 days
		case 3: dateNum -= 2; break;	// If the 31st is a Wed, decrement the date by 2 days
		case 4: dateNum -= 3; break;	// If the 31st is a Thu, decrement the date by 3 days
		case 5: dateNum -= 4; break;	// If the 31st is a Fri, decrement the date by 4 days
		case 6: dateNum -= 5; break;	// If the 31st is a Sat, decrement the date by 5 days
		}
	
	return dateNum;
	}


function LaborDay(thisYear)
	{
	/* According to the US Monday Holiday Law, Labor Day is celebrated on the first Monday of September.
	This function determines the 1st of September in the year specified in the argument "thisYear"
	and then uses an offset based upon the day that the 1st falls upon to calculate the first Monday
	of the month. Once the offset is applied to the date, the date is returned to the calling statement.
	*/
	
	var dateNum	= 1;								// Set the date to the 1st
	var theDate = new Date(thisYear, 8, dateNum);	// Get the system date for 11/1 in the year specified
	var dayNum	= theDate.getDay();					// Determine what day of the week that is
	
	switch (dayNum)
		{
		case 0: dateNum += 1; break;	// If the 1st is a Sun, increment the date by 1 day
		case 1: dateNum += 0; break;	// If the 1st is a Mon, increment the date by 0 days
		case 2: dateNum += 6; break;	// If the 1st is a Tue, increment the date by 6 days
		case 3: dateNum += 5; break;	// If the 1st is a Wed, increment the date by 5 days
		case 4: dateNum += 4; break;	// If the 1st is a Thu, increment the date by 4 days
		case 5: dateNum += 3; break;	// If the 1st is a Fri, increment the date by 3 days
		case 6: dateNum += 2; break;	// If the 1st is a Sat, increment the date by 2 days
		}
	
	return dateNum;
	}


function Thanksgiving(thisYear)
	{
	/* 
	According to US law, Thanksgiving is celebrated on the 3rd Thursday of November. This function 
	determines the 1st of November in the year specified in the argument "thisYear", and then uses an 
	offset based upon the day that the 1st falls upon to calculate the 3rd Thursday of the month. 
	Once the offset is applied to the date, the date is returned to the calling statement.
	*/
	
	var dateNum	= 1;								// Set the date to the 1st
	var theDate = new Date(thisYear, 10, dateNum);	// Get the system date for 11/1 or the current year
	var dayNum	= theDate.getDay();					// Determine what day of the week that is
	
	switch (dayNum)
		{
		case 0: dateNum += 25; break;	// If the 1st is a Sun, increment the date by 3 weeks + 4 days
		case 1: dateNum += 24; break;	// If the 1st is a Mon, increment the date by 3 weeks + 3 days
		case 2: dateNum += 23; break;	// If the 1st is a Tue, increment the date by 3 weeks + 2 days
		case 3: dateNum += 22; break;	// If the 1st is a Wed, increment the date by 3 weeks + 1 day
		case 4: dateNum += 21; break;	// If the 1st is a Thu, increment the date by 3 weeks + 0 days
		case 5: dateNum += 27; break;	// If the 1st is a Fri, increment the date by 3 weeks + 6 days
		case 6: dateNum += 26; break;	// If the 1st is a Sat, increment the date by 3 weeks + 5 days
		}
	
	return dateNum;
	}


function displayHeader()
	{
	/* 
	This function determines if today is a day upon which we want to display a special site header. The days 
	for which there are special headers include all major holidays as well as Halloween, 9/11, and all the 
	days in the traditional Christmas shopping season.
	*/
	
	var oneDay 			= 1000 * 60 * 60 * 24; 									// Milliseconds in one day
	var today			= new Date();											// Today's date
	var thisYear		= today.getFullYear();									// Full 4-digit year
	var newYearsDay     = new Date( thisYear,  0, 1  );							// This year's New Years Day
	var memorialDay		= new Date( thisYear,  4, MemorialDay(thisYear));		// This year's Memorial Day
	var july4			= new Date( thisYear,  6, 4  );							// This year's Independence Day
	var laborDay		= new Date( thisYear,  8, LaborDay(thisYear));			// This year's Labor Day
	var nineEleven		= new Date( thisYear,  8, 11 );							// This year's 9/11 anniversary
	var halloween		= new Date( thisYear,  9, 31 );							// This year's Halloween
	var xmasSeasonStart = new Date( thisYear, 10, 1  );							// Start of this year's Xmas buying season
	var veteransDay		= new Date( thisYear, 10, 11 );							// This year's Veterans Day
	var thanksgiving	= new Date( thisYear, 10, Thanksgiving(thisYear));		// This year's Thanksgiving
	var christmasDay	= new Date( thisYear, 11, 25 );							// This year's Christmas Day
	var newYearsEve   	= new Date( thisYear, 11, 31 );							// This year's New Years Eve
	var headerDir 		= 'normal';												// Default header directory
	var extension		= '.jpg';												// Default file extension
	
	/* Is today New Years Day? */
	if(Math.ceil((newYearsDay.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'new_years_day';
		extension = '.gif'
		}
	/* Is today Memorial Day? */
	else if(Math.ceil((memorialDay.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'memorial_veterans_days';
		}
	/* Is today Independence Day? */
	else if(Math.ceil((july4.getTime() - today.getTime()) / (oneDay)) == 0)	
		{
		headerDir = 'july4';
		}
	/* Is today Labor Day? */
	else if(Math.ceil((laborDay.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'labor_day';
		extension = '.gif'
		}
	/* Is today 9/11? */
	else if(Math.ceil((nineEleven.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'nine_eleven';
		}
	/* Is today Halloween? */
	else if(Math.ceil((halloween.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'halloween';
		}
	/* Is today Veterans Day? */
	else if(Math.ceil((veteransDay.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'memorial_veterans_days';
		}
	/* Is today Thanksgiving? */
	else if(Math.ceil((thanksgiving.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'thanksgiving';
		extension = '.gif'
		}
	/* Is today within the Christmas buying season? */
	else if((today >= xmasSeasonStart) && (today < christmasDay))
		{
		headerDir = 'christmas_season';
		}
	/* Is today Christmas Day? */
	else if(Math.ceil((christmasDay.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'christmas_day';
		extension = '.gif'
		}
	/* Is today New Years Eve? */
	else if(Math.ceil((newYearsEve.getTime() - today.getTime()) / (oneDay)) == 0)
		{
		headerDir = 'new_years_eve';
		extension = '.gif'
		}
	
	/* Write the table definition HTML */	
	document.write('<table width="984" height="225" cellspacing="0" cellpadding="0" border="0"><tr>');	

	/* Write the table cells HTML */	
	for(i=1; i<=4; i++)
		{
		document.write('<td width="246" height="225"><img src="/images/headers/');
		document.write(headerDir + '/header_0' + i + extension + '" / /></td>');
		}

	/* Write the closing table definition HTML */	
	document.write('</tr></table>');
	}
	

function dateCountdown(month, day, year, exp_day, beforeDayText, onDayText, afterDayText)
	{
	var today			= new Date();
	var end_day			= new Date(year, month - 1, day);
	var exp_date		= new Date(year, month - 1, exp_day);
	var one_day 		= 1000 * 60 * 60 * 24;
	var calculatediff 	= Math.ceil((end_day.getTime() - today.getTime()) / (one_day));
	var pluraldayornot 	= (calculatediff==1)? " Day " : " Days ";

	if (today < end_day )
		document.write(calculatediff + pluraldayornot + beforeDayText);
	else if (calculatediff == 0)
		document.write(onDayText);
	else if (today >= exp_date)
		document.write("");
	else
		document.write(afterDayText);
	}


function parseArguments()
	{
	var query 				= location.search;
	var tabPatterns 		= query.match(/tab=\d+/i);
	var functionPatterns 	= query.match(/function=\d+/i);

	if (tabPatterns != null && functionPatterns != null) 
	    {
	   	var functionArray 	= functionPatterns[0].split('=');
	    var tabArray 		= tabPatterns[0].split('=');
		
	    switch(functionArray[1]) 
	    	{
	        case '1': switchProductTab(tabArray[1]); 	break;
	        case '2': switchLegalTab(tabArray[1]); 		break;
	    	}
		}
	}
	