/*
   This object represents the Right Hand side of the Food Plan (Tabs: Recipes and FAQ)
   Title: String - This is the Headling for the section.
   Comment: String - This is a HTML String that is the body of the description (The Recipe for the Recipes tab)
   
   ID|TabName|TabIndex is not currently used. Thought here was maybe in the future could be used for tracking or searching.
*/
function CommentItem()
{
   this.Title = '';
   this.Comment = '';
   this.ID = 0;
   this.TabName = "";
   this.TabIndex = 0;
   
   CommentItem.prototype.toString = function()
   {
      return "Title: " + this.Title + "\n" + "Comment: " + this.Comment;
   }
}


/*
   This object represents tabbed area's within a FoodPlan Tab (Recipes and FAQ)
   This is used to dynamically set the Title and Description for the Tab Area.
   
   Comments Array [CommentItem] - This is the collection of CommentItems (Description pages) for this tab.
   
   Name & Index are not used. Name is kind of used for the toString Method which really was only used during debugging.
*/
function Tab()
{
   this.Name = '';
   this.Index = '';
   this.Comments = new Array();
  
   
   Tab.prototype.toString = function()
   {
      if(this.Name == '')
      {
         return "[Object:Tab]";
      }
      else
      {
         return "Name: " + this.Name;
      }
   }
}

function TabPage(pageName)
{
   this.Name = pageName;
   this.Tabs = new Array();
}

/*
   
*/
function FoodPlanEngine()
{  
   this.TabPages = new Array();
   this.Tabs = new Array();
   this.CommentItems = new Array();
   
   this.Init = function()
   { 
      //Get The FAQ Page Tabs 
      faqPage = new TabPage('faq');      
      faqData = new FAQHelper();
      faqPage.Tabs = faqData.GetData();
      this.TabPages.push(faqPage);
      
      //Get the Recipes Page Tabs
      recipePage = new TabPage('recipe');
      recipeData = new RecipeHelper();
      recipePage.Tabs = recipeData.GetData();
      this.TabPages.push(recipePage);
   }

   this.GetItem = function(page, tab, index)
   {
      var pageFound = false;
      var t;
      var Comment;
      
      try
      {
         //Check to see if the TabPages has a section for the page
         for(i=0; i < this.TabPages.length; i++)
         {            
            if(this.TabPages[i] != null && this.TabPages[i].Name.toUpperCase() == page.toUpperCase())
            {
               t = this.TabPages[i].Tabs;
               pageFound = true;
               break;
            }
         }
         
         if(!pageFound)
         {
            DebugAlert(page + ' not found in the list of Tab Pages');
            return false;
         }
         
         Comment = t[tab].Comments[index];
         return Comment;
      }
      catch(ex)
      {
         DebugAlert('Error in CommentEngine::GetItem - ' + ex.message);
      }
   }
   
   this.Init();
}


var CommentEngine = new FoodPlanEngine();
var currentTab = "Main";

function HandleTabClick(index,recipprint)
{
   var tab;
   
   HideTab(false);
   
   switch(index)
   {
      case 1:
         tab = document.getElementById('BetterBalance');
         currentTab = "BetterBalance";
		 if (typeof pageTracker != "undefined"){
		    pageTracker._trackPageview("/foodplan_tab_1");
		 }
         break;
         
      case 2:
         tab = document.getElementById('FAQ');
         currentTab = "FAQ";
         break;
         
      case 3:
         tab = document.getElementById('SevenDay');
         currentTab = "SevenDay";
         if (typeof pageTracker != "undefined"){
		    pageTracker._trackPageview("/foodplan_tab_2");
		 }
         break;
         
      case 4:
         tab = document.getElementById('Recipes');
         currentTab = "Recipes";
         //if (recipprint!="noTrack"){
         if (typeof pageTracker != "undefined"){
		    pageTracker._trackPageview("/foodplan_tab_3");
		 }
         break;
   }
   
   tab.style.display = 'block';
   
   SetTab(index);
}
      
function HideTab(showMain)
{
   var tab = document.getElementById(currentTab);
   var main = document.getElementById('Main');
   tab.style.display = 'none';
   
   if(showMain)
      main.style.display = 'block';
}
      
      
function HandleBBLinkClick(index)
{
   var BBFat = document.getElementById('BBFat');
   var BBOmega = document.getElementById('BBOmega');
   var BBFiber = document.getElementById('BBFiber');
   
   //Close all Sections  
   BBFat.style.display = 'none';
   BBOmega.style.display = 'none';
   BBFiber.style.display = 'none';
   
   switch(index)
   {
      case 1:
         BBFat.style.display = 'block';
         break;
         
      case 2:
         BBOmega.style.display = 'block';
         break;
         
      case 3:
         BBFiber.style.display = 'block';
         break;
   }
}


function HandleFAQLinkClick(index)
{
   var T1 = document.getElementById('Tab0');
   var T2 = document.getElementById('Tab1');
   var T3 = document.getElementById('Tab2');
   var T4 = document.getElementById('Tab3');
   
   T1.style.display = 'none';
   T2.style.display = 'none';
   T3.style.display = 'none';
   T4.style.display = 'none';
   
   switch(index)
   {
      case 1:
         T1.style.display = 'block';
         HandleFAQQuestionClick(0,0);
         break;
      case 2:
         T2.style.display = 'block';
         HandleFAQQuestionClick(1,0);
         break;
         
      case 3:
         T3.style.display = 'block';
         HandleFAQQuestionClick(2,0);
         break;
         
      case 4:
         T4.style.display = 'block';
         HandleFAQQuestionClick(3,0);
         break;
   }
}

function HandleFAQQuestionClick(tab, index)
{
   var Comment = CommentEngine.GetItem('faq', tab, index);
   var Title = document.getElementById('FAQCommentTitle');
   var Desc = document.getElementById('FAQCommentBody');
   
   Title.innerHTML = "";
   Desc.innerHTML = "";
   
   Title.innerHTML = Comment.Title;
   Desc.innerHTML = Comment.Comment;
   
}

function HandleRecipeLinkClick(index)
{
   var T1 = document.getElementById('RecipeTab0');
   var T2 = document.getElementById('RecipeTab1');
   var T3 = document.getElementById('RecipeTab2');
   var T4 = document.getElementById('RecipeTab3');
   
   T1.style.display = 'none';
   T2.style.display = 'none';
   T3.style.display = 'none';
   T4.style.display = 'none';
   
   var Title = document.getElementById('RecipeTitle');
   var Desc = document.getElementById('RecipeBody');
   
   Title.innerHTML = "";
   Desc.innerHTML = "";
   
   switch(index)
   {
      case 1:
         T1.style.display = 'block';
         HandleRecipeClick(0,0);
         break;
      case 2:
         T2.style.display = 'block';
         HandleRecipeClick(1,0);
         break;
         
      case 3:
         T3.style.display = 'block';
         HandleRecipeClick(2,0);
         break;
         
      case 4:
         T4.style.display = 'block';
         HandleRecipeClick(3,0);
         break;
   }
}

function HandleRecipeClick(tab, index)
{
   curRecTemp = document.getElementById("ctl00_ContentPlaceHolder1_curRec");
   curRecTemp.value = tab+"r"+index;
   //alert(document.getElementById("ctl00_ContentPlaceHolder1_curRec").value);
   try
   {
      var Comment = CommentEngine.GetItem('recipe', tab, index);
      var Title = document.getElementById('RecipeTitle');
      var Desc = document.getElementById('RecipeBody');
      
      Title.innerHTML = "";
      Desc.innerHTML = "";
      
      Title.innerHTML = Comment.Title;
      Desc.innerHTML = Comment.Comment;
      
      Desc.scrollTo(0);
   }
   catch(ex)
   {
   
   }
}

function HandleSevenDayPrinter()
{

}

function HandleSevenDayTabClick(index)
{
   var T1 = document.getElementById('SevenDayTab0');
   var T2 = document.getElementById('SevenDayTab1');
   var T3 = document.getElementById('SevenDayTab2');
   var T4 = document.getElementById('SevenDayTab3');
   var T5 = document.getElementById('SevenDayTab4');
   
   T1.style.display = 'none';
   T2.style.display = 'none';
   T3.style.display = 'none';
   
   
   T4.style.display = 'none';
   T5.style.display = 'none';
   
   switch(index)
   {
      case 1:
         T1.style.display = 'block';
         //HandleRecipeClick(0,0);
         break;
      case 2:
         T2.style.display = 'block';
         //HandleRecipeClick(1,0);
         break;
         
      case 3:
         T3.style.display = 'block';
         //HandleRecipeClick(2,0);
         break;
         
      case 4:
         T4.style.display = 'block';
         //HandleRecipeClick(3,0);
         break;
         
       case 5:
         T5.style.display = 'block';
         //HandleRecipeClick(4,0);
         break;
   }
}

function HandleSevenDayT2MenuClick(index)
{
   var T1 = document.getElementById('SevenDaySubTab0');
   var T2 = document.getElementById('SevenDaySubTab1');
   var T3 = document.getElementById('SevenDaySubTab2');
   var T4 = document.getElementById('SevenDaySubTab3');
   var T5 = document.getElementById('SevenDaySubTab4');
   var T6 = document.getElementById('SevenDaySubTab5');
   var T7 = document.getElementById('SevenDaySubTab6');
   
   T1.style.display = 'none';
   T2.style.display = 'none';
   T3.style.display = 'none';
   T4.style.display = 'none';
   T5.style.display = 'none';
   T6.style.display = 'none';
   T7.style.display = 'none';
   
   switch(index)
   {
      case 1:
         T1.style.display = 'block';
         //HandleRecipeClick(0,0);
         break;
      case 2:
         T2.style.display = 'block';
         //HandleRecipeClick(1,0);
         break;
         
      case 3:
         T3.style.display = 'block';
         //HandleRecipeClick(2,0);
         break;
         
      case 4:
         T4.style.display = 'block';
         //HandleRecipeClick(3,0);
         break;
         
      case 5:
         T5.style.display = 'block';
         //HandleRecipeClick(4,0);
         break;
         
       case 6:
         T6.style.display = 'block';
         //HandleRecipeClick(5,0);
         break;
         
       case 7:
         T7.style.display = 'block';
         //HandleRecipeClick(6,0);
         break;
   }
}


