
var shopCurrentCategoryId = -1;
var shopDesiredCategoryId = -1;
var shopDesiredPubsCategoryId = -1;
var shopDesiredPubsTitleId = -1;

var shopReturningFromSPS = false;

function shopHomeCategorySelected(categoryId)
{
  shopMenuBusy = false;
  if (sessionId || autoLogin())
  {
    ajaxAbort();
    setPanelLoadingSignal("middlePanel");
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=order", "", "",
      function() {
        if (validAccess())
        {
          updatePanelContent("rightPanel", ajaxResponseText);
          ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=orderItems", "orderItemsListing", "", 
            function() {
              ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=orderTotals", "", "", 
                function() {
                  updateOrderTotals();
                  orderItemSelectedId = 0;
                  ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=menu", "", "", 
                    function() {
                      shopCurrentCategoryId = categoryId;
                      updatePanelContent("leftPanel", ajaxResponseText);
                      menu.submenuIdPrefix = "shopMenuLevel1Submenu";
                      menu.setup();
                      menu.onReady = "shopMenuReady()";
                      document.getElementById("shopMenuContainer").style.visibility = "visible";
                      if (shopReturningFromSPS)
                      {
                        shopReturningFromSPS = false;
                        shopOrdersHistory('middlePanel');
                      }
                      else
                      {
                        ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=checkDeliveryData", "", "", 
                          function() {
                            if (ajaxResponseText)
                            {
                              eval("var obj = " + ajaxResponseText);
                              if (obj.result == "OK")
                                document.getElementById("shopMenuLevel1Item" + categoryId).onclick();
                              else
                              {
                                ajaxGetText(registrationApp + "?sessionId=" + sessionId + "&content=deliveryDataForm", "", "", 
                                  function() {
                                    updatePanelContent("middlePanel", ajaxResponseText);
                                  }
                                );
                              }
                            }
                          }
                        );
                      }
                    }
                  );
                }
              );
            }
          );
        }
      }
    );
  }
  else
  {
    shopDesiredCategoryId = categoryId;
    showLoginDialog();
  }
}

var shopMenuLevel1SelectedItem = null;
var shopMenuBusy = false;

function shopMenuCategorySelected(categoryId)
{
  if (shopMenuBusy || ajaxBusy()) return;
  shopMenuBusy = true;
  setElementSelected(shopMenuLevel3SelectedItem, null);
  shopMenuLevel3SelectedItem = null;
  var elem = document.getElementById("shopMenuLevel1Item" + categoryId);
  setElementSelected(shopMenuLevel1SelectedItem, elem);
  shopMenuLevel1SelectedItem = elem;
  shopCurrentCategoryId = categoryId;
  setPanelLoadingSignal("middlePanel");
  ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=categoryPage&categoryId=" + shopCurrentCategoryId, "", "", 
    function() {
      if (validAccess())
      {
        updatePanelContent("middlePanel", ajaxResponseText);
        menu.expandSubmenu("shopMenuLevel1Submenu" + categoryId / 10);
        PDFCurrentSubjectId = "all";
      }
      else
        shopMenuBusy = false;
    }
  );
}

function shopMenuReady()
{
  shopMenuBusy = false;
  if (shopDesiredPubsCategoryId > 0 && shopDesiredPubsTitleId > 0)
  {
    shopMenuLevel3ItemSelected(shopDesiredPubsCategoryId, shopDesiredPubsTitleId);
    shopDesiredPubsCategoryId = -1;
    shopDesiredPubsTitleId = -1;
  }
  else
  {
    ajaxAbort();
    if (deliveryDataNeededForCheckOut)
    {
      deliveryDataNeededForCheckOut = false;
      orderCheckOut(-1, 1);
    }
  }
}

var shopMenuLevel3SelectedItem = null;

function shopMenuLevel3ItemSelected(l2ItemId, l3ItemId)
{
  if (shopMenuBusy || ajaxBusy()) return;
  var elem = document.getElementById("shopMenuLevel3Item" + shopCurrentCategoryId + "_" + l2ItemId + "_" + l3ItemId);
  if (elem != shopMenuLevel3SelectedItem)
  {
    shopMenuBusy = true;
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=productShelf&categoryId=" + shopCurrentCategoryId + "&l2ItemId=" +
      l2ItemId + "&l3ItemId=" + l3ItemId, "", loadingSignalId,
      function() {
        if (validAccess())
        {
          document.getElementById("middlePanel").innerHTML = ajaxResponseText;
          setElementSelected(shopMenuLevel3SelectedItem, elem);
          shopMenuLevel3SelectedItem = elem;
          switch (shopCurrentCategoryId)
          {
            case 10:
              ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=magazineCollectionOptions&pubsCategoryId=" + 
                l2ItemId + "&pubsTitleId=" + l3ItemId, "", "",
                function() {
                  if (ajaxResponseText)
                    document.getElementById("magazineCollectionOptions").innerHTML = ajaxResponseText;
                  else
                    document.getElementById("magazineCollectionOptions").innerHTML = "(Próximamente)"
                  document.getElementById("magazineCollectionItem1").onclick();
                }
              );
              break;
            case 30:
              ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=PDFSubjects&pubsCategoryId=" + l2ItemId + 
                "&pubsTitleId=" + l3ItemId, "", loadingSignalId,
                function() {
                  if (validAccess())
                  {
                    document.getElementById("PDFSubjects").innerHTML = ajaxResponseText;
                    document.getElementById("PDFSubjectAll").onclick();
                  }
                }
              );
              break;
          }
        }
        shopMenuBusy = false;
      }
    );
  }
}

function shopMenuLevel3DeselectItem()
{
  setElementSelected(shopMenuLevel3SelectedItem, null);
  shopMenuLevel3SelectedItem = null;
}

var magazineCollectionItem = null;

function magazineCollectionSelected(elem, pubsCategoryId, pubsTitleId, pubsCollectionId)
{
  if (!ajaxBusy() && magazineCollectionItem != elem)
  {
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=magazineVolumes&pubsCategoryId=" + pubsCategoryId + 
      "&pubsTitleId=" + pubsTitleId + "&pubsCollectionId=" + pubsCollectionId, "", loadingSignalId,
      function() {
        if (validAccess())
        {
          document.getElementById("magazineTitleSelectedCollection").innerHTML = elem.innerHTML;
          document.getElementById("magazineVolumes").innerHTML = ajaxResponseText;
          setElementSelected(magazineCollectionItem, elem);
          magazineCollectionItem = elem;
          var e1 = document.getElementById("magazineVolumesListing");
          var e2 = document.getElementById("magazineVolumesListingScroll");
          if (e1.offsetHeight < e1.scrollHeight)
            e2.style.visibility = "visible";
          else
            e2.style.visibility = "hidden";
          document.getElementById("magazineVolume1").onclick();
        }
      }
    );
  }
}

function magazineVolumeSelected(pubsCategoryId, pubsTitleId, pubsCollectionId, pubsVolumeId)
{
  if (!ajaxBusy())
  {
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=magazineDetails&pubsCategoryId=" + pubsCategoryId + 
      "&pubsTitleId=" + pubsTitleId + "&pubscollectionId=" + pubsCollectionId + "&pubsVolumeId=" + pubsVolumeId, "", loadingSignalId,
      function() {
        if (validAccess())
        {
          document.getElementById("magazineSelectedVolumeNum").innerHTML = pubsVolumeId;
          document.getElementById("magazineVolumeDetails").innerHTML = ajaxResponseText;
        }
      }
    );
  }
}

var PDFSubjectSelectedItem = null;
var PDFCurrentSubjectId = "all";

function PDFSubjectSelected(elem, pubsCategoryId, pubsTitleId, PDFSubjectId)
{
  if (!ajaxBusy())
  {
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=PDFVolumes&pubsCategoryId=" + pubsCategoryId + 
      "&pubsTitleId=" + pubsTitleId + "&PDFSubjectId=" + PDFSubjectId, "", loadingSignalId,
      function() {
        if (validAccess())
        {
          document.getElementById("PDFVolumes").innerHTML = ajaxResponseText;
          setElementSelected(PDFSubjectSelectedItem, elem);
          PDFSubjectSelectedItem = elem;
          PDFCurrentSubjectId = PDFSubjectId;
          var e1 = document.getElementById("PDFVolumesListing");
          var e2 = document.getElementById("PDFVolumesListingScroll");
          if (e1.offsetHeight < e1.scrollHeight)
            e2.style.visibility = "visible";
          else
            e2.style.visibility = "hidden";
          e1 = document.getElementById("PDFVolume1");
          if (e1) e1.onclick();
        }
      }
    );
  }
}

var PDFCurrentCollectionId = null;
var PDFCurrentVolumeId = null;
var PDFCurrentProjectId = null;

function PDFVolumeSelected(pubsCategoryId, pubsTitleId, pubsCollectionId, pubsCollectionName, pubsVolumeId, pubsProjectId)
{
  if (!ajaxBusy())
  {
    ajaxGetText(shopApp + "?sessionId=" + sessionId + "&content=PDFDetails&pubsCategoryId=" + pubsCategoryId + 
      "&pubsTitleId=" + pubsTitleId + "&pubscollectionId=" + pubsCollectionId + "&pubsVolumeId=" + pubsVolumeId +
      "&pubsProjectId=" + pubsProjectId, "", loadingSignalId,
      function() {
        if (validAccess())
        {
          PDFCurrentCollectionId = pubsCollectionId;
          PDFCurrentVolumeId = pubsVolumeId;
          PDFCurrentProjectId = pubsProjectId;
          document.getElementById("PDFSelectedCollection").innerHTML = pubsCollectionName;
          document.getElementById("PDFSelectedVolumeNum").innerHTML = pubsVolumeId;
          document.getElementById("PDFSelectedProject").innerHTML = pubsProjectId;
          document.getElementById("PDFVolumeDetails").innerHTML = ajaxResponseText;
          document.getElementById("PDFBySubjectLabel").innerHTML = PDFSubjectSelectedItem.innerHTML;
        }
      }
    );
  }
}


