/*
 * Author       : zchelp
 * Generated on : 22-Nov-2009 22:53:12
 * Version      : 3.0
 */
application "Multiple AutoIncrements"
{
    type = public
    date format = "dd-MMM-yyyy"
    time zone = "America/Los_Angeles"
    section Home
    {
        form  Main_Form
        {
            displayname  =  "Main Form"
            
            Item
            (
                type  =  text
            )

            Category
            (
                type  =  picklist
                values  =  {"Sports",   "Music",   "Household"}
            )

            IDNumber
            (
                type  =  number
                width  =  20
            )

            actions
            {
                on add
                {
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                        on validate
                        {
                            //You can drag and drop tasks from the immediate left pane
                            //Below is the SAMPLE validation script
                            if (input.Category  ==  "Sports")
                            {
                                x1  =  MaxValueHolder  [ID != 0];
                                input.IDNumber = (x1.MaxVal1  +  1);
                                x1.MaxVal1 = (x1.MaxVal1  +  1);
                            }
                            else if (input.Category  ==  "Music")
                            {
                                x2  =  MaxValueHolder  [ID != 0];
                                input.IDNumber = (x2.MaxVal2  +  1);
                                x2.MaxVal2 = (x2.MaxVal2  +  1);
                            }
                            else if (input.Category  ==  "Household")
                            {
                                x3  =  MaxValueHolder  [ID != 0];
                                input.IDNumber = (x3.MaxVal3  +  1);
                                x3.MaxVal3 = (x3.MaxVal3  +  1);
                            }
                        }
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  Main_Form_View
        {
            displayname = "Main Form View"
            show  all  rows  from  Main_Form 
            (
                Item
                Category
                IDNumber
            )
            filters 
            (
                Category
            )
            options
            (
                display rows = 100
            )
        }

        form  MaxValueHolder
        {
            
            MaxVal1
            (
                type  =  number
                width  =  20
            )

            MaxVal2
            (
                type  =  number
                width  =  20
            )

            MaxVal3
            (
                type  =  number
                width  =  20
            )

            actions
            {
                on add
                {
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  MaxValueHolder_View
        {
            displayname = "MaxValueHolder View"
            show  all  rows  from  MaxValueHolder 
            (
                MaxVal1
                MaxVal2
                MaxVal3
            )
            options
            (
                display rows = 100
            )
        }

    }

}
