var quick_cart = new Image();
quick_cart.src = "/images/quick_cart.gif";
var quick_cart_over = new Image();
quick_cart_over.src = "/images/quick_cart_over.gif";

var product_search = new Image();
product_search.src = "/images/product_search.gif";
var product_search_over = new Image();
product_search_over.src = "/images/product_search_over.gif";

var help = new Image();
help.src = "/images/help.gif";
var help_over = new Image();
help_over.src = "/images/help_over.gif";

var menu_current = null;

function create_xmlhttprequest_object()
{
	var xmlHttp;
	
	try
	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');
		for(var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch(e) {}
		} 
	}
	if(!xmlHttp)
	{
		alert("Error creating the XMLHttpRequest object.");
	}
	else
	{
		return xmlHttp;
	}
}

function display_navigation()
{
	var xmlHttp = create_xmlhttprequest_object();
	
	if(xmlHttp)
	{
		try
		{
			xmlHttp.onreadystatechange = function()
			{
				if (xmlHttp.readyState == 4) 
				{
					if (xmlHttp.status == 200) 
					{
						var navigation = xmlHttp.responseText;
		
						document.getElementById('navigation').innerHTML = navigation;
					} 
					else 
					{
						alert('There was a problem with the request.');
					}
				}
			};
			xmlHttp.open("GET", "/publish/navigation.html", true);
			xmlHttp.send(null);
		}
		catch(e)
		{
			alert("Can't connect to server\n" + e.toString());		
		}
	}
}


function display_question()
{
	var xmlHttp = create_xmlhttprequest_object();
	
	if(xmlHttp)
	{
		try
		{
			xmlHttp.onreadystatechange = function()
			{
				if (xmlHttp.readyState == 4) 
				{
					if (xmlHttp.status == 200) 
					{
						var question = xmlHttp.responseText;
						document.getElementById('question').innerHTML = question;
					} 
					else 
					{
						alert('There was a problem with the request.');
					}
				}
			};
			xmlHttp.open("GET", "/publish/help.html", true);
			xmlHttp.send(null);
		}
		catch(e)
		{
			alert("Can't connect to server\n" + e.toString());		
		}
	}
}


function menu_toggle(menu)
{
	//IF MENU IS CLOSED, OPEN IT
	if(menu != menu_current)
	{
		//IF ANOTHER MENU IS OPEN CLOSE IT
		if(menu_current != null)
		{
			document.getElementById(menu_current + "Hdr").className = "closed";
			document.getElementById(menu_current + "Sub").style.display = "none";	

			menu_current = null;
		}

		//OPEN MENU
		document.getElementById(menu + "Hdr").className = "open";
		document.getElementById(menu + "Sub").style.display = document.all?"block":"table-row";

		//SET CURRENT MENU
		menu_current = menu;
	}
	else
	{
		document.getElementById(menu + "Hdr").className = "closed";
		document.getElementById(menu + "Sub").style.display = "none";	

		menu_current = null;
	}
}

function level_toggle(level, type)
{
	//IF CLOSED, THEN OPEN IT
	if(document.getElementById(level + "Sub").style.display == "none")
	{
		document.getElementById(level + "Hdr").className = type + "open";
		document.getElementById(level + "Sub").style.display = document.all?"block":"table-row";
	}
	//ELSE, CLOSE IT
	else
	{
		document.getElementById(level + "Hdr").className = type + "closed";
		document.getElementById(level + "Sub").style.display = "none";
	}
}

function level_expand_all()
{
	var i = 1;
	var type;
	
	while(document.getElementById("level" + i + "Hdr"))
	{
		document.getElementById("level" + i + "Hdr").className = (i % 2)?"oddopen":"evenopen";
		document.getElementById("level" + i + "Sub").style.display = document.all?"block":"table-row";
		i++;
	}
	document.getElementById("expand").style.display = "none";
	document.getElementById("collapse").style.display = document.all?"block":"table-row";
}

function level_collapse_all()
{
	var i = 1;
	var type;
	
	while(document.getElementById("level" + i + "Hdr"))
	{
		document.getElementById("level" + i + "Hdr").className = (i % 2)?"oddclosed":"evenclosed";
		document.getElementById("level" + i + "Sub").style.display = "none";
		i++;
	}
	document.getElementById("collapse").style.display = "none";
	document.getElementById("expand").style.display = document.all?"block":"table-row";
}

function add_to_cart() 
{
	var xmlHttp = create_xmlhttprequest_object();
	
	if(xmlHttp)
	{
		try
		{
			xmlHttp.onreadystatechange = function()
			{
				if (xmlHttp.readyState == 4) 
				{
					if (xmlHttp.status == 200) 
					{
						var xmldoc = xmlHttp.responseXML;
						//var temp = xmlHttp.responseText;
						//alert(temp);
						
						var name_node = xmldoc.getElementsByTagName('name').item(0);
						//alert(name_node.firstChild.data);
						var quantity_node = xmldoc.getElementsByTagName('quantity').item(0);
						var total_node = xmldoc.getElementsByTagName('total').item(0);
		
						document.getElementById('cartName').innerHTML = name_node.firstChild.data;
						document.getElementById('cartQuantity').innerHTML = quantity_node.firstChild.data;
						document.getElementById('cartTotal').innerHTML = total_node.firstChild.data;
						document.getElementById('cart').style.display = document.all ?"block":"table-row";
						display_cart_summary();
					} 
					else 
					{
						alert('There was a problem with the request.');
					}
				}
			};
			xmlHttp.open('POST', '/shop/add.php', true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			
			vars = "Product=" + document.getElementById("Product").value;
			for(i = 1; i <= document.getElementById("Count").value; i++)
			{
				vars = vars + "&Book[]=" + document.getElementById("Book" + i).value;
				vars = vars + "&Quantity[]=" + document.getElementById("Qty" + i).value;
				
				//RESET VALUES TO 0 ON THE PAGE
				document.getElementById("Qty" + i).value = 0;				
			}
			
			xmlHttp.send(vars);
		}
		catch(e)
		{
			alert("Can't connect to server\n" + e.toString());		
		}
	}
}

function seedling_add_to_cart() 
{
	var xmlHttp = create_xmlhttprequest_object();
	
	if(xmlHttp)
	{
		try
		{
			xmlHttp.onreadystatechange = function()
			{
				if (xmlHttp.readyState == 4) 
				{
					if (xmlHttp.status == 200) 
					{
						var xmldoc = xmlHttp.responseXML;
						//var temp = xmlHttp.responseText;
						//alert(temp);
						
						var name_node = xmldoc.getElementsByTagName('name').item(0);
						var quantity_node = xmldoc.getElementsByTagName('quantity').item(0);
						var total_node = xmldoc.getElementsByTagName('total').item(0);
		
						document.getElementById('cartName').innerHTML = name_node.firstChild.data;
						document.getElementById('cartQuantity').innerHTML = quantity_node.firstChild.data;
						document.getElementById('cartTotal').innerHTML = total_node.firstChild.data;
						document.getElementById('cart').style.display = document.all ?"block":"table-row";
						display_cart_summary();
					} 
					else 
					{
						alert('There was a problem with the request.');
					}
				}
			};
			xmlHttp.open('POST', '/shop/seedling_add.php', true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			
			vars = "Product=" + document.getElementById("Product").value;
			for(i = 1; i <= document.getElementById("Count").value; i++)
			{
				vars = vars + "&Book[]=" + document.getElementById("Book" + i).value;
				vars = vars + "&Quantity[]=" + document.getElementById("Qty" + i).value;
				
				//RESET VALUES TO 0 ON THE PAGE
				document.getElementById("Qty" + i).value = 0;				
			}
			
			xmlHttp.send(vars);
		}
		catch(e)
		{
			alert("Can't connect to server\n" + e.toString());		
		}
	}
}

function display_cart_summary() 
{
	var http_summary = false;

	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_summary = new XMLHttpRequest();
		if (http_summary.overrideMimeType) 
		{
			http_summary.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			http_summary = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				http_summary = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}

	if (!http_summary) 
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	
	http_summary.onreadystatechange = function()
	{
		if (http_summary.readyState == 4) 
		{
			if (http_summary.status == 200) 
			{
				var xmldoc = http_summary.responseXML;
				var count_node = xmldoc.getElementsByTagName('count').item(0);
				var total_node = xmldoc.getElementsByTagName('total').item(0);
				
				document.getElementById('CartSummary').innerHTML = total_node.firstChild.data;
			} 
			else 
			{
				alert('There was a problem with the request.');
			}
		}
	};

	http_summary.open('GET', '/xml/cart.php', true);
	http_summary.send(null);
}

function close_cart()
{
	document.getElementById('cart').style.display = "none";
}

function display_pleasewait()
{
	//document.getElementById('Order').style.border-color = "#CC0066";
	document.getElementById('pleasewait').style.display = document.all?"block":"table-row";	
	
}

function hidesub()
{
	//document.getElementById('Order').style.display = "none";
	//document.getElementById('Order').style.border-color = "#CC0066";
	
}


function email_to_a_colleague(url) 
{
	var xmlHttp = create_xmlhttprequest_object();
	
	if(xmlHttp)
	{
		try
		{
			xmlHttp.onreadystatechange = function()
			{
				if (xmlHttp.readyState == 4) 
				{
					if (xmlHttp.status == 200) 
					{
						//var xmldoc = xmlHttp.responseXML;
						var message = xmlHttp.responseText;
						//alert(message);
						document.getElementById('email_response').innerHTML = message;
						document.getElementById('email_form').style.display = "none";
						document.getElementById('email_send').style.display = "none";
						document.getElementById('email_response').style.display = document.all ?"block":"table-row";
					} 
					else 
					{
						alert('There was a problem with the request.');
					}
				}
			};
			xmlHttp.open('POST', '/product/email.php', true);
			xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			
			vars = "URL=" + url;
			vars = vars + "&Colleague=" + document.getElementById("Colleague").value;
			vars = vars + "&Email=" + document.getElementById("ESender").value;
			vars = vars + "&Comment=" + document.getElementById("Comment").value;
			//alert(vars);
			xmlHttp.send(vars);
		}
		catch(e)
		{
			alert("Can't connect to server\n" + e.toString());		
		}
	}
}

function display_email()
{
	document.getElementById('email_form').style.display = document.all ?"block":"table-row";
	document.getElementById('email_response').style.display = "none";
	document.getElementById('email').style.display = document.all ?"block":"table-row";
	document.getElementById('email_send').style.display = document.all ?"block":"table-row";
}

function close_email()
{
	document.getElementById('email').style.display = "none";
}


//DISPLAY DATE
function date()
{
	months = new Array("January","February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	today = new Date();
	month = today.getMonth();
	day = today.getDate();
	year = today.getYear();
	if(year < 1000) year += 1900;
	
	document.write(months[month] + " " + day + ", " + year);	
}


function display_quickcart()
{
	document.getElementById("quickcart").style.display = document.all?"block":"table-row";
	document.getElementById("search").style.display = "none";
	document.getElementById("help").style.display = "none";

	document.getElementById("btn_quickcart").src = quick_cart_over.src;
	document.getElementById("btn_search").src = product_search.src;
	document.getElementById("btn_help").src = help.src;
}


function display_search()
{
	document.getElementById("search").style.display = document.all?"block":"table-row";
	document.getElementById("quickcart").style.display = "none";
	document.getElementById("help").style.display = "none";

	document.getElementById("btn_quickcart").src = quick_cart.src;
	document.getElementById("btn_search").src = product_search_over.src;
	document.getElementById("btn_help").src = help.src;
}


function display_help()
{
	display_question();
	
	document.getElementById("help").style.display = document.all?"block":"table-row";
	document.getElementById("search").style.display = "none";
	document.getElementById("quickcart").style.display = "none";

	document.getElementById("btn_quickcart").src = quick_cart.src;
	document.getElementById("btn_search").src = product_search.src;
	document.getElementById("btn_help").src = help_over.src;
}


function display_tab(tab)
{
	tabs = new Array("overview","interior","order");
	
	for(i = 0;i < tabs.length;i++)
	{
		if(tabs[i] == tab)
		{
			document.getElementById(tabs[i]).style.display = document.all?"block":"table-row";	
		}
		else
		{
			document.getElementById(tabs[i]).style.display = "none";	
		}
	}
}

function open_page(page)
{
	window.location = page;
}

function jump_menu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


function f_clientWidth() 
{
	return f_filterResults 
	(
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

/*CENTER WINDOW
function center(e, w, h)
{
	var x = (window.innerWidth / 2) - (w / 2);
	var y = (window.innerHeight / 2) - (h / 2);

	document.getElementById(e).style.left = x;
	
	try
	{
		document.getElementById(e).style.top = y + document.body.scrollLeft;
	}
	catch(e)
	{
	  document.getElementById(e).style.top = y + window.pageYOffset; 
	}
}*/


//CENTER WINDOW
function center(e, w, h)
{
	var cw = client_width();
	var ch = client_height();
	var s = scroll_top();

	var x = (cw / 2) - (w / 2);
	var y = ((ch / 2) - (h / 2)) + s;

	document.getElementById(e).style.left = x + "px";
	document.getElementById(e).style.top = y + "px";
}


function client_width() 
{
	return filter_results 
	(
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function client_height() 
{
	return filter_results 
	(
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function scroll_left() 
{
	return filter_results 
	(
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function scroll_top() 
{
	return filter_results 
	(
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function filter_results(n_win, n_docel, n_body) 
{
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function inputfield(n, f, v)
{
	if((f == "On") && (document.getElementById(n).value == v))
	{
		document.getElementById(n).value = "";
	}
	if((f == "Off") && (document.getElementById(n).value == ""))
	{
		document.getElementById(n).value = v;
	}
}

function tpStateDisplay(ddstate) {	
	var dropdownIndex = document.getElementById(ddstate).selectedIndex;
	var dropdownValue = document.getElementById(ddstate)[dropdownIndex].value;	
	if (dropdownValue!='XX') {
		var allstates = new Array('CA','TX','TN','PA','DC','IL','IN','FL','MD','MA','NJ','NY','OH');
		var shdname = '';
		for(var i=0; i<allstates.length; i++){		
			shdname = "tpstate"+allstates[i];		
			document.getElementById(shdname).style.display = 'none';
		}		
		var trname = 'tpstate'+dropdownValue;
		document.getElementById(trname).style.display = '';	
	}
}
