
	function Results(master)
	{
		var self=this;
		this.init=function()
		{
			self.paging=new Paging(master);
			self.page_num=1;
			self.info_window=new InfoWindow(master);
		}
		this.loadResults=function(results)
		{
			self.info_window.hide();
			master.right_col.setBotMode('search');
			
			if(results.length==0)
			{
				JQ('div.col_bottom_content').empty().append("<div class=\"no_search\">"+map_translations.no_stores+"\""+JQ('input#search_field').val()+"\".</div>");
				master.map.cluster.removeMarkers();
				return;
			}
			
			self.results=results.reverse();
			self.rendered_results=[];
			
			for(var i=0;i<self.results.length;i++)
				self.rendered_results[self.rendered_results.length]=self.render_result(self.results[i],i);
			
			self.paging.reload(self.rendered_results);
			self.showResults(1);
			
			if(results.length==1)
			{
				var id=parseInt(JQ('ul.results_list>li').attr('rel').replace('marker_',''))-1;
				master.map.cluster.triggerClick(id);
			}	
		}
		this.render_result=function(result,i)
		{
			var marker_num=((i+1)%self.paging.per_page);
			if(marker_num==0)
				marker_num=self.paging.per_page;
			var str ="<li id=\"marker_"+(i+1)+"\" rel=\"marker_"+marker_num+"\">";
				str+="	<div class=\"store_icon\"><img src=\"/nikebasketball/emea/assets/images/maps/marker"+marker_num+".gif\" /></div>";
				str+="	<div class=\"store_detail\">";
				str+="		<div class=\"store_title\">"+result.title+"</div>";
				str+="		<div class=\"store_address\">"+result.street+" "+result.city+", "+result.state+" "+result.zip+"</div>";
				str+="		<div class=\"store_phone\">"+result.phone+"</div>";
				str+="	</div>";
				str+="	<div class=\"clearme\"></div>";
				str+="</li>";
			return JQ(str);
		}
		this.showResults=function(num)
		{
			
			
			self.info_window.hide();
			
			if(num)
				self.page_num=parseInt(num);
			if(!self.div)
				self.div=master.right_col.bot_content_div;
			
			if(!self.results)
			{
				var str ="<div class=\"no_search\">"+map_translations.enter_search+"</div>";
				self.div.empty().append(str);
				return;
			}				
			var page_results=self.paging.get_page(self.page_num);

			self.div.empty().append("<ul class=\"results_list\"></ul><div class=\"paging_buttons\"></div>");
			
			for(var i=0;i<page_results.length;i++)
			{
				self.div.find('ul.results_list').append(page_results[i]);
			}
			self.div.find('div.paging_buttons').append(self.paging.gen_paging_buttons(self.page_num));
			
			self.div.find('div.store_icon>img').click(function(){	var id=parseInt(JQ(this).parent().parent().attr('rel').replace('marker_',''))-1;	master.map.cluster.triggerClick(id);				});
			
			self.div.find('div.store_detail>div.store_title').click(function(){	var id=parseInt(JQ(this).parent().parent().attr('rel').replace('marker_',''))-1;				
				
				master.map.cluster.triggerClick(id);
			});
			
			JQ('div.paging_buttons>div#paging_left_arrow').click(function()
			{
				if(	JQ(this).hasClass('left_active')	)
					self.showResults(self.page_num-1);
			});
			JQ('div.paging_buttons>div#paging_right_arrow').click(function()
			{
				if(	JQ(this).hasClass('right_active')	)
					self.showResults(self.page_num+1);
			});
			JQ('ul#paging_numbers>li').not('.inactive').click(function(){		self.showResults(	JQ(this).attr('id').replace('paging_','')	);	});
			
			var markers=[];
			for(var i=0;i<page_results.length;i++)
			{
				markers[i]=self.marker(page_results[i]);
			}
			master.map.update_markers(markers);
		}
		self.marker=function(obj)
		{
			var id=obj.attr('id').replace('marker_','');
			var marker=self.results[	id-1	];
			var marker_num=((id)%self.paging.per_page);
			if(marker_num==0)
				marker_num=self.paging.per_page;			
			var m=new GMarker(new GLatLng(marker.lat, marker.lng), {id:id, icon:self.markerIcon(marker_num)		});
			
			GEvent.addListener(m, "click", function()
			{
          		self.info_window.open(this);
        	});
        	
        	return m;
		}
		self.markerIcon=function(marker_num)
		{
			var baseIcon = new GIcon();
        		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
        		baseIcon.iconSize = new GSize(20, 34);
        		baseIcon.shadowSize = new GSize(37, 34);
        		baseIcon.iconAnchor = new GPoint(9, 34);
        		baseIcon.infoWindowAnchor = new GPoint(9, 2);
        		baseIcon.infoShadowAnchor = new GPoint(18, 25);

			var icon=new GIcon(baseIcon);
				icon.image = "/nikebasketball/emea/assets/images/maps/marker_"+marker_num+".png";
			return icon;
		}
		self.init();
	}
	
	
	
	function Paging(master)
	{
		var self=this;
		this.init=function()
		{
			self.per_page=5;
			self.pages=[];
			self.page_total=0;
		}
		this.reload=function(results)
		{
			self.pages=[];
			self.results=results;
			self.page_total=Math.ceil(self.results.length/self.per_page);
			
			for(var i=0;i<self.page_total;i++)
			{
				self.pages[i]=[];
				for(var j=0;j<self.per_page;j++)
				{
					if(self.results[j+i*self.per_page])
					{
						self.pages[i][j]=self.results[j+i*self.per_page];
					}
				}
			}			
		}
		this.get_page=function(num)
		{
			num-=1;
			if(self.pages[num])
				return self.pages[num];
			return false;
		}
		this.gen_paging_buttons=function(num)
		{
			num-=1;
			if(self.page_total==0)
				return "";
			
			if(num==0)	
				left_class='left_inactive';
			else
				left_class='left_active';
			
			if(num==(self.page_total-1))	
				right_class='right_inactive';
			else
				right_class='right_active';

			var str= "<div id=\"paging_left_arrow\" class=\""+left_class+"\"></div>";
				str+="<div class=\"numbers_wrapper\"><ul id=\"paging_numbers\">";
			
			var start=0;			
			if(num>2)
				start=num-2;
			if(self.page_total<=5)
				start=0;
			else if(self.page_total<(start+5))
			{
				start=self.page_total-5;
			}
			
			for(i=start;i<(start+5);i++)
			{
				if(self.page_total>=(i+1))
				{
					if(i==num)
						str+="<li id=\"paging_"+(i+1)+"\" class=\"inactive\">"+(i+1)+"</li>";
					else
						str+="<li id=\"paging_"+(i+1)+"\">"+(i+1)+"</li>";
				}
			}
				
				str+="</ul></div>"
				str+="<div id=\"paging_right_arrow\" class=\""+right_class+"\"></div>";
			
			return str;
		}
		self.init();
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
