

//-----[ 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_level'},
                   {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_level 		= myDataRecord.get('fol_level');
                    var fol_name 		= myDataRecord.get('fol_name');
                    var fol_shotname 	= myDataRecord.get('fol_shotname');
                    var fol_href 		= myDataRecord.get('fol_href');
					var isMainExpand	= (fol_id == mcmenu)? true : false ;
					var isCateExpand	= (fol_id == cmenu)? true : false ;

					if(parseInt(fol_level) == 2){

						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,
									hrefTarget : '_blank',
									allowDrag : false
								})
							);
						}

					} else if (parseInt(fol_level) == 1) {

						tmpArr[fol_parentid].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 : isCateExpand
							})
						);

					} 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,
								expanded : isMainExpand
							})
						);
					}
                }
                //root.expandChildNodes(true);
				//tree.getSelectionModel().select(root.childNodes[0]);
            });
			tree.render();
        }
    };
}();
Ext.EventManager.onDocumentReady(TreeMenu.init, TreeMenu, true);