﻿var BaseListControl = {
    Clicked: false,
    AddItem: function(id, type, values, itemId, click, width, height, position, checked, locked, imageFolder, addTemplate, count) {

        var Template = Control.GetItem(id, type, values, itemId, click, width, height, position, checked, locked, imageFolder, addTemplate);
        Template = Control.SetControlContentInTemplate(Template, type, id, '', imageFolder);
        this.InsertItem(Control.GetControl(id + "Container"), ListData.ReplaceValues(ListData.GetRows(values), Control.GetColumns(type), Template), id, itemId, count);
    },

    InsertItem: function(Control, item, id, itemId, count) {
        try {
            Pager.AddItem(id, id + 'Pager', itemId, count);
        }
        catch (ex) {
        }
        Control.innerHTML += item;
    },

    RemoveItem: function(id, itemtoDelete) {
        var cnt = Control.GetControlInControl(Control.GetControl(id), id + itemtoDelete);
        cnt.style.visibility = 'hidden'; ;
        cnt.style.display = 'none';
    },

    GetAllContent: function(par, id) {
        gart(par, id);
    },

    SetAllContent: function(par, id, content) {
    var parel = Control.GetControlInControl(Control.GetControl(parent), par + id);
        var cnt = Control.GetControlInControl(parel, 'ArticleContent');
        cnt.innerHTML = content;
    },

    ItemClicked: function(id, type, itemid) {

        //        var info = Control.GetControl('ItemInfo' + id + itemid);
        //        var isChecked = this.GetItemInfo(info, 'checked');
        //        if (isChecked == 'true') {
        //            this.UnCheckItem(id, type, itemid);
        //        }
        //        else {
        //            this.CheckItem(id, type, itemid);
        //        }
        //        this.Clicked = true;

    },

    ItemMouseUp: function(id, type, itemId) {
        this.Clicked = false;
        // UnTip();
    },
    ItemDoubleClick: function(id, type, itemId) {
        //  TagToTip(id + itemId);
    },
    ItemMouseMove: function(id, type, itemId) {
        if (this.Clicked == true) {
            //Tip(id + itemId);
        }
        else {
            //   UnTip();
        }
    },

    ItemMouseOut: function(id, type, itemId) {

    },

    ChangeItem: function(id, type, itemToChange, values) {
        this.RemoveItem(id, itemToChange);
        this.AddItem(id, type, values);
    },
    GetItems: function(id) {
        var Finded = new Array();
        var cnt = document.getElementById(id);
        var items = cnt.getElementsByTagName('*');
        for (var i = 0; i < items.length; i++) {
            var iinf = document.getElementById('ItemInfo' + items[i].id);
            if (iinf != null && iinf != undefined && iinf != "") {
                Finded.push(items[i].id);
            }
        }
        return Finded;
    },
    GetCheckedItems: function(id) {
        var cnt = document.getElementById(id);
        var items = cnt.getElementsByTagName('*');
        var CheckedItems = new Array();
        for (var i = 0; i < items.length; i++) {
            var itemInfo = Control.GetControl('ItemInfo' + items[i].id);
            if (itemInfo != null) {
                var checked = this.GetItemInfo(itemInfo, 'checked');
                if (checked == 'true' || checked == true) {
                    CheckedItems.push(',' + items[i].id.replace(id, '') + ',');
                }
            }

        }
        return CheckedItems;
    },
    CheckItem: function(id, type, itemToCheck) {
        var info = Control.GetControl('ItemInfo' + id + itemToCheck);

        this.SetItemInfo(info, '', 'true', '', '', '');
        var item = Control.GetControl('Check' + id + itemToCheck);
        item.style.visibility = 'visible';
        item.style.display = 'inline';
        Control.GetControl(id + itemToCheck).style.backgroundColor = '#f0f0f0';

    },

    UnCheckItem: function(id, type, itemToCheck) {
        var info = Control.GetControl('ItemInfo' + id + itemToCheck);

        this.SetItemInfo(info, '', 'false', '', '', '');
        var item = Control.GetControl('Check' + id + itemToCheck);
        item.style.visibility = 'hidden';
        item.style.display = 'none';

        Control.GetControl(id + itemToCheck).style.backgroundColor = 'Transparent';

    },

    EditItem: function(parent, id, editPage) {
        document.location = editPage + id;
    },

    UnListItem: function(parent, id) {

    },

    GetItemInfo: function(info, type) {
        var values = info.value.split(',');
        if (values.length > 0) {
            if (type == 'position') {
                return values[0];
            }
            if (type == 'checked') {
                return values[1];
            }
            if (type == 'locked') {
                return values[2];
            }
            if (type == 'hidden') {
                return values[3];
            }
            if (type == 'id') {
                return values[4];
            }

        }

    },
    ShowAllContent: function(parent, id, content) {
        Control.GetControlInControl(document.getElementById(id), 'Content').innerHTML = content;
    },
    SetItemInfo: function(info, position, checked, locked, hidden, id) {
        var values = info.value.split(',');
        if (values.length > 0) {
            if (position.length > 0) {
                values[0] = position;
            }
            else {
                values[0] = values[0];
            }

            if (checked.length > 0) {
                values[1] = checked;
            }
            else {
                values[1] = values[1];
            }

            if (locked.length > 0) {
                values[2] = locked;

            }
            else {

                values[2] = values[2];
            }

            if (hidden.length > 0) {
                values[3] = hidden;
            }
            else {
                values[3] = values[3];
            }

            if (id.length > 0) {
                values[4] = id;
            }
            else {
                values[4] = values[4];
            }

            info.value = values[0] + ',' + values[1] + ',' + values[2] + ',' + values[3] + ',' + values[4];
        }

    }
}                                    
