// global boolean values to check personalized zones
var z1boolean = false; var z2boolean = false; var mz1boolean = false; var mz2boolean = false; var lz1boolean = false; var lz2boolean = false;

function Roots_PDP_zpf(a_product_ids,            // Array of recommended product IDs
                     zone,                  // Zone ID specified in the request (as entered on zone edit screen)
                     symbolic,              // Target type:
                                            //      _SP_  Specified Product ID
                                            //      _SC_  Specified Category ID
                                            //      _RVP_ Most Recently Viewed Product
                                            //      _RPP_ Most Recently Purchased Product
                                            //      _NR_  No Recommendations
                                            //      _LCP_ Last Carted Product
                                            //      _MPC_ Visitor's Most Popular Category
                                            //      _SS_  Specified Search Term
                     target_id,             // Target ID recommendations are based on
                     category,              // Category of Target ID - EPR Category ID if the Target ID is a product
                     rec_attributes,        // 2 dimensional array of attributes for each recommendation
                     target_attributes,     // Array of attribute for the target
                     target_header_txt,     // Header text (as entered on recommendation plan edit screen)
                     ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
                                            //      Null if no AB Test
                                            // 
                                            // The final 2 parameters are not standard parameters passed into zone population function
                                            // They ared added via the function calls at bottom of this file
                     div_id,                //      div id - must match desired div id in DW isml template
                     b_display_target)      //      indicates whether target will be displayed

{
   //var html = zone + "_zp: No recommendations returned";
   var html = " "; // On error (no recommendations), display whitespace

   if (symbolic !== '_NR_')
   {
      // !!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
      var i_description = 0;
      // !!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
      var i_image_url   = 0;
      // !!CLIENT DEPENDENT!! - image prefix
      //var image_prefix  = "${imageURL}";

      var i_href        = undefined;
      var i_score       = undefined;
      var i_price       = undefined;

      var div_recs    = '<div class="io_pdp_recs"\>';
      var n_recs      = a_product_ids.length;
      var div_title   = '<div class="io_pdp_recs_title" Align="center">' + target_header_txt + '<\/div>';
      var div_table   = '<div class="io_pdp_recs_table">';
      var image_table = '<TABLE CELLSPACING="2" CELLPADDING="0" Align="center" style="border-color:white;"><TR>';
      var lines       = [];
      var width       = 100 / n_recs;

	  /*
      // if true display the target (first) as well as the recommendations
      if (b_display_target)
      {
         rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
         n_recs++;
      }
      */

      // Recommendations
      for (var ii=0; ii < n_recs; ii++)
      {
         var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

         var image_description = rec_attributes[ii][i_description];                 // product description
         
         var selected_href = '';
         
         var alt_description   = image_description;
         if (!image_description)
         {
            alt_description   = 'No Image Available';
            image_description   = '&nbsp;';
         }
         // Up to 15 attributes can be returned (must be requested from CM) based on our feed
         var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
         var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
         var attr_3     = rec_attributes[ii][2] ? rec_attributes[ii][2] : '-';		// Standard Price
         var attr_4     = rec_attributes[ii][3] ? rec_attributes[ii][3] : '-';		// Sale Price
         var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
         attr_5 = attr_5 + '?navid=xsellYMAL';
         
         // Display image
         lines.push('<TR><TD ALIGN="center"><A HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=105 + height=105 + style="border: none; cursor: pointer; margin-bottom: 1px; margin-top: 1px;" /><\/TD><\/TR>');

      }

      // make a text string
      html = div_recs + div_title + div_table + image_table + lines.join("\n") + '<\/TR\><\/TABLE\><\/div\><\/div\>';
   }
   if( document.getElementById(div_id) != null )
	   document.getElementById(div_id).innerHTML= html;
}

function Roots_ATC_zpf(a_product_ids,            // Array of recommended product IDs
        zone,                  // Zone ID specified in the request (as entered on zone edit screen)
        symbolic,              // Target type:
                               //      _SP_  Specified Product ID
                               //      _SC_  Specified Category ID
                               //      _RVP_ Most Recently Viewed Product
                               //      _RPP_ Most Recently Purchased Product
                               //      _NR_  No Recommendations
                               //      _LCP_ Last Carted Product
                               //      _MPC_ Visitor's Most Popular Category
                               //      _SS_  Specified Search Term
        target_id,             // Target ID recommendations are based on
        category,              // Category of Target ID - EPR Category ID if the Target ID is a product
        rec_attributes,        // 2 dimensional array of attributes for each recommendation
        target_attributes,     // Array of attribute for the target
        target_header_txt,     // Header text (as entered on recommendation plan edit screen)
        ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
                               //      Null if no AB Test
                               // 
                               // The final 2 parameters are not standard parameters passed into zone population function
                               // They ared added via the function calls at bottom of this file
        div_id,                //      div id - must match desired div id in DW isml template
        b_display_target)      //      indicates whether target will be displayed

{
//var html = zone + "_zp: No recommendations returned";
var html = " "; // On error (no recommendations), display whitespace

if (symbolic !== '_NR_')
{
// !!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
var i_description = 0;
// !!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
var i_image_url   = 0;
// !!CLIENT DEPENDENT!! - image prefix
//var image_prefix  = "${imageURL}";

var i_href        = undefined;
var i_score       = undefined;
var i_price       = undefined;

var div_recs    = '<div class="io_atc_recs"\>';
var n_recs      = a_product_ids.length;
var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
var div_table   = '<div class="io_atc_recs_table">';
var image_table = '<ul>';
var lines       = [];
var width       = 100 / n_recs;

/*
// if true display the target (first) as well as the recommendations
if (b_display_target)
{
rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
n_recs++;
}
*/

// Recommendations
for (var ii=0; ii < n_recs; ii++)
{
var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

var image_description = rec_attributes[ii][i_description];                 // product description

var alt_description   = image_description;
if (!image_description)
{
alt_description   = 'No Image Available';
image_description   = '&nbsp;';
}
// Up to 15 attributes can be returned (must be requested from CM) based on our feed
var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
attr_5 = attr_5 + '?navid=xsellAddToCart';

//Display image
if (n_recs == ii+1)
	{
	if (attr_3.toFixed(2) == attr_4.toFixed(2))
		lines.push('<li class="last"><A HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=135 + height=135 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A><div class="clear"></div><A HREF="' + attr_5 + '"><div class="productName"> '+ attr_1 +' </div></A><b>$ '+ attr_4.toFixed(2) +'</b>');
	else
		lines.push('<li class="last"><A HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=135 + height=135 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A><div class="clear"></div><A HREF="' + attr_5 + '"><div class="productName"> '+ attr_1 +' </div></A><s>$ '+ attr_3.toFixed(2) +'</s><b><div class="clear"></div>$ '+ attr_4.toFixed(2) +'</b>');
	}
else
	{
	if (attr_3.toFixed(2) == attr_4.toFixed(2))
			lines.push('<li><A HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=135 + height=135 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A><div class="clear"></div><A HREF="' + attr_5 + '"><div class="productName"> '+ attr_1 +' </div></A><b>$ '+ attr_4.toFixed(2) +'</b>');
	else
		lines.push('<li><A HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=135 + height=135 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A><div class="clear"></div><A HREF="' + attr_5 + '"><div class="productName"> '+ attr_1 +' </div></A><s>$ '+ attr_3.toFixed(2) +'</s><b><div class="clear"></div>$ '+ attr_4.toFixed(2) +'</b>');	
	}
}

// make a text string
html = div_recs + div_title + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
}

document.getElementById(div_id).innerHTML= html;
}

function Roots_HOME_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = a_product_ids.length;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellHomePage';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=105 + height=105 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=105 + height=105 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ1_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		// Add jQuery to hide this zone by id
		
		if (symbolic !== '_NR_')
		{
			z1boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ2_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
			z2boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ3_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (z1boolean == false && z2boolean == false)
			n_recs = 2;
		else if (z1boolean == true && z2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ4_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (z1boolean == false && z2boolean == false)
			n_recs = 2;
		else if (z1boolean == true && z2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ5_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (z1boolean == false && z2boolean == false)
			n_recs = 2;
		else if (z1boolean == true && z2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ6_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (z1boolean == false && z2boolean == false)
			n_recs = 2;
		else if (z1boolean == true && z2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTZ7_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (z1boolean == false && z2boolean == false)
			n_recs = 2;
		else if (z1boolean == true && z2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellWomen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ1_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		// Add jQuery to hide this zone by id
		
		if (symbolic !== '_NR_')
		{
			mz1boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ2_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
			mz2boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ3_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (mz1boolean == false && mz2boolean == false)
			n_recs = 2;
		else if (mz1boolean == true && mz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ4_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (mz1boolean == false && mz2boolean == false)
			n_recs = 2;
		else if (mz1boolean == true && mz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ5_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (mz1boolean == false && mz2boolean == false)
			n_recs = 2;
		else if (mz1boolean == true && mz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ6_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (mz1boolean == false && mz2boolean == false)
			n_recs = 2;
		else if (mz1boolean == true && mz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTMZ7_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (mz1boolean == false && mz2boolean == false)
			n_recs = 2;
		else if (mz1boolean == true && mz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellMen';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ1_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		// Add jQuery to hide this zone by id
		
		if (symbolic !== '_NR_')
		{
			lz1boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ2_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
			lz2boolean = true;
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;
		//!!CLIENT DEPENDENT!! - image prefix
		//var image_prefix  = "${imageURL}";

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs"\>';
		var n_recs      = 5;
		//var div_title   = '<H1>' + target_header_txt + '</H1><div class="clear"></div>';
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		if (n_recs == ii+1)
		lines.push('<li class="last"><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');
		else
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><div class="clear"></div><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ3_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (lz1boolean == false && lz2boolean == false)
			n_recs = 2;
		else if (lz1boolean == true && lz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ4_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (lz1boolean == false && lz2boolean == false)
			n_recs = 2;
		else if (lz1boolean == true && lz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ5_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (lz1boolean == false && lz2boolean == false)
			n_recs = 2;
		else if (lz1boolean == true && lz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ6_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (lz1boolean == false && lz2boolean == false)
			n_recs = 2;
		else if (lz1boolean == true && lz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

function Roots_DEPTLZ7_zpf(a_product_ids,            // Array of recommended product IDs
		zone,                  // Zone ID specified in the request (as entered on zone edit screen)
		symbolic,              // Target type:
		                  //      _SP_  Specified Product ID
		                  //      _SC_  Specified Category ID
		                  //      _RVP_ Most Recently Viewed Product
		                  //      _RPP_ Most Recently Purchased Product
		                  //      _NR_  No Recommendations
		                  //      _LCP_ Last Carted Product
		                  //      _MPC_ Visitor's Most Popular Category
		                  //      _SS_  Specified Search Term
		target_id,             // Target ID recommendations are based on
		category,              // Category of Target ID - EPR Category ID if the Target ID is a product
		rec_attributes,        // 2 dimensional array of attributes for each recommendation
		target_attributes,     // Array of attribute for the target
		target_header_txt,     // Header text (as entered on recommendation plan edit screen)
		ab_test_id,            // String containing AB Test Name, a semicolon, AB test ID for the test element requested
		                  //      Null if no AB Test
		                  // 
		                  // The final 2 parameters are not standard parameters passed into zone population function
		                  // They ared added via the function calls at bottom of this file
		div_id,                //      div id - must match desired div id in DW isml template
		b_display_target)      //      indicates whether target will be displayed

		{
		//var html = zone + "_zp: No recommendations returned";
		var html = " "; // On error (no recommendations), display whitespace
		
		if (symbolic !== '_NR_')
		{
		//!!CLIENT DEPENDENT!! - use the correct attribute for description (array indices are zero based so first attribute is index 0)
		var i_description = 0;
		//!!CLIENT DEPENDENT!! - use the correct attribute for image (array indices are zero based so first attribute is index 0)
		var i_image_url   = 0;

		var i_href        = undefined;
		var i_score       = undefined;
		var i_price       = undefined;

		var div_recs    = '<div class="io_atc_recs">';

		if (lz1boolean == false && lz2boolean == false)
			n_recs = 2;
		else if (lz1boolean == true && lz2boolean == true)
			n_recs = 0;
		else
			n_recs = 1;
		
		var div_table   = '<div class="io_atc_recs_table">';
		var image_table = '<ul>';
		var lines       = [];
		var width       = 100 / n_recs;

		/*
		//if true display the target (first) as well as the recommendations
		if (b_display_target)
		{
		rec_attributes.unshift(target_attributes);         // push target onto front of rec_attributes array
		n_recs++;
		}
		*/

		//Recommendations
		for (var ii=0; ii < n_recs; ii++)
		{
		var rec_prod_id       = b_display_target ? (ii == 0 ? target_id : a_product_ids[ii - 1]) : a_product_ids[ii];	// Product ID (style)

		var image_description = rec_attributes[ii][i_description];                 // product description

		var alt_description   = image_description;
		if (!image_description)
		{
		alt_description   = 'No Image Available';
		image_description   = '&nbsp;';
		}
		//Up to 15 attributes can be returned (must be requested from CM) based on our feed
		//var attr_1     = rec_attributes[ii][0] ? rec_attributes[ii][0] : '-';		// Product Name
		var attr_2     = rec_attributes[ii][1] ? rec_attributes[ii][1] : '-';		// Image source URL
		//var attr_3	   = new Number(rec_attributes[ii][2] ? rec_attributes[ii][2] : '-');		// Standard Price
		//var attr_4     = new Number(rec_attributes[ii][3] ? rec_attributes[ii][3] : '-');		// Sale Price
		var attr_5     = rec_attributes[ii][4] ? rec_attributes[ii][4] : '-';		// Product link URL
		attr_5 = attr_5 + '?navid=xsellLeather';

		//Display image
		lines.push('<li><A TITLE="' + alt_description + '" + HREF="' + attr_5 + '"><IMG SRC="' + attr_2 + '" + ALT="' + alt_description + '" + WIDTH=133 + height=133 + style="border: 1px solid #CBCBCB; cursor: pointer;" /></A>');	
		}

		//make a text string
		html = div_recs + div_table + image_table + lines.join("\n") + '<\/li\><\/ul\><\/div\><\/div\>';
		}

		document.getElementById(div_id).innerHTML= html;
		}

// !!CLIENT DEPENDENT!! - add a function named ZoneID_zp (where ZoneID is the actual zone id) for all zones the Roots zpf should be called for 
function PDPZ1_zp(a,b,c,d,e,f,g,h,i)  
{
   Roots_PDP_zpf(a,b,c,d,e,f,g,h,i,'pdpRecommendations',false);
}
function ATCZ1_zp(a,b,c,d,e,f,g,h,i)  
{
   Roots_ATC_zpf(a,b,c,d,e,f,g,h,i,'recommendations',false);
}
function HOMEZ1_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_HOME_zpf(a,b,c,d,e,f,g,h,i,'hpRecommendations',true);
}
function DEPTZ1_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ1_zpf(a,b,c,d,e,f,g,h,i,'dept1Recommendations',true);
}
function DEPTZ2_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ2_zpf(a,b,c,d,e,f,g,h,i,'dept2Recommendations',true);
}
function DEPTZ3_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ3_zpf(a,b,c,d,e,f,g,h,i,'dept3Recommendations',true);
}
function DEPTZ4_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ4_zpf(a,b,c,d,e,f,g,h,i,'dept4Recommendations',true);
}
function DEPTZ5_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ5_zpf(a,b,c,d,e,f,g,h,i,'dept5Recommendations',true);
}
function DEPTZ6_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ6_zpf(a,b,c,d,e,f,g,h,i,'dept6Recommendations',true);
}
function DEPTZ7_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTZ7_zpf(a,b,c,d,e,f,g,h,i,'dept7Recommendations',true);
}
function DEPTMZ1_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ1_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec1',true);
}
function DEPTMZ2_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ2_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec2',true);
}
function DEPTMZ3_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ3_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec3',true);
}
function DEPTMZ4_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ4_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec4',true);
}
function DEPTMZ5_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ5_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec5',true);
}
function DEPTMZ6_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ6_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec6',true);
}
function DEPTMZ7_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTMZ7_zpf(a,b,c,d,e,f,g,h,i,'MenDeptRec7',true);
}
function DEPTLZ1_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ1_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec1',true);
}
function DEPTLZ2_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ2_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec2',true);
}
function DEPTLZ3_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ3_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec3',true);
}
function DEPTLZ4_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ4_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec4',true);
}
function DEPTLZ5_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ5_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec5',true);
}
function DEPTLZ6_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ6_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec6',true);
}
function DEPTLZ7_zp(a,b,c,d,e,f,g,h,i)  
{
Roots_DEPTLZ7_zpf(a,b,c,d,e,f,g,h,i,'LeatherDeptRec7',true);
}
