// JavaScript Document

function swapClass(obj, newClass) {
	obj.className = newClass;
}
function changeClass(obj, newClass) {
	document.getElementById(obj).className = newClass;
}

function Go(where) {self.location.href=where}

function decision(message, url){
	if(confirm(message)) location.href = url;
}

function deleteRecord(url){
	alert('Confirm Me')
	if(confirm('Are you sure you wish to Delete this record')) location.href = url;
}

function showBillingForm() {
if (document.checkout.sameAsShipping.checked == 1)
		{changeClass('billingInfo','hide')};
if (document.checkout.sameAsShipping.checked == 0)
		{changeClass('billingInfo','')};
}

function printPage() {
	changeClass('header','hide');
	changeClass('leftColumn','hide');
	window.print();
	window.onAfterPrint=window.location.reload()
}

function optionBoxes(box){
	if (box == 1)	{alert('That is not an option')};
	if (box == 2)	changeClass('shippingBox','outline-padded-10');		
	else changeClass('shippingBox','hide');	
	if (box == 3)	changeClass('favoritesBox','outline-padded-10');
	else changeClass('favoritesBox','hide');
	if (box == 4)	changeClass('friendBox','outline-padded-10');
	else changeClass('friendBox','hide');
	if (box == 6)	changeClass('questionBox','outline-padded-10');
	else changeClass('questionBox','hide');
	if (box == 7)	changeClass('shippingEstimator','outline-padded-10');		
	else changeClass('shippingEstimator','hide');
	if (box == 8)	changeClass('reviewBox','outline-padded-10');
	else changeClass('reviewBox','hide');
}

function changeHomeTabs(tab){
	if (tab == 1) {
		changeClass('allTab','home-tab-on');
		changeClass('mostTab','home-tab-off');
		changeClass('priceTab','home-tab-off');
		changeClass('allTables','home-tab-content');
		changeClass('mostPopular','hide');
		changeClass('bestPrice','hide');
	}
	if (tab == 2) {
		changeClass('allTab','home-tab-off');
		changeClass('mostTab','home-tab-on');
		changeClass('priceTab','home-tab-off');
		changeClass('allTables','hide');
		changeClass('mostPopular','home-tab-content');
		changeClass('bestPrice','hide');
	}
	if (tab == 3) {
		changeClass('allTab','home-tab-off');
		changeClass('mostTab','home-tab-off');
		changeClass('priceTab','home-tab-on');
		changeClass('allTables','hide');
		changeClass('mostPopular','hide');
		changeClass('bestPrice','home-tab-content');
	}
	if (tab == 4) {
		changeClass('allTab','home-tab-off');
		changeClass('mostTab','home-tab-off');
		changeClass('priceTab','home-tab-off');
		changeClass('allTables','hide');
		changeClass('mostPopular','hide');
		changeClass('bestPrice','hide');
	}
}

function changeViewType(viewType,catID)
	{
		switch(viewType)
			{	
				case "summary":
					{ColdFusion.navigate('/products/includes/view-category-products-summary.cfm?categoryID=' + catID,'productView');
						changeClass('viewOptionSummary','view-option-selected')
						changeClass('viewOptionList','view-option')
						changeClass('viewOptionThumbs','view-option')
						break;}
				case "thumbs":
					{ColdFusion.navigate('/products/includes/view-category-products-thumbs.cfm?categoryID=' + catID,'productView');
						changeClass('viewOptionSummary','view-option')
						changeClass('viewOptionList','view-option')
						changeClass('viewOptionThumbs','view-option-selected')
					break;}
				case "list":
					{ColdFusion.navigate('/products/includes/view-category-products-list.cfm?categoryID=' + catID,'productView');
						changeClass('viewOptionSummary','view-option')
						changeClass('viewOptionList','view-option-selected')
						changeClass('viewOptionThumbs','view-option')
					break;}
				default:
					{ColdFusion.navigate('/products/includes/view-category-products-thumbs.cfm?categoryID=' + catID,'productView');
						changeClass('viewOptionSummary','view-option')
						changeClass('viewOptionList','view-option')
						changeClass('viewOptionThumbs','view-option-selected')
					break;}
			}
	}
	
function changeViewTypeNew(viewType)
{
	switch(viewType)
		{	
			case "summary":
				{ColdFusion.navigate('/products/includes/view-new-products-summary.cfm','productView');
					changeClass('viewOptionSummary','view-option-selected')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option')
					break;}
			case "thumbs":
				{ColdFusion.navigate('/products/includes/view-new-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
			case "list":
				{ColdFusion.navigate('/products/includes/view-new-products-list.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option-selected')
					changeClass('viewOptionThumbs','view-option')
				break;}
			default:
				{ColdFusion.navigate('/products/includes/view-new-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
		}
}

function changeViewTypeAll(viewType)
{
	switch(viewType)
		{	
			case "summary":
				{ColdFusion.navigate('/products/includes/view-all-products-summary.cfm','productView');
					changeClass('viewOptionSummary','view-option-selected')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option')
					break;}
			case "thumbs":
				{ColdFusion.navigate('/products/includes/view-all-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
			case "list":
				{ColdFusion.navigate('/products/includes/view-all-products-list.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option-selected')
					changeClass('viewOptionThumbs','view-option')
				break;}
			default:
				{ColdFusion.navigate('/products/includes/view-all-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
		}
}

function changeViewTypePopular(viewType)
{
	switch(viewType)
		{	
			case "summary":
				{ColdFusion.navigate('/products/includes/view-popular-products-summary.cfm','productView');
					changeClass('viewOptionSummary','view-option-selected')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option')
					break;}
			case "thumbs":
				{ColdFusion.navigate('/products/includes/view-popular-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
			case "list":
				{ColdFusion.navigate('/products/includes/view-popular-products-list.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option-selected')
					changeClass('viewOptionThumbs','view-option')
				break;}
			default:
				{ColdFusion.navigate('/products/includes/view-popular-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
		}
}

function changeViewTypePrice(viewType)
{
	switch(viewType)
		{	
			case "summary":
				{ColdFusion.navigate('/products/includes/view-price-products-summary.cfm','productView');
					changeClass('viewOptionSummary','view-option-selected')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option')
					break;}
			case "thumbs":
				{ColdFusion.navigate('/products/includes/view-price-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
			case "list":
				{ColdFusion.navigate('/products/includes/view-price-products-list.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option-selected')
					changeClass('viewOptionThumbs','view-option')
				break;}
			default:
				{ColdFusion.navigate('/products/includes/view-price-products-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
		}
}
function changeViewTypeIndex(viewType)
{
	switch(viewType)
		{	
			case "summary":
				{ColdFusion.navigate('/products/includes/view-all-products-index-summary.cfm','productView');
					changeClass('viewOptionSummary','view-option-selected')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option')
					break;}
			case "thumbs":
				{ColdFusion.navigate('/products/includes/view-all-products-index-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
			case "list":
				{ColdFusion.navigate('/products/includes/view-all-products-index-list.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option-selected')
					changeClass('viewOptionThumbs','view-option')
				break;}
			default:
				{ColdFusion.navigate('/products/includes/view-all-products-index-thumbs.cfm','productView');
					changeClass('viewOptionSummary','view-option')
					changeClass('viewOptionList','view-option')
					changeClass('viewOptionThumbs','view-option-selected')
				break;}
		}
}


//Slide Show for Banners
function ShowHide(ImageArray,imagescount,photoClassName)
{
	var num = 0;
	var next = 0;
	
	while (num <= imagescount)
	{
		if (document.getElementById(ImageArray[num]).className == photoClassName)
		{
			document.getElementById(ImageArray[num]).className = "hide";
			if (num == ImageArray.length - 1)
			{
				next = 0;
			}
			else
			{
				next = num + 1; 
			}
			document.getElementById(ImageArray[next]).className = photoClassName;	
			break;
		}
		
		num++;
	
	}//end loop
	
}

//Validates Form Fields: text field and drop downs. Field names need to end with "Required"
function checkForm(thisForm) 
{ 
	 var strMessage 		= '';
	 var objFormElement = ''; 
	 var strFieldName 	= '';
	 var strFieldValue  = '';
	 var newLine				= '\n\r';
	 var boolIsValid 		= true;
	 var boolIsRadio 		= false;
	 var strRadioName		= '';
	 

	 for ( var i = 0; i < thisForm.elements.length; i++ ) 
	 {
			objFormElement = thisForm.elements[i];
			strFieldName = objFormElement.name;
			strFieldValue = objFormElement.value;
			
			if ( objFormElement.type == 'radio' ) 
			{
				for ( var j = 0; j < strFieldName.length; j++ ) 
				{
					if (objFormElement.checked)
					{
						boolIsRadio = true;
						break;
					}
					else
					{
						strRadioFieldName = strFieldName;
						break;
					}
				}
			}
			
			else if (strFieldName.substr(strFieldName.length - 8 ) == 'Required' ) 
			{
				strFieldName = strFieldName.replace(/Required/, '');
				strFieldName = strFieldName.slice(0,1).toUpperCase() + strFieldName.slice(1);				
				
				if(!isNumeric(strFieldValue,strFieldName))
				{
					boolIsValid = false;
					if (strFieldName.substr(strFieldName.length - 4 ) == 'Name' ) 
						{strFieldName = strFieldName.replace(/Name/, ' Name');}
					strMessage += strFieldName + ' cannot contain Numbers' + newLine;
				}
				else
				{
					if (strFieldName.substr(strFieldName.length - 4 ) == 'Open')
						{strFieldName = strFieldName.replace(/Open/, '');}
					if (strFieldName.substr(strFieldName.length - 4 ) == 'Name' ) 
						{strFieldName = strFieldName.replace(/Name/, ' Name');}

					if (objFormElement.value == '' || objFormElement.value == 'First Name' || objFormElement.value == 'Last Name') 
					{
						boolIsValid = false;
						strMessage += strFieldName + ' is Required' + newLine;
					}
				}				
			}			
	 }//end loop
	if (thisForm.name == 'reviewProduct')
	{
		if (!boolIsRadio)//alert if no radio was checked
		{
			boolIsValid = false;
			strRadioFieldName = strRadioFieldName.replace(/Required/, '');
			strRadioFieldName = strRadioFieldName.slice(0,1).toUpperCase() + strRadioFieldName.slice(1);	
			strMessage += 'Please select a star rating' + newLine;
		}
	}
	

	if (!boolIsValid)
	{
		alert(strMessage);
	}
		
	 return boolIsValid;
}


//Checks if field is Numeric
function isNumeric(sText,strFieldName)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
				{IsNumber = true;}
			else
			{
				if (strFieldName.substr(strFieldName.length - 4 ) == 'Open')
					{IsNumber = true;}
				else
					{IsNumber = false;}
			}
	 }
   return IsNumber;  
}


// On Blur Restore Default value to text field if blank
function blurInputValue(inputField,fieldValue, fieldClass){
	if (document.getElementById(inputField).value == '')
	{
   document.getElementById(inputField).value = fieldValue;
	 changeClass(inputField, fieldClass);
	}
}

// On Focus Remove Default value from text field 
function focusInputValue(inputField,fieldValue, fieldClass){
	if (document.getElementById(inputField).value == fieldValue)
	{
   document.getElementById(inputField).value = '';
	 changeClass(inputField, fieldClass);
	}
}

//Controls the Category navigation. Shows subCategories
function parentDiv(categoryID) {
	var parentDiv = "#parentDiv_"+categoryID; 
	var parentImage = "#parentImage_"+categoryID;
	var categorylink = "#categoryLink_"+categoryID;
	var currentImage = $(parentImage).attr("src")
	
	//$('#ContentDiv').load('products/includes/view-category-sub-thumbs.cfm?categoryID='+categoryID);
	$(parentDiv).slideToggle("fast");
	$(categorylink).attr("class");
		
	if (currentImage == "/images/icon-right.png") {
		$(parentImage).attr("src", "/images/icon-down.png");
		//$(categorylink).removeClass('menu-sub-button').addClass('menu-sub-button-selected');
	} else {
		$(parentImage).attr("src", "/images/icon-right.png");
		//$(categorylink).removeClass('menu-sub-button-selected').addClass('menu-sub-button');
	}
}

function selectCategoryNavigation(categoryID) {
		var selectedCategory = "#categoryLink_"+categoryID;
		
		var parentElement = $(selectedCategory).parents("div").attr("id");
		if (parentElement != '') {
			$(selectedCategory).removeClass('menu-sub-button').addClass('menu-sub-button-selected');
			var parentArray = new Array();
			parentArray[0] = parentElement;
			for( i=1; parentElement != ''; i++){
				var divIDElement = "#"+parentElement
				var parentElement = $(divIDElement).parents("div").attr("id");
				if (parentElement != ''){
					parentArray[i] = parentElement;
					}
			}
			
			$.each(parentArray,function( intIndex, objValue ){
					var openParentDivID = "#"+objValue;
					$(openParentDivID).slideToggle("fast");
				
					var parentsID = openParentDivID.replace('#parentDiv_','');
					var parentImage = "#parentImage_"+parentsID;
					var currentImage = $(parentImage).attr("src")
					
					if (currentImage == "/images/icon-right.png") {
						$(parentImage).attr("src", "/images/icon-down.png");	 
					} else {
						$(parentImage).attr("src", "/images/icon-right.png");
					}
				}
			)
		} else {
			$(selectedCategory).removeClass('menu-button').addClass('menu-button-selected');
		}
	}
	
	
//Validates Form Fields for Ajax Shopping Cart.
function checkAjaxForm(thisForm) 
{ 
	 var objFormElement = ''; 
	 var strFieldName 	= '';
	 var strFieldValue  = '';
	 var boolIsValid 		= true;
	 

	 for ( var i = 0; i < thisForm.elements.length; i++ ) 
	 {
	 		objFormElement = thisForm.elements[i];
			strFieldName   = objFormElement.name;
			strFieldValue  = objFormElement.value;
					
			if (strFieldName == 'prodModel' && strFieldValue == 0 ) 
				{boolIsValid = false;}
			
			else if (strFieldName == 'prodOptions' && strFieldValue == 0 ) 
				{boolIsValid = false;}	
			
			else if (strFieldName == 'prodQty') 
			{
				strFieldValue = parseInt(strFieldValue);
				if(isNaN(strFieldValue))
					{boolIsValid = false;}
			}	
	 }//end loop
	

	if (!boolIsValid)
		{alert('Please select all available options to add this Product to Your Cart');	}
		
	 return boolIsValid;
}
	