
var CarouselManager=new CarouselManagerClass();function CarouselManagerClass()
{var poiImageRoot="Images/poi/";var carouselList=new Array(categorySearch,dailyServices);var MaxInnerCarouselItemsToDisplay=6;var carouselPointer=1;var innerCarouselPointer=0;var currentInnerCarouselItemsCount=0;this.CarouselNext=function()
{if(carouselPointer+1>carouselList.length-1)
{carouselPointer=0;}
else
{carouselPointer++;}
innerCarouselPointer=0;clearInnerCarouserDiv();this.DisplayCarousel();this.adjustNavigation();}
this.adjustNavigation=function()
{var div_CarouselNext=document.getElementById('div_CarouselNext');var div_CarouselBack=document.getElementById('div_CarouselBack');div_CarouselNext.style.display=(carouselPointer==0)?'none':'block';div_CarouselBack.style.display=(carouselPointer==1)?'none':'block';}
this.CarouselMoveNext=function(position)
{for(var i=0;i<position;i++)
{this.CarouselNext();}}
function canInnerCarouselGoForward()
{return innerCarouselPointer*MaxInnerCarouselItemsToDisplay+MaxInnerCarouselItemsToDisplay<currentInnerCarouselItemsCount;}
this.InnerCarouselNext=function()
{if(canInnerCarouselGoForward())
{innerCarouselPointer++;}
changeInnerCarouselItem();}
this.CarouselBack=function()
{if(carouselPointer-1<0)
{carouselPointer=carouselList.length-1;}
else
{carouselPointer--;}
innerCarouselPointer=0;clearInnerCarouserDiv();this.DisplayCarousel();this.adjustNavigation();}
function canInnerCarouselGoBackward()
{return innerCarouselPointer>0;}
this.InnerCarouselBack=function()
{innerCarouselPointer--;if(!canInnerCarouselGoBackward())
{innerCarouselPointer=0;}
changeInnerCarouselItem();}
this.DisplayCarousel=function()
{var leftTab=document.getElementById("CarouselLeftTab");var middleTab=document.getElementById("CarouselMiddleTab");var rightTab=document.getElementById("CarouselRightTab");rightTab.style.display='none';leftTab.innerHTML=carouselList[carouselPointer];if(carouselPointer+1>carouselList.length-1)
{middleTab.innerHTML=carouselList[0];rightTab.innerHTML=carouselList[1];}
else
{middleTab.innerHTML=carouselList[carouselPointer+1];if(carouselPointer+2>carouselList.length-1)
{rightTab.innerHTML=carouselList[0];}
else
{rightTab.innerHTML=carouselList[carouselPointer+2];}}
changeInnerCarouselItem();this.adjustNavigation();}
function clearInnerCarouserDiv()
{var parentDiv=document.getElementById("innerCarouselDiv");removeAllChild(parentDiv);}
function placeSubItemsOnInnerCarousel(subCategoryList)
{var parentDiv=document.getElementById("innerCarouselDiv");clearInnerCarouserDiv();var currentInnerCarouselItems=subCategoryList.tokenize("|","",true);currentInnerCarouselItemsCount=currentInnerCarouselItems.length;var regex=new RegExp("title::(.*?);;(icon::(.*?);;iconselect::(.*?);;)?(epoitype::(.*?);;)?");var subDiv=createNewBlockDiv();parentDiv.appendChild(subDiv);var startIndex=innerCarouselPointer*MaxInnerCarouselItemsToDisplay;var endIndex=innerCarouselPointer*MaxInnerCarouselItemsToDisplay+MaxInnerCarouselItemsToDisplay-1;if(endIndex>=currentInnerCarouselItems.length)
{endIndex=currentInnerCarouselItems.length-1;}
var ItemCounter=0;for(var i=startIndex;i<=endIndex;i++)
{if(ItemCounter==3)
{subDiv=createNewBlockDiv();parentDiv.appendChild(subDiv);}
var singleItem=currentInnerCarouselItems[i];if(singleItem.match(regex))
{var title=RegExp.$1;var epoiType=RegExp.$6;var imageName1=RegExp.$3;var imageName2=RegExp.$4;var childDiv=document.createElement("div");childDiv.id="poiItemElement"+ItemCounter;childDiv.style.marginLeft="3px";childDiv.style.marginTop="2px";var imageId="";var imagePath1="";var imagePath2="";if((imageName1!=null)&&imageName1!="")
{imagePath1=poiImageRoot+imageName1;imagePath2=poiImageRoot+imageName2;var poiImage=document.createElement("img");imageId="poii"+i;poiImage.setAttribute("id",imageId);poiImage.style.verticalAlign="middle";childDiv.appendChild(poiImage);}
var titleText=document.createElement("span");titleText.style.textDecoration="underline";titleText.innerHTML=title;childDiv.appendChild(document.createTextNode(" "));childDiv.appendChild(titleText);var regx=new RegExp("'");title=title.replace(regx,"\\'");childDiv.onclick=new Function("POIManager.OnPOIClick('"+title+"','"+epoiType+"','"+imageId+"','"+imagePath1+"','"+imagePath2+"','"+childDiv.id+"')");childDiv.style.cursor='pointer';subDiv.appendChild(childDiv);var toggleState=POIManager.GetPOIToogleState(epoiType);if((imageName1!=null)&&imageName1!="")
{if(toggleState==undefined)
toggleState=false;POIManager.ApplyStyleOnPoiItem(childDiv.id,toggleState,poiImage.id,imagePath1,imagePath2);}}
ItemCounter++;}}
function createNewBlockDiv()
{var newDiv=document.createElement("div");newDiv.style.width="145px";newDiv.style.cssFloat="left";newDiv.style.styleFloat="left";newDiv.style.paddingLeft="5px";return newDiv;}
function changeInnerCarouselItem()
{var subItems;var leftArrow=document.getElementById("innerCarouselLeftArrow");var rightArrow=document.getElementById("innerCarouselRightArrow");switch(carouselPointer)
{case 0:clearInnerCarouserDiv();var carouselItemsDiv=document.getElementById("innerCarouselDiv");carouselItemsDiv.innerHTML="<div class='finddiv'><table ><tr><td><input type='text' id='txtCategorySearch' class='findtextbox' style='left:10px; width:175px; border:solid 1px black;' onkeydown=\"ExecuteFindFromInput('catFind', event);\"/></td><td style='width:6px'>&nbsp;</td>"+"<td><img id='catFind' src='"+images+"find.gif' alt='"+resourceFind+"' onclick='mapManager.CategorySearch();' /></td></tr><tr><td colspan='3'>"+resourceFindHint+"</td></tr></table></div>";leftArrow.style.display="none";rightArrow.style.display="none";return;break;case 2:placeSubItemsOnInnerCarousel(dailyNeedsSubCategories);break;case 1:placeSubItemsOnInnerCarousel(dailyServicesSubCategories);break;case 3:placeSubItemsOnInnerCarousel(goingAndEatingOutSubCategories);break;case 4:placeSubItemsOnInnerCarousel(governmentRelatedServicesSubCategories);break;case 5:placeSubItemsOnInnerCarousel(healthSubCategories);break;case 6:placeSubItemsOnInnerCarousel(shoppingSubCategories);break;}
if(canInnerCarouselGoBackward())
{leftArrow.style.display="block";}
else
{leftArrow.style.display="none";}
if(canInnerCarouselGoForward())
{rightArrow.style.display="block";}
else
{rightArrow.style.display="none";}}}