<!--

	function MoreLessFacet(totalvalues, initialstate, moretxt, lesstxt)
	{
		this.TOTAL_VALUES 	=  parseInt("10");
		this.TOTAL_SHOWING	=  0;
		this.SHOWING_LONG 	=  0;
		this.SHOWING_STATE	=  "less";
		this.STR_LESS		=  "";
		this.STR_MORE		=  "";
		this.STR_DBG 		=  "";
		this.TXT_LESS		=  "";
		this.TXT_MORE		=  "";

		this.init			= initMLF;
		this.isMore 		= isMoreMLF;
		this.isLess 		= isLessMLF;
		this.isViewMore 	= isViewMoreMLF;
		this.isViewLess 	= isViewLessMLF;
		this.isStarting 	= isStartingMLF;
		this.isAtLimit		= isAtLimitMLF;
		this.isUnderLimit	= isUnderLimitMLF;
		this.isOverLimit	= isOverLimitMLF;
		this.buildValueLink	= buildValueLinkMLF;
		this.buildValue		= buildValueMLF;
		this.getMore		= getMoreMLF;
		this.getLess		= getLessMLF;
		this.getText		= getTextMLF;
		this.getDbg			= getDbgMLF;
		this.toggle			= toggleMLF;
		this.init			= initMLF;
		
		this.init(totalvalues, initialstate, moretxt, lesstxt);
	}
	
	function initMLF(totalvalues, initialstate, moretxt, lesstxt)
	{
	
		this.TOTAL_VALUES = parseInt(totalvalues);
		this.SHOWING_STATE = initialstate;
		this.TXT_LESS = lesstxt;
		this.TXT_MORE = moretxt;
	}

	function isMoreMLF() { return (this.SHOWING_LONG); }

	function isLessMLF() { return (!this.SHOWING_LONG); }

	function isViewMoreMLF() { return (this.SHOWING_STATE == "more"); }

	function isViewLessMLF() { return (this.SHOWING_STATE == "less"); }

	function isStartingMLF() { return (this.TOTAL_VALUES == 0); }

	// The function loop will leave _TOTAL_VALUES at 1 over limit 
	function isAtLimitMLF() { return (this.TOTAL_SHOWING == this.TOTAL_VALUES); }

	function isUnderLimitMLF() { return (this.TOTAL_SHOWING < this.TOTAL_VALUES); }

	function isOverLimitMLF() { return (this.TOTAL_SHOWING > this.TOTAL_VALUES); }

	function getLessMLF(prefix,suffix) { return prefix + this.STR_LESS + suffix; }

	function getMoreMLF(prefix,suffix) { return prefix + this.STR_MORE + suffix; }
	
	function getTextMLF()
	{
		var TXT = (this.isMore()) ? this.TXT_MORE : this.TXT_LESS;
		return "<span id='moreless'>" + TXT + "<\/span>";
	}

	function getDbgMLF(prefix,suffix) { return this.STR_DBG }


	function buildValueLinkMLF(fpath, fvalue, fcount, fselected, prefix, suffix, selectedattr, unselectedattr)
	{
		//this.STR_DBG += "Total Showing: " + this.TOTAL_SHOWING + ", Show Long: " + this.SHOWING_LONG + ", Showing State:" + this.SHOWING_STATE + "\n";

		fcount = (parseInt(fcount) != -1) ? " (" + fcount + ")" : ""

		if (this.isAtLimit()) { this.SHOWING_LONG = 1; }

                if(fselected == "Yes")
                {
		    var facetstr = selectedattr;
                }
                else
                {
		    var facetstr = prefix + "<a href='" + fpath  + "' " + unselectedattr + ">" + fvalue + fcount + "<\/a>" + suffix;
                };
			

		//this.STR_DBG += facetstr + "\n\r\n\r";
		
		if (this.isMore())
		{
			this.STR_MORE += facetstr;
		}
		else
		{
			this.STR_LESS += facetstr;
		}


		++this.TOTAL_SHOWING;
	}

	function buildValueMLF(facetstr)
	{

		if (this.isAtLimit()) { this.SHOWING_LONG = 1; }


		
		if (this.isMore())
		{
			this.STR_MORE += facetstr;
		}
		else
		{
			this.STR_LESS += facetstr;
		}


		++this.TOTAL_SHOWING;
	}


	function toggleMLF()
	{

		this.SHOWING_STATE = (this.isViewMore()) ? "less" : "more";
		var txtstate = (this.isViewMore()) ? this.TXT_LESS : this.TXT_MORE;
		//document.getElementById('dbg').value = txtstate + "\n";

		document.getElementById("facet_more").style.display = (this.isViewMore()) ? "block" : "none";
		document.getElementById("moreless").innerHTML = txtstate;
		
	}

	

//-->
