var prodsizes = "";
var myMinQty = 0;
var myMaxQty = 0;
var mystore = "";
var myPosition = 0;
//var myposition = 0;
var curColorCode = "";
var prodColors = "";
var prodSizeCount = 0;
var sizeMode="";
var myProdCode = "";
var myColorCode = "";
var prodColorCount = 0;
var closePos = 0;


/* ---------------------------------------------------------------
-   function locate
-
-   purpose - to call locate product and build the inventory table
-             from a web service through a jQuery AJax call. This
-             data is returned in xml, and is parsed into the table.
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function locate(storeId, productCode, colorCode, productId, swatch, type, zipcode,qty, inSizeMode)
{
   sizeMode = inSizeMode;
   myProdCode = productCode;
   myColorCode= colorCode;
   prodColorCount = 0;
   ajaxFunction(storeId, productCode, colorCode, productId, swatch, type, zipcode,qty);
}




/* ---------------------------------------------------------------
-   function locate
-
-   purpose - ajax call to to getInventory with the specified storeId,
-             productId, and colorCode.
-             The response method is parseResponse, and data is returned
-             in an xml format.
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function ajaxFunction(storeId, productCode, colorCode, productId, swatch,type, zipcode, qty )
{
    var xmlHttp;
    mystore = storeId;
    curColorCode = colorCode;
    $("#zipCode").attr('disabled','disabled');
    $("#colorDropDown").attr('disabled','disabled');
    $("#for2").attr('action','javascript:var izzzz=0;');
    $("#selectLink").hide();
    if (zipcode == '') zipcode = 'null';
    if (zipcode == null) zipcode = 'null';
    myMinQty = qty*1;
    if (zipcode == 'null')
    {
       var sUrl = "externalStoreFrontServices/rest/v1/getInventory/" + storeId + "/" + productCode + "/" + colorCode +  "/"+ qty;
    }
    else
    {
       var sUrl = "externalStoreFrontServices/rest/v1/getInventory/" + storeId + "/" + productCode + "/" + colorCode +  "/" + zipcode + "/"+ qty;
    }
    document.getElementById('loadWheel').style.display = 'block';
    $.get(sUrl, function(data) { parseResponse(data); },"text/xml");
}


/* ---------------------------------------------------------------
-   function parseResponse
-
-   purpose - take the xml data returned, and parse it into the
-            inventory availablity table using jQuery to simplify
-            the xml parse
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function  parseResponse(wholesalers)
{
     // ----------- size array is used to load quantities by size code -----------
     document.getElementById('loadWheel').style.display = 'none';
     var wholeSalerXml;
     var colorXml;
     var productItem;
     // ----------- to skip to the wholesalerResult node -----------------



      // ----------- get current color code ------------------------------
     //var curColor = $(xml1.childNodes[0]).text();
      // ---- since objects need to be annotated so it knows how to build the xml -----
     // ---- it was easier to use xstream and parse the inner object as a string -----
     // ---- this will convert it to a dom object so that it can be parsed       -----
    //  alert($(xml1).find("itemNumber").text());

    loadHeaderInformation(myProdCode);

    loadWholeSalerInvPage(wholesalers,  myProdCode);
    $("#colorDropDown").attr('disabled','');
    $("#zipCode").attr('disabled','');
    $("#for2").attr('action','javascript:changeColor($("#zipCode").val(), $("#colorDropDown").val());');
    $("#selectLink").show();
}


/* ---------------------------------------------------------------
-   function loadProductInformation
-
-   purpose - get Product information to display to user
-
-
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function loadHeaderInformation(productItem)
{
   var thisProd = productItem
   var product;
   for (var p=1; p < products.length; p++)
   {
       if (products[p].itemnumber == thisProd)
       {
          product = products[p];
          p = products.length + 1;
       }
   }
   var prdLink = document.getElementById("prodinfo");
   prdLink.innerHTML =  '<H2><B>Style:</B>&nbsp;' + product.itemnumber + '&nbsp;<A href="' + buildProductLink(product.itemnumber)+ '">' + product.title + '</A></H2>';
   var thisColorCode = myColorCode;

   var colorDropDown = document.getElementById("colorDropDown");
   var colordisp = document.getElementById("thisColor");
   var swatch = document.getElementById("myswatch");

   xstr = sortColors2(product.colors, 'F') + " ";
   colorDropDown.options.length = 0;
   while (xstr.indexOf(";") > 0)
   {
     var tcolor=xstr.substring(0,xstr.indexOf(";"));
     var description=tcolor.substring(0,tcolor.indexOf(","));
     var remain= tcolor.substring(tcolor.indexOf(",") +1);
     var colorCode = remain.substring(0, remain.indexOf(","));
     var remain2 = remain.substring(remain.indexOf(",")+1);
     var hexCode = remain2.substring(0, remain2.indexOf(","));
     var fileName = remain2.substring(remain2.indexOf(",")+1);
     fileName = fileName.substring(fileName.indexOf("images/") + 7);

     if (curColorCode == colorCode)
     {
        colordisp.innerHTML = description;
        colorDropDown.options[colorDropDown.length] = new Option(description,colorCode, true, true);
        if (fileName != "")
        {
            swatch.innerHTML = '<div id="thisColor"><B>Color:&nbsp;&nbsp;  </B><img  id="swatchColor" name="swatchColor" src="images/' + fileName +'">&nbsp;  ' + description+  '</div>';
        }
        else
        {
           swatch.innerHTML = '<div id="thisColor"><B>Color:&nbsp;&nbsp;  </B><A id="swatchColor" name="swatchColor" style="BACKGROUND: #' + hexCode + '"></A>&nbsp;  '+ description + '</div>';
        }
     }
     else
     {
        colorDropDown.options[colorDropDown.length] = new Option(description,colorCode, false, false);
     }
     xstr = xstr.substring(xstr.indexOf(";")+1);
   }

}



/* ---------------------------------------------------------------
-   function buildProductLink
-
-   purpose - TO build the product Link
-
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function buildProductLink(itemnumber)
{
   var thisCat = "";
   for (var cat=1; cat < categories.length; cat++)
   {
      for (var st=1; st < categories[cat].styles.length; st++)
      {
         if (categories[cat].styles[st] ==  itemnumber)
         {
            thisCat = categories[cat].name;
         }
      }
   }
   var tCat = thisCat.replace(" ", "_");
   var tCat = tCat.replace(" ", "_");
   var tCat = tCat.replace("®", "");
   var tCat = tCat.replace("™", "");
   return itemnumber + ".shtml?menu=" + tCat;
}


/* ---------------------------------------------------------------
-   function loadWholeSalerInvPage
-
-   purpose - to build wholesaler/inventory table for a given product
-
-
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
function loadWholeSalerInvPage(wholeSalerXml, productItem)
{
     var thisProd = productItem;
     var sizeArray = new Array();
     var sArray = new Array();
     var colorName = "";
     var rcount =0;
     // --------------------  build header including the sizes available ------------
     trElem = document.createElement("tr");
     var thElem = document.createElement("th");
     thElem.innerHTML = "Distributor";
     thElem.align = "left";
     trElem.appendChild(thElem);
     var product;
     for (var p=1; p < products.length; p++)
     {
       if (products[p].itemnumber == thisProd)
       {
          product = products[p];
          p = products.length + 1;
       }
     }
     if (sizeMode == "prod")
     {
        var mysizes = product.sizes;
        mysizes = mysizes.replace(/ /g,'');
        mysizes = mysizes.replace(/,/g,';');
        mysizes = mysizes + "; ";
        xstr = mysizes;
        while (xstr.indexOf(";") > 0)
        {
          var tsize = xstr.substring(0,xstr.indexOf(";"));
          xstr = xstr.substring(xstr.indexOf(";")+1);
          var tdElem = document.createElement("th");
          tdElem.innerHTML=tsize;
          trElem.appendChild(tdElem);
          sizeArray[sizeArray.length] = tsize;
        }
     }
     else
     {
        var theseSizes = $(wholeSalerXml).find("sizeLiterals").find("size").each(function()
        {
          var tsize = $(this).text();
          var tdElem = document.createElement("th");
          tdElem.innerHTML=tsize;
          trElem.appendChild(tdElem);
          sizeArray[sizeArray.length] = tsize;
        });
     }
     prodSizeCount = sizeArray.length;
     prodColors = sortColors2(product.colors + " ", 'T');


     // ------------- get table to load inventory information ------------
     var invTab = document.getElementById("invTab");
     $(invTab).append(trElem);
      rcount =1;

    // var thisColor = document.getElementById("thisColor");
    // thisColor.innerHTML = colorName;
     var wholeSalerCount = 0;
     var myClass = 'odd';



     // ------------- parse out the wholesaler information ---------------
     $(wholeSalerXml).find("wholesalers").each(function()
     {

         $(this).children("WholeSaler").each(function()
         {


             var trElem2 = document.createElement("tr");



             var tdElem2 = document.createElement("td");


             tdElem2.className = "distributor";

             var find=0;
             $(this).find("children").each(function()
             {
                find++;
             });


             // -------- since there can be more than one name/number for an   --------
             // -------- address, an array is used to hold the name, urlaction --------
             // -------- and phone number                                      --------
             var nArray = new Array();

             // -------------- get wholesaler name --------------------
             count1 = 0;
             $(this).find("name").each(function()
             {
                count1++;
                if (find>1)
                {
                   if (count1>0)
                   {
                      nArray[count1-1] =  $(this).text();
                   }
                }
                else
                {
                   nArray[0] = $(this).text();
                }
             });

             // ---------------- get max quantity to display ----------------
             var maxDisplay = $(this).children("maxDisplayQuantity").text() * 1;
             tdElem2.innerHTML = tdElem2.innerHTML + "<a value='view colors' class='viewColors' title='View All Colors' id='viewColor" + rcount + "' href='javascript:loadColorData2(" + rcount + "," + $(this).children("id").text() + ",\"" + product.itemnumber + "\"," + mystore + "," + maxDisplay + ");'>x</a>";

              // -------------- get wholesaler action url --------------------
             var count1 = 0;
             $(this).find("actionUrl").each(function()
             {
                count1++;
                nArray[count1-1] = '<a target="_blank" href="http://' +$(this).text() + '">' + nArray[count1-1] + '</a>';
             });



             // -------------- get wholesaler phone number --------------------
             count1 = 0;
             $(this).find("phoneNumber").each(function()
             {
                count1++;
                nArray[count1-1] = nArray[count1-1] + "<br/>&nbsp;&nbsp;"  + $(this).text();
             });


             // ------------- add wholesaler list to table -------------------
             var startnc = 1;
             if (find == 1)
             {
                startnc = 0;
             }
             for (var nc=startnc; nc < nArray.length; nc++)
             {
                tdElem2.innerHTML = tdElem2.innerHTML + nArray[nc] + "<br/>";
             }



             // ----------------- get wholesaler address --------------------


             tdElem2.innerHTML = tdElem2.innerHTML  +  $(this).children("addressLine1").text();
             tdElem2.innerHTML = tdElem2.innerHTML  + "<br/>"+ $(this).children("city").text();
             tdElem2.innerHTML = tdElem2.innerHTML  + ", "+ $(this).children("state").text();
             tdElem2.innerHTML = tdElem2.innerHTML  + " "+ $(this).children("zipCode").text();
             trElem2.appendChild(tdElem2);


             minflds = 0;
             // ---------- set all size quantities to zero -------------
             for (var sc=0; sc < sizeArray.length; sc++)
             {
                sArray[sc] = getDisplayQty(0,myMinQty,maxDisplay);
             }



             // ----------- get size quantities for that wholesaler ---------
             $(this).find("wholeSalerInventory").each(function()
             {
                $(this).find("WholesalerInventory").each(function()
                {
                   var pos=-1;
                   // ------ figure out array slot for size quantity -------
                   var sizeRec = $(this);
                   $(sizeRec).children("sizeLiteral").each(function()
                   {
                       for(var sl=0; sl < sArray.length; sl++)
                       {
                          if ($(this).text().indexOf(sizeArray[sl]) == 0)
                          {
                             pos = sl;
                          }
                       }
                   });

                   if (pos >= 0)
                   {
                      // --------------- get inventory quantity -----------
                      $(sizeRec).children("inventoryQuantity").each(function()
                      {
                         var val = $(this).text() *1;

                         sArray[pos] = getDisplayQty(val,myMinQty,maxDisplay);

                         if (val < myMinQty)
                         {
                             minflds++;
                         }
                         else
                         {
                            minflds--;
                         }
                      });

                   }
                });

             });
             // ------ write size quantities out after looping through them ------
             for (var sc=0; sc < sizeArray.length; sc++)
             {
                  var tdElem2 = document.createElement("td");
                  tdElem2.innerHTML =    "<input type='hidden' value='" + sArray[sc] +"'>" +  sArray[sc];
                  trElem2.appendChild(tdElem2);
             }


             if (minflds < (sArray.length))
             {

               trElem2.setAttribute("class", myClass);
               trElem2.setAttribute("className", myClass);
               if (myClass == 'even')
               {
                  myClass = 'odd';
               }
               else
               {
                  myClass = 'even';
               }
               $(invTab).append(trElem2);
               rcount++;
               wholeSalerCount++;
            }


         });

         if (wholeSalerCount == 0)
         {
             trElem3 = document.createElement("tr");
             tdElem3 = document.createElement("td");
             tdElem3.innerHTML = "No wholesalers found for this color. Please enter a new zip code, select another color, or start a new search.";
             tdElem3.colSpan = sizeArray.length +1;
             trElem3.appendChild(tdElem3);
             $(invTab).append(trElem3);
         }

     });  // ---- end of wholesalers

}


function loadColorData(position, wholesalerId, itemnumber, store, maxDisplay)
{
   myposition = getActPosition(position);
   myMaxQty = maxDisplay;

   var colorDropDown = document.getElementById("colorDropDown");
   var collist = "";
   for (var ccount=0; ccount < colorDropDown.length-1; ccount++)
   {
      collist = collist + colorDropDown.options[ccount].value + "/";
   }
   collist = collist + colorDropDown.options[colorDropDown.length-1].value;

   var invtable = document.getElementById("invTab");
   var xxc=0;
   if (invtable.rows.length <= myposition+1)
   {
      xxc = 1;
   }
   else
   {
     if (invtable.rows[myposition+1].innerHTML.indexOf("expandedROW") <= 0)
     {
        xxc = 1;
     }
   }

   if ((xxc>0) && (closePos == 0))
   {
      var sUrl = "externalStoreFrontServices/rest/v1/getInventoryByStyle/" + store + "/" + wholesalerId + "/" + itemnumber + "/" + myMinQty  + "/" + collist;
      var viewColorLnk = document.getElementById("viewColor" + position);
      viewColorLnk.style.display = 'none';
      closePos = position;
      var rowx = invtable.rows[myposition];
      var xstr = prodColors;
      var myClass2 = 'moreColorsOdd';
      prodColorCount = 0;
      while (xstr.indexOf(";") > 0)
      {
          prodColorCount++;
          var trElem4 = document.createElement("tr");
          var tdElemc = document.createElement("td");
          var tcolor=xstr.substring(0,xstr.indexOf(";"));
          var description=tcolor.substring(0,tcolor.indexOf(","));
          var remain= tcolor.substring(tcolor.indexOf(",") +1);
          var tCode = remain.substring(0, remain.indexOf(","));

          var trElemc = document.createElement("tr");
          var tdElemc = document.createElement("td");
          tdElemc.innerHTML = "<input type=hidden value='" + tCode + "' id=expandedROW>" + description;
          trElem4.appendChild(tdElemc);

          for (var c=0; c<prodSizeCount; c++)
          {
              var tdElem4 = document.createElement("td");
              tdElem4.innerHTML = 0;
              trElem4.appendChild(tdElem4);
          }

          trElem4.setAttribute("class",myClass2);
          trElem4.setAttribute("className", myClass2);
          if (myClass2 == 'moreColorsOdd')
          {
              myClass2 = 'moreColorsEven';
          }
          else
          {
              myClass2 = 'moreColorsOdd';
          }

          trElem4.style.display = 'none';
          $(rowx).after(trElem4);
          xstr = xstr.substring(xstr.indexOf(";")+1);
      }
      document.getElementById('loadWheel').style.display = 'block';
      $.get(sUrl, function(data) { parseColorData(data); },"text/xml");
   }
   else
   {
      var whileDelete = 'T';
      var myrc = myposition + 1;
      while (whileDelete == 'T')
      {

         if (invtable.rows[myrc].style.display == 'none')
         {
           invtable.rows[myrc].style.display = invtable.rows[1].style.display;
         }
         else
         {
           invtable.rows[myrc].style.display = 'none';
         }
         myrc++;

         if (invtable.rows.length <= myrc)
         {
            whileDelete = 'F';
         }
         else
         {
           if (invtable.rows[myrc].innerHTML.indexOf("expandedROW") <= 0)
           {
              whileDelete = 'F';
           }
         }

      }
   }
   for(var icount = 1; icount < invtable.rows[myposition].cells.length; icount++)
   {
      var tCell = invtable.rows[myposition].cells[icount];
      if (tCell.innerHTML.indexOf("&nbsp") > 0)
      {
         tCell.innerHTML = "<input type='hidden' value='" + getValue(tCell.innerHTML) + "'>" + getValue(tCell.innerHTML);
      }
      else
      {
         tCell.innerHTML = "<input type='hidden' value='" + getValue(tCell.innerHTML) + "'>&nbsp;";
      }
   }

}


/* ################################################################ */
/* #### NEW HACK TO MAKE COLOR PALLET NOT SHOW ZERO QTY COLORS #### */
/* ################################################################ */
function loadColorData2(position, wholesalerId, itemnumber, store, maxDisplay)
{
   myposition = getActPosition(position);
   myMaxQty = maxDisplay;

   var colorDropDown = document.getElementById("colorDropDown");
   var collist = "";
   for (var ccount=0; ccount < colorDropDown.length-1; ccount++)
   {
      collist = collist + colorDropDown.options[ccount].value + "/";
   }
   collist = collist + colorDropDown.options[colorDropDown.length-1].value;

   var invtable = document.getElementById("invTab");
   var xxc=0;
   if (invtable.rows.length <= myposition+1)
   {
      xxc = 1;
   }
   else
   {
     if (invtable.rows[myposition+1].innerHTML.indexOf("expandedROW") <= 0)
     {
        xxc = 1;
     }
   }

   if ((xxc>0) && (closePos == 0))
   {
      var sUrl = "externalStoreFrontServices/rest/v1/getInventoryByStyle/" + store + "/" + wholesalerId + "/" + itemnumber + "/" + myMinQty  + "/" + collist;
      var viewColorLnk = document.getElementById("viewColor" + position);
      viewColorLnk.style.display = 'none';
      closePos = position;
      var rowx = invtable.rows[myposition];
      var xstr = prodColors;
      var myClass2 = 'moreColorsOdd';
      prodColorCount = 0;
      /* ########################################### */
      /* #### REMOVED PRE-BUILD OF COLOR PALLET #### */
      /* ########################################### */
      document.getElementById('loadWheel').style.display = 'block';
      $.get(sUrl, function(data) { parseColorData2(data); },"text/xml");
   }
   else
   {
      var whileDelete = 'T';
      var myrc = myposition + 1;
      while (whileDelete == 'T')
      {

         if (invtable.rows[myrc].style.display == 'none')
         {
           invtable.rows[myrc].style.display = invtable.rows[1].style.display;
         }
         else
         {
           invtable.rows[myrc].style.display = 'none';
         }
         myrc++;

         if (invtable.rows.length <= myrc)
         {
            whileDelete = 'F';
         }
         else
         {
           if (invtable.rows[myrc].innerHTML.indexOf("expandedROW") <= 0)
           {
              whileDelete = 'F';
           }
         }
      }
   }
   for(var icount = 1; icount < invtable.rows[myposition].cells.length; icount++)
   {
      var tCell = invtable.rows[myposition].cells[icount];
      if (tCell.innerHTML.indexOf("&nbsp") > 0)
      {
         tCell.innerHTML = "<input type='hidden' value='" + getValue(tCell.innerHTML) + "'>" + getValue(tCell.innerHTML);
      }
      else
      {
         tCell.innerHTML = "<input type='hidden' value='" + getValue(tCell.innerHTML) + "'>&nbsp;";
      }
   }

}

/* function to properly disply < and > values for qty's  */
function getDisplayQty(curQty,minQty,maxQty)
{
	var displayQty = curQty;

	if (curQty < minQty)
	{
		if (minQty < 2)
		{
			displayQty =  0;
		}
		else
		{
			displayQty =  "<" + minQty;
		}
	}
	else
	{
		// ------ set to quantity or max, lesser of two -------
		if (curQty > maxQty)
		{
			displayQty =  '>' + maxQty;
		}
	}

	return displayQty;
}
/* ############################################################## */
/* #### NEW VERSION TO LOAD COLOR PALLET AFTER THE AJAX CALL #### */
/* ############################################################## */
function parseColorData2(colorData)
{
	var invtable = document.getElementById("invTab");

	document.getElementById('loadWheel').style.display = 'none';
	var viewColorLnk = document.getElementById("viewColor" + closePos);
	closePos = 0;
	viewColorLnk.style.display = 'block';

	var colorDescriptionArray = prodColors.split(";");
	var colorDescMap ={};

	for (var i=0; i < colorDescriptionArray.length ; i++)
	{
		var tempArray = colorDescriptionArray[i].split(",");
		colorDescMap[tempArray[1]] = tempArray[0];
	}

	var sizeArray = new Array();
	var sizeArrayLength = 0;

	for (var i=1; i < invtable.rows[0].cells.length ; i++)
	{
	   sizeArray[invtable.rows[0].cells[i].innerHTML] = i-1;
	   sizeArrayLength++;
	}

	var evenOddClass = 'moreColorsOdd';
	var previousColorCd='null';
	var colorRow= new Array();
	var rowx = -1;

	$(colorData).find("wholesalers").each(function()
	{
	$(this).find("WholeSaler").each(function()
	{
		var colorDropDown = document.getElementById("colorDropDown");
		var allColorsHTML = new Array();
		var allColorsIDX = 0;

		$(this).find("wholeSalerInventory").each(function()
		{
			var spos=1;
			previousColorCd='null';
			var sumRowQty=0;

			$(this).find("WholesalerInventory").each(function()
			{
				var currentColorCd = $(this).find("colorCode").text();
				var sizeLit = $(this).find("sizeLiteral").text();
				var invQty = $(this).find("inventoryQuantity").text();

				/* if previous color is not current color */
				if (previousColorCd != currentColorCd)
				{
					/*if color is not null and sum > 0 */
					if ( (previousColorCd) && previousColorCd != 'null' && sumRowQty > 0 )
					{
						prodColorCount = 0;
						var colorRowHTML = '';

						colorRowHTML = '<td>' + colorDescMap[previousColorCd] + '<input type=hidden value="' + previousColorCd  + '" id="expandedROW"></td>';

						for (var j=0; j<sizeArrayLength; j++)
						{
							if (!colorRow[j]) {colorRow[j] = 0;}

							colorRowHTML += '<td>' + getDisplayQty(colorRow[j],myMinQty,myMaxQty) + '</td>';
						}

						allColorsHTML[allColorsIDX] = colorRowHTML;
						allColorsIDX++;
					}
					/* reset color Row */
					sumRowQty = 0;
					colorRow = new Array();
					previousColorCd = currentColorCd;

				}
				/* look up the index of the sizelit and put qty in array in same postion */

				colorRow[sizeArray[sizeLit]] =  invQty;

				/* sum the color qty */
				sumRowQty = sumRowQty + invQty;

			});

			/* print off the last color row */

			var colorRowHTML = '<td>' + colorDescMap[previousColorCd] + '<input type=hidden value="' + previousColorCd  + '" id="expandedROW"></td>';

			for (var j=0; j<sizeArrayLength; j++)
			{
				if (!colorRow[j]) {colorRow[j] = 0;}
				colorRowHTML += '<td>' + getDisplayQty(colorRow[j],myMinQty,myMaxQty) + '</td>';
			}

			allColorsHTML[allColorsIDX] = colorRowHTML;

			allColorsHTML.sort();

			for (var i=0; i<allColorsHTML.length; i++)
			{
				rowx = invtable.rows[myposition];
				myposition++;

				$(rowx).after('<tr classname="' + evenOddClass + '" class="' + evenOddClass + '">' + allColorsHTML[i]);

				if (evenOddClass == 'moreColorsOdd')	{evenOddClass = 'moreColorsEven';}
				else					{evenOddClass = 'moreColorsOdd';}
			}
		});

		for(var mycount = myposition+1; mycount < myposition + prodColorCount+1; mycount++)
		{
			invtable.rows[mycount].style.display = invtable.rows[myposition].style.display;
		}
		});
	});
}
/* ############################################################# */
/* #### END OF HACK ############################################ */
/* ############################################################# */





function getValue(str)
{

  var y;
   if (str.indexOf('"') > 0)
   {
     var x = str.substring(str.indexOf("value=")+7);
     y  =  x.substring(0,x.indexOf('"'));
   }
   else
   {
      var x = str.substring(str.indexOf("value=")+6);
      y  =  x.substring(0,x.indexOf(">"));
   }
   return y;
}

function parseColorData(colorData)
{
    document.getElementById('loadWheel').style.display = 'none';
    var viewColorLnk = document.getElementById("viewColor" + closePos);
    closePos = 0;
    viewColorLnk.style.display = 'block';
    $(colorData).find("wholesalers").each(function()
    {
       $(this).find("WholeSaler").each(function()
       {
          var invtable = document.getElementById("invTab");
          var colorDropDown = document.getElementById("colorDropDown");

          $(this).find("wholeSalerInventory").each(function()
          {
             var spos=1;
             $(this).find("WholesalerInventory").each(function()
             {
                var rc=myposition + 1;
                var myrow = -1;
                while(rc < myposition + prodColorCount + 1)
                {
                   if (((invtable.rows[rc].cells[0].innerHTML.indexOf("value=" + $(this).find("colorCode").text()) > 0)
                   ||  (invtable.rows[rc].cells[0].innerHTML.indexOf('value="' + $(this).find("colorCode").text() + '"') > 0))
                   &&  ($(this).find("colorCode").text() != ''))
                   {
                      myrow = rc;
                      rc = myposition + prodColorCount;
                   }
                   rc++;
                }

                spos=0;
                mycell = 0;
                while(spos < invtable.rows[0].cells.length)
                {
                   if (invtable.rows[0].cells[spos].innerHTML == $(this).find("sizeLiteral").text())
                   {
                        mycell = spos;
                   }
                   spos++;
                }
                if ((mycell > 0) && (myrow > 0))
                {
                  var val = $(this).find("inventoryQuantity").text() *1;
                  if (val < myMinQty)
                  {
                    if (myMinQty < 2)
                    {
                       invtable.rows[myrow].cells[mycell].innerHTML =  0;
                    }
                    else
                    {
                       invtable.rows[myrow].cells[mycell].innerHTML =  "<" + myMinQty;
                    }
                  }
                  else
                  {
                    // ------ set to quantity or max, lesser of two -------
                    if (val > myMaxQty)
                    {
                       invtable.rows[myrow].cells[mycell].innerHTML =  '>' + myMaxQty;
                    }
                    else
                    {
                       invtable.rows[myrow].cells[mycell].innerHTML =  val;
                    }
                  }
                }

             });
          });
          for(var mycount = myposition+1; mycount < myposition + prodColorCount+1; mycount++)
          {
               invtable.rows[mycount].style.display = invtable.rows[myposition].style.display;
          }
       });
    });

}





function getColorForCode(inCode)
{
   var color = "";
   var colorDropDown = document.getElementById("colorDropDown");
   for (var ccount=0; ccount < colorDropDown.length; ccount++)
   {
      if (colorDropDown.options[ccount].value == inCode)
      {
           color = colorDropDown.options[ccount].text;
      }
   }
   return color;
}



function sortColors2(inColors, reverseFlag)
{
   var outColors="";
   var xstr = inColors;
   var colArray = new Array();
   var colCount = 0;
   while (xstr.indexOf(";") > 0)
   {
      var tcolor=xstr.substring(0,xstr.indexOf(";"));
      xstr = xstr.substring(xstr.indexOf(";")+1);
      colArray[colCount] = tcolor;
      colCount++;
   }

   colArray.sort();
   if (reverseFlag == "T")
   {
     colArray.reverse();
   }
   for (var i=0; i < colArray.length; i++)
   {
      outColors = outColors + colArray[i] + ";";
   }
   return outColors;
}

function getActPosition(position)
{
  var poscount=0;
  var invtable = document.getElementById("invTab");
  var actPosition = 1;
  while ((poscount < position) && (actPosition < invtable.rows.length))
  {
     if (invtable.rows[actPosition].cells[0].innerHTML.indexOf('expandedROW') <=0)
     {
         poscount++;
     }
     actPosition++;
  }
  actPosition--;
  return actPosition;
}




/* ---------------------------------------------------------------
-   function create XML
-
-   purpose - take the xml text data and change it into an xml
-             dom object. IE 6.X didnt support the jQuery way
-             $(x,'xml) to convert, so I am using the activex
-             control for IE
-
-
-   created date  2/26/2009
-   written by  Mike Kucharski
-----------------------------------------------------------------*/
/* XML object is now being passed, no need to createXML
function createXML1(x)
{
   var xmlDoc;
   try //Internet Explorer
   {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async="false";
      xmlDoc.loadXML(x);
      myBrowser= "IE";
   }
   catch(e)
   {
      try //Firefox, Mozilla, Opera, etc.
      {
          parser=new DOMParser();
          xmlDoc=parser.parseFromString(x,"text/xml");
      }
      catch(e)
      {
         alert(e.message);
         return;
      }
   }
   return xmlDoc;
}
*/