﻿    
    //Function to set the Panels visibility
    function SetPanelVisiblity(controlCollection, enableIds)
     { 
        var eidArrNo = enableIds.split(',');
        for (c=0;c<controlCollection.length;c++)
        {
            document.getElementById(controlCollection[c]).style.display = 'none'; 
        }   
        for(e=0;e<eidArrNo.length;e++)
        {
            document.getElementById(controlCollection[eidArrNo[e]]).style.display = 'block'; 
        }
     }
     //Function to Hide Panels on Load 
     function onInitialPageLoad()
     {
        SetPanelVisiblity(ServerControls,'0,1');
        document.getElementById(HiddenControls[0]).value = "";
     }
     //Show Menu Category Panel
     function ShowMenuCategory()
     {
        SetPanelVisiblity(ServerControls,'0,1');
        document.getElementById(HiddenControls[9]).value = "Category";
        //__doPostBack(ServerControls[0],'');
     }
     
     //Set Ingredient for Selected DropDown value 
     function SelectedDrpValue(MenuId)
     {
        var tDrpValue;
        var menuItemID;
        var totalval ;
        var menuItems = document.getElementById(HiddenControls[0]).value;
        tDrpValue =  document.getElementById(MenuId).options[document.getElementById(MenuId).selectedIndex].value;
        menuItemID = tDrpValue.split('$');
        if ((menuItemID[0] != "-1") && (isExistingItem(menuItems,menuItemID[0]) == false))
        { 
            totalval = document.getElementById(HiddenControls[0]).value + menuItemID[0] +", ";
            document.getElementById(HiddenControls[0]).value = totalval;
            document.getElementById(HiddenControls[1]).value = "";
            document.getElementById(HiddenControls[9]).value = "Ingredient";
            unCheckedIngrediends();
            __doPostBack(ServerControls[1],'');
        }
     }
     
     //Don't add an Item If already selected
     function isExistingItem(ItemCollection, Selecteditem)
     {
        var indivdualItem = ItemCollection.split(', ');
        for(i=0;i<indivdualItem.length;i++)
        if (indivdualItem[i] == Selecteditem)
            return true;
        return false;
     }
     
     //Remove the Selected Ingredients
     function RemoveIngredients(MenuId)
     {
        var selectedItems = document.getElementById(HiddenControls[0]).value;
        var myvalue = MenuId + ", ";
        document.getElementById(HiddenControls[0]).value = selectedItems.replace(myvalue,"");
        document.getElementById(HiddenControls[9]).value = "Ingredient";
        unCheckedIngrediends();
        __doPostBack(ServerControls[1],'');
        
     }
     //Reset the Ingredient Panel
     function ResetIngredientItems()
     {
        document.getElementById(HiddenControls[0]).value = "";
        document.getElementById(HiddenControls[6]).value = "";
        document.getElementById(HiddenControls[9]).value = "Ingredient";
        __doPostBack(ServerControls[1],'');
        SetPanelVisiblity(ServerControls,'0,1');
        ResetMenuItemDropDowns();
     }
     //Function to set the Dropdown values to groupName on reset button click
     function ResetMenuItemDropDowns()
     {
        var tcboMenuItems = document.getElementsByTagName("select"); 
        for(i=0;i<tcboMenuItems.length;i++)
        document.getElementById(tcboMenuItems[i].id).selectedIndex = "0";
     }
     //Show Nutritional Calculator
     function ShowNutritionalCalculator()
     {
        var oInput = document.getElementsByTagName("input");
        var tchkLen = new Array(); 
        var checkeditems = "";
        var splitValue;
        var previousMenuItem = ""; 
        var selecetedIngredientIds = "";
        var menuItemId = "";
        var nextMenuItem = "";
        var hdnMenuIdArr = "";
        var selectIngredientArr ="";
        var selectMenuIdArr = ""
        var ingredientOrderd = "";
        var tmpHiddenMenuId = "";
        var unCheckedItems = "";
        var Ischecked = true;
        var s = 0;
        
        for (var i=0;i<oInput.length;i++)
        {
            if (oInput[i].type.toLowerCase()=="checkbox")
            tchkLen.push(oInput[i]);
        }
        for (t=0;t<tchkLen.length;t++)
        { 
            s = t - 1;
            checkeditems = tchkLen[t].value;
            splitValue = checkeditems.split('$');
            if (tchkLen[t].checked == false)
            {
                Ischecked = false;
            }
            if (previousMenuItem == "")
            {
              menuItemId =  splitValue[1]+ ", ";
              if (tchkLen[t].checked == true)
                selecetedIngredientIds = splitValue[0];
            }
            else if((splitValue[1] != previousMenuItem)&& (previousMenuItem != ""))
            {
              menuItemId = menuItemId + splitValue[1]+ ", ";  
              if (tchkLen[t].checked == true)
                selecetedIngredientIds = selecetedIngredientIds + "`"+ splitValue[0];
              else
                selecetedIngredientIds = selecetedIngredientIds + "`";
            }
            else if(splitValue[1] == previousMenuItem)
            {
              if((tchkLen[t].checked == true) && (tchkLen[s].checked == false ))
                 selecetedIngredientIds = selecetedIngredientIds +","+ splitValue[0] ;
              else if ((tchkLen[t].checked == true) && (tchkLen[s].checked == true ))
                 selecetedIngredientIds = selecetedIngredientIds + "," + splitValue[0] ;
            }
            previousMenuItem = splitValue[1];
        }
        if((selecetedIngredientIds != "")&&(selecetedIngredientIds != "`"))
        selecetedIngredientIds = selecetedIngredientIds + "`";
        selecetedIngredientIds = selecetedIngredientIds.split('`');
        menuItemId = menuItemId.split(',');
        hdnMenuIdArr = document.getElementById(HiddenControls[0]).value ;
        hdnMenuIdArr = hdnMenuIdArr.split(', ');
       
        for (i=0;i<(hdnMenuIdArr.length-1);i++)
        {
           for (j=0;j<(menuItemId.length-1);j++)
           {
               tmpHiddenMenuId = hdnMenuIdArr[i];
               if (tmpHiddenMenuId == menuItemId[j].trim())
               {
                 ingredientOrderd = ingredientOrderd + selecetedIngredientIds[j]+ "`";
               }
           }
        }
        var IsIngUncked = true;
        if(Ischecked == false)
        {
          IsIngUncked = unCheckedIngrediends();
        }
        document.getElementById(HiddenControls[1]).value = ingredientOrderd;
        document.getElementById(HiddenControls[9]).value = "Nutritional";
        
        if(document.getElementById(HiddenControls[0]).value == "")
        {
             alert('Please select at least one Menu Item');
        }
        else if (IsIngUncked == false)
        {
            alert('Please select at least one Ingredient');
        }
        else 
        {
            SetPanelVisiblity(ServerControls,'1,2');
            __doPostBack(ServerControls[2],'');
        }
     }
     //Show the Search Results
     function ShowSearchResults(SearchText, SearchOption4Containing)
     {
        document.getElementById(HiddenControls[3]).value = SearchOption4Containing;
        document.getElementById(HiddenControls[4]).value = SearchText;
        document.getElementById(HiddenControls[2]).value = "1";
        document.getElementById(HiddenControls[9]).value = "Search";
        SetPanelVisiblity(ServerControls,'1,3');
        __doPostBack(ServerControls[3],'');
     }
     
     //Add Selected Menu Item from Search Results to Calculator 
     function selectedSearchItem(MenuId)
     {
        var totalval;
        totalval = document.getElementById(HiddenControls[0]).value;
        if (totalval)
        {
            totalval = totalval + MenuId + ", ";
            document.getElementById(HiddenControls[0]).value = totalval;
        }
        else
        {
            document.getElementById(HiddenControls[0]).value = MenuId+ ", ";
        }
        document.getElementById(HiddenControls[1]).value = "";
        document.getElementById(HiddenControls[9]).value = "Ingredient";
        unCheckedIngrediends();
        __doPostBack(ServerControls[1],'');
     }
     //To set Current Page No - for Search 
     function SelectedPageNo(CurrentPageNo)
     {
        if (CurrentPageNo == "")
        CurrentPageNo = 1;
        document.getElementById(HiddenControls[2]).value = CurrentPageNo;
        document.getElementById(HiddenControls[9]).value = "Search";
        __doPostBack(ServerControls[3],'');
     }
     //Function to for finding Unchecked Ingredients
     function unCheckedIngrediends()
     {
        var oInput = document.getElementsByTagName("input");
        var allChkIngredient = new Array(); 
        var uncheckedIngrid ="";
        
        for (var i=0;i<oInput.length;i++)
        {
            if (oInput[i].type.toLowerCase()=="checkbox")
                allChkIngredient.push(oInput[i]);
        }
        for (t=0;t<allChkIngredient.length;t++)
        {
            if (allChkIngredient[t].checked == false)
                uncheckedIngrid = uncheckedIngrid + allChkIngredient[t].value +","; 
        }
        document.getElementById(HiddenControls[6]).value = uncheckedIngrid;
        var alrtMsg = uncheckedIngrid.split(',');
        if (alrtMsg.length > allChkIngredient.length )
        {
            return false;    
        }
     }
     //Function to Set Legal Disclaim UpdatePanel
     function SetLegalDisclaimer(ClickedFrom)
     {
        if ((ClickedFrom == "")||(ClickedFrom == "MenuCategory"))
            document.getElementById(HiddenControls[5]).value = "MenuCategory";
        else 
            document.getElementById(HiddenControls[5]).value = ClickedFrom;
        SetPanelVisiblity(ServerControls,'1,5');
        document.getElementById(HiddenControls[9]).value = "Legal";
     }     
     //Back From Legal Disclaimer
     function BackFromLegal()
     {
        var targetPanel = document.getElementById(HiddenControls[5]).value ;
        if ((targetPanel =="") ||(targetPanel == "MenuCategory"))
        {
            SetPanelVisiblity(ServerControls,'0,1');
        }
        else if (targetPanel == "Search")
        {   
            SetPanelVisiblity(ServerControls,'1,3');
        }
        else if (targetPanel == "Nutritional")
        {
            SetPanelVisiblity(ServerControls,'1,2');
        }
        else if (targetPanel == "Help")
        {
            SetPanelVisiblity(ServerControls,'1,4');
        }
     }
     //Function to Set Help UpdatePanel
     function SetHelpPanel(ClickedFrom)
     {
        if ((ClickedFrom == "")||(ClickedFrom == "MenuCategory")||(ClickedFrom == "Ingredient"))
            document.getElementById(HiddenControls[8]).value = "MenuCategory";
        else 
            document.getElementById(HiddenControls[8]).value = ClickedFrom;
        SetPanelVisiblity(ServerControls,'1,4');
        document.getElementById(HiddenControls[9]).value = "Help";
        window.location.hash = ClickedFrom; 
     }
     //Back to Target Page from Help
     function BackFromHelp()
     {
        var targetPanel = document.getElementById(HiddenControls[8]).value ;
        if ((targetPanel =="") ||(targetPanel == "MenuCategory"))
        {
            SetPanelVisiblity(ServerControls,'0,1');
        }
        else if (targetPanel == "Search")
        {
            SetPanelVisiblity(ServerControls,'1,3');
        }
        else if (targetPanel == "Nutritional")
        {
            SetPanelVisiblity(ServerControls,'1,2');
        }
     }
     //Back to Nutritional From Help (Shown only for admin link) 
     function BackToNutritional()
     {
        SetPanelVisiblity(ServerControls,'1,2');
     }
     
     //Show Nutritional Calculator from Admin Page
     function ShowNutrition4admin()
     {
        SetPanelVisiblity(ServerControls,'1,2');
     }
         
     //Check the Numeric value
     isShift = false;
     function isNumeric(keyCode)
     {
        if(keyCode==16)
          isShift = true;
        return ((keyCode >= 48 && keyCode <= 57 || keyCode == 8 ||(keyCode >= 96 && keyCode <= 105)) && isShift == false); 
     }
     //Two digit number
     function trimLength(textarea)
     {
	    if(textarea.value.length < 3) return true;
	    else 
	    {
	       textarea.value = textarea.value.substr(0, 2);
	       alert('Please do not enter more than 2 digits');
    	   return false;
	    }
     }
     //Function for Collapse/Expand Ingredients
     function toggleDiv(divid)
     {
        if(document.getElementById('dCollapse'+divid).style.display == 'none'){
         document.getElementById('dCollapse'+divid).style.display = 'block';
            document.getElementById('anchor'+divid).className = 'expand';
        }else{
        document.getElementById('dCollapse'+divid).style.display = 'none';
            document.getElementById('anchor'+divid).className = 'collapse';
        }
        var divIng = document.getElementById('dvMenuIngredients');
        divIng.className = divIng.className ;
    }
    
     