/*
 * File name:	sharedFunctions.js
 * Date:	10/13/2006
 * Author:	Brian Schemp
 * 
 * 	Purpose:	Includes functions that can be used by other scripts.
 * 
 * 
 * History:	11/02/2006 Brian - Added function changeHeaderImage().
 * 			11/22/2006 Brian - Added functions createHeaderImageCarlineElement(), createHeaderImageTimeOfDayElement() and createImageElement().
 * 			01/19/2007 Brian - Added function getEventSourceObject.
 *			01/08/2009 Brian - Added function onMouseDownEvent.
 */

//variables to determine the browser type
var ie4 = document.all;
var ns6 = document.getElementById&&!document.all;

/*
 * Purpose:	Check the value is a number
 * 
 * qty	the value to check.
 */ 
function validateProductQuantity(qty)
{
	var zeroRE = /^[0]+$/;
	
	if(qty.length == 0)
		return false;
	
	else if(qty.match(zeroRE))
		return false;
	
	else if(!(isNumeric(qty)))
		return false;
		
	else
		return true;
}

/*
 	Purpose:	Get the source object for an event
 */
function getEventSourceObject(evt)
{
	//used for the source element that fired the event
	var obj = "";
	
	//use for internet explorer
	if(ie4)
		obj = evt.srcElement;

	//use for netscape
	else if(ns6)
		obj = evt.target;
	
	return obj;
}

/*
 * Purpose: Change the header image when a user changes the catalog/model they are searching.
 * 
 * catalogHeaderImageId		The id of the image to display.
 */
function changeHeaderImage(catalogHeaderImageId)
{
	if(document.getElementById("headerImage"))
	{
		//the header image element
		var headerImageElement = document.getElementById("headerImage");
		
		//camaro header
		if(catalogHeaderImageId == 1)
		{
			headerImageElement.removeAttribute("src");
			headerImageElement.setAttribute("src", "/images/HomePage/Hdr_Camaro.jpg");
		}
		
		//nova header
		else if(catalogHeaderImageId == 2)
		{
			headerImageElement.removeAttribute("src");
			headerImageElement.setAttribute("src", "/images/HomePage/Hdr_Nova.jpg");
		}
		
		//firebird header
		else if(catalogHeaderImageId == 3)
		{
			headerImageElement.removeAttribute("src");
			headerImageElement.setAttribute("src", "/images/HomePage/Hdr_FireBird.jpg");
		}
		
		//truck header
		else if(catalogHeaderImageId == 4)
		{
			headerImageElement.removeAttribute("src");
			headerImageElement.setAttribute("src", "/images/HomePage/Hdr_Truck.jpg");
		}
		
		//impala header
		else if(catalogHeaderImageId == 5)
		{
			headerImageElement.removeAttribute("src");
			headerImageElement.setAttribute("src", "/images/HomePage/Hdr_Impala.jpg");
		}
	}	
}

/*
 * Purpose:	Create a string that will contain the header image.
 * 			Pass the string to function createImageElement().
 * 
 * catalogHeaderImageId		The catalog of the header image to display
 */
function createHeaderImageCarlineElement(catalogHeaderImageId)
{
	var imageSrc = "";
		
	//camaro header
	if(catalogHeaderImageId == 1)
		imageSrc = "/images/HomePage/Hdr_Camaro.jpg";
	
	//nova header
	else if(catalogHeaderImageId == 2)
		imageSrc = "/images/HomePage/Hdr_Nova.jpg";

	//firebird header
	else if(catalogHeaderImageId == 3)
		imageSrc = "/images/HomePage/Hdr_FireBird.jpg";
	
	//truck header
	else if(catalogHeaderImageId == 4)
		imageSrc = "/images/HomePage/Hdr_Truck.jpg";
	
	//impala header
	else if(catalogHeaderImageId == 5)
		imageSrc = "/images/HomePage/Hdr_Impala.jpg";
		
	createImageElement(imageSrc);
}

/*
 * Purpose:	Create a string that will contain the header image.  The time of day on the users
 * 			computer will determine the image.  Pass the string to function createImageElement().
 */
function createHeaderImageTimeOfDayElement()
{
	var imageSrc = "";
	var todayDate = new Date();
	var currentHour = todayDate.getHours();
	
	//between 12AM and 6AM
	if((currentHour >= 0) && (currentHour <= 6))
	{
		if(currentHour == 6)
		{
			if(todayDate.getMinutes() == 0)
				imageSrc = "/images/HomePage/Header_Night.jpg";
			else
				imageSrc = "/images/HomePage/Header_day.jpg";
		}
		
		else
			imageSrc = "/images/HomePage/Header_Night.jpg";
	}
	
	//between 6AM and 5PM
	else if((currentHour >= 6) && (currentHour <= 17))
	{
		if(currentHour == 17)
		{
			if(todayDate.getMinutes() == 0)
				imageSrc = "/images/HomePage/Header_day.jpg";
			else
				imageSrc = "/images/HomePage/Header_Sunset.jpg";
		}
		
		else
			imageSrc = imageSrc = "/images/HomePage/Header_day.jpg";
	}
	
	//between 5 PM and 7 PM
	else if((currentHour >= 17) && (currentHour <= 19))
	{
		if(currentHour == 19)
		{
			if(todayDate.getMinutes() == 0)
				imageSrc = "/images/HomePage/Header_Sunset.jpg";
			else
				imageSrc = "/images/HomePage/Header_Night.jpg";
		}
		
		else
			imageSrc = imageSrc = "/images/HomePage/Header_Sunset.jpg";
	}
	
	//between 7 PM and 12 AM
	else if(currentHour >= 19)
		imageSrc = "/images/HomePage/Header_Night.jpg";
		
	createImageElement(imageSrc);
}

/*
 * Purpose:	Create a image element and append it to a element within a document.
 * 
 * imageSrc		The src of the image.
 */
function createImageElement(imageSrc)
{
	var imageElement = document.createElement("img");
	imageElement.setAttribute("id", "headerImage");
	imageElement.setAttribute("src", imageSrc);
	imageElement.setAttribute("width", "770");
	imageElement.setAttribute("height", "147");
	imageElement.setAttribute("border", "0");
	imageElement.setAttribute("useMap", "#headerImageMap");
	
	document.getElementById("headerImageTableCell").appendChild(imageElement);
}

/*
 * Purpose:	Checks if a user is logged in before adding a product to their wish list
*/
function checkUserLoginWishList()
{
	var customerIdCookieRE = /customerId/i;
	var cookieArray = document.cookie.split(';');
	var cookieFound = 0;
	
	for(var i=0;i < cookieArray.length;i++)
	{
		var cookieValue = cookieArray[i];
		if(cookieValue.match(customerIdCookieRE))
		{
			cookieFound = 1;
			break;
		}
	}
	
	if(cookieFound == 0)
		return false;
		
	else
		return true;
}

/*
* Purpose: Display a specific image on the the mouse down event.
*/
function onMouseDownEvent(elementId, onMouseClickImage)
{
	var imageElement = document.getElementById(elementId);
	
	if(imageElement) {
		imageElement.src = onMouseClickImage;
	}
}