
function countLetters() {
   var cntLetter = 0;
   //Get the letters from document
   aFields = document.getElementsByName('Product_Attributes[4]:value');
   cntLetter += aFields[0].value.replace(/\s+/g,'').length;
   aFields = document.getElementsByName('Product_Attributes[8]:value');
   cntLetter += aFields[0].value.replace(/\s+/g,'').length;
   aFields = document.getElementsByName('Product_Attributes[12]:value');
   cntLetter += aFields[0].value.replace(/\s+/g,'').length;
   aFields = document.getElementsByName('Product_Attributes[16]:value');

   if (cntLetter <= 0) {
         count_value = "";
   } else if (cntLetter <= 10)  {
         count_value = "1-10";
   } else if ( (cntLetter >= 11) && (cntLetter < 40) ){
         count_value = cntLetter ;
   } else if (cntLetter >= 40) {
         count_value = "40";
   }

   for (i=0; i < aFields[0].options.length;  i++) {
       if (count_value == aFields[0].options[i].value)  {
          aFields[0].selectedIndex = i;
       }
   }
}



function checkSweatpantOptions(source) {

   //Menu Options  
   product   = ['Cotton-Fleece', 'Velour'] 
   size_val  = ['', 'Small', 'Medium', 'Large', 'XLarge', '2XL'];
   size_txt  = ['Select Shirt Size', 'Small', 'Medium', 'Large', 'XLarge', '2XL'];
   color_val = [ '', 'Black', 'Brown', 'Lavender', 'Powder-Pink', 'Red', 'White', 'Blue', 'Baby-Blue']
   color_txt = [ 'Select a Color', 'Black', 'Brown', 'Lavender', 'Powder Pink', 'Red', 'White', 'Blue', 'Baby Blue'];

   //Initialization of three dimensional data array
   data = new Array(product.length);
   for (i = 0; i < data.length; ++ i) {
      data[i] = new Array(color_val.length);
      for (j = 0; j < data[i].length; ++ j) {
         data[i][j] = new Array(size_val.length) ;
      }
    }
  

    //Cotton
    //Put any character in the matrix to activate menu
    //  Small      Medium    Large               XLarge                2XL
    data[0][1][1] = '0BlSm'; data[0][1][2]='0BlMe'; data[0][1][3]='0BlLg';  data[0][1][4]='0BlXl';   data[0][1][5]='';
    data[0][2][1] = '';      data[0][2][2]='';       data[0][2][3]='';      data[0][2][4]='';       data[0][2][5]='';    
    data[0][3][1] = '';      data[0][3][2]='';       data[0][3][3]='';      data[0][3][4]='';       data[0][3][5]='';
    data[0][4][1] = '0PiSm'; data[0][4][2]='0PiMe'; data[0][4][3]='0PiLg';  data[0][4][4]='0PiXl';  data[0][4][5]='';
    data[0][5][1] = '';      data[0][5][2]='';      data[0][5][3]='';       data[0][5][4]='';       data[0][5][5]='';
    data[0][6][1] = '0WiSm'; data[0][6][2]='0WiMe'; data[0][6][3]='0WiLg';  data[0][6][4]='0WiXl';  data[0][6][5]='';
    data[0][7][1] = '';      data[0][7][2]='';       data[0][7][3]='';      data[0][7][4]='';       data[0][7][5]='';
	data[0][8][1] = '';      data[0][8][2]='';       data[0][8][3]='';      data[0][8][4]='';       data[0][8][5]='';
    //Velour
    data[1][1][1] = '2BlSm';  data[1][1][2]='2BlMe'; data[1][1][3]='2BlLg'; data[1][1][4]='2BlXl'; data[1][1][5]='2Bl2x';
    data[1][2][1] = '';      data[1][2][2]='';       data[1][2][3]=''; data[1][2][4]=''; data[1][2][5]='';
    data[1][3][1] = '';      data[1][3][2]='';       data[1][3][3]=''; data[1][3][4]=''; data[1][3][5]='';
    data[1][4][1] = '';      data[1][4][2]='';       data[1][4][3]=''; data[1][4][4]=''; data[1][4][5]='';
    data[1][5][1] = '';      data[1][5][2]='';       data[1][5][3]=''; data[1][5][4]=''; data[1][5][5]='';
    data[1][6][1] = '2WhSm'; data[1][6][2]='2WhMe';  data[1][6][3]='2WhLg'; data[1][6][4]='2WhXl'; data[1][6][5]='2Wh2x';
    data[1][7][1] = '2BuSm'; data[1][7][2]='2BuMe';  data[1][7][3]='2BuLg'; data[1][7][4]='2BuXl';  data[1][7][5]='2Bu2x';
	data[1][8][1] = '';      data[1][8][2]='';       data[1][8][3]=''; data[1][8][4]=''; data[1][8][5]='';

   //Determine the product, size and colors selected
   aFields = document.getElementsByName('Product_Attributes[1]:value');
   if  ( findProdFromSelect(aFields) == '') {
      prod_selected  = getIndex(aFields[0].value,product);
   } else {
      prod_selected  = getIndex(findProdFromSelect(aFields),product);
   }
   doc_size  = document.getElementsByName('Product_Attributes[2]:value');
   size_selected  = getIndex(doc_size[0].value, size_val);
   doc_color = document.getElementsByName('Product_Attributes[3]:value');
   color_selected = getIndex(doc_color[0].value, color_val);
    
 
   //Run code only if a product is selected
   if (prod_selected != null) {

   if (source == 'product') {
         //Remove all options
         removeAllOptions(doc_color[0]); 
         removeAllOptions(doc_size[0]); 

         //Generate option list 

         //Create the color option list 
         createOption(doc_color[0], 0, color_val, color_txt, 0);
         for (i=1; i < data[prod_selected].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], i, '') ) {
               createOption(doc_color[0], i, color_val, color_txt, 0);
            }
         }

         //Create the size option list 
         createOption(doc_size[0], 0, size_val, size_txt, 0);
         for (i=1; i < data[prod_selected][1].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], '', i) ) {
               createOption(doc_size[0], i, size_val, size_txt, 0);
            }
         } 
      }

      //If SIZE is selected double check color selection and update according to matrix
      if  ( (source == 'Size') && (size_selected != 0) )  {
         removeAllOptions(doc_color[0]); 
         createOption(doc_color[0], 0, color_val, color_txt, color_selected);
         for (j = 1; j  < data[prod_selected].length; j++) {
            if (data[prod_selected][j][size_selected].length > 0) {
              createOption(doc_color[0], j, color_val, color_txt, color_selected);
            }
         }
       }

       //If COLOR is selected double check size selection and update according to matrix
      if ( (source == 'Color') && (color_selected != 0) )  {
         removeAllOptions(doc_size[0]); 
         createOption(doc_size[0], 0, size_val, size_txt, size_selected);
         for (j = 1; j  < data[prod_selected][1].length; j++) {
            if (data[prod_selected][color_selected][j].length > 0) {
                createOption(doc_size[0], j, size_val, size_txt, size_selected);
            }
         }
      }

   }
 
}



function checkHoodyOptions(source) {

   //Menu Options  
   product   = ['Zip-Up', 'Pull-Over', 'Velour'] 
   size_val  = ['', 'XSmall', 'Small', 'Medium', 'Large', 'XLarge', '2XL'];
   size_txt  = ['Select Shirt Size', 'XSmall', 'Small', 'Medium', 'Large', 'XLarge', '2X Large'];
   color_val = [ '', 'Black', 'Brown', 'Lavender', 'Powder-Pink', 'Red', 'White', 'Blue', 'Baby-Blue']
   color_txt = [ 'Select a Color', 'Black', 'Brown', 'Lavender', 'Powder Pink', 'Red', 'White', 'Blue', 'Baby Blue'];

   //Initialization of three dimensional data array
   data = new Array(product.length);
   for (i = 0; i < data.length; ++ i) {
      data[i] = new Array(color_val.length);
      for (j = 0; j < data[i].length; ++ j) {
         data[i][j] = new Array(size_val.length) ;
      }
    }
  

    //Zip-Up
    //Put any character in the matrix to activate menu
    //  Infnant 6-12 months      Infant 12-18 months    Child 2                Child 4                Child 6               Child 8                Child 10
    data[0][1][1] = ''; data[0][1][2]='0BlSm'; data[0][1][3]='0BlMe';      data[0][1][4]='0BlLg';      data[0][1][5]='0BlXl';      		      data[0][1][6]='';
    data[0][2][1] = '';      data[0][2][2]='';       data[0][2][3]='';      data[0][2][4]='';      data[0][2][5]='';      data[0][2][6]=''; 
    data[0][3][1] = '';      data[0][3][2]='';       data[0][3][3]='';      data[0][3][4]='';      data[0][3][5]='';      data[0][3][6]='';
    data[0][4][1] = ''; data[0][4][2]='0PiSm'; data[0][4][3]='0PiMe';      data[0][4][4]='0PiLg';      data[0][4][5]='0PiXl';      data[0][4][6]='';
    data[0][5][1] = ''; data[0][5][2]=''; data[0][5][3]='';      data[0][5][4]='';      data[0][5][5]='';      data[0][5][6]='';
    data[0][6][1] = ''; data[0][6][2]='0WiSm'; data[0][6][3]='0WiMe';      data[0][6][4]='0WiLg';      data[0][6][5]='0WiXl';      data[0][6][6]='';
    data[0][7][1] = '';      data[0][7][2]='';       data[0][7][3]='';      data[0][7][4]='';      data[0][7][5]='';      data[0][7][6]='';
	data[0][8][1] = '';      data[0][8][2]='';       data[0][8][3]='';      data[0][8][4]='';      data[0][8][5]='';      data[0][8][6]='';
    //Pull-Over
    data[1][1][1] = '1BlXs'; data[1][1][2]='1BlSm'; data[1][1][3]='1BlMe';      data[1][1][4]='1BlLg';      data[1][1][5]='1BlXl';      data[1][1][6]='1Bl2x'; 
    data[1][2][1] = '';      data[1][2][2]='';       data[1][2][3]='';      data[1][2][4]='';      data[1][2][5]='';      data[1][2][6]='';
    data[1][3][1] = '';      data[1][3][2]='';       data[1][3][3]='';      data[1][3][4]='';      data[1][3][5]='';      data[1][3][6]='';
    data[1][4][1] = ''; data[1][4][2]=''; data[1][4][3]='';      data[1][4][4]='';      data[1][4][5]='';      data[1][4][6]='';
    data[1][5][1] = ''; data[1][5][2]=''; data[1][5][3]='';      data[1][5][4]='';      data[1][5][5]='';      data[1][5][6]='';
    data[1][6][1] = '1WiXs'; data[1][6][2]='1WiSm'; data[1][6][3]='1WiMe';      data[1][6][4]='1WiLg';      data[1][6][5]='1WiXl';      data[1][6][6]='1Wi2x';
    data[1][7][1] = '';      data[1][7][2]='';       data[1][7][3]='';      data[1][7][4]='';      data[1][7][5]='';      data[1][7][6]='';
	    data[1][8][1] = '';      data[1][8][2]='';       data[1][8][3]='';      data[1][8][4]='';      data[1][8][5]='';      data[1][8][6]='';
    //Velour
    data[2][1][1] = '';      data[2][1][2]='2BlSm';       data[2][1][3]='2BlMe'; data[2][1][4]='2BlLg'; data[2][1][5]='2BlXl'; data[2][1][6]='2Bl2x';
    data[2][2][1] = '';      data[2][2][2]='';       data[2][2][3]=''; data[2][2][4]=''; data[2][2][5]=''; data[2][2][6]='';
    data[2][3][1] = '';      data[2][3][2]='';       data[2][3][3]=''; data[2][3][4]=''; data[2][3][5]=''; data[2][3][6]='';
    data[2][4][1] = '';      data[2][4][2]='';       data[2][4][3]=''; data[2][4][4]=''; data[2][4][5]=''; data[2][4][6]='';
    data[2][5][1] = '';      data[2][5][2]='';       data[2][5][3]=''; data[2][5][4]=''; data[2][5][5]=''; data[2][5][6]='';
    data[2][6][1] = '';      data[2][6][2]='2WhSm';       data[2][6][3]='2WhMe'; data[2][6][4]='2WhLg'; data[2][6][5]='2WhXl'; data[2][6][6]='2Wh2x';
    data[2][7][1] = '';      data[2][7][2]='2BuSm';       data[2][7][3]='2BuMe';      data[2][7][4]='2BuLg';      data[2][7][5]='2BuXl';      data[2][7][6]='2Bl2x';
	    data[2][8][1] = '';      data[2][8][2]='';       data[2][8][3]=''; data[2][8][4]=''; data[2][8][5]=''; data[2][8][6]='';

   //Determine the product, size and colors selected
   aFields = document.getElementsByName('Product_Attributes[1]:value');
   if  ( findProdFromSelect(aFields) == '') {
      prod_selected  = getIndex(aFields[0].value,product);
   } else {
      prod_selected  = getIndex(findProdFromSelect(aFields),product);
   }
   doc_size  = document.getElementsByName('Product_Attributes[2]:value');
   size_selected  = getIndex(doc_size[0].value, size_val);
   doc_color = document.getElementsByName('Product_Attributes[3]:value');
   color_selected = getIndex(doc_color[0].value, color_val);
    
 
   //Run code only if a product is selected
   if (prod_selected != null) {

   if (source == 'product') {
         //Remove all options
         removeAllOptions(doc_color[0]); 
         removeAllOptions(doc_size[0]); 

         //Generate option list 

         //Create the color option list 
         createOption(doc_color[0], 0, color_val, color_txt, 0);
         for (i=1; i < data[prod_selected].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], i, '') ) {
               createOption(doc_color[0], i, color_val, color_txt, 0);
            }
         }

         //Create the size option list 
         createOption(doc_size[0], 0, size_val, size_txt, 0);
         for (i=1; i < data[prod_selected][1].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], '', i) ) {
               createOption(doc_size[0], i, size_val, size_txt, 0);
            }
         } 
      }

      //If SIZE is selected double check color selection and update according to matrix
      if  ( (source == 'Size') && (size_selected != 0) )  {
         removeAllOptions(doc_color[0]); 
         createOption(doc_color[0], 0, color_val, color_txt, color_selected);
         for (j = 1; j  < data[prod_selected].length; j++) {
            if (data[prod_selected][j][size_selected].length > 0) {
              createOption(doc_color[0], j, color_val, color_txt, color_selected);
            }
         }
       }

       //If COLOR is selected double check size selection and update according to matrix
      if ( (source == 'Color') && (color_selected != 0) )  {
         removeAllOptions(doc_size[0]); 
         createOption(doc_size[0], 0, size_val, size_txt, size_selected);
         for (j = 1; j  < data[prod_selected][1].length; j++) {
            if (data[prod_selected][color_selected][j].length > 0) {
                createOption(doc_size[0], j, size_val, size_txt, size_selected);
            }
         }
      }

   }
 
}







function checkKidOptions(source) {

   //Menu Options  
   product   = ['Infant-Tee', 'Infant-LS-Tee','Child-Tee','Child-LS-Tee','Child-Raglan','Child-TankTop','Child-Bamboo', 'Infant-Onesie', 'Infant-LS-Onesie'] 
   size_val  = ['', '6-12mos', '12-18mos', 'Child2', 'Child4', 'Child6', 'Child8','Child10'];
   size_txt  = ['Select Shirt Size', 'Infant 6-12 mos', 'Infant 12-18 mos', 'Child 2', 'Child 4', 'Child 6', 'Child 8','Child 10'];
   color_val = [ '', 'Black', 'Brown', 'Lavender', 'Pink', 'Red', 'White', 'White-Pink', 'Green', 'Natural']
   color_txt = [ 'Select a Color', 'Black', 'Brown', 'Lavender', 'Pink', 'Red', 'White', 'White/Pink(raglan)', 'Green', 'Natural'];

   //Initialization of three dimensional data array
   data = new Array(product.length);
   for (i = 0; i < data.length; ++ i) {
      data[i] = new Array(color_val.length);
      for (j = 0; j < data[i].length; ++ j) {
         data[i][j] = new Array(size_val.length) ;
      }
    }
  

    //Infant Tee
    //Put any character in the matrix to activate menu
    //  Infnant 6-12 months      Infant 12-18 months    Child 2                Child 4                Child 6               Child 8                Child 10
    data[0][1][1] = '0BlI6'; data[0][1][2]='0BlI12'; data[0][1][3]='';      data[0][1][4]='';      data[0][1][5]='';      data[0][1][6]='';       data[0][1][7]=''; 
    data[0][2][1] = '';      data[0][2][2]='';       data[0][2][3]='';      data[0][2][4]='';      data[0][2][5]='';      data[0][2][6]='';       data[0][2][7]=''; 
    data[0][3][1] = '';      data[0][3][2]='';       data[0][3][3]='';      data[0][3][4]='';      data[0][3][5]='';      data[0][3][6]='';       data[0][3][7]='';
    data[0][4][1] = '0PiI6'; data[0][4][2]='0PiI12'; data[0][4][3]='';      data[0][4][4]='';      data[0][4][5]='';      data[0][4][6]='';       data[0][4][7]='';
    data[0][5][1] = '0ReI6'; data[0][5][2]='0ReI12'; data[0][5][3]='';      data[0][5][4]='';      data[0][5][5]='';      data[0][5][6]='';       data[0][5][7]='';
    data[0][6][1] = '0WiI6'; data[0][6][2]='0WiI12'; data[0][6][3]='';      data[0][6][4]='';      data[0][6][5]='';      data[0][6][6]='';       data[0][6][7]='';
    data[0][7][1] = '';      data[0][7][2]='';       data[0][7][3]='';      data[0][7][4]='';      data[0][7][5]='';      data[0][7][6]='';       data[0][7][7]='';
data[0][8][1] = '';      data[0][8][2]='';       data[0][8][3]='';      data[0][8][4]='';      data[0][8][5]='';      data[0][8][6]='';       data[0][8][7]='';
data[0][9][1] = '';      data[0][9][2]='';       data[0][9][3]='';      data[0][9][4]='';      data[0][9][5]='';      data[0][9][6]='';       data[0][9][7]='';
    //Long-sleeve infant Tee
    data[1][1][1] = '1BlI6'; data[1][1][2]='1BlI12'; data[1][1][3]='';      data[1][1][4]='';      data[1][1][5]='';      data[1][1][6]='';       data[1][1][7]='';
    data[1][2][1] = '';      data[1][2][2]='';       data[1][2][3]='';      data[1][2][4]='';      data[1][2][5]='';      data[1][2][6]='';       data[1][2][7]='';
    data[1][3][1] = '';      data[1][3][2]='';       data[1][3][3]='';      data[1][3][4]='';      data[1][3][5]='';      data[1][3][6]='';       data[1][3][7]='';
    data[1][4][1] = '1PiI6'; data[1][4][2]='1PiI12'; data[1][4][3]='';      data[1][4][4]='';      data[1][4][5]='';      data[1][4][6]='';       data[1][4][7]='';
    data[1][5][1] = '1ReI6'; data[1][5][2]='1ReI12'; data[1][5][3]='';      data[1][5][4]='';      data[1][5][5]='';      data[1][5][6]='';       data[1][5][7]='';
    data[1][6][1] = '1WiI6'; data[1][6][2]='1WiI12'; data[1][6][3]='';      data[1][6][4]='';      data[1][6][5]='';      data[1][6][6]='';       data[1][6][7]='';
    data[1][7][1] = '';      data[1][7][2]='';       data[1][7][3]='';      data[1][7][4]='';      data[1][7][5]='';      data[1][7][6]='';       data[1][7][7]='';
data[1][8][1] = '';      data[1][8][2]='';       data[1][8][3]='';      data[1][8][4]='';      data[1][8][5]='';      data[1][8][6]='';       data[1][8][7]='';
data[1][9][1] = '';      data[1][9][2]='';       data[1][9][3]='';      data[1][9][4]='';      data[1][9][5]='';      data[1][9][6]='';       data[1][9][7]='';
    //Child Tee
    data[2][1][1] = '';      data[2][1][2]='';       data[2][1][3]='2BlC2'; data[2][1][4]='2BlC4'; data[2][1][5]='2BlC6'; data[2][1][6]='2BlC8';  data[2][1][7]='2BlC10';
    data[2][2][1] = '';      data[2][2][2]='';       data[2][2][3]='2BrC2'; data[2][2][4]='2BrC4'; data[2][2][5]='2BrC6'; data[2][2][6]='2BrC8';  data[2][2][7]='2BrC10';
    data[2][3][1] = '';      data[2][3][2]='';       data[2][3][3]='2LaC2'; data[2][3][4]='2LaC4'; data[2][3][5]='2LaC6'; data[2][3][6]='2LaC8';  data[2][3][7]='2LaC10';
    data[2][4][1] = '';      data[2][4][2]='';       data[2][4][3]='2PiC2'; data[2][4][4]='2PiC4'; data[2][4][5]='2PiC6'; data[2][4][6]='2PiC8';  data[2][4][7]='2PiC10';
    data[2][5][1] = '';      data[2][5][2]='';       data[2][5][3]='2ReC2'; data[2][5][4]='2ReC4'; data[2][5][5]='2ReC6'; data[2][5][6]='2ReC8';  data[2][5][7]='2ReC10';
    data[2][6][1] = '';      data[2][6][2]='';       data[2][6][3]='2WhC2'; data[2][6][4]='2WhC4'; data[2][6][5]='2WhC6'; data[2][6][6]='2WhC8';  data[2][6][7]='2WhC10';
    data[2][7][1] = '';      data[2][7][2]='';       data[2][7][3]='';      data[2][7][4]='';      data[2][7][5]='';      data[2][7][6]='';       data[2][7][7]='';
data[2][8][1] = '';      data[2][8][2]='';       data[2][8][3]='';      data[2][8][4]='';      data[2][8][5]='';      data[2][8][6]='';       data[2][8][7]='';
data[2][9][1] = '';      data[2][9][2]='';       data[2][9][3]='';      data[2][9][4]='';      data[2][9][5]='';      data[2][9][6]='';       data[2][9][7]='';
    //Long-sleeve Child Tee
    data[3][1][1] = '';      data[3][1][2]='';       data[3][1][3]='3BlC2'; data[3][1][4]='3BlC4'; data[3][1][5]='3BlC6'; data[3][1][6]='3BlC8';  data[3][1][7]='3BlC10';
    data[3][2][1] = '';      data[3][2][2]='';       data[3][2][3]='3BrC2'; data[3][2][4]='3BrC4'; data[3][2][5]='3BrC6'; data[3][2][6]='3BrC8';  data[3][2][7]='3BrC10';
    data[3][3][1] = '';      data[3][3][2]='';       data[3][3][3]='3LaC2'; data[3][3][4]='3LaC4'; data[3][3][5]='3LaC6'; data[3][3][6]='';       data[3][3][7]='';
    data[3][4][1] = '';      data[3][4][2]='';       data[3][4][3]='3PiC2'; data[3][4][4]='3PiC4'; data[3][4][5]='3PiC6'; data[3][4][6]='3PiC8';  data[3][4][7]='3PiC10';
    data[3][5][1] = '';      data[3][5][2]='';       data[3][5][3]='3ReC2'; data[3][5][4]='3ReC4'; data[3][5][5]='3ReC6'; data[3][5][6]='3ReC8';  data[3][5][7]='3ReC10';
    data[3][6][1] = '';      data[3][6][2]='';       data[3][6][3]='3WhC2'; data[3][6][4]='3WhC4'; data[3][6][5]='3WhC6'; data[3][6][6]='3WhC8';  data[3][6][7]='3WhC10';
    data[3][7][1] = '';      data[3][7][2]='';       data[3][7][3]='';      data[3][7][4]='';      data[3][7][5]='';      data[3][7][6]='';       data[3][7][7]='';
data[3][8][1] = '';      data[3][8][2]='';       data[3][8][3]='';      data[3][8][4]='';      data[3][8][5]='';      data[3][8][6]='';       data[3][8][7]='';
data[3][9][1] = '';      data[3][9][2]='';       data[3][9][3]='';      data[3][9][4]='';      data[3][9][5]='';      data[3][9][6]='';       data[3][9][7]='';
    //Child Raglan
    data[4][1][1] = '';      data[4][1][2]='';       data[4][1][3]='';      data[4][1][4]='';      data[4][1][5]='';      data[4][1][6]='';       data[4][1][7]='';  
    data[4][2][1] = '';      data[4][2][2]='';       data[4][2][3]='';      data[4][2][4]='';      data[4][2][5]='';      data[4][2][6]='';       data[4][2][7]='';
    data[4][3][1] = '';      data[4][3][2]='';       data[4][3][3]='';      data[4][3][4]='';      data[4][3][5]='';      data[4][3][6]='';       data[4][3][7]='';
    data[4][4][1] = '';      data[4][4][2]='';       data[4][4][3]='';      data[4][4][4]='';      data[4][4][5]='';      data[4][4][6]='';       data[4][4][7]='';
    data[4][5][1] = '';      data[4][5][2]='';       data[4][5][3]='';      data[4][5][4]='';      data[4][5][5]='';      data[4][5][6]='';       data[4][5][7]='';
    data[4][6][1] = '';      data[4][6][2]='';       data[4][6][3]='';      data[4][6][4]='';      data[4][6][5]='';      data[4][6][6]='';       data[4][6][7]='';
    data[4][7][1] = '';      data[4][7][2]='';       data[4][7][3]='4WpC2'; data[4][7][4]='4WpC4'; data[4][7][5]='4WpC6'; data[4][7][6]='4WpC8';  data[4][7][7]='4WpC10';
data[4][8][1] = '';      data[4][8][2]='';       data[4][8][3]=''; data[4][8][4]=''; data[4][8][5]=''; data[4][8][6]='';  data[4][8][7]='';
data[4][9][1] = '';      data[4][9][2]='';       data[4][9][3]=''; data[4][9][4]=''; data[4][9][5]=''; data[4][9][6]='';  data[4][9][7]='';
    //Child TankTop
    data[5][1][1] = '5BlI6'; data[5][1][2]='5BlI12'; data[5][1][3]='5BlC2'; data[5][1][4]='5BlC4'; data[5][1][5]='5BlC6'; data[5][1][6]='5BlC8';  data[5][1][7]='5BlC10';  
    data[5][2][1] = '';      data[5][2][2]='';       data[5][2][3]='';      data[5][2][4]='';      data[5][2][5]='';      data[5][2][6]='';       data[5][2][7]='';
    data[5][3][1] = '';      data[5][3][2]='';       data[5][3][3]='';      data[5][3][4]='';      data[5][3][5]='';      data[5][3][6]='';       data[5][3][7]='';
    data[5][4][1] = '5PiI6'; data[5][4][2]='5PiI12'; data[5][4][3]='5PiC2'; data[5][4][4]='5PiC4'; data[5][4][5]='5PiC6'; data[5][4][6]='5PiC8';  data[5][4][7]='5PiC10';
    data[5][5][1] = '5ReI6'; data[5][5][2]='5ReI12'; data[5][5][3]='5ReC2'; data[5][5][4]='5ReC4'; data[5][5][5]='5ReC6'; data[5][5][6]='5ReC8';  data[5][5][7]='5ReC10';
    data[5][6][1] = '5WiI6'; data[5][6][2]='5WiI12'; data[5][6][3]='5WiC2'; data[5][6][4]='5WiC4'; data[5][6][5]='5WiC6'; data[5][6][6]='5WiC8';  data[5][6][7]='5WiC10';
    data[5][7][1] = '';      data[5][7][2]='';       data[5][7][3]='';      data[5][7][4]='';      data[5][7][5]='';      data[5][7][6]='';       data[5][7][7]='';
data[5][8][1] = '';      data[5][8][2]='';       data[5][8][3]='';      data[5][8][4]='';      data[5][8][5]='';      data[5][8][6]='';       data[5][8][7]='';
data[5][9][1] = '';      data[5][9][2]='';       data[5][9][3]='';      data[5][9][4]='';      data[5][9][5]='';      data[5][9][6]='';       data[5][9][7]='';
	    //Child Bamboo
    data[6][1][1] = ''; data[6][1][2]=''; data[6][1][3]=''; data[6][1][4]=''; data[6][1][5]=''; data[6][1][6]='';  data[6][1][7]='';  
    data[6][2][1] = '6BrI6';      data[6][2][2]='6BrI12';       data[6][2][3]='';      data[6][2][4]='';      data[6][2][5]='';      data[6][2][6]='';       data[6][2][7]='';
    data[6][3][1] = '';      data[6][3][2]='';       data[6][3][3]='';      data[6][3][4]='';      data[6][3][5]='';      data[6][3][6]='';       data[6][3][7]='';
    data[6][4][1] = '6PiI6'; data[6][4][2]='6PiI12'; data[6][4][3]=''; data[6][4][4]=''; data[6][4][5]=''; data[6][4][6]='';  data[6][4][7]='';
    data[6][5][1] = ''; data[6][5][2]=''; data[6][5][3]=''; data[6][5][4]=''; data[6][5][5]=''; data[6][5][6]='';  data[6][5][7]='';
    data[6][6][1] = ''; data[6][6][2]=''; data[6][6][3]=''; data[6][6][4]=''; data[6][6][5]=''; data[6][6][6]='';  data[6][6][7]='';
    data[6][7][1] = '';      data[6][7][2]='';       data[6][7][3]='';      data[6][7][4]='';      data[6][7][5]='';      data[6][7][6]='';       data[6][7][7]='';
data[6][8][1] = '6GrI6';      data[6][8][2]='6GrI12';       data[6][8][3]='';      data[6][8][4]='';      data[6][8][5]='';      data[6][8][6]='';       data[6][8][7]='';
data[6][9][1] = '6NaI6';      data[6][9][2]='6NaI12';       data[6][9][3]='';      data[6][9][4]='';      data[6][9][5]='';      data[6][9][6]='';       data[6][9][7]='';
		    //Infant Onesie
    data[7][1][1] = '7BlI6'; data[7][1][2]='7BlI12'; data[7][1][3]=''; data[7][1][4]=''; data[7][1][5]=''; data[7][1][6]='';  data[7][1][7]='';  
    data[7][2][1] = '7BrI6';      data[7][2][2]='7BrI12';       data[7][2][3]='';      data[7][2][4]='';      data[7][2][5]='';      data[7][2][6]='';       data[7][2][7]='';
    data[7][3][1] = '';      data[7][3][2]='';       data[7][3][3]='';      data[7][3][4]='';      data[7][3][5]='';      data[7][3][6]='';       data[7][3][7]='';
    data[7][4][1] = '7PiI6'; data[7][4][2]='7PiI12'; data[7][4][3]=''; data[7][4][4]=''; data[7][4][5]=''; data[7][4][6]='';  data[7][4][7]='';
    data[7][5][1] = '7ReI6'; data[7][5][2]='7ReI12'; data[7][5][3]=''; data[7][5][4]=''; data[7][5][5]=''; data[7][5][6]='';  data[7][5][7]='';
    data[7][6][1] = '7WhI6'; data[7][6][2]='7WhI12'; data[7][6][3]=''; data[7][6][4]=''; data[7][6][5]=''; data[7][6][6]='';  data[7][6][7]='';
    data[7][7][1] = '';      data[7][7][2]='';       data[7][7][3]='';      data[7][7][4]='';      data[7][7][5]='';      data[7][7][6]='';       data[7][7][7]='';
data[7][8][1] = '';      data[7][8][2]='';       data[7][8][3]='';      data[7][8][4]='';      data[7][8][5]='';      data[7][8][6]='';       data[7][8][7]='';
data[7][9][1] = '';      data[7][9][2]='';       data[7][9][3]='';      data[7][9][4]='';      data[7][9][5]='';      data[7][9][6]='';       data[7][9][7]='';
		    //Long-sleeve Infant Onesie
    data[8][1][1] = '8BlI6'; data[8][1][2]='8BlI12'; data[8][1][3]=''; data[8][1][4]=''; data[8][1][5]=''; data[8][1][6]='';  data[8][1][7]='';  
    data[8][2][1] = '8BrI6';      data[8][2][2]='8BrI12';       data[8][2][3]='';      data[8][2][4]='';      data[8][2][5]='';      data[8][2][6]='';       data[8][2][7]='';
    data[8][3][1] = '';      data[8][3][2]='';       data[8][3][3]='';      data[8][3][4]='';      data[8][3][5]='';      data[8][3][6]='';       data[8][3][7]='';
    data[8][4][1] = ''; data[8][4][2]=''; data[8][4][3]=''; data[8][4][4]=''; data[8][4][5]=''; data[8][4][6]='';  data[8][4][7]='';
    data[8][5][1] = '8ReI6'; data[8][5][2]='8ReI12'; data[8][5][3]=''; data[8][5][4]=''; data[8][5][5]=''; data[8][5][6]='';  data[8][5][7]='';
    data[8][6][1] = '8WhI6'; data[8][6][2]='8WhI12'; data[8][6][3]=''; data[8][6][4]=''; data[8][6][5]=''; data[8][6][6]='';  data[8][6][7]='';
    data[8][7][1] = '';      data[8][7][2]='';       data[8][7][3]='';      data[8][7][4]='';      data[8][7][5]='';      data[8][7][6]='';       data[8][7][7]='';
data[8][8][1] = '';      data[8][8][2]='';       data[8][8][3]='';      data[8][8][4]='';      data[8][8][5]='';      data[8][8][6]='';       data[8][8][7]='';
data[8][9][1] = '';      data[8][9][2]='';       data[8][9][3]='';      data[8][9][4]='';      data[8][9][5]='';      data[8][9][6]='';       data[8][9][7]='';

   //Determine the product, size and colors selected
   aFields = document.getElementsByName('Product_Attributes[1]:value');
   if  ( findProdFromSelect(aFields) == '') {
      prod_selected  = getIndex(aFields[0].value,product);
   } else {
      prod_selected  = getIndex(findProdFromSelect(aFields),product);
   }
   doc_size  = document.getElementsByName('Product_Attributes[2]:value');
   size_selected  = getIndex(doc_size[0].value, size_val);
   doc_color = document.getElementsByName('Product_Attributes[3]:value');
   color_selected = getIndex(doc_color[0].value, color_val);
    
 
   //Run code only if a product is selected
   if (prod_selected != null) {

   if (source == 'product') {
         //Remove all options
         removeAllOptions(doc_color[0]); 
         removeAllOptions(doc_size[0]); 

         //Generate option list 

         //Create the color option list 
         createOption(doc_color[0], 0, color_val, color_txt, 0);
         for (i=1; i < data[prod_selected].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], i, '') ) {
               createOption(doc_color[0], i, color_val, color_txt, 0);
            }
         }

         //Create the size option list 
         createOption(doc_size[0], 0, size_val, size_txt, 0);
         for (i=1; i < data[prod_selected][1].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], '', i) ) {
               createOption(doc_size[0], i, size_val, size_txt, 0);
            }
         } 
      }

      //If SIZE is selected double check color selection and update according to matrix
      if  ( (source == 'Size') && (size_selected != 0) )  {
         removeAllOptions(doc_color[0]); 
         createOption(doc_color[0], 0, color_val, color_txt, color_selected);
         for (j = 1; j  < data[prod_selected].length; j++) {
            if (data[prod_selected][j][size_selected].length > 0) {
              createOption(doc_color[0], j, color_val, color_txt, color_selected);
            }
         }
       }

       //If COLOR is selected double check size selection and update according to matrix
      if ( (source == 'Color') && (color_selected != 0) )  {
         removeAllOptions(doc_size[0]); 
         createOption(doc_size[0], 0, size_val, size_txt, size_selected);
         for (j = 1; j  < data[prod_selected][1].length; j++) {
            if (data[prod_selected][color_selected][j].length > 0) {
                createOption(doc_size[0], j, size_val, size_txt, size_selected);
            }
         }
      }

   }
 
}









function checkOptions(source) {


   //Menu Options  
   product   = ['Fitted-ShortSleeve', 'Fitted-LongSleeve','Beater-Tank','Spaghetti-Tank','Raglan','Unisex-ShortSleeve','Maternity-ShortSleeve', 'CottonSpandex-ShortSleeve','CottonSpandex-LongSleeve','Polo-ShortSleeve','Organic-ShortSleeve'] 
   size_val  = ['', 'Small', 'Medium', 'Large', 'XLarge', '2XL', '3XL'];
   size_txt  = ['Select a Size', 'Small', 'Medium', 'Large', 'XLarge', '2XL', '3XL'];
   color_val = [ '', 'BabyBlue', 'Black', 'Brown', 'Fuchsia', 'Lavender', 'Navy', 'Pink', 'Red', 'White', 'White-Pink', 'White-Red', 'Natural']
   color_txt = [ 'Select a Color', 'Baby Blue', 'Black', 'Brown', 'Fuchsia', 'Lavender', 'Navy', 'Pink', 'Red', 'White', 'White/Pink(raglan)', 'White/Red(raglan)', 'Natural'];

   //Initialization of three dimensional data array
   data = new Array(product.length);
   for (i = 0; i < data.length; ++ i) {
      data[i] = new Array(color_val.length);
      for (j = 0; j < data[i].length; ++ j) {
         data[i][j] = new Array(size_val.length) ;
      }
    }
  

    //Fitted Short Sleeve 
    //Put any character in the matrix to activate menu
    //  Small 			Medium 			Large			XL			2XL			3XL
    data[0][1][1] = '0BbSm'; data[0][1][2]='0BbMe'; data[0][1][3]='0BbLa'; data[0][1][4]='0BbXl'; data[0][1][5]='0Bb2x'; data[0][1][6]='';
    data[0][2][1] = '0BlSm'; data[0][2][2]='0BlMe'; data[0][2][3]='0BlLa'; data[0][2][4]='0BlXl'; data[0][2][5]='0Bl2x'; data[0][2][6]='0Bl3x';
    data[0][3][1] = '0BrSm'; data[0][3][2]='0BrMe'; data[0][3][3]='0BrLa'; data[0][3][4]='0BrXl'; data[0][3][5]='0Br2x'; data[0][3][6]='';
    data[0][4][1] = '0FuSm'; data[0][4][2]='0FuMe'; data[0][4][3]='0FuLa'; data[0][4][4]='0FuXl'; data[0][4][5]='0Fu2x'; data[0][4][6]='';
    data[0][5][1] = '0LaSm'; data[0][5][2]='0LaMe'; data[0][5][3]='0LaLa'; data[0][5][4]='0LaXl'; data[0][5][5]='0La2x'; data[0][5][6]='';
    data[0][6][1] = '0NaSm'; data[0][6][2]='0NaMe'; data[0][6][3]='0NaLa'; data[0][6][4]='0NaXl'; data[0][6][5]='0Na2x'; data[0][6][6]='';
	data[0][7][1] = '0PiSm'; data[0][7][2]='0PiMe'; data[0][7][3]='0PiLa'; data[0][7][4]='0PiXl'; data[0][7][5]='0Pi2x'; data[0][7][6]='';
    data[0][8][1] = '0ReSm'; data[0][8][2]='0ReMe'; data[0][8][3]='0ReLa'; data[0][8][4]='0ReXl'; data[0][8][5]='';      data[0][8][6]='';
    data[0][9][1] = '0WhSm'; data[0][9][2]='0WhMe'; data[0][9][3]='0WhLa'; data[0][9][4]='0WhXl'; data[0][9][5]='0Wh2x'; data[0][9][6]='0Wh3x';
    data[0][10][1] = '';     data[0][10][2]='';     data[0][10][3]='';     data[0][10][4]='';     data[0][10][5]='';     data[0][10][6]=''; 
	data[0][11][1] = '';     data[0][11][2]='';     data[0][11][3]='';     data[0][11][4]='';     data[0][11][5]='';     data[0][11][6]=''; 
	data[0][12][1] = '';     data[0][12][2]='';     data[0][12][3]='';     data[0][12][4]='';     data[0][12][5]='';     data[0][12][6]=''; 
    //Fitted Long Sleeve
    data[1][1][1] = '1BbSm'; data[1][1][2]='1BbMe'; data[1][1][3]='1BbLa'; data[1][1][4]='1BbXl'; data[1][1][5]='';      data[1][1][6]='';
    data[1][2][1] = '1BlSm'; data[1][2][2]='1BlMe'; data[1][2][3]='1BlLa'; data[1][2][4]='1BlXl'; data[1][2][5]='1Bl2x';      data[1][2][6]='1Bl3x';
    data[1][3][1] = '1BrSm'; data[1][3][2]='1BrMe'; data[1][3][3]='1BrLa'; data[1][3][4]='1BrXl'; data[1][3][5]='';      data[1][3][6]='';
    data[1][4][1] = '';      data[1][4][2]='';      data[1][4][3]='';      data[1][4][4]='';      data[1][4][5]='';      data[1][4][6]='';
    data[1][5][1] = '1LaSm'; data[1][5][2]='1LaMe'; data[1][5][3]='1LaLa'; data[1][5][4]='1LaXl'; data[1][5][5]='';      data[1][5][6]='';
    data[1][6][1] = '1NaSm'; data[1][6][2]='1NaMe'; data[1][6][3]='1NaLa'; data[1][6][4]='1NaXl'; data[1][6][5]='';      data[1][6][6]='';
	data[1][7][1] = '1PiSm'; data[1][7][2]='1PiMe'; data[1][7][3]='1PiLa'; data[1][7][4]='1PiXl'; data[1][7][5]='';      data[1][7][6]='';
    data[1][8][1] = '1ReSm'; data[1][8][2]='1ReMe'; data[1][8][3]='1ReLa'; data[1][8][4]='1ReXl'; data[1][8][5]='';      data[1][8][6]='';
    data[1][9][1] = '1WhSm'; data[1][9][2]='1WhMe'; data[1][9][3]='1WhLa'; data[1][9][4]='1WhXl'; data[1][9][5]='1Wh2x'; data[1][9][6]='1Wh3x';
    data[1][10][1] = '';     data[1][10][2]='';     data[1][10][3]='';     data[1][10][4]='';     data[1][10][5]='';     data[1][10][6]=''; 
	data[1][11][1] = '';     data[1][11][2]='';     data[1][11][3]='';     data[1][11][4]='';     data[1][11][5]='';     data[1][11][6]=''; 
		data[1][12][1] = '';     data[1][12][2]='';     data[1][12][3]='';     data[1][12][4]='';     data[1][12][5]='';     data[1][12][6]=''; 
    //Beater Tank
    data[2][1][1] = '2BbSm'; data[2][1][2]='2BbMe'; data[2][1][3]='2BbLa'; data[2][1][4]='2BbXl'; data[2][1][5]='2Bb2x'; data[2][1][6]='';
    data[2][2][1] = '2BlSm'; data[2][2][2]='2BlMe'; data[2][2][3]='2BlLa'; data[2][2][4]='2BlXl'; data[2][2][5]='2Bl2x'; data[2][2][6]='';
    data[2][3][1] = '2BrSm'; data[2][3][2]='2BrMe'; data[2][3][3]='2BrLa'; data[2][3][4]='2BrXl'; data[2][3][5]='2Br2x'; data[2][3][6]='';
    data[2][4][1] = '2FuSm'; data[2][4][2]='2FuMe'; data[2][4][3]='2FuLa'; data[2][4][4]='2FuXl'; data[2][4][5]='2Fu2x'; data[2][4][6]='';
    data[2][5][1] = '2LaSm'; data[2][5][2]='2LaMe'; data[2][5][3]='2LaLa'; data[2][5][4]='2LaXl'; data[2][5][5]='2La2x'; data[2][5][6]='';
    data[2][6][1] = '2NaSm'; data[2][6][2]='2NaMe'; data[2][6][3]='2NaLa'; data[2][6][4]='2NaXl'; data[2][6][5]='2Na2x'; data[2][6][6]='';
	data[2][7][1] = '2PiSm'; data[2][7][2]='2PiMe'; data[2][7][3]='2PiLa'; data[2][7][4]='2PiXl'; data[2][7][5]='2Pi2x'; data[2][7][6]=''
    data[2][8][1] = '2ReSm'; data[2][8][2]='2ReMe'; data[2][8][3]='2ReLa'; data[2][8][4]='2ReXl'; data[2][8][5]='2Re2x'; data[2][8][6]='';
    data[2][9][1] = '2WhSm'; data[2][9][2]='2WhMe'; data[2][9][3]='2WhLa'; data[2][9][4]='2WhXl'; data[2][9][5]='2Wh2x'; data[2][9][6]='';
    data[2][10][1] = '';     data[2][10][2]='';     data[2][10][3]='';     data[2][10][4]='';     data[2][10][5]='';     data[2][10][6]=''; 
	data[2][11][1] = '';     data[2][11][2]='';     data[2][11][3]='';     data[2][11][4]='';     data[2][11][5]='';     data[2][11][6]=''; 
	data[2][12][1] = '';     data[2][12][2]='';     data[2][12][3]='';     data[2][12][4]='';     data[2][12][5]='';     data[2][12][6]=''; 
    //Spaghetti Tank
    data[3][1][1] = '3BbSm'; data[3][1][2]='3BbMe'; data[3][1][3]='3BbLa'; data[3][1][4]='3BbXl'; data[3][1][5]='';      data[3][1][6]='';
    data[3][2][1] = '3BlSm'; data[3][2][2]='3BlMe'; data[3][2][3]='3BlLa'; data[3][2][4]='3BlXl'; data[3][2][5]='';      data[3][2][6]='';
    data[3][3][1] = '3BrSm'; data[3][3][2]='3BrMe'; data[3][3][3]='3BrLa'; data[3][3][4]='3BrXl'; data[3][3][5]='';      data[3][3][6]='';
    data[3][4][1] = '3FuSm'; data[3][4][2]='3FuMe'; data[3][4][3]='3FuLa'; data[3][4][4]='3FuXl'; data[3][4][5]='';      data[3][4][6]='';
    data[3][5][1] = '3LaSm'; data[3][5][2]='3LaMe'; data[3][5][3]='3LaLa'; data[3][5][4]='3LaXl'; data[3][5][5]='';      data[3][5][6]='';
    data[3][6][1] = '3NaSm'; data[3][6][2]='3NaMe'; data[3][6][3]='3NaLa'; data[3][6][4]='3NaXl'; data[3][6][5]='';      data[3][6][6]='';
	data[3][7][1] = '3PiSm'; data[3][7][2]='3PiMe'; data[3][7][3]='3PiLa'; data[3][7][4]='3PiXl'; data[3][7][5]='';      data[3][7][6]='';
    data[3][8][1] = '3ReSm'; data[3][8][2]='3ReMe'; data[3][8][3]='3ReLa'; data[3][8][4]='3ReXl'; data[3][8][5]='';      data[3][8][6]='';
    data[3][9][1] = '3WhSm'; data[3][9][2]='3WhMe'; data[3][9][3]='3WhLa'; data[3][9][4]='3WhXl'; data[3][9][5]='';      data[3][9][6]='';
    data[3][10][1] = '';     data[3][10][2]='';     data[3][10][3]='';     data[3][10][4]='';     data[3][10][5]='';     data[3][10][6]=''; 
	data[3][11][1] = '';     data[3][11][2]='';     data[3][11][3]='';     data[3][11][4]='';     data[3][11][5]='';     data[3][11][6]=''; 
		data[3][12][1] = '';     data[3][12][2]='';     data[3][12][3]='';     data[3][12][4]='';     data[3][12][5]='';     data[3][12][6]=''; 
    //3/4 Length Raglan 
    data[4][1][1] = '';      data[4][1][2]='';      data[4][1][3]='';      data[4][1][4]='';      data[4][1][5]='';      data[4][1][6]='';
    data[4][2][1] = '4BlSm'; data[4][2][2]='4BlMe'; data[4][2][3]='4BlLa'; data[4][2][4]='4BlXl'; data[4][2][5]='';      data[4][2][6]='';
    data[4][3][1] = '';      data[4][3][2]='';      data[4][3][3]='';      data[4][3][4]='';      data[4][3][5]='';      data[4][3][6]='';
    data[4][4][1] = '';      data[4][4][2]='';      data[4][4][3]='';      data[4][4][4]='';      data[4][4][5]='';      data[4][4][6]='';
    data[4][5][1] = '';      data[4][5][2]='';      data[4][5][3]='';      data[4][5][4]='';      data[4][5][5]='';      data[4][5][6]='';
    data[4][6][1] = '';      data[4][6][2]='';      data[4][6][3]='';      data[4][6][4]='';      data[4][6][5]='';      data[4][6][6]='';
	data[4][7][1] = '';      data[4][7][2]='';      data[4][7][3]='';      data[4][7][4]='';      data[4][7][5]='';      data[4][7][6]='';
    data[4][8][1] = '';      data[4][8][2]='';      data[4][8][3]='';      data[4][8][4]='';      data[4][8][5]='';      data[4][8][6]='';
    data[4][9][1] = '4WhSm'; data[4][9][2]='4WhMe'; data[4][9][3]='4WhLa'; data[4][9][4]='4WhXl'; data[4][9][5]='';      data[4][9][6]='';
    data[4][10][1] = '4WpSm'; data[4][10][2]='4WpMe'; data[4][10][3]='4WpLa'; data[4][10][4]='4WpXl'; data[4][10][5]=''; data[4][10][6]='';
	data[4][11][1] = '4WrSm'; data[4][11][2]='4WrMe'; data[4][11][3]='4WrLa'; data[4][11][4]='4WrXl'; data[4][11][5]=''; data[4][11][6]='';
		data[4][12][1] = ''; data[4][12][2]=''; data[4][12][3]=''; data[4][12][4]=''; data[4][12][5]=''; data[4][12][6]='';
    //Unisex
    data[5][1][1] = '5BbSm'; data[5][1][2]='5BbMe'; data[5][1][3]='5BbLa'; data[5][1][4]='5BbXl'; data[5][1][5]='5Bb2x'; data[5][1][6]='5Bb3x';
    data[5][2][1] = '5BlSm'; data[5][2][2]='5BlMe'; data[5][2][3]='5BlLa'; data[5][2][4]='5BlXl'; data[5][2][5]='5Bl2x'; data[5][2][6]='5Bl3x';
    data[5][3][1] = '5BrSm'; data[5][3][2]='5BrMe'; data[5][3][3]='5BrLa'; data[5][3][4]='5BrXl'; data[5][3][5]='5Br2x'; data[5][3][6]='5Br3x';
    data[5][4][1] = '5FuSm'; data[5][4][2]='5FrMe'; data[5][4][3]='5FuLa'; data[5][4][4]='5FuXl'; data[5][4][5]='5Fu2x'; data[5][4][6]='5Fu3x';
    data[5][5][1] = '';      data[5][5][2]='';      data[5][5][3]='';      data[5][5][4]='';      data[5][5][5]='';      data[5][5][6]='';
    data[5][6][1] = '5NaSm'; data[5][6][2]='5NaMe'; data[5][6][3]='5NaLa'; data[5][6][4]='5NaXl'; data[5][6][5]='5Na2x'; data[5][6][6]='5Na3x';
	data[5][7][1] = '5PiSm'; data[5][7][2]='5PiMe'; data[5][7][3]='5PiLa'; data[5][7][4]='5PiXl'; data[5][7][5]='5Pi2x'; data[5][7][6]='5Pi3x';
    data[5][8][1] = '5ReSm'; data[5][8][2]='5ReMe'; data[5][8][3]='5ReLa'; data[5][8][4]='5ReXl'; data[5][8][5]='5Re2x'; data[5][8][6]='5Re3x';
    data[5][9][1] = '5WhSm'; data[5][9][2]='5WhMe'; data[5][9][3]='5WhLa'; data[5][9][4]='5WhXl'; data[5][9][5]='5Wh2x'; data[5][9][6]='5Wh3x';
    data[5][10][1] = '';     data[5][10][2]='';     data[5][10][3]='';     data[5][10][4]='';     data[5][10][5]='';     data[5][10][6]='';
	data[5][11][1] = '';     data[5][11][2]='';     data[5][11][3]='';     data[5][11][4]='';     data[5][11][5]='';     data[5][11][6]='';
		data[5][12][1] = '';     data[5][12][2]='';     data[5][12][3]='';     data[5][12][4]='';     data[5][12][5]='';     data[5][12][6]='';
    //Maternity Tee
    data[6][1][1] = '';      data[6][1][2]='';      data[6][1][3]='';      data[6][1][4]='';      data[6][1][5]='';      data[6][1][6]='';
    data[6][2][1] = '6BlSm'; data[6][2][2]='6BlMe'; data[6][2][3]='6BlLa'; data[6][2][4]='6BlXl'; data[6][2][5]='';      data[6][2][6]='';
    data[6][3][1] = '';      data[6][3][2]='';      data[6][3][3]='';      data[6][3][4]='';      data[6][3][5]='';      data[6][3][6]='';
    data[6][4][1] = '';      data[6][4][2]='';      data[6][4][3]='';      data[6][4][4]='';      data[6][4][5]='';      data[6][4][6]='';
    data[6][5][1] = '';      data[6][5][2]='';      data[6][5][3]='';      data[6][5][4]='';      data[6][5][5]='';      data[6][5][6]='';
    data[6][6][1] = '';      data[6][6][2]='';      data[6][6][3]='';      data[6][6][4]='';      data[6][6][5]='';      data[6][6][6]='';
	data[6][7][1] = '';      data[6][7][2]='';      data[6][7][3]='';      data[6][7][4]='';      data[6][7][5]='';      data[6][7][6]='';
    data[6][8][1] = '';      data[6][8][2]='';      data[6][8][3]='';      data[6][8][4]='';      data[6][8][5]='';      data[6][8][6]='';
    data[6][9][1] = '6WhSm'; data[6][9][2]='6WhMe'; data[6][9][3]='6WhLa'; data[6][9][4]='6WhXl'; data[6][9][5]='';      data[6][9][6]='';
    data[6][10][1] = '';     data[6][10][2]='';     data[6][10][3]='';     data[6][10][4]='';     data[6][10][5]='';     data[6][10][6]=''; 
	data[6][11][1] = '';     data[6][11][2]='';     data[6][11][3]='';     data[6][11][4]='';     data[6][11][5]='';     data[6][11][6]=''; 
		data[6][12][1] = '';     data[6][12][2]='';     data[6][12][3]='';     data[6][12][4]='';     data[6][12][5]='';     data[6][12][6]=''; 
    //Cotton Spandex Short Sleeve
    data[7][1][1] = '';      data[7][1][2]='';      data[7][1][3]='';      data[7][1][4]='';      data[7][1][5]='';      data[7][1][6]='';
    data[7][2][1] = '7BlSm'; data[7][2][2]='7BlMe'; data[7][2][3]='7BlLa'; data[7][2][4]='7BlXl'; data[7][2][5]='7Bl2x'; data[7][2][6]='';
    data[7][3][1] = '';      data[7][3][2]='';      data[7][3][3]='';      data[7][3][4]='';      data[7][3][5]='';      data[7][3][6]='';
    data[7][4][1] = '';      data[7][4][2]='';      data[7][4][3]='';      data[7][4][4]='';      data[7][4][5]='';      data[7][4][6]='';
    data[7][5][1] = '';      data[7][5][2]='';      data[7][5][3]='';      data[7][5][4]='';      data[7][5][5]='';      data[7][5][6]='';
    data[7][6][1] = '';      data[7][6][2]='';      data[7][6][3]='';      data[7][6][4]='';      data[7][6][5]='';      data[7][6][6]='';
	data[7][7][1] = '7PiSm'; data[7][7][2]='7PiMe'; data[7][7][3]='7PiLa'; data[7][7][4]='7PiXl'; data[7][7][5]='7Pi2x'; data[7][7][6]='';
    data[7][8][1] = '8ReSm';      data[7][8][2]='8ReMe';      data[7][8][3]='8ReLa';      data[7][8][4]='8ReXl';      data[7][8][5]='8Re2x';      data[7][8][6]='';
    data[7][9][1] = '7WhSm'; data[7][9][2]='7WhMe'; data[7][9][3]='7WhLa'; data[7][9][4]='7WhXl'; data[7][9][5]='7Wh2x'; data[7][9][6]='';
    data[7][10][1] = '';     data[7][10][2]='';     data[7][10][3]='';     data[7][10][4]='';     data[7][10][5]='';     data[7][10][6]=''; 
	data[7][11][1] = '';     data[7][11][2]='';     data[7][11][3]='';     data[7][11][4]='';     data[7][11][5]='';     data[7][11][6]=''; 
		data[7][12][1] = '';     data[7][12][2]='';     data[7][12][3]='';     data[7][12][4]='';     data[7][12][5]='';     data[7][12][6]=''; 
    //Cotton Spandex Long Sleeve
    data[8][1][1] = '';      data[8][1][2]='';      data[8][1][3]='';      data[8][1][4]='';      data[8][1][5]='';      data[8][1][6]='';
    data[8][2][1] = '7BlSm'; data[8][2][2]='7BlMe'; data[8][2][3]='7BlLa'; data[8][2][4]='7BlXl'; data[8][2][5]='7Bl2x'; data[8][2][6]='';
    data[8][3][1] = '';      data[8][3][2]='';      data[8][3][3]='';      data[8][3][4]='';      data[8][3][5]='';      data[8][3][6]='';
    data[8][4][1] = '';      data[8][4][2]='';      data[8][4][3]='';      data[8][4][4]='';      data[8][4][5]='';      data[8][4][6]='';
    data[8][5][1] = '';      data[8][5][2]='';      data[8][5][3]='';      data[8][5][4]='';      data[8][5][5]='';      data[8][5][6]='';
    data[8][6][1] = '';      data[8][6][2]='';      data[8][6][3]='';      data[8][6][4]='';      data[8][6][5]='';      data[8][6][6]='';
	data[8][7][1] = '7PiSm'; data[8][7][2]='7PiMe'; data[8][7][3]='7PiLa'; data[8][7][4]='7PiXl'; data[8][7][5]='7Pi2x'; data[8][7][6]='';
    data[8][8][1] = '';      data[8][8][2]='';      data[8][8][3]='';      data[8][8][4]='';      data[8][8][5]='';      data[8][8][6]='';
    data[8][9][1] = '7WhSm'; data[8][9][2]='7WhMe'; data[8][9][3]='7WhLa'; data[8][9][4]='7WhXl'; data[8][9][5]='7Wh2x'; data[8][9][6]='';
    data[8][10][1] = '';     data[8][10][2]='';     data[8][10][3]='';     data[8][10][4]='';     data[8][10][5]='';     data[8][10][6]=''; 
	data[8][11][1] = '';     data[8][11][2]='';     data[8][11][3]='';     data[8][11][4]='';     data[8][11][5]='';     data[8][11][6]='';
		data[8][12][1] = '';     data[8][12][2]='';     data[8][12][3]='';     data[8][12][4]='';     data[8][12][5]='';     data[8][12][6]='';
    //Polo Short Sleeve
    data[9][1][1] = '';      data[9][1][2]='';      data[9][1][3]='';      data[9][1][4]='';      data[9][1][5]='';      data[9][1][6]='';
    data[9][2][1] = '7BlSm'; data[9][2][2]='7BlMe'; data[9][2][3]='7BlLa'; data[9][2][4]='7BlXl'; data[9][2][5]='7Bl2x'; data[9][2][6]='';
    data[9][3][1] = '';      data[9][3][2]='';      data[9][3][3]='';      data[9][3][4]='';      data[9][3][5]='';      data[9][3][6]='';
    data[9][4][1] = '';      data[9][4][2]='';      data[9][4][3]='';      data[9][4][4]='';      data[9][4][5]='';      data[9][4][6]='';
    data[9][5][1] = '';      data[9][5][2]='';      data[9][5][3]='';      data[9][5][4]='';      data[9][5][5]='';      data[9][5][6]='';
    data[9][6][1] = '';      data[9][6][2]='';      data[9][6][3]='';      data[9][6][4]='';      data[9][6][5]='';      data[9][6][6]='';
	data[9][7][1] = '';      data[9][7][2]='';      data[9][7][3]='';      data[9][7][4]='';      data[9][7][5]='';      data[9][7][6]='';
    data[9][8][1] = '';      data[9][8][2]='';      data[9][8][3]='';      data[9][8][4]='';      data[9][8][5]='';      data[9][8][6]='';
    data[9][9][1] = '7WhSm'; data[9][9][2]='7WhMe'; data[9][9][3]='7WhLa'; data[9][9][4]='7WhXl'; data[9][9][5]='7Wh2x'; data[9][9][6]='';
    data[9][10][1] = '';     data[9][10][2]='';     data[9][10][3]='';     data[9][10][4]='';     data[9][10][5]='';     data[9][10][6]=''; 
	data[9][11][1] = '';     data[9][11][2]='';     data[9][11][3]='';     data[9][11][4]='';     data[9][11][5]='';     data[9][11][6]='';
		data[9][12][1] = '';     data[9][12][2]='';     data[9][12][3]='';     data[9][12][4]='';     data[9][12][5]='';     data[9][12][6]='';
	//Organic Short Sleeve
    data[10][1][1] = '';      data[10][1][2]='';      data[10][1][3]='';      data[10][1][4]='';      data[10][1][5]='';      data[10][1][6]='';
    data[10][2][1] = '';      data[10][2][2]='';      data[10][2][3]='';      data[10][2][4]='';      data[10][2][5]='';      data[10][2][6]='';
    data[10][3][1] = '';      data[10][3][2]='';      data[10][3][3]='';      data[10][3][4]='';      data[10][3][5]='';      data[10][3][6]='';
    data[10][4][1] = '';      data[10][4][2]='';      data[10][4][3]='';      data[10][4][4]='';      data[10][4][5]='';      data[10][4][6]='';
    data[10][5][1] = '';      data[10][5][2]='';      data[10][5][3]='';      data[10][5][4]='';      data[10][5][5]='';      data[10][5][6]='';
    data[10][6][1] = '';      data[10][6][2]='';      data[10][6][3]='';      data[10][6][4]='';      data[10][6][5]='';      data[10][6][6]='';
	data[10][7][1] = '';      data[10][7][2]='';      data[10][7][3]='';      data[10][7][4]='';      data[10][7][5]='';      data[10][7][6]='';
    data[10][8][1] = '';      data[10][8][2]='';      data[10][8][3]='';      data[10][8][4]='';      data[10][8][5]='';      data[10][8][6]='';
    data[10][9][1] = ''; data[10][9][2]=''; data[10][9][3]=''; data[10][9][4]=''; data[10][9][5]=''; data[10][9][6]='';
    data[10][10][1] = '';     data[10][10][2]='';     data[10][10][3]='';     data[10][10][4]='';     data[10][10][5]='';     data[10][10][6]=''; 
	data[10][11][1] = '';     data[10][11][2]='';     data[10][11][3]='';     data[10][11][4]='';     data[10][11][5]='';     data[10][11][6]='';
data[10][12][1] = '7NaSm';     data[10][12][2]='7NaMe';     data[10][12][3]='7NaLa';     data[10][12][4]='7NaXl';     data[10][12][5]='';     data[10][12][6]='';
	
   //Determine the product, size and colors selected
   aFields = document.getElementsByName('Product_Attributes[1]:value');
   if  ( findProdFromSelect(aFields) == '') {
      prod_selected  = getIndex(aFields[0].value,product);
   } else {
      prod_selected  = getIndex(findProdFromSelect(aFields),product);
   }
   doc_size  = document.getElementsByName('Product_Attributes[2]:value');
   size_selected  = getIndex(doc_size[0].value, size_val);
   doc_color = document.getElementsByName('Product_Attributes[3]:value');
   color_selected = getIndex(doc_color[0].value, color_val);
    
 
   //Run code only if a product is selected
   if (prod_selected != null) {

   if (source == 'product') {
         //Remove all options
         removeAllOptions(doc_color[0]); 
         removeAllOptions(doc_size[0]); 

         //Generate option list 

         //Create the color option list 
         createOption(doc_color[0], 0, color_val, color_txt, 0);
         for (i=1; i < data[prod_selected].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], i, '') ) {
               createOption(doc_color[0], i, color_val, color_txt, 0);
            }
         }

         //Create the size option list 
         createOption(doc_size[0], 0, size_val, size_txt, 0);
         for (i=1; i < data[prod_selected][1].length; i++ ) {
            //If value exist create option 
            if (checkCreateColorSizeOption(data[prod_selected], '', i) ) {
               createOption(doc_size[0], i, size_val, size_txt, 0);
            }
         } 
      }

      //If SIZE is selected double check color selection and update according to matrix
      if  ( (source == 'Size') && (size_selected != 0) )  {
         removeAllOptions(doc_color[0]); 
         createOption(doc_color[0], 0, color_val, color_txt, color_selected);
         for (j = 1; j  < data[prod_selected].length; j++) {
            if (data[prod_selected][j][size_selected].length > 0) {
              createOption(doc_color[0], j, color_val, color_txt, color_selected);
            }
         }
       }

       //If COLOR is selected double check size selection and update according to matrix
      if ( (source == 'Color') && (color_selected != 0) )  {
         removeAllOptions(doc_size[0]); 
         createOption(doc_size[0], 0, size_val, size_txt, size_selected);
         for (j = 1; j  < data[prod_selected][1].length; j++) {
            if (data[prod_selected][color_selected][j].length > 0) {
                createOption(doc_size[0], j, size_val, size_txt, size_selected);
            }
         }
      }

   }
 
}

//Function to hide the letter count drop down menu and set product with to 150 for consistency
function hideLineCount() {

   //Replaces the letter count drop down with a note
   aFields = document.getElementById('hide_me');
   aFields.style.visibility = 'hidden'; 

   doc_color = document.getElementsByName('Product_Attributes[3]:value');
   doc_color[0].style.width = '150px'; 


   //Put the replacement comment when drop down is hidden
   aFields = document.getElementById('replace');
   var x=aFields.insertCell(0);
   x.colSpan="3";
   x.style.fontSize="15px";
   x.innerHTML="Additional Letter Charges will be Added in Cart";

}



//Function to create the option menu
function createOption(doc, index, value, text, selected ) {
   optn = document.createElement("OPTION");
   optn.text = text[index];
   optn.value = value[index];

   if (doc.name == 'Product_Attributes[3]:value')
      optn.style.width = '150px';

    doc.options.add(optn);      

    if (index == selected){
       doc.selectedIndex= doc.options.length-1;
    } 

}

//Function to check if combination is valid
function checkCreateColorSizeOption(data, color, size) {
   check = false;
   if (size.length == 0 ) {
      for (j = 1; j  < data[color].length; j++) {
         if (data[color][j].length > 0) {
            check=true;
         }
      }
   } else if (color.length == 0 ) {
      for (j = 1; j  < data.length; j++) {
        if (data[j][size].length > 0) {
           check=true;
         }
      }
   }
   return check; 
}

//Finds the product from a radio button
function findProdFromSelect(aFields) {
     for (i=0; i < aFields.length; i++ ) {
        if (typeof(aFields[i]) !== 'undefined') { 
           if (aFields[i].checked == true) {
              return   aFields[i].value;
           } 
        }
     }
          return '';
}

//Get the index in an array given a value
function getIndex(selected_value, array_list) {
   for (i=0; i < array_list.length; i++ ) {
     if ( array_list[i]==selected_value ) {
         return i;
     }
   }
         return;
}

//Deletes the Option menu
function removeAllOptions(selectbox)
{
   var i;
   for(i=selectbox.options.length-1;i>=0;i--)
   {
      selectbox.remove(i);
   }
}

