/*

 SOFTWARE DEVELOPMENT
 Claudio M. Lago
 clago@ygbd.com.ar

*/

// GLOBAL PARAMETERS ==========================================================

var frontEndPath = "front-end/";
var mainApp = frontEndPath + "main.asp";

// STARTUP & TERMINATION ======================================================

function init()
{
  ajaxGetText("front-end/main.asp?content=main", "", "",
	  function() {
      document.body.innerHTML = ajaxResponseText;
      bodyResized();
      document.getElementById("dynPanelOverlay").style.visibility = "visible";
      document.getElementById("menuLevel1Item1").onclick();
		}
	);
}

function done()
{
  logout();
}

function bodyResized()
{
  var main = document.getElementById("main");
  var mainPanel = document.getElementById("mainPanel");
  if (mainPanel.offsetWidth < main.offsetWidth)
    mainPanel.style.left = Math.round((main.offsetWidth - mainPanel.offsetWidth) / 2) + "px";
  else
    mainPanel.style.left = mainPanel.offsetTop + "px";
}

// MAINMENU ==========================================================================================================

var menuLevel1SelectedItem = null;

function menuLevel1ItemSelected(menuElement, contentId, hasContent)
{
  ajaxAbort();
  ajaxLoadingSignalOn();
  fade("dynPanelOverlay", true,
    function() {
      if (menuLevel1SelectedItem)
        setElemState(menuLevel1SelectedItem, "Normal");
      menuLevel1SelectedItem = menuElement;
      menuLevel2SelectedItem = null;
      menuLevel3SelectedItem = null;
      ajaxGetText("front-end/main.asp?content=level1Content&content1Id=" + contentId, "dynPanel", "",
        function() {
          setElemState(menuLevel1SelectedItem, "Selected");
          document.getElementById("loadingMessage").style.display = "none";
          fade("dynPanelOverlay", false,
            function() {
              var e = document.getElementById("menuLevel2Item1");
              if (!hasContent && e)
                e.onclick();
              else
                ajaxLoadingSignalOff();
            }
          );
        }
      );
    }
  );
}

var menuLevel2SelectedItem = null;
var level2Container = null;

function menuLevel2ItemSelected(menuElement, content1Id, content2Id, level1HasContent)
{
  ajaxAbort();
  ajaxLoadingSignalOn();
  if (level1HasContent)
    level2Container = "mainContainer";
  else
    level2Container = "mainContainer";
  fade(level2Container, false,
    function() {
      ajaxGetText("front-end/main.asp?content=level2Content&content1Id=" + content1Id + "&content2Id=" + content2Id +
        "&level1HasContent=" + level1HasContent, level2Container, "",
        function() {
          if (menuLevel2SelectedItem)
            setElemState(menuLevel2SelectedItem, "Normal");
          menuLevel2SelectedItem = menuElement;
          setElemState(menuLevel2SelectedItem, "Selected");
          menuLevel3SelectedItem = null;
          fade(level2Container, true,
            function() {
              var e = document.getElementById("menuLevel3Item1");
              if (e)
                e.onclick();
              else
                ajaxLoadingSignalOff();
            }
          );
        }
      );
    }
  );
}

var menuLevel3SelectedItem = null;

function menuLevel3ItemSelected(menuElement, content1Id, content2Id, content3Id)
{
  ajaxAbort();
  ajaxLoadingSignalOn();
  ajaxGetText("front-end/main.asp?content=level3Content&content1Id=" + content1Id + "&content2Id=" + content2Id + 
    "&content3Id=" + content3Id, "level3Container", "",
    function() {
      if (menuLevel3SelectedItem)
        setElemState(menuLevel3SelectedItem, "Normal");
      menuLevel3SelectedItem = menuElement;
      setElemState(menuLevel3SelectedItem, "Selected");
      ajaxLoadingSignalOff();
    }
  );
}

// DOWNLOAD ===================================================================

function updateDownloadListing(month, year)
{
  if (!ajaxBusy())
  {
    ajaxLoadingSignalOn();
    fade("downloadsListing", false,
      function() {
        ajaxGetText("front-end/main.asp?content=downloadsListing&month=" + month + "&year=" + year, "downloadsListing", "",
          function() {
            fade("downloadsListing", true,
            function() {
              ajaxLoadingSignalOff();
              }
            );
          }
        );
      }
    );
  }
}

// CONTACT ====================================================================

function sendContactMessage()
{
  if (document.contactForm.name.value && document.contactForm.email.value && document.contactForm.message.value)
    ajaxPostText("front-end/main.asp?content=sendContactMessage", document.contactForm.parentNode.id, 
      serializeForm(document.contactForm), loadingSignalId);
  else
    alert("Por favor, complete todos los datos del formulario.");
}

// ===================

function adjustImg(img)
{
  var e = img;
  var top = 0;
  while (e.id != "dynPanel")
  {
    top += e.offsetTop;
    e = e.offsetParent;
  }
  img.style.height = e.offsetHeight - top - 6 + "px";
  img.style.visibility = "visible";
}

