<!--
// Browser sniffer. Written by PerlScriptsJavaScripts.com
// Determines exact browser being used.
var ua   = navigator.userAgent.toLowerCase();
var g_ie5  = (ua.indexOf("msie") && document.all && ua.indexOf("netscape") == -1); //IE 5 or higher
var g_nnf  = (ua.indexOf("netscape")  != -1 && ua.indexOf("gecko") != -1);
var g_nni  = (ua.indexOf("netscape")  != -1 && ua.indexOf("msie") != -1);
var g_nn6  = (ua.indexOf("netscape")  != -1); //Netscape 6
var g_gek  = (ua.indexOf("gecko")     != -1);
var g_ff1  = (ua.indexOf("firefox")   != -1); //Firefox
var g_opr  = (ua.indexOf("opera")     != -1); //Opera
var g_mac  = (ua.indexOf("mac")       != -1); //Macintosh OS
var g_web  = (ua.indexOf("webtv")     != -1);
var g_saf  = (ua.indexOf("safari")    != -1); //Safari
var g_kon  = (ua.indexOf("konqueror") != -1);
var g_nn4  = (document.layers); //Netscape 4

function checkV(e)
{
	if (isN4)
	{
		if (e.which==2||e.which==3)
		{
//			dPUW=alert("Copyright ©2005-2009 Vite Greenhouses");
			return false;
		}
	}
	else
	{
//		dPUW=alert("Copyright ©2005-2009 Vite Greenhouses");
		return false;
	}

	return true;
}

function fnCopyright(e)
{
//	if( e.button == 2 ) //right mouse key pressed
//	{
//		alert("Copyright ©2005-2009 Vite Greenhouses");

//		return false;
//	}

//I got this from JavaScript.com

	isIE=document.all;
	isNN=!document.all&&document.getElementById;
	isN4=document.layers;


	if (isIE||isNN)
	{
		if( e.button==2 || e.button==3 )
			document.oncontextmenu=checkV;
	}
	else
	{
		document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);
		document.onmousedown=checkV;
	}
}

function ShowLoc(Loc,BotanicalName,CommonName,Cultivar,LocDesc)
{
	sURL="Greenhouse-Layout.asp?loc=" + Loc + "&BotName=" + BotanicalName + "&ComName=" + CommonName + "&Cultivar=" + Cultivar + "&LocDesc=" + LocDesc;

	window.open(sURL,'','titlebar=yes,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no,top=5,width=700,height=' + (window.screen.availHeight-35));
}

function ShowPlantDetail( sID, nCurrSelItem )
{
	location = "PlantDetail.asp?PlantID=" + sID + (nCurrSelItem==55?"":("&Query=" + nCurrSelItem)); //QUICKSEARCH=55
}

function ChangeWishList(oObj)
{
	var sKey = "id=" + oObj.value;
  
	var sCookie = GetCookie("WishList","","");

	if( null == sCookie )
	{
		if( oObj.checked )
			SetCookie("WishList",sKey); //only store if checked

		return;
	}
  
	var sIDs = new String(sCookie);
	var saryIDs = sIDs.split("&")

	var bFound = false;
	var bInclude;
	var bAmp = false;

	var sNewIDs = "";

	var i;
	for ( i in saryIDs )
	{
		bInclude = true;

		if( sKey == saryIDs[i])
		{
			bFound = true;

			if( !oObj.checked )
				bInclude = false;
		}

		if( bInclude )
		{
			if( bAmp )
				sNewIDs += "&";

			bAmp = true;

			sNewIDs += saryIDs[i];
		}
	}

	if( !bFound && oObj.checked )
	{
		if( bAmp )
			sNewIDs += "&";

		sNewIDs += sKey;
	}

	SetCookie("WishList",sNewIDs);
}

// Create a cookie with the specified name and value.
// The cookie expires at the end of 2010
function SetCookie(sName, sValue)
{
	var nYear = (sValue==""?1999:2010); //past date deletes cookie

	var dateObj = new Date(nYear,12,31);

	document.cookie = sName + "=" + escape(sValue) + "; expires=" + dateObj.toUTCString() + ";";
}

function GetCookie(sName,sSub,sValue)
{
	// cookies are separated by semicolons
	var aCookie = document.cookie.split("; ");

	for (var i=0; i < aCookie.length; i++)
	{
		// a name/value pair (a crumb) is separated by an equal sign
		var aCrumb = aCookie[i].split("=");

		if (sName == aCrumb[0])
		{
			if (sSub)
			{
				aCookie = unescape(aCrumb[1]).split("&");

				for (i=0; i < aCookie.length; i++)
				{
					aCrumb = aCookie[i].split("=");
					if (sSub == aCrumb[0])
					{
						if( sValue && sValue != unescape(aCrumb[1]) )
							continue;

						return unescape(aCrumb[1]);
					}
				}

				return null;
			}

			return unescape(aCrumb[1]);
		}
	}

	// a cookie with the requested name does not exist
	return null;
}

function ShowPopup(obj, field, hide)
{
	//Get help object
	var helpObj;
	if (document.getElementById)
		helpObj = document.getElementById(field+"_help");
	else if (document.all)
		helpObj = document.all[field+"_help"];

	if (helpObj)
	{
		//if help object is shown, hide it ; if object hidden, show it
		if (hide)
			helpObj.style.visibility = "hidden";
		else
		{
			if( helpObj.style.display == "none" ) //only needs to be done first time, after that, just show and hide
				helpObj.style.display = "";

			//Get location of mouseover object, move help object to the left if will display off-browser
			var divWidth = helpObj.offsetWidth;
			var offsetLeft = getOffsetLeft(obj)+obj.offsetWidth;
			var browserWidth = document.body.clientWidth;

			if( offsetLeft-document.body.scrollLeft+divWidth > browserWidth )
			{
				if( offsetLeft-document.body.scrollLeft-obj.offsetWidth+1 > divWidth )
					offsetLeft = offsetLeft-obj.offsetWidth-divWidth+1;
				else
					offsetLeft = browserWidth + document.body.scrollLeft - divWidth;
			}

			//Get location of mouseover object, move help object on top if will display off-browser
			var divHeight = helpObj.offsetHeight;
			var offsetTop = getOffsetTop(obj) + obj.offsetHeight;
			var browserHeight = document.body.clientHeight;

			if( offsetTop-document.body.scrollTop+divHeight > browserHeight )
			{
//				if( offsetTop-document.body.scrollTop-obj.offsetHeight+1 > divHeight )
//					offsetTop = offsetTop-obj.offsetHeight-divHeight+1;
//				else
					offsetTop = browserHeight + document.body.scrollTop - divHeight;
			}

			helpObj.style.top = offsetTop+"px";
			helpObj.style.left = offsetLeft+"px";

			helpObj.style.visibility = "visible";
		}
	}
}

function getOffsetTop (obj)
{
	var nOffsetTop = obj.offsetTop;
	var oOffsetParent = obj.offsetParent;
	while (oOffsetParent)
	{
		nOffsetTop += oOffsetParent.offsetTop;
		oOffsetParent = oOffsetParent.offsetParent;
	}
	return nOffsetTop;
}

function getOffsetLeft (obj)
{
	var nOffsetLeft = obj.offsetLeft;
	var oOffsetParent = obj.offsetParent;
	while (oOffsetParent) 
	{
		nOffsetLeft += oOffsetParent.offsetLeft;
		oOffsetParent = oOffsetParent.offsetParent;
	}

	return nOffsetLeft;
}

function getScrollY()
{
	var scrOfY = 0;

	if( typeof( window.pageYOffset ) == 'number' )
	{
		//Netscape
		scrOfY = window.pageYOffset;
	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
	{
		//DOM
		scrOfY = document.body.scrollTop;
	}
	else if( document.documentElement &&
			( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
	{
		//IE6
		scrOfY = document.documentElement.scrollTop;
	}

	return scrOfY;
}

function ValidateHeights()
{
	var bFTFound = false;
	var bINFound = false;

	var oObj = window.event.srcElement.parentElement; //gets me frmHeightSearch object handler

	return ValidateHeightsInForm(oObj);
}

function ValidateHeightsInForm(oObj)
{
	var sValMin = new String(oObj.ht1.value);
	var sValMax = new String(oObj.ht2.value);

	var nFT1Char = sValMin.indexOf("'");
	var nFT2Char = sValMax.indexOf("'");

	if( nFT1Char != -1 )
		bFT1Found = true;

	if( nFT2Char != -1 )
		bFT2Found = true;

	var nInches1 = 0;
	var nInches2 = 0;

	if( nFT1Char != -1 )
	{
		nInches1 = parseInt(sValMin, 10) * 12; // 12'13" becomes 144

		if( sValMin.length > nFT1Char+1 )
			nInches1 += parseInt(sValMin.substr(nFT1Char+1));
	}
	else
		nInches1 = parseInt(sValMin, 10);
		
	if( nFT2Char != -1 )
	{
		nInches2 = parseInt(sValMax, 10) * 12; // 12'13" becomes 144

		if( sValMax.length > nFT2Char+1 )
			nInches2 += parseInt(sValMax.substr(nFT2Char+1));
	}
	else
		nInches2 = parseInt(sValMax, 10);

	if( isNaN(nInches1) )
		nInches1 = 0;

	if( isNaN(nInches2) )
		nInches2 = 0;

	if( nInches1 > nInches2 )
	{
		oObj.ht1.value = nInches2.toString(10);
		oObj.ht2.value = nInches1.toString(10);
	}
	else
	{
		oObj.ht1.value = nInches1.toString(10);
		oObj.ht2.value = nInches2.toString(10);
	}
		
	return true;
}

function CheckHeightValue()
{
	var nKeyCode = window.event.keyCode;

	if( ( nKeyCode >= 48 && nKeyCode <= 57 ) || //0-9
	    nKeyCode == 39 || nKeyCode == 34 // ' or "
	  )
	{
		var oObj = window.event.srcElement; //gets me ht1 or ht2 input field

		var sVal = new String(oObj.value);

		if( nKeyCode == 34 || nKeyCode == 39 ) //special test for ' and " chars
		{
			if( sVal.length == 0 ) //can't be first char
				return false;

			switch( nKeyCode )
			{
				case 34: // "
					if( sVal.indexOf("\"") != -1 ) //can't have multiple inch char (")
						return false;

					if( sVal.indexOf("'") == sVal.length ) //can't have adjacent to foot char
						return false;
				break;

				case 39: // '
					if( sVal.indexOf("'") != -1 ) //can't have multiple foot char (')
						return false;

					if( sVal.indexOf("\"") != -1 ) //can't have foot char AFTER inch char
						return false;
				break;
			}
		}
		else 
			if( sVal.indexOf("\"") != -1 ) //can't have integer after the inch symbol
				return false;
		
		return true;
	}

	return false;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

var preloadFlag = false;
function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function preloadImages() 
{
	if (document.images)
	{
		Home_over = newImage("images/Home-Button-Hover.gif");
		WhatsNew_over = newImage("images/WhatsNew-Button-Hover.gif");
		Seminars_over = newImage("images/Seminars-Button-Hover.gif");
		Plants_over = newImage("images/Plants-Button-Hover.gif");
		PlantCare_over = newImage("images/Plant-Care-Button-Hover.gif");
		Directions_over = newImage("images/Directions-Button-Hover.gif");
		History_over = newImage("images/History-Button-Hover.gif");
		Gallery_over = newImage("images/Gallery-Btn-Hover.gif");
		Links_over = newImage("images/Links-Button-Hover.gif");
		AboutUs_over = newImage("images/About-Us-Button-Hover.gif");
		ContactUs_over = newImage("images/Contact-Us-Button-Hover.gif");
		Recipes_over = newImage("images/Recipes-Button-Hover.gif");

		preloadFlag = true;
	}
}

function ShowSalesPopup()
{
	var sOpts = "toolbar=no,status=no,scrollbars=yes,resizable=yes,titlebar=no";

	//window.open('CurrentSales.asp', null, sOpts, true);
	window.open('EndOfSeasonSale.asp', null, sOpts, true);
}

function ImgLoaded(oObj, nMaxSize)
{
	if( nMaxSize == -1 )
		return;

	if( oObj.height >= oObj.width && oObj.height > nMaxSize )
		oObj.height = nMaxSize;

	if( oObj.width >= oObj.height && oObj.width > nMaxSize )
		oObj.width = nMaxSize;

	oObj.style.visibility = "visible";
}

// -->
