ASC.apply(Page, {
	mapPageSize:4,
	mapPageIndex:1,
	mapView:null,
	initMapViewVariable:function()
	{
		this.mapPageIndex = 1;
		this.pageIndex = 1;
	},
	callMapView:function(isClickByUser)
	{ 
		if(isClickByUser){
			var mlc = '/en/dealer_locator/';
			if(this.viewType == "list")
				mlc+= 'list_view';
			else
				mlc+='map_view';
			ASC.Chrysler.trackPageMetrics(mlc);	
			
			ASC.Chrysler.trackLinkMetrics('content','select_map_view');
		}
		this.viewType = "map";
		if( ASC.getEl("DirectionsDesc") )
			ASC.getEl("DirectionsDesc").setValue("");
		if( ASC.getEl("search_error") )
			ASC.getEl("search_error").setDisplayed("none");
		ASC.getEl("listViewComp").setDisplayed("none");
		ASC.getEl("mapViewComp").setDisplayed("block");
		ASC.getEl("directionComp").setDisplayed("none");
		ASC.getEl("link_listView1").dom.className="link_listView_dft";
		ASC.getEl("link_mapView1").dom.className="link_mapView_active";
		ASC.getEl("listViewHeader").dom.className = "header_view_title_2";
		ASC.getEl("mapViewHeader").dom.className = "header_view_title_1";
		var len = this.dealersList.dealers.length;
		this.pageCount = parseInt((len-1)/4)+1;
		this.setPaginationDescription();
		this.mapPageIndex = this.pageIndex;
		this.dealersPageComp = new ASC.Chrysler.Pagination(this.dealersList.dealers,this.mapPageSize);
		this.dealerListSection = this.dealersPageComp.getItems(this.mapPageIndex);
		this.mapView		= new ASC.Chrysler.FAD.MapView(
				{
				 dealerList:this.dealerListSection,
				 renderTo:"dealerList",
				 pageSize:this.mapPageSize,
				 pageIndex:this.mapPageIndex,
				 showNumber:true
				});
		this.callGoogleMap();
	},
	reloadMapView:function(dealersList)
	{
		this.dealersList = dealersList;
		this.pageIndex = 1;
		var len = this.dealersList.dealers.length;
		this.pageCount = parseInt((len-1)/4)+1;
		this.setPaginationDescription();
		this.dealersPageComp.update(dealersList.dealers,this.mapPageSize);
		this.mapPageIndex = 1;
		this.dealerListSection = this.dealersPageComp.getItems(this.mapPageIndex);
		this.mapView.update(
				{
				 dealerList:this.dealerListSection,
				 pageIndex:this.mapPageIndex
				});
		this.callGoogleMap();
		this.dealersMap.dealerList = this.dealerListSection;
		this.dealers = this.dealerListSection;
		this.dealersMap.pushDealerPin();
	},
	initMap:function()
	{
		if( this.viewType != 'direction'){
			var _this = Page.mc;
			var latValue = _this.defaultLat;
			var lngValue = _this.defaultLng;
			var zoomValue = 4;
			var renderTarget = "defaultMap";
			ASC.getEl("mapViewComp").setDisplayed("none");
			ASC.getEl("defaultMapViewComp").setDisplayed("block");
			if(_this.dealersList){
				if(_this.dealersList.centerLatitude){
					latValue = _this.dealersList.centerLatitude;
					lngValue = _this.dealersList.centerLongitude;
					renderTarget = "dealerMap";
					ASC.getEl("mapViewComp").setDisplayed("block");
					ASC.getEl("defaultMapViewComp").setDisplayed("none");
                    zoomValue = 10;
				}
				else if(_this.dealersList.dealers && _this.dealersList.dealers.length > 0  ){
						latValue = _this.dealersList.dealers[0].latitude;
						lngValue = _this.dealersList.dealers[0].longitude;
						zoomValue = 8;
						renderTarget = "dealerMap";
						ASC.getEl("mapViewComp").setDisplayed("block");
						ASC.getEl("defaultMapViewComp").setDisplayed("none");
				}
					
			}
			
			_this.dealersMap = new ASC.Chrysler.FAD.DealersMap({
				
				renderTo: renderTarget,
	
				dealerList: _this.dealerListSection,
						
				lat:latValue,
	
				lng: lngValue,
	
				zoom:zoomValue,
				controls: [new GLargeMapControl(),new GMapTypeControl()],
				pageSize:this.mapPageSize,
				pageIndex:this.mapPageIndex
			});
			_this.dealersMap.pushDealerPin();
			_this.dealersMap.on("clickMarker",_this.getDealerInfo,Page);
		}else{
			ASC.getEl("defaultMapViewComp").setDisplayed("none");
			this.directionViewCallBack();
		}
	}
});


