function cb_click(cb, event) {
  var _container = cb.parentElement.parentElement;
  if (cb.checked == true)
    {
      for (var i=0;_container.cells[i]!=null;i++)
      {
       _container.cells[i].style.backgroundColor = "Beige";
      }
      
      var cmdadd = document.getElementById(cmdAdd_clientId);
      var cmdadd2 = document.getElementById(cmdAdd2_clientId);
      var cmdUnCheckAll = document.getElementById(cmdUnCheckAll_clientId);
      if (cmdadd != null) cmdadd.disabled = false;
      if (cmdadd2 != null) cmdadd2.disabled = false;
      if (cmdUnCheckAll != null) cmdUnCheckAll.disabled = false;
    }
    else
    {
      for (var i=0;_container.cells[i]!=null;i++)
      {
       _container.cells[i].style.backgroundColor = "White";
      }
    }
  return (false);
}

function cmdCheckAll_Click() {
  var doThis = true;
  var flag=false;
  for (var t=1 ; doThis==true ; t++) {
    var strBundleTable_clientId = 'bundleTable'+t.toString();
    var dgBundleTable = document.getElementById(strBundleTable_clientId);
    if (dgBundleTable != null) {
      var rows = dgBundleTable.children[0].children;
      //Counting of rows begins with row 1, since row 0 is the header (for javascript)
      for (var i=1 ; i<=rows.length-1 ; i++) {
		    rows[i].children[0].children[0].checked = true;
		    for (var j=0;rows[i].cells[j]!=null;j++) 
        {
         rows[i].cells[j].style.backgroundColor = "Beige";
        }
		    flag=true;
      }
    }
    else
    {
      doThis=false;
    }
  }
  if (flag==true) {
    var cmdUncheckAll = document.getElementById(cmdUnCheckAll_clientId);
    var cmdAdd2 = document.getElementById(cmdAdd2_clientId);
    var cmdAdd = document.getElementById(cmdAdd_clientId);
    cmdUncheckAll.disabled = false;
    cmdAdd.disabled = false;
    cmdAdd2.disabled = false;
  }
  return (false);
}

function cmdUnCheckAll_Click() {
  var doThis = true;
  for (var t=1 ; doThis==true ; t++) {
    var strBundleTable_clientId = 'bundleTable'+t.toString();
    var dgBundleTable = document.getElementById(strBundleTable_clientId);
    if (dgBundleTable != null) {
      var rows = dgBundleTable.children[0].children;
      //Counting of rows begins with row 1, since row 0 is the header (for javascript)
      for (var i=1 ; i<=rows.length-1 ; i++) {
		    rows[i].children[0].children[0].checked = false;
		    for (var j=0;rows[i].cells[j]!=null;j++)
        {
         rows[i].cells[j].style.backgroundColor = "White";
        }
      }
    }
    else
    {
      doThis=false;
    }
  }
  var cmdUncheckAll = document.getElementById(cmdUnCheckAll_clientId);
  var cmdAdd2 = document.getElementById(cmdAdd2_clientId);
  var cmdAdd = document.getElementById(cmdAdd_clientId);
  cmdUncheckAll.disabled = true;
  cmdAdd.disabled = true;
  cmdAdd2.disabled = true;
  return (false);
}

// a user clicks the Add Button To Cart button item the shopping cart
// calls a method in ../commom/controls/ctlBundlesMasterDetailGrip.ascx.vb 
function cmdAdd_Click() {
  var rowNumber = 0;
  var item=[];
  var arrItems=[];
  var XMLItems="<carItems>";
  var doThis = true;  
  var str; // used to parse the product id from items url string 
  
  for (var t=1 ; doThis==true ; t++) {
    var strBundleTable_clientId = 'bundleTable'+t.toString();
    var dgBundleTable = document.getElementById(strBundleTable_clientId);
    if (dgBundleTable != null) {
      var rows = dgBundleTable.children[0].children;
      //Counting of rows begins with row 1, since row 0 is the header (for javascript)
      for (var i=1 ; i<=rows.length-1 ; i++) {
        if (rows[i].children[0].children[0].checked == true) {
          XMLItems+="<carItem>";
          XMLItems+="<ProductId>";
          
          //get and save the product id , from the item's url string
          //cells[0]->SELECT checkbox, 
          //cells[1]->COURSE NUMBER, 
          //cells[2]->Course Name (with hyperlinks), 
          //cells[3]->Expected duration, 
          //cells[4]->Titles, 
          //cells[5]->Price, 
          //cells[6]->ProductId/BundleId (INVISIBLE)
          str = rows[i].cells[2].innerHTML; // ProductName url
          str = str.split('"') 
          str = str[1].split("=")                    
          prodId = str[1]
          
          XMLItems+= prodId  
          XMLItems+="</ProductId>";
          XMLItems+="<Price>";
          XMLItems+= rows[i].cells[5].innerText; // Price
          XMLItems+="</Price>";
          XMLItems+="<ProductNumber>";
          XMLItems+= rows[i].cells[1].innerText; // ProductNumber          
          XMLItems+="</ProductNumber>";
          XMLItems+="<ProductName>";
          XMLItems+= rows[i].cells[2].innerText; // ProductName          
          XMLItems+="</ProductName>";
          XMLItems+="<bundleTableNumber>";
          XMLItems+= t.toString(); // 
          XMLItems+="</bundleTableNumber>";
          XMLItems+="<rowNumber>";
          XMLItems+= i.toString(); // 
          XMLItems+="</rowNumber>";
          XMLItems+="</carItem>";
          rowNumber += 1;
        }
      }
    }
    else
    {
      doThis=false;
    }
  }
  
  XMLItems+="</carItems>";
   
  //calls the function below located in  /common/controls/ctlBundlesMasterDetailGrid.ascx.vb
  //<AjaxPro.AjaxMethod(HttpSessionStateRequirement.ReadWrite)> _
  //Public Function SetArrItems(ByVal XMLItems As String) As Integer   
  //adds item(s) to the session 
  var retval = common_controls_ctlBundlesMasterDetailGrid.SetArrItems(XMLItems);
  //go on to "view cart" --> return true
  return (true); 
}

function rebuildCbNoPostback(XMLItems) {
  if (XMLItems != '') {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(XMLItems);
    
    var bundleTables = xmlDoc.getElementsByTagName('bundleTableNumber');
    var rowNumbers = xmlDoc.getElementsByTagName('rowNumber');
    var productIds = xmlDoc.getElementsByTagName('ProductId');
    
    for (i=0 ; i<bundleTables.length ; i++) {
      var t = xmlDoc.getElementsByTagName("bundleTableNumber")[i].childNodes[0].nodeValue;
      var j = xmlDoc.getElementsByTagName("rowNumber")[i].childNodes[0].nodeValue - 0;
      var productid = xmlDoc.getElementsByTagName("ProductId")[i].childNodes[0].nodeValue;
      
      var strBundleTable_clientId = 'bundleTable'+t;
      var dgBundleTable = document.getElementById(strBundleTable_clientId);
      if (dgBundleTable != null) {
        var rows = dgBundleTable.children[0].children;
        if (rows[j] != null) {
          // Check if 6th cell (ProductId/BundleId (INVISIBLE)) 
          if (rows[j].cells[6].innerText==productid) {
            // Check if checkbox value of the checkbox
            rows[j].children[0].children[0].checked = true;
            // Check background color of the row with the checkbox marked
            for (var m=0 ; rows[j].cells[m]!=null ; m++) {
              rows[j].cells[m].style.backgroundColor = "Beige";
            }
          }
        }
      }
    }

    var cmdUncheckAll = document.getElementById(cmdUnCheckAll_clientId);
    var cmdAdd2 = document.getElementById(cmdAdd2_clientId);
    var cmdAdd = document.getElementById(cmdAdd_clientId);

    cmdUncheckAll.disabled = false;
    cmdAdd.disabled = false;
    cmdAdd2.disabled = false;
  }
  return (true);
}
