

function ob_OnGoUp(src,parent)
{
	//alert("ob_OnGoUp");
	document.location="../dossiers_grp/action_manage.asp?action=goUpNode&src=" + src + "&dest=" + parent ;
}

function ob_OnGoDown(src,parent)
{
	//alert("ob_OnGoDown");
	document.location="../dossiers_grp/action_manage.asp?action=goDownNode&src=" + src + "&dest=" + parent ;
}


function ob_OnNodeDrop(src, dst, copy)
{    
    // add client side code here	
    //alert("Node with id:" + src + " was " + (!copy ? "moved" : "copied") + " to node with id:" + dst);
	if(ob_ev("OnNodeDrop"))
	{
		//alert("OnNodeDrop from " + src + " to " + dst);
		if (dst=="tree_root1")
			document.location="../dossiers_grp/action_manage.asp?action=dropNode&dst=root&src=" + src;
		document.location="../dossiers_grp/action_manage.asp?action=dropNode&dst=" + dst + "&src=" + src;
	}
}
/*
function ob_OnNodeDropOutside(dst)
{    
    // add client side code here
    //alert("ob_OnNodeDropOutside");
    /*
    ob_t2_CopyToControl(dst); // comment this line if you don't want to drop nodes into textboxes
    
    if(ob_ev("OnNodeDropOutside"))
	{
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("dst", dst);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnNodeDropOutside");
	    }
	    else
	    {
	        alert("Please add obout_Postback control to your page to use the server-side events");
	    }
	}
}  */


function ob_OnNodeSelect(id)
{       
     // add client side code here
	 //alert("OnNodeSelect on " + id);	 	 	 
	 
	 if(ob_ev("OnNodeSelect"))
	 {  
	 	/*if (id.substr(0,1)=='a')
		{
			//document.location="../dossiers_grp/action_manage.asp?action=getNodeText&id=" + id
		}*/
	 }
}

function ob_OnNodeEdit(id, text, prevText)
{    
    // add client side code here
	//alert("OnNodeEdit on " + id + "\n  text: " + text + "\n prevText: " + prevText);
	//alert("ob_OnNodeEdit " + id);
	if(ob_ev("OnNodeEdit"))
	{
		if (id.substr(0,1)=='a')
		{
			id = id.substr(1);
			document.location="../dossiers_grp/action_manage.asp?action=Upd_folder&id_dossier=" + id + "&nom_dossier=" + text
		}
	} 
}
//function ob_OnAddNode(parentId, childId, textOrHTML, expanded, image, subTreeURL)

function ob_OnAddNode(parentId, textOrHTML)
{    
	if (parentId=="root_tree1")
		document.location="../dossiers_grp/action_manage.asp?action=Add_folder&id_pere=0&nom_dossier=" + textOrHTML
	else
	{
		parentId = parentId.substr(1)
		//alert(textOrHTML);
		document.location="../dossiers_grp/action_manage.asp?action=Add_folder&id_pere=" + parentId + "&nom_dossier=" + textOrHTML
	}
}

function ob_OnRemoveNode(id)
{    
     // add client side code here
	 //alert("OnRemoveNode on " + id);
	 	 
	 if(ob_ev("OnRemoveNode"))
	 {	
	 	if (id.substr(0,1)=='a')
		{
			id = id.substr(1)
	 		document.location="../dossiers_grp/action_manage.asp?action=Dlt_folder&id_dossier=" + id 		
		}
			if (id.substr(0,1)=='d')
		{
			id = id.substr(1)
	 		document.location="../dossiers_grp/action_manage.asp?action=Dlt_doc&id_doc=" + id		
		}
		
		/*	
	    if(typeof ob_post == "object")
	    {			
	        ob_post.AddParam("id", id);
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnRemoveNode");
	    }
	    else
	    {
	        alert("Please add obout_Postback control to your page to use the server-side events");
	    }*/ 
	 }
}

function ob_OnNodeExpand(id, dynamic)
{
    // add client side code here	
	//alert("OnNodeExpand on: " + id + " " + dynamic);
        
    if(ob_ev("OnNodeExpand"))
	{
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnNodeExpand");
	    }
	  
	}		
}

function ob_OnNodeCollapse(id)
{
    // add client side code here
	//alert("OnNodeCollapse on " + id);			
	
    if(ob_ev("OnNodeCollapse"))
	{
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnNodeCollapse");
	    }
	    
	}		
}

/*
	Pre-events.
	Use them to implement your own validation for such operations as add, remove, edit
*/
/*
function ob_OnBeforeAddNode(parentId, childId, textOrHTML, expanded, image, subTreeURL)
{        
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
	//alert("OnBeforeAddNode");			
	if(ob_ev("OnBeforeAddNode"))
	{
		if ((src.substr(0,1)=='d') & (dst=="root_tree1"))
		{
			alert ("Un fichier ne peut pas être placé à la racine");
			return false;
		}
		if (dst.substr(0,1)=='d')
			return false;
		return true;
	} 	
}
*/

function ob_OnBeforeAddNode(parentId, textOrHTML)
{        
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
	if(ob_ev("OnBeforeAddNode"))
	{
		if (!parentId) 
		{
			alert (tabErr[0]);
			return false;
		}
		//alert ("coucou3");
		if ((parentId.substr(0,1)=='d'))
		{
			alert (tabErr[0]);
			return false;
		}
		if (textOrHTML=="")
		{
			alert (tabErr[5]);
			return false;
		}
		return true;
	}
}

function ob_OnBeforeRemoveNode(id)
{    
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
		
	if(ob_ev("OnBeforeRemoveNode"))
	{
		if (!id) {
			alert (tabErr[4]);
			return false;
		}
		if (id=="root_tree1")
		{
			alert (tabErr[3]);
			return false;
		}
		ob_od = document.getElementById(id);
		if ((id.substr(0,1)=='a') && (ob_hasChildren(ob_od)))
		{
			alert (tabErr[2]);
			return false;
		}
		return true;
	}
}

function ob_OnBeforeNodeEdit(id)
{    
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
//	alert("ob_OnBeforeNodeEdit " + id);
	if(ob_ev("OnBeforeNodeEdit"))
	{
		if (id=="root_tree1")
			return false;
		if (id.substr(0,1)=='d')
			return false;
		return true;
	/*
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnBeforeNodeEdit");
	    }
	    else
	    {
	        alert("Please add obout_Postback control to your page to use the server-side events");
	    } */
	}
	return true;
	
}

function ob_OnBeforeNodeSelect(id)
{    
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
	//alert("OnBeforeNodeSelect");
	
	if(ob_ev("OnBeforeNodeSelect"))
	{
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnBeforeNodeSelect");
	    }
	   
	}
	return true;
}

function ob_OnBeforeNodeDrop(src, dst, copy)
{    
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid	
	//alert("Node with id:" + src + " will be " + (!copy ? "moved" : "copied") + " to node with id:" + dst);	
	if(ob_ev("OnBeforeNodeDrop"))
	{
		if ((src.substr(0,1)=='d') & (dst=="root_tree1"))
		{
			alert (tabErr[1]);
			return false;
		}
		if (dst.substr(0,1)=='d')
			return false;
		return true;
	}
	return true;	
}

function ob_OnBeforeNodeDrag(id)
{    
	// add your own validation code
	// e.g. it may use synchronized obout postback to query
	// server side application whether such operation is valid
	//alert("OnBeforeNodeDrag for node with id: " + id);
	
	if(ob_ev("OnBeforeNodeDrag"))
	{
		/*
		if ((src.substr(0,1)=='d') & (dst=="root_tree1"))
		{
			alert ("Un fichier ne peut pas être placé à la racine");
			return false;
		}
		if (dst.substr(0,1)=='d')
		{
			alert ("Un répertoire ne peut pas être placé à la racine");
			return false;
		}*/
		return true;	
	}
}


function ob_OnBeforeNodeDropOutside(dst)
{    
    // add client side code here
    //alert("ob_OnBeforeNodeDropOutside");    
    if(ob_ev("OnBeforeNodeDropOutside"))
	{
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("dst", dst);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnBeforeNodeDropOutside");
	    }
	    else
	    {
	        alert("Please add obout_Postback control to your page to use the server-side events");
	    }
	}
	
	return true;
} 

function ob_OnBeforeNodeExpand(id, dynamic)
{
    // add client side code here
	//alert("OnBeforeNodeExpand on: " + id + " " + dynamic);
    if(ob_ev("OnBeforeNodeExpand"))
	{
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnBeforeNodeExpand");
	    }
	    else
	    {
	        alert("Please add obout_Postback control to your page to use the server-side events");
	    }
	}	
	
	return true;	
}

function ob_OnBeforeNodeCollapse(id)
{
    // add client side code here
	//alert("OnBeforeNodeCollapse on " + id);			
		
    if(ob_ev("OnBeforeNodeCollapse"))
	{
		if(document.getElementById(id).parentNode.parentNode.firstChild.firstChild.className == "ob_t8") {
			id = "root";
		}
	    if(typeof ob_post == "object")
	    {
	        ob_post.AddParam("id", id);	        
	        //Change "TreeEvents.aspx" with the name of your server-side processing file
	        ob_post.post("TreeEvents.aspx", "OnBeforeNodeCollapse");
	    }
	   
	}	
	
	return true;
}

