
var server = "front-end/main.asp";
var lang = "SP"

function init()
{
  ajaxGetText(server + "?verb=intro", "", "",
    function() {
      document.body.innerHTML = ajaxResponseText;
      bodyResized();
    }
  );
}

function start(languaje)
{
  lang = languaje;
  ajaxGetText(server + "?verb=main&lang=" + lang, "main", "",
    function() {
      loadMainMenu();
    }
  );
}

function done(){}

// MAINMENU ==========================================================================================================

var mainMenuSelectedLevel1ItemIdx = 0;
var mainMenuSelectedLevel2ItemIdx = 0;
var mainMenuSelectedLevel1ContentId = 0;
var autoClickLevel2Item = null;

function loadMainMenu()
{
  mainMenuSelectedLevel1ItemIdx = 0;
  mainMenuSelectedLevel2ItemIdx = 0;
  mainMenuSelectedLevel1ContentId = 0;
  currentContentId = null;
  ajaxGetText(server + "?verb=mainMenu" + (lang ? "&lang=" + lang : ""), "mainMenuContainer", "loadingSignal",
    function() {
      menu.setup("mainMenuLevel2Menu");
      menu.onReady = "mainMenuReady()";
      document.getElementById("mainMenuContainer").style.visibility = "visible";
      document.getElementById("mainMenuLevel1Item1").onclick();
    }
  );
}

function mainMenuLevel1ItemSelected(level1ItemIdx, contentId)
{
  if ((mainMenuSelectedLevel1ItemIdx != level1ItemIdx) || ((contentId >= 0) && mainMenuSelectedLevel2ItemIdx))
	{
    ajaxAbort();
    deselectMenu();
    selectedLevel1ContentId = contentId;
	  mainMenuSelectedLevel1ItemIdx = level1ItemIdx;
    menu.expandSubmenu("mainMenuLevel2Menu" + mainMenuSelectedLevel1ItemIdx);
	}
}

function mainMenuReady()
{
  document.getElementById("mainMenuLevel1Item" + mainMenuSelectedLevel1ItemIdx).className = 
    "mainMenuSelectedLevel1Item" + (selectedLevel1ContentId >= 0 ? " anchor" : "");
  if (selectedLevel1ContentId >= 0)
    loadContent(selectedLevel1ContentId, true);
  else if (autoClickLevel2Item)
    autoClickLevel2Item.onclick();
  else if (document.getElementById("mainMenuLevel2Item" + mainMenuSelectedLevel1ItemIdx + "_1"))
    document.getElementById("mainMenuLevel2Item" + mainMenuSelectedLevel1ItemIdx + "_1").onclick();
  else
    loadContent(-1, true);
    //document.getElementById("dynPanel").innerHTML = "";
}

function mainMenuLevel2ItemSelected(level2ItemIdx, contentId)
{
  autoClickLevel2Item = null;
  if (mainMenuSelectedLevel2ItemIdx != level2ItemIdx)
	{
    ajaxAbort();
	  if (mainMenuSelectedLevel2ItemIdx)
		{
		  setElemState(document.getElementById("mainMenuLevel2Item" + mainMenuSelectedLevel1ItemIdx + "_" + mainMenuSelectedLevel2ItemIdx),
        "Normal");
		}
	  mainMenuSelectedLevel2ItemIdx = level2ItemIdx;
    setElemState(document.getElementById("mainMenuLevel2Item" + mainMenuSelectedLevel1ItemIdx + "_" + mainMenuSelectedLevel2ItemIdx),
      "Selected");
	}
  loadContent(contentId, true);
}

function load(contentId)
{
  var i = 1;
  var j;
  var level1Item = null;
  var level2Item = null;
  var found = false;
  var s = "";
  do
  {
    level1Item = document.getElementById("mainMenuLevel1Item" + i);
    if (level1Item)
    {
      s = level1Item.onclick.toString();
      found = s.indexOf(", " + contentId + ")") > 0;
      if (!found)
      {
        j = 1;
        do
        {
          level2Item = document.getElementById("mainMenuLevel2Item" + i + "_" + j);
          if (level2Item)
          {
            s = level2Item.onclick.toString();
            found = s.indexOf(", " + contentId + ")") > 0;
          }
          if (!found) j++;
        } while (!found && level2Item);
        if (!found) i++;
      }
    }
  } while (!found && level1Item);
  if (found)
  {
    if (mainMenuSelectedLevel1ItemIdx != i)
    {
      autoClickLevel2Item = level2Item;
      level1Item.onclick();
    }
    else if (level2Item)
      level2Item.onclick();
  }
  else
    loadContent(contentId);
}

// LANGUAJE HANDLING ============================================================================================

function setLanguaje(langCode)
{
  lang = langCode;
  loadMainMenu();
}

// CONTENT LOADING ==============================================================================================

var currentContentId = null;

function loadContent(contentId, fromMainMenu)
{
  if (currentContentId != contentId)
	{
    ajaxAbort();
    if (!fromMainMenu)
    {
      //deselectMenu();
      //menu.collapseExpanded();
    }
    else
      closePopup();
    currentContentId = contentId;
    ajaxLoadingSignalOn();
  	fade("dynPanelOverlay", true,
  	  function() {
        var d = new Date();
        ajaxGetText(server + "?verb=content&contentId=" + currentContentId + (lang ? "&lang=" + lang : "") + "&t=" + d.getTime(), 
            "dynPanel", "",
          function() {
            fade("dynPanelOverlay", false,
              function() {
                ajaxLoadingSignalOff()
              }
            );
          }
  			);
  		}
  	);
	}
}

function popup(contentId)
{
  var d = new Date();
  ajaxLoadingSignalOn();
  ajaxGetText(server + "?verb=popupContent&contentId=" + contentId + (lang ? "&lang=" + lang : "") + "&t=" + d.getTime(), 
      "dialogBackgnd", "",
    function() {
      document.getElementById("dialogBackgnd").style.visibility = "visible";
      ajaxLoadingSignalOff();
    }
  );
}

// CONTACT ============================================================================================================

function sendContactMessage()
{
  if (document.contactForm.firstName.value && document.contactForm.lastName.value && document.contactForm.email.value &&
       document.contactForm.message.value)
    ajaxSubmit(document.contactForm, "dynPanel", loadingSignalId);
  else
    alert("Por favor, complete todos los datos del formulario.");
}

// MISCELANEOUS FUNCTIONS =============================================================================================

function closePopup()
{
  document.getElementById("dialogBackgnd").style.visibility = "hidden";
  document.getElementById("dialogBackgnd").innerHTML = "";
}

function deselectMenu()
{
  if (mainMenuSelectedLevel1ItemIdx)
  {
    document.getElementById("mainMenuLevel1Item" + mainMenuSelectedLevel1ItemIdx).className = "anchor mainMenuLevel1Item";
    if (mainMenuSelectedLevel2ItemIdx)
      setElemState(document.getElementById("mainMenuLevel2Item" + mainMenuSelectedLevel1ItemIdx + "_" + 
        mainMenuSelectedLevel2ItemIdx), "Normal");
  }
  mainMenuSelectedLevel1ItemIdx = 0;
  mainMenuSelectedLevel2ItemIdx = 0;
  selectedLevel1ContentMenuId = 0;
}

function bodyResized()
{
  var main = document.getElementById("main");
  if (main)
  {
    if (document.body.clientWidth > main.offsetWidth)
      main.style.left = Math.round((document.body.clientWidth - main.offsetWidth) / 2) + "px";
    else
      main.style.left = "0px";
    if (document.body.clientHeight > main.offsetHeight)
      main.style.top = Math.round((document.body.clientHeight - main.offsetHeight) / 2) + "px";
    else
      main.style.top = "0px";
    main.style.visibility = "visible";
  }
}


