var aCustomerLogos = [ 
                       {img: "images/customers/sears.gif", url: "http://www.intuit.com" },
                       {img: "images/customers/vmware.gif", url: "http://www.intuit.com" },
                       {img: "images/customers/intuit.jpg", url: "http://www.intuit.com" },
                       {img: "images/customers/ketchum.gif", url: "http://www.intuit.com" },
                       {img: "images/customers/redherring.gif", url: "http://www.intuit.com" },
                       {img: "images/customers/personalcreations.gif", url: "http://www.intuit.com" },
                       {img: "images/customers/macworldexpo.jpg", url: "http://www.macworldexpo.com" },
                       {img: "images/customers/webmarketingassociation.jpg", url: "http://www.webmarketingassociation.org" }]
var iCurCustomerIndex = 0;

function f_OnLoadHomePage()
{
  /// Here should start rotating customer logo images
  setInterval(f_RotateCustomerLogo, 4000);
  /// should start scroll of the news items           
  setTimeout(f_StartScrollNews, 3000);
  
  var newsDiv = document.getElementById("NewsBlock");
  var newsDivContainerCell = newsDiv.parentNode;
  with (newsDiv)
  {
    style.height = newsDivContainerCell.clientHeight - 16;
  }
}

function f_RotateCustomerLogo()
{
  var customerLogoImage = document.getElementById("CustomerLogoImage");
  var customerLogoLink = document.getElementById("CustomerLogoLink");
  
  iCurCustomerIndex++;
  if (iCurCustomerIndex>=aCustomerLogos.length) {
    iCurCustomerIndex=0;
  }

  customerLogoImage.src = aCustomerLogos[iCurCustomerIndex].img;
  customerLogoLink.href = aCustomerLogos[iCurCustomerIndex].url;
}
var scrollDelta = 1;
var bHoldScroll = false;
var holdScrollAtEnds = 70;
var numCurHoldScroll = 0;
function f_StartScrollNews()
{
  setInterval(f_ScrollNews, 50);
}
function f_ScrollNews()
{
  var newsElem = document.getElementById("NewsBlock");
  var scrollTop = parseInt(newsElem.scrollTop);
  if (bHoldScroll)
  {
    numCurHoldScroll++;
    if (numCurHoldScroll >= holdScrollAtEnds)
    {
      numCurHoldScroll = 0;
      bHoldScroll = false;
    }
    else
      return;
  }
  var newScrollTop = scrollTop + scrollDelta;
  if (newsElem.scrollHeight - newScrollTop < newsElem.offsetHeight)
  {
    bHoldScroll = true;
    newScrollTop = 0;
    //scrollDelta *= -1;
  }
  
  newsElem.scrollTop = newScrollTop;
}

var ddshown = null;
function f_ShowDropdownMenu(oMenuCellElem, sMenuId)
{
  var ddMenu = document.getElementById(sMenuId);
  var ddMenuContainer = ddMenu.parentNode;
  if (ddMenuContainer == ddshown)
    return;
    
  if (ddshown != null)
  {
    f_HideDropdownMenu();
  }
  var menuCellPosition = f_GetAbsolutePosition(oMenuCellElem);
  with (ddMenuContainer)
  {
    style.left = menuCellPosition.left - 2;
    style.top = menuCellPosition.top + oMenuCellElem.offsetHeight - 5;
    style.height = 5;
    style.display = "block";
    setTimeout(f_UnfoldMenu, 50);
  }
  ddshown = ddMenuContainer;
  
  function f_UnfoldMenu()
  {
    var nMenuHeight = ddMenuContainer.scrollHeight;
    var nCurMenuHeight = ddMenuContainer.offsetHeight;
    if (nCurMenuHeight < nMenuHeight - 1)
    {
      ddMenuContainer.style.height = nCurMenuHeight + (nMenuHeight - nCurMenuHeight) / 4;
      ddMenuContainer.scrollTop = nMenuHeight - nCurMenuHeight;
      setTimeout(f_UnfoldMenu, 50);
    }
    else
    {
      ddMenuContainer.style.height = nMenuHeight;
    }

  }
}
function f_OnMouseOutDropdownMenu(event)
{
  var toElement = event.relatedTarget || event.toElement;
  var oTopMenuElem = document.getElementById("TopMenu");
  if (!f_Contains(ddshown, toElement) && !f_Contains(oTopMenuElem, toElement))
  {
    setTimeout(f_HideDropdownMenu, 50);
  }
}
function f_HideDropdownMenu()
{
  if (ddshown != null)
  {
    with(ddshown)
    {
      style.display = "none";
    }
    ddshown = null;
  }
}

function f_GetAbsolutePosition(oElem)
{
   var oCurrentNode=oElem;
   var iLeft = 0;
   var iTop = 0;
   while(oCurrentNode.tagName != "BODY")
   {
      iLeft += oCurrentNode.offsetLeft;
      iTop += oCurrentNode.offsetTop;
      oCurrentNode = oCurrentNode.offsetParent;
   }
   return {left: iLeft, top: iTop};
}
function f_Contains(oContainerElem, oElem)
{
  var oCurElem = oElem;
  
  while (oCurElem != null && oCurElem.tagName != "BODY")
  {
    if (oCurElem == oContainerElem)
      return true;
      
    oCurElem = oCurElem.parentNode;
  }
  return false;
}

function f_NavigateTo(url)
{
  document.location = url;
}
function f_OnMouseOverNavLink(linkElem)
{
  if (linkElem.className == "aNavLinkCurrentPage")
    return true;
    
  linkElem.className = "aNavLinkHover";
}
function f_OnMouseOutNavLink(linkElem)
{
  if (linkElem.className == "aNavLinkCurrentPage")
    return true;
    
  linkElem.className = "aNavLink";
}


