﻿// JScript 文件
Ext.onReady(function(){
    Ext.QuickTips.init();
     var addButton =Ext.get('add-button');
     addButton.on('mouseover',function(e){
       addButton.dom.style.background='#739BE0';
     });
     addButton.on('mouseout',function(e){
       addButton.dom.style.background='';
     });
     addButton.on('click',function(e){
             addDlg = new Ext.Window({
                //el:'win',
               
                layout:'form',
                width:325,
                height:320,
                //closeAction:'hide',
                modal :true,
                plain: true,
                title:'添加网址',
                border:false,
                bodyBorder:false,
                resizable:false,
                labelWidth:75, 
                defaults: {
                        // applied to each contained panel
                        //bodyStyle:'padding:1px'
                    },
                items: [{
                           xtype: 'textfield',
                           id: 'hrefTextBox',
                           fieldLabel:'网页地址',
                           allowBlank:false,
                           maxLength:255,
                           blankText:'请输入要收藏的网址',
                           regex:/(\w+):\/\/([^/:]+)(:\d*)?([^#   ]*)/,  
                           regexText:'请输入有效的网址，例如：http://www.addtoo.net',
                           labelSeparator:'：',
                           width:200
                        },{
                           xtype: 'textfield',
                           id: 'titleTextBox',
                           fieldLabel:'网页标题',
                           allowBlank:false,
                           maxLength:255,
                           blankText:'请输入网址的标题',
                           labelSeparator:'：',
                           width:200 
                        },{   
                           xtype: 'textfield',
                           id: 'descriptionTextBox',
                           fieldLabel:'网页备注',
                           maxLength:69,
                           labelSeparator:'：',
                           width:200 
                        },{
                            html: '<p style="text-align:left;border-right: #CAD9EC 2px solid;border-left: #CAD9EC 2px solid;border-top: #CAD9EC 10px solid;background-color: #CAD9EC;">请选择添加网址的目标文件夹：</p>',
                            border:false 
                         },{
                            xtype: 'treepanel',
                            id:'addDlg-tree',
                            autoScroll:true,
                            animate:true,
                            enableDD:true,
                            enableDrag:true, 
                            singleExpand:true,
                            width:312,
                            height:150,
                            loader: new Ext.tree.TreeLoader({
                                        dataUrl:'data/get_folders.aspx'
                                    }),
                            root: new Ext.tree.AsyncTreeNode({
                                        text: '收藏夹 ',
                                        iconCls:'addtoo-star',
                                        draggable:false,
                                        id:'0' 
                                    })
                      
                        }],
                
                buttons: [{
                    text:'创建文件夹', 
                    handler:createBntClick
                },{
                    text:'确定',
                    handler:onClick
                },{
                    text: '取消',
                    handler: function(){
                        addDlg.close();
                       
                    }
                }]
            }); 
           
      addDlg.show(this);
      var addDlgTree=addDlg.getComponent('addDlg-tree');
      addDlgTree.root.expand();
      addDlgTree.root.select();
     });
   function onClick(){
       var hrefTextBox=addDlg.getComponent('hrefTextBox');
       var titleTextBox=addDlg.getComponent('titleTextBox');
       var descriptionTextBox=addDlg.getComponent('descriptionTextBox');
       var addDlgTree=addDlg.getComponent('addDlg-tree');
       if(!hrefTextBox.validate() |!titleTextBox.validate()){
            return;
        }
       addDlg.close();
       Ext.MessageBox.show({
                               msg: '正在保存，请等待...',
                               width:250,
                               wait:true,
                               animEl: 'mb7'
                           });
        Ext.Ajax.request({
		        url: 'data/add_bookmark.aspx',
		        params: {node:addDlgTree.getSelectionModel().getSelectedNode().id,href:hrefTextBox.getValue(),title:titleTextBox.getValue(),description:descriptionTextBox.getValue()},
		       
		        callback: function(options,success,response){
		           
		           
		           var oResponse = Ext.decode(response.responseText);
		           if(oResponse.success){
		               Ext.example.msg('爱读提示您', oResponse.response);
		               Ext.get('item-number').load({
                                   url: 'data/get_number.aspx',
                                   //scripts:true,
                                   params: 'need=yes',
                                   text: 'Loading...'
                                 });
                        Ext.getCmp('left-tree').root.reload();    
                        Ext.getCmp('left-tree').root.select();
                        Ext.getCmp('right-tree').root.id='0';
                        Ext.getCmp('right-tree').root.reload();   
		             
		           }
		           else{
		              Ext.MessageBox.show({
                            title: '错误提示',
                            msg: oResponse.response,
                            buttons: Ext.MessageBox.OK,
                            animEl: 'mb9',
                            //fn: showResult,
                            icon: Ext.MessageBox.ERROR
                       });
		           }
		          
		        },
		        success:function(){
		           Ext.MessageBox.hide();
		        },
        		failure:function(){
        		    Ext.MessageBox.show({
                    title: '错误提示',
                    msg: '通信失败！请检查网络。',
                    buttons: Ext.MessageBox.OK,
                    animEl: 'mb9',
                    //fn: showResult,
                    icon: Ext.MessageBox.ERROR
               });
        	}
	    });
   }
   function createBntClick(){    
         createFolderDialog = new Ext.Window({
                   
                    layout:'form',
                    width:305,
                    height:120,
                    closeAction:'close',
                    modal :true,
                    plain: true,
                    title:'创建文件夹',
                    border:false,
                    bodyBorder:false,
                    resizable:false,
                    labelWidth:80, 
                    defaults: {
                            // applied to each contained item
                            width:200
                           
                        },
                    
                   items:[{
                          xtype:'textfield',
                          id: 'folderNameTextBox',
                          fieldLabel: '文件夹名称',
                          allowBlank:false,
                          blankText:'请输入文件夹名称',
                          selectOnFocus:true,
                          labelSeparator:'：'
                 },{ 
                          xtype:'textfield',
                          id: 'folderDescriptionTextBox',
                          fieldLabel: '文件夹描述',
                          labelSeparator:'：' 
                     }],
    
                    buttons: [{
                        text:'确定',
                        handler:createNewFolder
                    },{
                        text: '取消',
                        handler: function(){
                            createFolderDialog.close();
                        }
                    }]
         
            });

	         createFolderDialog.show(this); 
	} 
	function createNewFolder(){
      var folderNameTextBox=createFolderDialog.getComponent('folderNameTextBox');
      var folderDescriptionTextBox=createFolderDialog.getComponent('folderDescriptionTextBox'); 
      var folderName=folderNameTextBox.getValue();
      var folderDescription=folderDescriptionTextBox.getValue();
      if(!folderNameTextBox.validate()){
        return;
      }
     createFolderDialog.close(); 
     var addDlgTree=addDlg.getComponent('addDlg-tree');
      Ext.MessageBox.show({
                       msg: '正在保存，请等待...',
                       width:250,
                       wait:true,
                       animEl: 'mb7'
                   });
      Ext.Ajax.request({
		        url: 'data/create_folder.aspx',
		        params: {node:addDlgTree.getSelectionModel().getSelectedNode().id,name:folderName,description:folderDescription},
		       
		        callback: function(options,success,response){
		           
		           
		           var oResponse = Ext.decode(response.responseText);
		           if(oResponse.success){
		               //alert(oResponse.response); 
		               Ext.example.msg('爱读提示您', oResponse.response);

		               var newNode = new Ext.tree.TreeNode({
		                                id: oResponse.folderId, 
		                                text: folderName, 
		                                leaf: true,
		                                iconCls:'addtoo-folder',
		                                qtip:folderDescription
		                             });
	                   addDlgTree.getSelectionModel().getSelectedNode().leaf=false;
	                   addDlgTree.getSelectionModel().getSelectedNode().appendChild(newNode);
	                   addDlgTree.getSelectionModel().getSelectedNode().expand();
	                   
		           }
		           else{
		              Ext.MessageBox.show({
                            title: '错误提示',
                            msg: oResponse.response,
                            buttons: Ext.MessageBox.OK,
                            animEl: 'mb9',
                            //fn: showResult,
                            icon: Ext.MessageBox.ERROR
                       });
		           }
		          
		        },
		        success:function(){
		           Ext.MessageBox.hide();
		        },
        		failure:function(){
        		    Ext.MessageBox.show({
                    title: '错误提示',
                    msg: '通信失败！请检查网络。',
                    buttons: Ext.MessageBox.OK,
                    animEl: 'mb9',
                    //fn: showResult,
                    icon: Ext.MessageBox.ERROR
                  });
        		}
	         });   
   };   
}); 
