ASC.apply(Page, {
	goViewPage:function(){
		var len = this.dealersList.dealers.length;
		var startIndex = (this.pageIndex-1)*4;
		var endIndex = startIndex+4;
		endIndex = endIndex > len ? len:endIndex;
		var tempDealerList = {};
		ASC.apply(tempDealerList,this.dealersList);
		var tempDealers = new Array();
		for(var i=startIndex;i<endIndex;i++){
			var dealer = this.dealersList.dealers[i];
			var dealerHours = this.dealersList.dealers[i].dealerHours;
			if( dealerHours ){
				this.dealerHoursWidget.dealerInfo.dealerHours = dealerHours;
				var dealerHoursHtml = this.dealerHoursWidget.getDealerHoursTemplate('Showroom');
				dealer.dealerHoursHtml = dealerHoursHtml;
			}
			
			tempDealers.push(dealer);
		}
		/*
		for(var i=0;i< tempDealers.length;i++){
			var dealerCode = tempDealers[i].dealerCode;
			for(var j=0;dealerHours && j<dealerHours.length;j++){
				if( dealerCode == dealerHours[j][0].dealerCode){
					this.dealerHoursWidget.dealerInfo.dealerHours = dealerHours[j];
					var dealerHoursHtml = this.dealerHoursWidget.getDealerHoursTemplate('Showroom');
					tempDealers[i].dealerHoursHtml = dealerHoursHtml;
					break;
				}
			}
		}*/
		
		tempDealerList.dealers = tempDealers;
		this.dealers = tempDealers;
		return tempDealerList;
	},	
	gotoPreviousView:function()
	{
		ASC.getEl("DirectionsDesc").setValue("");
		ASC.getEl("search_error").setDisplayed("none");
		if(this.previousView == "list")
		{
			this.viewType ="list";
			ASC.getEl("listViewComp").setDisplayed("block");
			if( this.pageCount > 1)
				ASC.getEl("page_desc").setDisplayed("block");
			ASC.getEl("directionComp").setDisplayed("none");		
		}else if(this.previousView == "map")
		{
			this.viewType ="map";
			ASC.getEl("mapViewComp").setDisplayed("block");
			if( this.pageCount > 1)
				ASC.getEl("page_desc").setDisplayed("block");
			ASC.getEl("directionComp").setDisplayed("none");	
		}
		ASC.Chrysler.trackLinkMetrics('content','close_directions_window');
	},
	changeViewPage:function(pageOffset){
		ASC.Chrysler.trackLinkMetrics('content','page'+(this.pageIndex+pageOffset));
		this.pageIndex = this.pageIndex + pageOffset;
		this.pageIndex = this.pageIndex < 0 ? 0: this.pageIndex;
		this.setPaginationDescription();
		this.mapPageIndex = this.pageIndex;
		if(this.viewType == "list")
			this.listView.update(this.goViewPage());
		else{
			this.dealersPageComp.update(this.dealersList.dealers,this.mapPageSize);
			this.dealerListSection = this.dealersPageComp.getItems(this.mapPageIndex);
			this.dealers = this.dealerListSection;
			this.mapView.update(
					{
					 dealerList:this.dealerListSection,
					 pageIndex:this.mapPageIndex
					});
			this.dealersMap.update({
				dealerList: this.dealerListSection,
				pageIndex:this.mapPageIndex
			});
			this.dealersMap.pushDealerPin();
		}
	},	
	setPaginationDescription:function()
	{
		   if(this.pageCount == 1)
		   {
			   ASC.getEl("page_desc").setDisplayed("none");
		   }
		   else
		   {
			   ASC.getEl("page_desc").setDisplayed("");
			   this.setPageArrowVisable(this.pageIndex);
			   ASC.getEl("span_cur_page").setValue(this.pageIndex);
			   ASC.getEl("span_tol_page").setValue(this.pageCount);
		   }
	},
	setPageArrowVisable:function(pageIndex)
	{
		ASC.getEl("pre_arrow").setDisplayed("");
		ASC.getEl("next_arrow").setDisplayed("");
		this.pageIndex = pageIndex;
		if(pageIndex<=1)
		{
			this.pageIndex = 1;
			ASC.getEl("pre_arrow").setDisplayed("none");
		}
		if(pageIndex>=this.pageCount)
		{
			this.pageIndex = this.pageCount;
			ASC.getEl("next_arrow").setDisplayed("none");
		}
	}
});
