function makeTreeElements (idName,objList) {

    if (!objList.innerHTML) return;

    var objLink = objList.getElementsByTagName('a')[0];
    var linkUrl = objLink.getAttribute('href');

    if (idName.indexOf('comment') > -1 || idName.indexOf('tb') > -1) {

        var tmpText = objList.innerHTML.split("ขอ");

        tmpText[0] = tmpText[0].slice(0,tmpText[0].search(/<BR/i));
        this.base = Array('<a href="',linkUrl,'">',tmpText[0],'</a>').join('');
        this.elem = objLink.innerHTML;

    } else if (idName.indexOf('entry') > -1) {

        var tmpText = objList.innerHTML;

        tmpText.match(/\((\d\d\/\d\d)\)/);
        this.base = Array('<strong>[',RegExp.$1,']</strong>').join('');
        this.elem = Array('<a href="',linkUrl,'">',objLink.innerHTML,'</a>').join('');

    } else if (idName.indexOf('link') > -1) {

        var tmpText = objList.innerHTML;

        if ( tmpText.match(/\[(.+)\](.+)/) ) {

            this.base = Array('<strong>[',RegExp.$1,']</strong>').join('');
            this.elem = Array('<a href="',linkUrl,'" target="_blank">',RegExp.$2,'</a>').join('');

        }
    }
    return this;
}


function createTreeList(idName,option) { // version 2.2

    var objFocus = this.document.getElementById(idName);

    if (!objFocus) return;

    if (!objFocus.innerHTML) return;

    var objLists = objFocus.getElementsByTagName('li');
    var linkList = new Array();
    var outText = new Array();

    if (objLists.length > 0) {

        for (i=0;i<objLists.length;i++) {
            var chckFlag = true;
            var elemText = new makeTreeElements(idName,objLists[i]);

            if (!elemText.base || !elemText.elem) return;

            for (j=0;j<linkList.length;j++) {
                if ( linkList[j].base.indexOf(elemText.base) > -1 ) {
                    chckFlag = false;
                    linkList[j][linkList[j].length] = elemText.elem;
                }
            }
            if (chckFlag) {
                var tmpNum = linkList.length;
                linkList[tmpNum] = new Array();
                linkList[tmpNum][0] = elemText.elem;
                linkList[tmpNum].base = elemText.base;
            }
        }

        if (linkList.length > 0) {
            outText[outText.length] = '<ul>\n';
            for (i=0;i<linkList.length;i++) {
                outText[outText.length] = Array('<li>',linkList[i].base,option.top).join('');
                
                if (linkList[i].length > 0 && option.sort) linkList[i].reverse();
                for (j=0;j<linkList[i].length;j++) {
                    outText[outText.length] = (j == linkList[i].length - 1) ? option.end : option.list;
                    outText[outText.length] = Array(linkList[i][j],option.leef).join('');
                }
                outText[outText.length] = Array(option.btm,'</li>').join('');
            }
            outText[outText.length] = '</ul>\n';
            objFocus.innerHTML = outText.join('');
        }
    }
}


