//
//-------------------------------------------------------------------
// Licensed Materials - Property of IBM
//
// WebSphere Commerce
//
// (c) Copyright IBM Corp. 2007
//
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//-------------------------------------------------------------------
//

		dojo.registerModulePath("wc", "wc");

		//AJAX request support
		dojo.require("dojo.io.*");
		dojo.require("dojo.json");
			
		//product quick view with tooltip widget
		dojo.require("wc.widget.ProductQuickView");
		dojo.require("wc.widget.BaseContent");
		dojo.require("wc.widget.ToolTipContent");	
		
		
		
		//category menu support
		dojo.require("dojo.widget.Button");
		dojo.require("dojo.widget.Menu2");
		dojo.require("dojo.widget.Checkbox");

		//range slider widget
		dojo.require("wc.widget.RangeSlider");
				
		//reload widgets when parts of the page has been re-loaded from server
		dojo.require("dojo.xml.Parse");
			
		//publish and subscribe event support
		dojo.require("dojo.event.*");

		//back, forward and bookmarking
		dojo.require("dojo.undo.browser");

		//scrollable pane
		dojo.require("wc.widget.ScrollablePane");
		dojo.require("dojo.animation.*");
		dojo.require("dojo.lfx.*");
		dojo.require("dojo.string.extras");
		dojo.require("dojo.collections.ArrayList");
		
		
		var beginIndex = 0;
		var prevIndex = null; 
		var nextIndex = null;



	function onLoad(){
		//fastFinderJS.refreshResultsArea();
		fastFinderJS.showTotalResultsMessage(); 
		document.getElementById('ff_top_page_prev').href = 'javascript: filterWithPrevIndex();';
		document.getElementById('ff_top_page_next').href = 'javascript: filterWithNextIndex();';
		document.getElementById('ff_bottom_page_prev').href = 'javascript: filterWithPrevIndex();';
		document.getElementById('ff_bottom_page_next').href = 'javascript: filterWithNextIndex();';
	}
	dojo.addOnLoad(onLoad);


	fastFinderJS={
		itemsPerPage:12,
		beginIndex:1,
		pageView:"image",
		tab:"all",
		lowerPrice:"0",
		upperPrice:"0",
		filters:"",
		
		fastFinderResultsAreaController:wc.render.getRefreshControllerById('fastFinderResultsAreaController').url,
		refreshResultsArea:function(){
			cursor_wait();
			wc.render.getRefreshControllerById('fastFinderResultsAreaController').url = fastFinderJS.fastFinderResultsAreaController 
					+ "&beginIndex=" + fastFinderJS.beginIndex
					+ "&pageView=" + fastFinderJS.pageView
					+ "&tab=" + fastFinderJS.tab
					+ "&lPrice=" + fastFinderJS.lowerPrice
					+ "&uPrice=" + fastFinderJS.upperPrice
					+ fastFinderJS.filters;
			wc.render.getRefreshControllerById('fastFinderResultsAreaController').widgets.fastFinderResultsArea.refresh();		
			return true; 
		},
		
		totalResultsMessage : "UNDEFINED",
		pagingMessage : "UNDEFINED",
		pagingMessage2 : "UNDEFINED",		
			
		showPagingMessage : function() {
			//not used anymore...
			var resultsTDTop = document.getElementById("pagingMessageDisplayTop");
			var resultsTDBottom = document.getElementById("pagingMessageDisplayBottom");
			var text = this.pagingMessage;
			
			totalProducts = document.getElementById('fastFinderResponseForm').totalProducts.value;
			
			var beginIndex = this.beginIndex;
			if(totalProducts == 0)
				beginIndex = 0;
				
			
			text = text.replace(/%0/, beginIndex);

			var lastIndexOnCurrentPage = this.beginIndex+this.itemsPerPage - 1;
			if(lastIndexOnCurrentPage > totalProducts)
				lastIndexOnCurrentPage = totalProducts;
			
			text = text.replace(/%1/, lastIndexOnCurrentPage);

			
			text = text.replace(/%2/, totalProducts);
			
			var textNodeTop = document.createTextNode(text);
			var textNodeBottom = document.createTextNode(text);
			
			if (resultsTDTop.childNodes.length == 1) {
				resultsTDTop.removeChild(resultsTDTop.firstChild);
			}
			resultsTDTop.appendChild(textNodeTop);
			
			if (resultsTDBottom.childNodes.length == 1) {
				resultsTDBottom.removeChild(resultsTDBottom.firstChild);
			}
			resultsTDBottom.appendChild(textNodeBottom);
		},

		showPagingMessage2 : function() {
			//not used anymore...
					
			var resultsTDTop = document.getElementById("pagingMessage2DisplayTop");
			var resultsTDBottom = document.getElementById("pagingMessage2DisplayBottom");
			var text = this.pagingMessage2;
			
			totalProducts = document.getElementById('fastFinderResponseForm').totalProducts.value;
			currentPage = document.getElementById('fastFinderResponseForm').currentPage.value;
			totalPages = document.getElementById('fastFinderResponseForm').totalPages.value;
			
			if (totalProducts != 0) {
				text = text.replace(/%0/, currentPage);  
			} else {
				text = text.replace(/%0/, 1);
			}
			text = text.replace(/%1/, totalPages);
			
			var textNodeTop = document.createTextNode(text);
			var textNodeBottom = document.createTextNode(text);
			
			if (resultsTDTop.childNodes.length == 1) {
				resultsTDTop.removeChild(resultsTDTop.firstChild);
			}
			resultsTDTop.appendChild(textNodeTop);
			
			if (resultsTDBottom.childNodes.length == 1) {
				resultsTDBottom.removeChild(resultsTDBottom.firstChild);
			}
			resultsTDBottom.appendChild(textNodeBottom);
		},
		showTotalResultsMessage : function() {
			var resultsTD = document.getElementById("totalResultsMessageDisplay");
			
			if(resultsTD != null){
				var text = this.totalResultsMessage;
				
				totalProducts = document.getElementById('fastFinderResponseForm').totalProducts.value;
				totalProductsInCategory = document.getElementById('fastFinderResponseForm').totalProductsInCategory.value;
				
				text = text.replace(/%0/, totalProducts);
				text = text.replace(/%1/, totalProductsInCategory);
				var textNode = document.createTextNode(text);
				
				if (resultsTD.childNodes.length == 1) {
					resultsTD.removeChild(resultsTD.firstChild);
				}
				resultsTD.appendChild(textNode);
			}else{
				dojo.debug("totalResultsMessageDisplay"+" element is missing");
			}
		}
		
}
