		function delegateAjax(url, delegateFunction, page, itemPerPage,containerName) {
			//alert("@delegateAjax");
			if ( (!page)||(page<1) ){
				page = 1;
			}
			
			if ( (!itemPerPage)||(itemPerPage<1) ){
				itemPerPage = 5;
			}
			
			var container = document.getElementById(containerName);
			if(container == null){
				//alert('@delegateAjax, container not found ...');
			}
			
			var myAjax = new Ajax.Request(
				url,
				{ 
					method: 'post',
					//postBody: paras, 
					//parameters: paras, 
					onSuccess: delegate(this, delegateFunction, page, itemPerPage, container),
					onFailure: function(){ /*alert('AJAX went wrong ...')*/ }
				}
			);
		}
			
		var sectionFrontDataList = new Array();
		
		function parseSectionFrontHighlightData(req, obj, page, itemPerPage, container) {
			//alert("@showTopPicks");
			var xmlDoc = req.responseXML.documentElement;

			var tagNode = xmlDoc.getElementsByTagName("merchant");
			var tagCount = tagNode.length;
			
//			if (req.responseText.indexOf("<merchant>")!=-1)
			if (tagCount>0)
			{	
				//var tagNode = xmlDoc.getElementsByTagName("merchant");
				//var tagCount = tagNode.length;
				//alert("tag count="+tagCount);	
				
				var titleNode = xmlDoc.getElementsByTagName("title");
				var descriptionNode = xmlDoc.getElementsByTagName("description");
				var imageNode = xmlDoc.getElementsByTagName("image");
				var urlNode = xmlDoc.getElementsByTagName("url");

				for (var i=0; i<tagCount; i++){
					var highlightData = new Object();
					highlightData.title = titleNode[i].childNodes[0]==null?"--":titleNode[i].childNodes[0].nodeValue;
					highlightData.description = descriptionNode[i].childNodes[0]==null?"--":descriptionNode[i].childNodes[0].nodeValue;
					highlightData.image = imageNode[i].childNodes[0]==null?"--":imageNode[i].childNodes[0].nodeValue;
					highlightData.url = urlNode[i].childNodes[0]==null?"--":urlNode[i].childNodes[0].nodeValue;
					
					sectionFrontDataList.push(highlightData);
				}
			}
			
			var fromTag = (page-1)*itemPerPage;
			var toTag = fromTag + itemPerPage;
			if (toTag>tagCount)
			{
				toTag = tagCount;
			}
			//alert("from ="+fromTag+", to ="+toTag);		

			var dataList = new Array();
			
			for (var i=fromTag; i<toTag; i++)
			{
				//alert("section data "+i+" = "+sectionFrontDataList[i]);
				dataList.push(sectionFrontDataList[i]);
			}//End for
			//alert("dataList="+dataList.length);
			if(dataList.length > 0)
				displaySectionFrontHighlight(dataList,container);
		}
		
		/*
		function parseSectionFrontHighlightData(req, obj, page, itemPerPage, container) {
			alert("@showTopPicks");
			var xmlDoc = req.responseXML.documentElement;
			alert("@showTopPicks xmlDoc="+xmlDoc);
			
			if (req.responseText.indexOf("<merchant>")!=-1)
			{	
				var tagNode = xmlDoc.getElementsByTagName("merchant");
				var tagCount = tagNode.length;
				//alert("tag count="+tagCount);

				
				var titleNode = xmlDoc.getElementsByTagName("title");
				var descriptionNode = xmlDoc.getElementsByTagName("description");
				var imageNode = xmlDoc.getElementsByTagName("image");
				var urlNode = xmlDoc.getElementsByTagName("url");

				for (var i=0; i<tagCount; i++){
					var highlightData = new Object();
					highlightData.title = titleNode[i].childNodes[0]==null?"--":titleNode[i].childNodes[0].nodeValue;
					highlightData.description = descriptionNode[i].childNodes[0]==null?"--":descriptionNode[i].childNodes[0].nodeValue;
					highlightData.image = imageNode[i].childNodes[0]==null?"--":imageNode[i].childNodes[0].nodeValue;
					highlightData.url = urlNode[i].childNodes[0]==null?"--":urlNode[i].childNodes[0].nodeValue;
					
					sectionFrontDataList.push(highlightData);
				}
			}
			
			var fromTag = (page-1)*itemPerPage;
			var toTag = fromTag + itemPerPage;
			if (toTag>tagCount)
			{
				toTag = tagCount;
			}
			//alert("from ="+fromTag+", to ="+toTag);		

			var dataList = new Array();
			
			for (var i=fromTag; i<toTag; i++)
			{
				//alert("section data "+i+" = "+sectionFrontDataList[i]);
				dataList.push(sectionFrontDataList[i]);
			}//End for
			alert("dataList="+dataList.length);
			if(dataList.length > 0)
				displaySectionFrontHighlight(dataList,container);
		}
		*/

		function displaySectionFrontHighlight(dataList,container) {
			
			var htmlString = "";
			for(var i=0; i< dataList.length; i++){
				//alert("@displaySectionFrontHighlight, looping i="+i);
				htmlString +=	'<div id="sf1Paragraph">'+
								'	<div id="sf1ParagraphContent">'+
								'		<div id="sf1ParagraphImgs">'+
								'			<div id="sf1ParagraphImg">'+
								'					<a href="' + dataList[i].url + '" target="_blank">'+
								'						<img src="' + dataList[i].image + '" width="70" height="70" border="0" alt=""/>'+
								'					</a>'+
								'			</div>'+
								'		</div>'+
								'		<div id="sf1ParagraphContentHeading">'+
								'					<a href="' + dataList[i].url + '" target="_blank">' + dataList[i].title + '</a>'+
								'		</div>'+
								'		<div id="sf1ParagraphContentDetails">'+	dataList[i].description + 	'</div>'+
								'	</div>'+
								'</div>';
			}			
			//alert("@displaySectionFrontHighlight, dataListLength = " + dataList.length+", html="+htmlString );
			container.innerHTML = htmlString;
		}
		

		function loadSectionFrontXMLData(section) {
			//alert("@loadSectionFrontXMLData, section="+section);
			var sectionFrontHighlightXml;
			switch(section){
				case "/eng/shopping":
					//alert("case = /eng/shopping");
					//sectionFrontHighlightXml = "/eng/xml/section_front_shopping_highlight.xml";
//					sectionFrontHighlightXml = "/eng/jsp/shop/qts_search/highlight_xml.jsp";
					delegateAjax(sectionFrontHighlightXml, parseSectionFrontHighlightData, 1, 5, "sectionFrontHighlightArea");
					break;				
				case "/eng/dining":
					//sectionFrontHighlightXml = "/eng/xml/section_front_dining_highlight.xml";
//					sectionFrontHighlightXml = "/eng/jsp/shop/qts_search/highlight_xml.jsp?cat=restaurant";
					delegateAjax(sectionFrontHighlightXml, parseSectionFrontHighlightData, 1, 5, "sectionFrontHighlightArea");
					break; 
				//default : alert("case = default");
			}			
		}	