var addToCart = new Image();
addToCart.src = "images/buttons/addToCart.png";
var addToCart_active = new Image();
addToCart_active.src = "images/buttons/addToCart_active.png";
var addToCart_pressed = new Image();
addToCart_pressed.src = "images/buttons/addToCart_pressed.png";
var register = new Image();
register.src = "images/buttons/register.gif";
var register_active = new Image();
register_active.src = "images/buttons/register_active.gif";
var register_pressed = new Image();
register_pressed.src = "images/buttons/register_pressed.gif";
var sign_in = new Image();
sign_in.src = "images/buttons/sign_in.gif";
var sign_in_active = new Image();
sign_in_active.src = "images/buttons/sign_in_active.gif";
var sign_in_pressed = new Image();
sign_in_pressed.src = "images/buttons/sign_in_pressed.gif";
var buyNow = new Image();
buyNow.src = "images/buttons/buyNow.png";
var buyNow_active = new Image();
buyNow_active.src = "images/buttons/buyNow_active.png";
var buyNow_pressed = new Image();
buyNow_pressed.src = "images/buttons/buyNow_pressed.png";

/***************
 * rolloverForm
 *
 * this is to highlight the buttons used inside a form. the img attribute
 * of the input field doesn't get added to the document image array, so
 * we have to get the element and set its src attribute.
 */
function rolloverForm(buttonName, newButton) {
	var button=document.getElementById(buttonName);
	button.setAttribute("src", newButton.src);
}

/****************
 * swapButton
 *
 * the simple version of rollover effect. just swapping one image for anther
 */
function swapButton(buttonName, newButton) {
	document.images[buttonName].src = newButton.src;
}

function highlightButton(buttonName, buttonType) {
	var nameParts = buttonType.split(".");
	var fname = nameParts[nameParts.length - 2];
	var suffix = nameParts[nameParts.length - 1];
	var newSrc = "images/buttons/" + fname + "_active."  + suffix;
	document.images[buttonName].src = newSrc;
}

function unhighlightButton(buttonName, buttonType) {
	var nameParts = buttonType.split(".");
	var fname = nameParts[nameParts.length - 2];
	var suffix = nameParts[nameParts.length - 1];
	var newSrc = "images/buttons/" + fname + "."  + suffix;
	document.images[buttonName].src = newSrc;
}

function pressButton(buttonName, buttonType) {
	var nameParts = buttonType.split(".");
	var fname = nameParts[nameParts.length - 2];
	var suffix = nameParts[nameParts.length - 1];
	var newSrc = "images/buttons/" + fname + "_pressed."  + suffix;
	document.images[buttonName].src = newSrc;
}

function popWin(contentHtml, width, height) {
	window.open(contentHtml, "", "width="+width+"px, height="+height+"px, resizable");
}

function emailFriend() {
	window.open("emailFriend.html", "", "width=560px, height=532px, noresizable");
}

function emailDoc() {
	window.open("emailDoc.html", "", "width=520px, height=532px, noresizable");
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function createCookie(name,value,hours) {
	if (hours) {         
		var date = new Date();
		date.setTime(date.getTime()+(hours*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function loginCookies() {
	document.cookie = "loginType=login; path=/";	
}

function retailCookies() {
	document.cookie = "loginType=register; path=/";	
	document.cookie = "custType=retail; path=/";
}

function wholesaleCookies() {

	var rsn = document.wholesale.resalenum.value;

	document.cookie = "loginType=register; path=/";	
	document.cookie = "custType=wholesale; path=/";
	document.cookie = "rsn=" + rsn + "; path=/";
}

function validateRSN() {

	var rsn = document.wholesale.resalenum.value;

	if ((rsn == "") || (rsn == " ")) {
		alert("You must enter a Resale Number");
		return false;
	}
}

var  TimeToFade = 900.0;

function fadeIn(eid) {
	var element = document.getElementById(eid);
	if(element == null)
		return;

	if(element.FadeState  == null) {
		if(element.style.opacity == null
			|| element.style.opacity == ''
			|| element.style.opacity == '1') {
			element.FadeState = 2;
		} else {
			element.FadeState = -2;
		}
	}
	element.FadeState = 1;
	element.FadeTimeLeft = TimeToFade;
	setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
}

function fadeOut(eid) {
	var element = document.getElementById(eid);
	if(element == null)
		return;

	if(element.FadeState  == null) {
		if(element.style.opacity == null
			|| element.style.opacity == ''
			|| element.style.opacity == '1') {
			element.FadeState = 2;
		} else {
			element.FadeState = -2;
		}
	}
	element.FadeState = -1;
	element.FadeTimeLeft = TimeToFade;
	setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
}

function  animateFade(lastTick, eid) {  
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;

	var element = document.getElementById(eid);

	if(element.FadeTimeLeft <= elapsedTicks) {
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = '
		+ (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	}

	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft/TimeToFade;
	if(element.FadeState == 1)
	newOpVal = 1 - newOpVal;

	element.style.opacity = newOpVal;
	element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';

	setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function viewIngredients() {

	var ingredientDeck = document.getElementById("ingredients");
	var prodPage = document.getElementById("prodPage");
	var winWidth = 864;
	var winHeight = 432;
	var deckWidth = ingredientDeck.clientWidth;
	var deckHeight = ingredientDeck.clientHeight;
	var deckLeft = Math.floor((winWidth - deckWidth) / 2);
	var deckTop = Math.floor((winHeight - deckHeight) / 2);

	prodPage.style.opacity = 0.25;
	prodPage.style.z_index = "98";
	prodPage.blur();
	ingredientDeck.focus();
	ingredientDeck.style.visibility = "visible";
	ingredientDeck.style.z_index = "1";
	ingredientDeck.style.opacity = 1;
	ingredientDeck.style.top = deckTop + "px";
	ingredientDeck.style.left = deckLeft + "px";

	var elem = document.getElementById("hideIngredients");
	if (document.addEventListener)
		elem.addEventListener("click", hideIngredients, false);
	if (document.attachEvent) // IE version
		elem.attachEvent("click", hideIngredients);
}

function hideIngredients() {

	var ingredientDeck = document.getElementById("ingredients");
	var prodPage = document.getElementById("prodPage");

	prodPage.style.opacity = 1;
	prodPage.style.z_index = "1";
	ingredientDeck.style.visibility = "hidden";
	ingredientDeck.style.z_index = "98";
	ingredientDeck.blur();
	prodPage.focus();

	var elem = document.getElementById("hideIngredients");
	if (document.addEventListener)
		elem.removeEventListener("click", hideIngredients, false);
	if (document.attachEvent) // IE version
		elem.detachEvent("click", hideIngredients);
}

function  animateScroll(eid, dir) {  

	var element = document.getElementById(eid);

	var topx = element.style.top;
	var len = topx.indexOf("px");
	var s = topx.substr(topx, len);
	alert(s);

	switch (dir) {
		case "up":
			alert("top = " + top);
			if (--top <= "80px") return;
			element.style.top = top;
			setTimeout("animateScroll('" + eid + "'," + dir + ")", 33);
			break;
		case "down":
			if (++top >= "340px") return;
			element.style.top = top;
			setTimeout("animateScroll('" + eid + "'," + dir + ")", 33);
			break;
	}
}

function testify() {
	var tp = document.getElementById("ppTestimonial");
	var ip = document.getElementById("ppImgPane");
	var sp = document.getElementById("ppSealPane");
	var tc = document.getElementById("testimonialCtl");
	var closeBox = document.getElementById("tpClose");

	if ((tp.viewState == null) || (tp.viewState == 0)) {
		// we're at the bottom, and must move up
		tp.style.top = "auto";
		tp.style.bottom = "0px";
		tp.style.height = "auto";
		ip.style.opacity = 0.20;
		if (sp != null)
			sp.style.opacity = 0.15;
		tc.firstChild.nodeValue = "Close ";
		closeBox.style.visibility = "visible";
		tp.viewState = 1;
	} else {
		tp.style.top = "340px";
		tp.style.bottom = "auto";
		tp.style.height = "132px";
		ip.style.opacity = 1.0;
		if (sp != null)
			sp.style.opacity = 1.0;
		tc.firstChild.nodeValue = "View full testimonial";
		closeBox.style.visibility = "hidden";
		tp.viewState = 0;
	}
}

function ajaxRequest() {
	var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
	if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
		for (var i=0; i<activexmodes.length; i++){
			try{
				return new ActiveXObject(activexmodes[i])
			}
			catch(e){
				//suppress error
			}
		}
	}
	else if (window.XMLHttpRequest) // if Mozilla, Safari etc
		return new XMLHttpRequest()
	else
		return false
}

