document.write("<h2 class=\"rewards\">" + page_name + "</h2><div class=\"rewardsContainerInside\">");

	// a function to trim down the description to n-letters

	function Left(str, n)
        {
                if (n <= 0)     // Invalid bound, return blank string
                        return "";
                else if (n > String(str).length)   // Invalid bound, return
                        return str;                // entire string
                else // Valid bound, return appropriate substring
                        return String(str).substring(0,n);
        }

			var productTitle;
			var companyTitle;
			var productDesc;
			var rcode;
			var rcode_plus;
			var rpoints;
			var rpoints_plus;
			var image;
			var pClass;
			var bonusClass;
			var goldClass;
			var premierClass;
			var dollarClass;
			var tripleClass;
			var conditions;
			var additional;
			var undefined;
			var multi;
			var multi_start;
			var multi_end;
			var hide_div;
			var server_type;
	

if (undefined === window.product_array) {
	document.write(errorMsg);
	/*document.write("<p><strong>An error has occured. Code: ARRx0;</strong> <br /> Please check back in a few minutes. Should this problem persist, send a message containing the Error (ARRx0) to: webmaster@hsbc.com.au. </p>");*/
}
else if (errorMsg) {
	document.write(errorMsg);
}
else {
	// loop	through the product array and pull out how many objects are in it		
	for (var i = 0; i <= countArray; i++) {
	
		// assign variables to properties within the array, these variables will then display the product information
		for (var properties in product_array[i]) {

				
				productTitle = product_array[i]["productTitle"];
				companyTitle = product_array[i]["companyTitle"];
				productDesc = product_array[i]["productDesc"];
				rcode = product_array[i]["rcode"];
				rcode_plus = product_array[i]["rcode_plus"];
				rpoints = product_array[i]["rpoints"];
				rpoints_plus = product_array[i]["rpoints_plus"];
				image_src = product_array[i]["image_src"];
				pClass = product_array[i]["pClass"];
				additional = product_array[i]["additional"];
				multi = product_array[i]["multi"];
				multi_start = product_array[i]["multi_start"];
				multi_end = product_array[i]["multi_end"];
				var page
		}
					
				// items include Title, Points, Images and pop-up links etc.				
				if (multi || multi_end) {
					document.write("<div class=\"rewardsItems\"><div style=\"width:85px; height:41px; float:left;\">&nbsp;</div>");
				}
				else {
				
					if (undefined === window.product_array[i]["image_src"] || product_array[i]["image_src"] == "") {
						var image_src = "no_pic";
					}
				document.write("<div class=\"rewardsItems\"><img name=\"thumbImg\" src=\""+server_type+"content/australia/rewards-plus/images/products/"+image_src+".gif\" style=\"margin-bottom:3px; margin-left:5px; float:left; margin-right:3px;\">");
				
				}
				document.write("<div class=\"rewardsMainContent\">");				
				// checks if second product (rcode_plus) exists;
				
				
				document.write("<span class=\"rewardsH3\"><a title=\"\" onclick=\"window.open('/1/2/rewards-plus/rewards/rewards-pop-up?pid=" +rcode+ "&page=" +page+"', '_blank', 'status=yes,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,width=650,height=300,screenX=100,left=100,screenY=100,top=100'); return false;\" href=\"/1/2/rewards-plus/rewards/rewards-pop-up?pid=" +rcode+ "&page=" +page+"\" target=\"_blank\">" + productTitle + "</a></span>");
				
				// checks if there is a product description and if there is, cuts it down to 50 characters from the left; function is defined above.
					if (productDesc && multi != 1) {
						if(multi_end == 1) {
							//do nothing;
						}
						else {
						document.write("<p class=\"product_description\">" + Left(productDesc, 40) + "... ");
						}
					}
				
				document.write("&nbsp;<a title=\"\" onclick=\"window.open('/1/2/rewards-plus/rewards/rewards-pop-up?pid=" +rcode+ "&page=" +page+"', '_blank', 'status=yes,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,width=650,height=300,screenX=100,left=100,screenY=100,top=100'); return false;\" href=\"/1/2/rewards-plus/rewards/rewards-pop-up?pid=" +rcode+ "&page=" +page+"\" target=\"_blank\"><img src=\""+server_type+"content/australia/rewards-plus/images/more_btn.gif\" style=\"margin-bottom:-3px;\" border=\"0\"></a></p>");
				
					if (page == "bonus") { var hide_div = "style=\"background:none!important;\"";}
					if (page == "home_away") { var hide_div = "style=\"background:none!important;\""; }
				
				document.write("</div><div class=\"rewardsRightContent\" " + hide_div + ">"); // END OF MAIN-CONTENT; START OF rewardsRightContent;
								
				// checks if there is a second product and displays the points + $; if the object is TWO points + $ (additional) then do not show "pts".
				if(rcode_plus) {
						document.write("<div class=\"rewardsPoints\"><span class=\"rcode\"> Code: " + rcode +"</span>" + rpoints);
						if (!additional) {
							document.write("pts");
						}
						document.write("<p class=\"extHrType01\" style=\"margin:0;\">&nbsp;</p><span class=\"rcode\"> Code: " + rcode_plus + "</span>" + rpoints_plus + "</div><br />");
				 }
				
				 if (page == "bonus" || page == "home_away" || rpoints_plus){
					 // Do not display rpoints
				 }
				 else {
					    document.write("<div class=\"rewardsPoints\"><span class=\"rcode\"> Code: " + rcode + "</span>" + rpoints);
						if(!additional) {
							document.write("pts<br /><p class=\"extHrType01\" style=\"margin:0;\">&nbsp;</p></div>");
						}
						else {
						document.write("<br /><p class=\"extHrType01\" style=\"margin:0;\">&nbsp;</p></div>");
						}
				 }
				 document.write("<div class=\"rewardsSpacer\">&nbsp;</div>");
				
				// checks if an Object/Product array contains a classification (Gold, Premier/Platinum, Pay $ or Bonus)
				if(pClass) { 
					bonusClass = server_type+"content/australia/rewards-plus/images/bonus_sml.gif";
					platinumClass = server_type+"content/australia/rewards-plus/images/platinum_sml.gif";
					premierClass = server_type+"content/australia/rewards-plus/images/premier_sml.gif";
					goldClass = server_type+"content/australia/rewards-plus/images/gold_sml.gif";
					dollarClass = server_type+"content/australia/rewards-plus/images/dollar_sml.gif";
					tripleClass = server_type+"content/australia/rewards-plus/images/triple_sml.gif";
					
					// loops through the "class" array created within each product where applicable
					
						for (var y = 0; y<= pClass.length -1; y++) {
							
								if (pClass[y] == "bonusClass") {
									document.write("<img src=\"" + bonusClass + "\" class=\"pclass_icons\">");
								}
								else if (pClass[y] == "platinumClass") {
									document.write("<img src=\"" + platinumClass + "\" class=\"pclass_icons\">");
								}
								else if (pClass[y] == "premierClass") {
									document.write("<img src=\"" + premierClass + "\" class=\"pclass_icons\">");
								}
								else if (pClass[y] == "goldClass") {
									document.write("<img src=\"" + goldClass + "\" class=\"pclass_icons\">");
								}
								else if (pClass[y] == "dollarClass") {
									document.write("<img src=\"" + dollarClass + "\" class=\"pclass_icons\">");
								}
								else if (pClass[y] == "tripleClass") {
									document.write("<img src=\"" + tripleClass + "\" class=\"pclass_icons\">");
								}
							
						}
					
				}
				document.write("</div>"); // END OF rewardsRightContent;
				
				document.write("<div class=\"rewardsSpacer\">&nbsp;</div>");
				
				if(multi || multi_start) {
					document.write("</div><div class=\"rewardsSpacer\">&nbsp;</div>");
				}
				else {
				
				document.write("</div><p class=\"extHrType01\">&nbsp;</p>");
				
				}
				
	} // END OF LOOP
	
	
document.write("<div class=\"rewardsSpacer\">&nbsp</div></div>"); // rewardsSpacer > END OF rewardsContainerInside

	document.write("<div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/bonus_sml.gif\" align=\"left\">&nbsp;Earn bonus rewards points when you shop with these partners</div><div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/dollar_sml.gif\" align=\"left\">&nbsp;Redeem your Rewards faster using a combination of points & dollars (Payment will be deducted from your account, will appear on your next statement and will not earn Rewards Points)</div><div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/gold_sml.gif\" align=\"left\">&nbsp;Gold cardholders only</div><div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/platinum_sml.gif\" align=\"left\">&nbsp;Platinum cardholders only</div><div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/premier_sml.gif\" align=\"left\">&nbsp;Premier cardholders only</div><div class=\"rewardsSymbols\"><img src=\""+server_type+"content/australia/rewards-plus/images/triple_sml.gif\" align=\"left\">&nbsp;Triple points available at participating Bonus Partners<br /></div>");
}
