

//-----[ TREE ]-------------------------------------------------------
var TreeMenu = function(){
    var ds,accountId;
    var root;
	var tree;
	var xmlMap;
    var Tree = Ext.tree;
	var sUrl =  urlHTTP + 'list_menuleft.php';
    return {
        reloadTree : function () {
			$('treediv').innerHTML = "";
            root.loaded = false;
            root.expand(false);
            this.init();
        },
		getTreeDS : function () {
			//alert(ds);
			return ds;
		},
        init : function(accountId){
			Ext.QuickTips.init();
            tree = new Tree.TreePanel("treediv", {
                animate:true,
                enableDD:true,
                ddGroup : 'TreeDD',
                containerScroll: true,
                rootVisible:false,
                dropConfig: {appendOnly:true}
            });

            root = new Tree.AsyncTreeNode({
                text: 'Root',
				id: "rootTreeId",
                allowDrag:false,
                allowDrop:false
            });

            tree.setRootNode(root);

            xmlMap = Ext.data.Record.create([
                   {name: 'fol_id'},
                   {name: 'fol_parentid'},
                   {name: 'fol_name'},
                   {name: 'fol_shotname'},
                   {name: 'fol_href'}
            ]);
            ds = new Ext.data.Store({
                proxy: new Ext.data.HttpProxy({url:sUrl}),
                reader: new Ext.data.XmlReader({
                       record: 'folder'
                   }, xmlMap)
            });
            ds.load();
            ds.on('load', function(){
                var count = ds.getCount();
                var tmpArr = new Array();
                for (var index=0;index<count;index++) {

                    var myDataRecord = ds.getAt(index);
                    var fol_id = myDataRecord.get('fol_id');
                    var fol_parentid = myDataRecord.get('fol_parentid');
                    var fol_name = myDataRecord.get('fol_name');
                    var fol_shotname = myDataRecord.get('fol_shotname');
                    var fol_href = myDataRecord.get('fol_href');
					isExpand = (fol_id == cmenu)?true:false;

                    if (parseInt(fol_parentid)==0) {
                    	if(fol_href == "NULL"){
	                        root.appendChild(
	                            tmpArr[fol_id] = new Tree.TreeNode({
	                            	id:"tree_"+fol_id,
									text:fol_shotname,
									qtipCfg:{text:fol_name, autoHide:true},
									cls:'icon-node-all',
									allowDrag:false,
									expanded:isExpand
								})
	                        );
                        }else{
	                        root.appendChild(
	                            tmpArr[fol_id] = new Tree.TreeNode({
	                            	id:"tree_"+fol_id,
									text:fol_shotname,
									qtipCfg:{text:fol_name, autoHide:true},
									cls:'icon-node-all',
									allowDrag:false,
									href:fol_href,
									expanded:isExpand
								})
	                        );
                        }
                    } else {
                    	if(fol_href == "NULL"){
	                        tmpArr[fol_parentid].appendChild(
								new Tree.TreeNode({
									id:"tree_"+fol_id,
									text:fol_shotname,
									qtipCfg:{text:fol_name, autoHide:true},
									cls:'icon-node-all',
									iconCls:'tree_icon',
									allowDrag:false
								})
	                        );
                    	}else{
	                        tmpArr[fol_parentid].appendChild(
								new Tree.TreeNode({
									id:"tree_"+fol_id,
									text:fol_shotname,
									qtipCfg:{text:fol_name, autoHide:true},
									cls:'icon-node-all',
									iconCls:'tree_icon',
									href:fol_href,
									allowDrag:false
								})
	                        );
                    	}
                    }
                }
                //root.expandChildNodes(true);
				//tree.getSelectionModel().select(root.childNodes[0]);
            });
			tree.render();
        }
    };
}();
Ext.EventManager.onDocumentReady(TreeMenu.init, TreeMenu, true);
