﻿

    function ClearSelectBox(Target) {

        var LoopCount, ItemLength, SelectedIndex = 0;

        ItemLength = Target.length;
        for(LoopCount = (ItemLength - 1); LoopCount >= 0 ; LoopCount--) {
            Target[LoopCount] = null;
        }

    }





    function CategoryDataBind(Source, FirstItemName, Target, SelectedData) {

        var OptionText, OptionValue, Buff;
        var LoopCount = 0, OptionCount = 0, SelectedIndex = 0;
        var SelectedDataType = (typeof(SelectedData)).toUpperCase();


        ClearSelectBox(Target);

        if(FirstItemName != "") {
            Target[0]   = new Option(FirstItemName, "", false, false);
            OptionCount = 1;
        }

        for(LoopCount = 0; LoopCount < Source.length && Source[LoopCount] != null; LoopCount++, OptionCount++) {

            Buff = Source[LoopCount].split("|", 2);

            if(Buff.length > 0 && Buff[0].length > 0) {
                OptionText  = Buff[0];
                OptionValue = Buff[0];

                if(Buff.length > 1 && Buff[1].length > 0)
                    OptionValue = Buff[1];

            } else {
                continue;

            }


            switch(SelectedDataType) {

                case "STRING" :
                    if(SelectedData != "" && SelectedData == OptionValue) SelectedIndex = OptionCount;
                    break;

                case "NUMBER" :
                    if(SelectedData == LoopCount) SelectedIndex = OptionCount;
                    break;

            }

            Target[OptionCount] = new Option(OptionText, OptionValue, false, false);

        }

        Target.selectedIndex = SelectedIndex;

        return SelectedIndex;

    }





    function CategoryDataBindToCBAndRB(Source, Target, SelectedData, ItemKind, ItemName, DataPerRow) {

        if(Source == "") return;


        var ItemText, ItemValue;

        var DisplayCount    = 0;
        var SelectedDataArr = (SelectedData.toUpperCase()).split("|");

        var Result = "";

        var Buff, LoopCount, LoopCount1;


        for(LoopCount = 0, DisplayCount = 0; LoopCount < Source.length && Source[LoopCount] != null; LoopCount++) {

            Buff = Source[LoopCount].split("|", 2);

            if(Buff.length > 0 && Buff[0].length > 0) {
                ItemText  = Buff[0];
                ItemValue = Buff[0];

                if(Buff.length > 1 && Buff[1].length > 0)
                    ItemValue = Buff[1];

            } else {
                continue;
            }


            Result += "<input type='"  + ItemKind                          + "' class='inputoff'"
                          + " name='"  + ItemName                          + "'"
                          + " value='" + ItemValue.replace(/''/gi, "\\\'") + "'";

            if(SelectedData.length > 0 && SelectedDataArr.length > 0) {

                ItemValue.toUpperCase();
                for(LoopCount1 = 0; LoopCount1 < SelectedDataArr.length && SelectedDataArr[LoopCount1] != null; LoopCount1++) {

                    if(ItemValue == SelectedDataArr[LoopCount1]) {
                        Result += " checked='checked'";
                        break;
                    }
                }
            }

            Result += ">" + ItemText + " &nbsp;";


            DisplayCount++;
            if((DisplayCount % DataPerRow) == 0) {
                Result += "<br>";
            }

        }

        if(Result.length > 0) {
            Target.innerHTML = Result;
        }

    }


