function generalAjaxPageLoad(link) {
	if(loading == false) {
		loading = true;
		$('#page'+currentPage+', #productImageContainer').animate({
			opacity: 0
		}, '1500', 'linear', function() {
			if($(this).attr('id') == "productImageContainer") {
				$('#productImageContainer').empty();
				animator = false;
				$('#productImageContainer').css('opacity', 1);
			} else {
				ajaxPageLoad(link);
			}
		});
	}
	return false;
}
function directionAjaxPageLoad(arrow) {
	if(loading == false) {
		loading = true;
		var left = 0;
		var speed = 1200;
		if($(arrow).attr('id') == 'leftArrow') {
			left = $(window).width() + 1200;
			speed = left/2;
		} else {
			left = -1200;
		}
		$('body').css('overflow', 'hidden');
		$('#page'+currentPage+', #productImageContainer').animate({
			left: left
		}, speed, 'linear', function() {
			if($(this).attr('id') == "productImageContainer") {
				$('#productImageContainer').empty();
				animator = false;
				$('#productImageContainer').css('opacity', 1);
				$('#productImageContainer').css('left', '0px');
			} else {
				ajaxPageLoad($('a', arrow));
			}
			$('body').css('overflow', '');
		});
	}
	return false;
}
function ajaxPageLoad(link) {
	previousPage = currentPage;
	$('#pageContent').empty();
	var append = "";
	if($(link).attr('append'))
		append = $(link).attr('append');
	$.ajax({
		url: $(link).attr('href'),
		dataType: 'xml',
		data: 'noLayout=true'+append,
		success: function (data, textStatus) {
			if(textStatus == 'success') {
				loadedData = data;
				dataLoaded = true;
			} else {
				loadedData = 'We were unable to load the requested page.';
				dataLoaded = true;
			}
			restoreContent();
		},
		error: function () {
			loadedData = 'We were unable to load the requested page.';
			dataLoaded = true;
			restoreContent();
		}
	});
}
function restoreContent() {
	if(loading == true) {
		var animatorContent = ""; 
		$(loadedData).find("animatorContent").each(function() {
			animatorContent = $(this).text();
		});
		var pageContent = "";
		$(loadedData).find("pageContent").each(function() {
			pageContent = $(this).text();
		});
		var scripts = "";
		$(loadedData).find("scripts").each(function() {
			scripts = $(this).text();
		});
		$('#pageContent').html(pageContent);
		window.location.href = "#"+windowFragment;
		window.document.title = pageTitle;
		//hack for ie7
		setTimeout(function() {
			window.document.title = pageTitle;
		}, 100);
		if(animator) {
			$('#productImageContainer').css('opacity', 1);
			$('#productImageContainer').html(animatorContent);
			resizeFlash();
		}
		$('#scriptContainer').html(scripts);	
		loading = false;	
	}
}
function isDataLoaded() {
	return dataLoaded;
}
function getFlashMovieObject(movieName) {
	if (window.document[movieName]) {
		return window.document[movieName];
	} if (navigator.appName.indexOf("Microsoft Internet")==-1) {
		if (document.embeds && document.embeds[movieName])
			return document.embeds[movieName]; 
	} else {
		return document.getElementById(movieName);
	}
}
function loadSiteByNichez() {
	$('#rightContentContainer').append($('#footerContainer').html());
	$('#siteByNichez').bind('mouseenter', function() {
		if(!$(this).hasClass("animating")) {
			$(this).addClass("animating");
			var parentDiv = this;
			$(".siteByNichezImage", parentDiv).animate({left: '5px'}, 200, 'linear', function() {
				$(".siteByNichezText", parentDiv).animate({top: '2px'}, 200, 'linear', function() {
					$(parentDiv).removeClass("animating");
				});
				if($(parentDiv).hasClass("animateOut")) {
					$(".siteByNichezText", parentDiv).animate({top: '22px'}, 200, 'linear', function() {
						$(".siteByNichezImage", parentDiv).animate({left: '100px'}, 200, 'linear', function() {
							$(parentDiv).removeClass("animateOut");
						});
					});
				}
			});
		}
	});
	$('#siteByNichez').bind('mouseleave', function() {
		if(!$(this).hasClass("animating")) {
			var parentDiv = this;
			$(this).addClass("animating");
			$(".siteByNichezText", parentDiv).animate({top: '22px'}, 200, 'linear', function() {
				$(".siteByNichezImage", parentDiv).animate({left: '100px'}, 200, 'linear', function() {
					$(parentDiv).removeClass("animating");
				});
			});
		} else {
			$(this).addClass("animateOut");
		}
	});
	$('#siteByNichez').click(function() {
		$(".siteByNichezText a").click();
	});
}
function bubbleMoveDown(div) {
	var maxTop = $('.bubbleLinks', div).height() - 162;
	var currentTop = Math.abs($('.bubbleLinks', div).position().top);
	var speed = (maxTop - currentTop) * 15;
	$('.upArrow', div).fadeTo(100, 1);
	$('.upArrow', div).css('cursor', 'pointer');
	$('.bubbleLinks', div).animate({top: '-'+maxTop+'px'}, speed, 'linear', function() {
		$('.downArrow', div).fadeTo(100, .3);
		$('.downArrow', div).css('cursor', 'default');
	});
}
function bubbleMoveUp(div) {
	var currentTop = Math.abs($('.bubbleLinks', div).position().top);
	var speed = currentTop * 15;
	$('.downArrow', div).fadeTo(100, 1);
	$('.downArrow', div).css('cursor', 'pointer');
	$('.bubbleLinks', div).animate({top: '0px'}, speed, 'linear', function() {
		$('.upArrow', div).fadeTo(100, .3);
		$('.upArrow', div).css('cursor', 'default');
	});
}
function animateInBubble(name) {
	var nav = $('#'+name+'NavItem');
	var bubble = $('#'+name+'NavBubble');
	if(!$(bubble).hasClass('out')) {
		$('#navBubbleContainer').css('height', '265px').show();
		$('.navBubble').css('z-index', 400);
		$(bubble).css('z-index', 401);
		$(bubble).stop();
		$(bubble).animate({top: '10px'}, 300, 'linear', function() {
			$(bubble).addClass('out');
		});
	}
}
function animateOutBubble(name) {
	var bubble = $('#'+name+'NavBubble');
	var nav = $('#'+name+'NavItem');
	if(!$(nav).hasClass('enter') && !$(bubble).hasClass('enter')) {
		$(bubble).stop();
		$(bubble).removeClass('out');
		$(bubble).animate({top: '-255px'}, 300, 'linear', function() {
			var anyOut = false;	
			$('.navBubble').each(function() {
				if($(this).hasClass('out'))
					anyOut = true;
			});
			if(!anyOut) 
				$('#navBubbleContainer').css('height', '1px').hide();
		});
	}
}
function addToCart(item) {
        if(pageTracker) {
                pageTracker._trackEvent("Add Item To Cart", $(item).attr('shirt'));
        }
	$.ajax({
		url: baseUrl+"/itemProcess.php",
		data: 'itemId='+$(item).attr('itemId')+'&size='+$(item).attr('size')+'&shirt='+$(item).attr('shirt')+'&description='+$(item).attr('description'),
		dataType: 'xml',
		success: function (data, textStatus) {
			var result = "";
			$(data).find("result").each(function() {
				result = $(this).text();
			});
			var formHtml = "";
			$(data).find("formHtml").each(function() {
				formHtml = $(this).text();
			});
			var displayHtml = "";
			$(data).find("displayHtml").each(function() {
				displayHtml = $(this).text();
			});
			$(data).find("totalItems").each(function() {
				totalItems = $(this).text();
			});
			if(textStatus == 'success' && result == 'success') {
				$('#shoppingCartBox').html(displayHtml);
				$('#cartFormContents').html(formHtml);
				$('#shoppingCartTotal').html("("+totalItems+")");
				var newHeight = $('#shoppingCartContent').height();
				$('#shoppingCartMiddle').css('height', (newHeight - 40)+'px');
				$('#shoppingCart').css('height', (newHeight+68) + 'px');

				if(totalItems > 0) 
					$('#shoppingCartCheckout').show();
				else
					$('#shoppingCartCheckout').hide();
				$('.itemAdded', item).each(function() {
					if($(this).hasClass('success')) {
						$(this).fadeIn(200, function() {
				                        var fadeoutItem = this;
        	                			setTimeout(function() {$(fadeoutItem).fadeOut(750)}, 500);
				                });
					}
			        });
			} else {
				if($(this).hasClass('failed')) {
					$(this).fadeIn(200, function() {
			                        var fadeoutItem = this;
        	               			setTimeout(function() {$(fadeoutItem).fadeOut(750)}, 500);
			                });
				}
			}
		},
		error: function () {
			if($(this).hasClass('failed')) {
				$(this).fadeIn(200, function() {
		                        var fadeoutItem = this;
       	               			setTimeout(function() {$(fadeoutItem).fadeOut(750)}, 500);
		                });
			}
		}
	});
}
function modifyItem(id, size, action) {
        if(pageTracker) {
		pageTracker._trackEvent("Modify Item In Cart: "+action, id);
        }
	$.ajax({
		url: baseUrl+"/itemProcess.php",
		data: 'itemId='+id+'&action='+action+'&size='+size,
		dataType: 'xml',
		success: function (data, textStatus) {
			var result = "";
			$(data).find("result").each(function() {
				result = $(this).text();
			});
			var formHtml = "";
			$(data).find("formHtml").each(function() {
				formHtml = $(this).text();
			});
			var displayHtml = "";
			$(data).find("displayHtml").each(function() {
				displayHtml = $(this).text();
			});
			$(data).find("totalItems").each(function() {
				totalItems = $(this).text();
			});
			if(textStatus == 'success' && result == 'success') {
				$('#shoppingCartBox').html(displayHtml);
				$('#cartFormContents').html(formHtml);
				$('#shoppingCartTotal').html("("+totalItems+")");
				var newHeight = $('#shoppingCartContent').height();
				$('#shoppingCartMiddle').css('height', (newHeight - 40)+'px');
				$('#shoppingCart').css('height', (newHeight+68) + 'px');
				if(totalItems > 0) 
					$('#shoppingCartCheckout').show();
				else
					$('#shoppingCartCheckout').hide();
			} else {
				//error processing
			}
		},
		error: function () {
			//error processing
		}
	});
}
function submitForm(id) {
	var form = $('#'+id);
	var data = "";
	var mod = false;
	$('input, textarea', form).each(function() {
		if(mod)
			data += "&";
		data += $(this).attr('name')+"="+$(this).val();
		mod = true;
	}); 
	data += "&Submit=true";
	var url = baseUrl+"/emailProcess.php";
	if(form.attr('alt') == 'famProcess') {
		url = baseUrl +"/famProcess.php";
	}
	$.ajax({
		url: url,
		data: data,
		dataType: 'xml',
		type: 'POST',
		success: function (data, textStatus) {
			var result = "";
			xmlData = data;
			$(data).find("result").each(function() {
				result = $(this).text();
			});
			var message = "";
			$(data).find("message").each(function() {
				message = $(this).text();
			});
			famData = "";
			$(data).find("famData").each(function() {
				famData = $(this).text();
			});
			productTitle = "";
			$(data).find("productTitle").each(function() {
				productTitle = $(this).text();
			});
			if(textStatus == 'success' && result == 'success') {
				if(form.attr('success')) {
					form.attr('message', message);
					eval(form.attr('success'));
				} else {
					form.html(message);
				}
			} else {
				if(form.attr('failure')) {
					form.attr('message', message);
					eval(form.attr('failure'));
				} else {
					$('#returnMessage').html(message);
				}
			}
		},
		error: function () {
			if(form.attr('failure')) {
				form.attr('message', message);
				eval(form.attr('failure'));
			} else {
				$('#returnMessage').html("There was an error submitting your comment.");
			}
		}
	});
}
function resizeFlash() {
	var minWidth = 900;
	var minHeight = 700;
	var windowHeight = $(window).height();
	var windowWidth = $(window).width();
	if(windowWidth > minWidth) {
		$('#productImageContainer').css('width', '100%');
	} else {
		$('#productImageContainer').width(minWidth);
	} 
	if (windowHeight > minHeight) {
		$('#productImageContainer').height(windowHeight);
	} else {
		$('#productImageContainer').height(minHeight);
	}
	var h = $(document).height();
	$('#indexBin').each(function() {
		$(this).css('top', parseInt(h/2-$(this).height()/2)+'px');
	});
	$('#footer').each(function() {
		var nh = h/4+h/2-50;
		$(this).css('top', nh+'px');
	});
}
function animateInDetails() {
	$('#productDetailsBackground').animate({top: '0px'}, 300, 'linear', function() {});
	setTimeout(function() {
		$('#productCartItems').animate({top: '460px'}, 300, 'linear', function() {});
	}, 150);
	return true;
} 
