<cfcomponent displayname="Menu CFC" hint="This is the CFC for the new menu">  
<cfset THIS.name="New Menu">

    <!--- Test Function --->  
    <cffunction name="generateMenu" hint="Draws JSON Objects for new Menu" returntype="string">  
        <cfreturn "<script>drawNewMenu();</script>">  
    </cffunction>  
    
    <!--- Get items by Parent function --->
    <cffunction name="getByParentId" hint="Get items from Menu Table by Parent Id" returntype="Query">  
        <cfargument name="parentId" type="string" required="true">
        <cfquery   name="getByParentId" datasource="#Application.DataSrc#">
            SELECT
                *
            FROM
                #Request.prefix_db_lookup#.Menu
             WHERE
                Parent = #parentId#
             ORDER BY Parent ASC,Menu_ID ASC;
        </cfquery>
        <cfreturn getByParentId>  
    </cffunction>  
        
    
    
    <!--- Clear Function --->  
    <cffunction name="clear" hint="Truncates Menu Table" returntype="string">  
        <cfquery   name="clear" datasource="#Application.DataSrc#">
            TRUNCATE Menu;
         </cfquery>
        <cfreturn 1>  
    </cffunction>  
    
    <!--- Add function --->
    <cffunction name="add" hint="Add items to Menu Table" returntype="string">  
        <cfargument name="id" type="string" required="true">
        <cfargument name="name" type="string" required="true">
        <cfargument name="href" type="string" required="true">
        <cfargument name="auth" type="string" required="true">
        <cfargument name="parent" type="string" required="true">
        <cfquery   name="add" datasource="#Application.DataSrc#">
            INSERT INTO 
                #Request.prefix_db_lookup#.Menu
                (Menu_ID, Name, Href, Parent, AuthLvl)
            VALUES
                (#id#,'#name#','#href#',#parent#,'#auth#')
         </cfquery>
        <cfreturn 1>  
    </cffunction>  
    
    <cffunction name="generate" hint="Generate Menu from Menu Table" returntype="Query">  
        <cfargument name="auth" type="string" required="true">
        <!---
        switch(auth) {
            case "5":
                <cfquery   name="populate" datasource="#Application.DataSrc#">
                    SELECT
                        *
                    FROM
                        #Request.prefix_db_lookup#.Menu
                     ORDER BY Parent ASC,Menu_ID ASC;
                </cfquery>
           default:
              <cfquery   name="populate" datasource="#Application.DataSrc#">
                    SELECT
                        *
                    FROM
                        #Request.prefix_db_lookup#.Menu
                     ORDER BY Parent ASC,Menu_ID ASC;
                </cfquery>
        } 

       --->
       
       <cfquery   name="populate" datasource="#Application.DataSrc#">
            SELECT
                *
            FROM
                #Request.prefix_db_lookup#.Menu
             ORDER BY Parent ASC,Menu_ID ASC;
        </cfquery>
        <cfreturn populate>  
    </cffunction>  
    
</cfcomponent>
