// conf variables !!!
var outerLayout, middleLayout, innerLayout; 


var glob_timerhandle=0;
var glob_lastnode_id="0";
var glob_lastnodetype="";
var glob_activesid="";
var glob_loginname="";
var glob_registerlink="/register.php";
var glob_updateperiod=120000;



var global_jstree_options=     {

data  : {type  : "xml_nested",opts:{ url   :  "/frc?event=getfld&frcsid="+glob_activesid}},
plugins : {
contextmenu : {
//configure context menu
items : {
create : false,
	rename : {
		label	: "Rename", 
		icon	: "rename",
visible : function (NODE, TREE_OBJ) {


if (NODE.metadata().type2=="sbfold") return -1;
if(NODE.length != 1) return false;
if (TREE_OBJ.parent(NODE)!=-1 && TREE_OBJ.parent(NODE).metadata().type2=="sbfold") return -1;
return TREE_OBJ.check("renameable", NODE); 

}, 
                action  : function (NODE, TREE_OBJ) { TREE_OBJ.rename(); }  
	},
	remove : {
		label	: "Delete",
		icon	: "remove",
             visible : function (NODE, TREE_OBJ) {
             if(NODE.length != 1) return -1;
             
             if (NODE.metadata().type2=="sbfold") return -1;  
             if (TREE_OBJ.parent(NODE)!=-1 && TREE_OBJ.parent(NODE).metadata().type2=="sbfold") return -1;
             var ok = true;
             $.each(NODE, function () { if(TREE_OBJ.check("deletable", this) == false) ok = false; return false; }); return ok; 
             
             }, 
                action  : function (NODE, TREE_OBJ) { $.each(NODE, function () { TREE_OBJ.remove(this); }); } 
	},
    share: {
		label	: "Share",
		icon	: "img_share",
             visible : function (NODE, TREE_OBJ) { return checkforsharevisible(NODE,TREE_OBJ,'share'); }, 
                action  : function (NODE, TREE_OBJ) { sharefolder(NODE,TREE_OBJ);
                } 
	},
    unshare: {
		label	: "Stop sharing",
		icon	: "img_share",
             visible : function (NODE, TREE_OBJ) { return checkforsharevisible(NODE,TREE_OBJ,'unshare'); }, 
                action  : function (NODE, TREE_OBJ) { unsharefolder(NODE,TREE_OBJ);
                } 
	},
    unsubscribe: {
		label	: "Unsubscribe",
		icon	: "img_subscribe",
             visible : function (NODE, TREE_OBJ) { return checkforsubscribevisible(NODE,TREE_OBJ,'unsubscribe'); }, 
                action  : function (NODE, TREE_OBJ) { unsubscribefolder(NODE,TREE_OBJ);
                } 
	},
    	markasread : {
		label	: "Mark as read",
		icon	: "",
             visible : function (NODE, TREE_OBJ) {
             if(NODE.length != 1) return -1;
             
             //if (NODE.metadata().type=="folder") return -1;  
            
             var ok = true;
             
             
             }, 
                action  : function (NODE, TREE_OBJ) {
                markfilterasread(NODE,TREE_OBJ);
                

                } 
	}


}
//end of context menu configuration
},
metadata : {attribute : "data"},
hotkeys : {

}
},
types : {
"folder" : {
draggable : true,
creatable : true,
deletable : true,
renameable : true,
valid_children : "file"
},
"file" : {
draggable : true,
creatable : false,
deletable : true,
renameable : true,
max_children : 0
}
},
//rules : {  dragrules : ["file inside folder" , "file after file", "file before file", "file after folder"] },

         callback : { 
         beforedelete: beforedeleteitem ,
         ondelete    : deleteitem ,
         onrename    : renameitem ,  
         onmove      : moveitem,
         onchange : openitem, 
         //oninit : inittree,
         onload : inittree
		      } 
}











      
//-------------------------------------------------------------------------------      
function inittree(TREE_OBJ) {
resize2();
resize1();
resize3();
}
      function openitem(NODE,TREE_OBJ) 
	                        {  
                            var type_=$(NODE).metadata().type;
	                           var id_=$(NODE).metadata().id;
                               
				   var nodename_=TREE_OBJ.get_text(NODE);
                   if (nodename_.length>35) {
                   $('#feeddescription').text(nodename_.substr(0,30)+'...');
                    } else {
                   $('#feeddescription').text(nodename_);
                     }                   
				   
				    if ((type_!=glob_lastnodetype) || (id_!=glob_lastnode_id))
				      {  
                      //alert(glob_lastnode_id+'='+id_+' '+glob_lastnodetype+'='+type_);
				        glob_lastnode_id=id_;
                      glob_lastnodetype=type_;
                      //setunreadcount(0);
                      $("#artcontent").attr("src","about:blank");
                      $("#mytbody").empty();
                      $("#refreshbutton").css("display","none");
				        glob_timerhandle=setTimeout("doAjaxRequest('"+type_+"','"+id_.toString()+"','"+escape(nodename_)+"',true)",500); 
				      } 	
				 }
      
//----------------------------------------------------------------------------
function renameitem(NODE,TREE_OBJ) { 
            var filter_id=parseInt($(NODE).metadata().id,10);
            var type_=new String($(NODE).metadata().type);        
            var nodename_=TREE_OBJ.get_text(NODE);
            
            if (type_=="folder" && nodename_!='') {
           //post
          $.ajax({type:"POST",dataType:"text",url:'/frc?event=renamefolder&frcsid='+glob_activesid,
data: {itemid : (filter_id),data: nodename_},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){
  //alert(data);
  }});
//post lõpp           
            }
            
               if (type_=="file" && nodename_!='') {
           //post
          $.ajax({type:"POST",dataType:"text",url:'/frc?event=renamefilter&frcsid='+glob_activesid,
data: {itemid : (filter_id),data: nodename_},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){

  }});
//post lõpp           
            }      
         
         
         }
//-----------------------------------------------------------------------------------
      
       function moveitem(NODE,REF_NODE,TYPE,TREE_OBJ,RB) { 
          
          var filter_id=parseInt($(NODE).metadata().id,10);
          
          var type_=new String($(REF_NODE).metadata().type);
          //alert(type_);
          
          
          
          if (type_=="file" && $(REF_NODE).parent().hasClass("tree-default")) {
          var folder_id=-1;
          } else {  
          var folder_id=parseInt($(REF_NODE).metadata().id,10);
          }
          //alert(TYPE+'---'+filter_id+'---'+folder_id);
          if ($(REF_NODE).parent().hasClass("tree-default") && TYPE=="after") {
          var folder_id=-1;
          }
          
          if ($(REF_NODE).parent().parent().metadata().type=="folder" && TYPE=="after") {
            var folder_id=parseInt($(REF_NODE).parent().parent().metadata().id,10);
          }
          if (filter_id!="" && folder_id!="") {
                         
          
          
          //post
          $.ajax({type:"POST",dataType:"text",url:'/frc?event=setfilterfolder&frcsid='+glob_activesid,
data: {itemid : (folder_id),itemid2: filter_id},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  myerror=XMLHttpRequest.responseText;

  if (myerror=="ERR:Can't rebind filter with same folder !") {
  } else {
  alert(myerror);
  }
  },
  success:function(data){
  //alert(data);
  }});
//post lõpp
          
          
          
          
          
          
          
          
          
          
          
          }


}
//---------------------------------------------------------------------------------------------
      
      function deleteitem(NODE, TREE_OBJ, RB) { 
  var filter_id=parseInt($(NODE).metadata().id,10);
            var type_=new String($(NODE).metadata().type); 
            
        if (type_=="file" && filter_id!="") {
        //delete filter...
                  $.ajax({type:"POST",dataType:"text",url:'/frc?event=deletefilter&frcsid='+glob_activesid,
data: {itemid : (filter_id)},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){
  //alert(data);
  }});
        
        
        
        }


        if (type_=="folder" && filter_id!="") {
        //delete filter...
                  $.ajax({type:"POST",dataType:"text",url:'/frc?event=deletefolder&frcsid='+glob_activesid,
data: {itemid : (filter_id)},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){
  //alert(data);
  }});
        
        
        
        }


         
         }
//----------------------------------------------------------------------------------------------------
function beforedeleteitem(NODE,TREE_OBJ) {
         var type2_=new String($(NODE).metadata().type2); 
         if (type2_=="sbfold") {
         alert('You cannot delete subscribed folder. Please unsubscribe from it.');
         return false;
         }
         
         if (TREE_OBJ.parent(NODE)!=-1 && TREE_OBJ.parent(NODE).metadata().type2=="sbfold") {
         alert('You cannot delete items under subscribed folder.');
         return false;
         }
         
         if (type2_=="shfolder") {
         alert('You have shared this folder. Please stop sharing it before deleting the folder.');
         return false;
         }
         
         var type_=new String($(NODE).metadata().type); 
         
         
         if (type_=="file") var agree=confirm("Do you want to delete this feed?");
         if (type_=="folder") var agree=confirm("Do you want to delete this folder?");
         if (agree) {
 

  var filter_id=parseInt($(NODE).metadata().id,10);
            
            var type2_=new String($(NODE).metadata().type2); 
            
        if (type_=="file" && filter_id!="") {
        //delete filter...
                  $.ajax({type:"POST",dataType:"text",url:'/frc?event=deletefilter&frcsid='+glob_activesid,
data: {itemid : (filter_id)},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){
  //alert(data);
  }});
        
        
        
        }


        if (type_=="folder" && filter_id!="") {
        //delete filter...
                  $.ajax({type:"POST",dataType:"text",url:'/frc?event=deletefolder&frcsid='+glob_activesid,
data: {itemid : (filter_id)},
  error: function (XMLHttpRequest, textStatus, errorThrown) {
  alert('error : '+textStatus);
  
  },
  success:function(data){
  //alert(data);
  }});
        
        
        
        }



return true ;
           }
         else {
           return false ;
}
         
         }
         
function checkforsharevisible(NODE,TREE_OBJ,task) {
var type_=new String($(NODE).metadata().type);
var type2_=new String($(NODE).metadata().type2);
//alert(type2_);
if  (type_=="folder") {
if (task=="share" && (type2_=="" || type2_=="undefined")) return 1;
if (task=="unshare" && type2_=="shfolder") return 1;
} else {
return -1;
}
return -1;
 }

//--------------------------------------------------------------------------------------------------
function checkforsubscribevisible(NODE,TREE_OBJ,task) {
var type_=new String($(NODE).metadata().type);
var type2_=new String($(NODE).metadata().type2);
//alert(type_);
if  (type_=="folder") {
if (task=="unsubscribe" && type2_=="sbfold") return 1;
} else {
return -1;
}
return -1;
 }

//--------------------------------------------------------------------------------------------------


function resize1() {
$("#articlelist").height($("#TopPane").height()-3);
  if ($("#BottomPane").width()>=$("#RightPane").width()) { $("#BottomPane").width($("#RightPane").width()-2);}//IE VERSUS FF
  if ($.browser.msie==false) {
  $("#BottomPane").height(($("#RightPane").height()-$(".hsplitbar").height()-$("#TopPane").height())-3); 
  } else {
  $("#BottomPane").height(($("#RightPane").height()-$(".hsplitbar").height()-$("#TopPane").height())-2); 
  }

}
//---------------------------
function resize2() {
$("#articlelist").height($("#TopPane").height() - $("#div_searchbox").height()-3);
$("#feedurlspan").width($("#addnewfeedpanel").width()-310);
}
//---------------------------
function resize3() {
$("#div_searchbox").width($("#LeftPane").width());
$("#lefttreecontainer").height($("#LeftPane").height() - $("#div_commandbox").height()-4);
  if ($("#LeftPane").width()>2) {
  $("#lefttreecontainer").width($("#LeftPane").width()-2); //võibolla pole vaja
  } else {
  $("#lefttreecontainer").width($("#LeftPane").width()); //võibolla pole vaja
  }
  //peidaks searchi...
  
  if ($("#LeftPane").width()<60) {
  $("#searchbox").hide();
  } else {
  $("#searchbox").show();
  }

}

//-----------------------------
function markfilterasread(NODE,TREE_OBJ) {
                //marking as read
                var type_=$(NODE).metadata().type;
                if (type_=="folder") {
                id_="";
                children=TREE_OBJ.children(NODE);
                $.each(TREE_OBJ.children(NODE), function () {
                $.metadata.setType("attr", "data");
                //alert($(this).metadata().type);
                if ($(this).metadata().type=="file") id_=id_+','+$(this).metadata().id;
                });
                //alert(id_);
                } else {
                
                var id_=$(NODE).metadata().id;
                }
                
                
                
                $.get("/webservice.php", { user_id: glob_loginname, event: "markfeedasread", item_id:id_ },function(data){
                
                if (TREE_OBJ.parent(NODE)!=-1) {
                TREE_OBJ.refresh(TREE_OBJ.parent(NODE));

                } else {
                TREE_OBJ.refresh(NODE);
                }
                //setunreadcount(0);
                glob_lastnodetype="";
                glob_lastnode_id="";
                openitem(NODE,TREE_OBJ);
                });
                }