
	JQ(document).ready(init_wall);
	
	var wall1;
	//var wall2;
	function init_wall()
	{
		wall1=new Wall(products,"wall_wrapper1", true);
		//wall2=new Wall(products,"wall_wrapper2", false);
		
		if(ie6_mode)
		{
			JQ('div.wall_bot_spacer').css("background","#FFFFFF");
			JQ('div.wall_top_spacer').css("background","#FFFFFF");
		}
		
	}
	
	function Wall(products,container, instock)
	{
		var self=this;
		this.init=function()
		{
			self.ul=JQ("div."+container+">div.wall>div.wall_rows");
			

			
			self.li_id='dummy';
			
			
			
			self.hide_nikeid=false;
			if(nsw_data.commerce_mode=="emea")
			{
				if(nsw_data.emea_mode=="1")
					self.load_pricing_json();
				else if(nsw_data.emea_mode=="3")
					self.hide_nikeid=true;
			}
			
			self.load_products(products);
		
			JQ('div.'+container+' div.wall_rows>div.wall_row:last').append("<div class=\"clearme\"></div>").css('border-bottom', '1px solid #E5E5E5')
			
			if(JQ('div#wall_floater').length==0)
				JQ('body').append("<div id=\"wall_floater\"></div>");
			
			self.floater=JQ('div#wall_floater');
			self.activate_products();
			self.empty_check(container);
		}
		self.load_pricing_json=function(retry)
		{
			var url="/nikeos/p/sportswear/en_US/shop/product_price_emea?c_id="+nsw_data.category_id+"&country="+nsw_data.country;
			if(retry)
				url+="&retry=true";
			JQ.get(url,{},self.after_load_pricing_json,"json");
		}
		self.after_load_pricing_json=function(data)
		{
			if(data.status=="retry")
			{
				return self.load_pricing_json(true);
			}
			for(var p in data)
			{
				if(products[p])
					products[p].price=data[p];
			}
		}
		this.activate_products=function()
		{
			JQ('div.'+container+' div.wall_rows>div.wall_row>div.product').click(function()
			{
				var id=JQ(this).attr('id');
				var product=products[id];
				if(product.nikeid=="NIKEID" && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode!="3")	)	)
					location.href="../builder_"+nsw_data.commerce_mode+"?"+nsw_data.link_suffix+"&p_id="+product.id+"&catalog="+nsw_data.catalog_id;
				else
					location.href="product_detail_"+nsw_data.commerce_mode+"?"+nsw_data.link_suffix+"&p_id="+product.id+"&cat_id="+nsw_data.catalog_id;	
			});
			JQ('div.'+container+' div.wall_rows>div.wall_row>div.product').hover(function()
			{
				//self.floater.css('top',JQ(this).offset().top	);
				//self.floater.css('left',JQ(this).offset().left	);
				//self.floater.fadeIn("fast");
				self.floater.show();
				self.floater.css(
				{
					top:JQ(this).offset().top-1,
					left:JQ(this).offset().left-10
				});
				
				self.change_floater(this);
				//self.floater.fadeIn("fast");
				//JQ(this).find('img.customize').hide();
			},
			function(){});
			self.floater.hover(function(){}, function()
			{
				JQ(this).hide();
				//JQ('li#'+self.li_id).find('img').animate({top:10},{queue:false});
				//JQ('li#'+self.li_id).find('img.customize').show();
			});
		}
		this.change_floater=function(obj)
		{
			var id=JQ(obj).attr('id');
			var product=products[id];

			self.li_id=JQ(obj).attr('id')

			if(	JQ(obj).parent().parent().hasClass('darker')	)
				self.floater.addClass('darker');
			else
				self.floater.removeClass('darker');
				
			var str ="<div class=\"prod_wrapper\">";
				str+="	<div class=\"prod_top\">"
				
				/*if(!ie6_mode)
					str+="		<img class=\"top_bg\" src=\"/sportswear/global/images/bg/top.png\" />"
				else
					str+="		<img class=\"top_bg\" src=\"/sportswear/global/images/bg/top.gif\" />"	
				*/	
				str+="		<div class=\"prod_content\">";
				
				if(ie6_mode)
				{
					//if(product.image_url)
					//	str+="			<img src=\""+self.get_image_url(product)+"\" class=\"ie6_prod_image_other\" />";
					//else
					//	str+="			<img src=\""+self.get_image_url(product)+"\" class=\"ie6_prod_image\" />";	
						str+="			<img src=\"/sportswear/global/images/transparent.gif\" class=\"ie6_prod_image\" />";	
				}
				else
					str+="			<div class=\"img_placeholder\"></div>";
					
				str+="				<div class=\"prod_data_wrapper\">";
				str+="					<div class=\"prod_data\">"
				
				str+="			<div class=\"prod_title\">"+product.title+"</div>";
				
				if(product.price)
					str+="			<div class=\"prod_price\">"+product.price+"</div>";
				
				if(product.nikeid!="NIKEID")
					str+="		<div class=\"prod_color\">"+self.limit_string(product.color_desc,30)+"</div>";
				
				if((!product.in_stock && (nsw_data.emea_mode=="1" || nsw_data.commerce_mode=="us")) || nsw_data.emea_mode=="3" || (nsw_data.emea_mode=="2" && product.nikeid!="NIKEID"))
					str+="		<div class=\"prod_out\"><a href=\"/nikeos/p/sportswear/"+nsw_data.platypus_region+"/store_locator?"+nsw_data.link_suffix+"\">"+store_link+"</a></div>";
				
				//if(product.nikeid=="NIKEID" && product.in_stock)
				//	str+="		<img class=\"prod_customize\" src=\"/sportswear/global/images/customize_popup.gif\" />";
				
				str+="					</div>"
				str+="				</div>"	
				str+="			</div>";
				str+="		</div>";
				str+="	</div>"
				//str+="<div class=\"prod_botttom\">"
				
				/*if(!ie6_mode)
					str+="	<img src=\"/sportswear/global/images/bg/bot.png\" class=\"bot_png\" />";
				else
					str+="	<img src=\"/sportswear/global/images/bg/bot.gif\" class=\"bot_png\" />";
				*/	
				//str+="</div>";
				
			self.floater.empty().append(str);
			
			if(is_ie)
				JQ('div.prod_data_wrapper').fadeIn("medium");
			else				
				JQ('div.prod_data_wrapper').slideDown("fast");
			
			self.floater.click(function()
			{
				if(product.nikeid=="NIKEID" && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode!="3")	)	)
					location.href="../builder_"+nsw_data.commerce_mode+"?"+nsw_data.link_suffix+"&p_id="+product.id+"&catalog="+nsw_data.catalog_id;
				else
					location.href="product_detail_"+nsw_data.commerce_mode+"?"+nsw_data.link_suffix+"&p_id="+product.id+"&cat_id="+nsw_data.catalog_id;
			});
			
			//JQ(obj).find('img').animate({top:-10},{queue:false});
		}
		this.limit_string=function(text, maxlength)
		{
			if(text.length <= maxlength)
				return text;
			var str_check=/ |.|!|#|@|,/;
			for(var i=maxlength;i>0;i--)
				if(	text[i]==" "||text[i]=="#"||text[i]=="!"||text[i]=="\""||text[i]=="'"||text[i]==","||text[i]=="."||text[i]=="/")
					return text.substring(0,i)+"...";
			
			return text.substring(0,maxlength)+"...";
		}
		this.load_products=function(products)
		{
			var i=0;
			var row=0;
			var bgclass="";
			for(var p in products)
			{
				if(	(instock && products[p].in_stock) || (!instock && !products[p].in_stock)	)
				{
					if(	products[p].nikeid != "NIKEID" || (products[p].nikeid=="NIKEID" && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode != "3")) )	)
					{
						if(i>0)
							JQ('div.'+container).prev().show();
							
						if(i%5==0)
						{
							self.ul.find("div.wall_row:last").append("<div class=\"clearme\"></div>");
							self.ul.append("<div class=\"wall_row\"></div>");
							row++;
						}
						self.add_product(products[p]);
						i++;
					}
				}
			}
			self.ul.append("<div class=\"clearme\"></div>");

		}
		this.add_product=function(product)
		{
			if(product.nikeid=="NIKEID" && self.hide_nikeid)
				return "";
				
			var li ="<div class=\"product\" id=\"prod_"+product.id+"\">";
				li+="	<img alt=\""+product.title+"\" title=\""+product.title+"\" src=\""+self.get_image_url(product)+"\" />";
				
				if(product.nikeid=="NIKEID" && !ie6_mode && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode != "3")) )
					//li+="<img class=\"customize\" src=\"/sportswear/global/images/customize.gif\" />";
					li+='<img class="customize" src="' + customizeSrc + '" />';
				else if(product.nikeid=="NIKEID" && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode != "3")) )
					li+='<img class="customize" src="' + customizeSrc + '" />';
				else if(product.in_stock && (nsw_data.commerce_mode=="us" || (nsw_data.commerce_mode=="emea" && nsw_data.emea_mode == "1")))
					li+="<div class=\"buy_message\">"+/*buy_online+*/"</div>";
					
				li+="</div>"
			
			self.ul.find("div.wall_row:last").append(li);
		}
		self.get_image_url=function(product)
		{
			var iSize;
			if(product.nikeid=="NIKEID") {
				iSize = "wid=124&hei=212"
			} else {
				iSize = "wid=144&hei=212"
			}
			
			if(product.image_url)
			{
				if(product.image_url.indexOf(".png")==-1)
					product.image_url+=".png";
				if(ie6_mode)
					return product.image_url+"?"+iSize;
					
				return product.image_url+"?"+iSize+"&fmt=png&qlt=90,0";
			}
			var fmt="png";
			if(ie6_mode)
				fmt="png";
				
			var url =image_base+product.style+"_"+product.color_id+"_"+product.view;
				url+="?"+iSize+"&fmt="+fmt+"&qlt=90,0&resMode=sharp&op_usm=0.5,0.3,0,0&defaultImage=/DotCom/SEARCH_002_A";
			return url;
		}
		self.empty_check = function (container) {
			var count = JQ("div." + container).find(".wall_row").length;
			if (count == 0) {
				JQ("div." + container).append('<div class="emptyset"><h1>' + emptySet + '</h1></div>');
			}
		}
		self.init();
	}
