
dhtmlXTreeObject.prototype.unSelect=function(){
    if (this.lastSelected)
        this._unselectItem(this.lastSelected.parentObject);
}
 
dhtmlXTreeObject.prototype.setSerializationLevel=function(userData,fullXML){
 this._xuserData=convertStringToBoolean(userData);
 this._xfullXML=convertStringToBoolean(fullXML);
}

 
dhtmlXTreeObject.prototype.serializeTree=function(){
 var out='<?xml version="1.0"?><tree id="0">';
 for(var i=0;i<this.htmlNode.childsCount;i++)
 out+=this._serializeItem(this.htmlNode.childNodes[i]);
 out+="</tree>";
 return out;
};
 
dhtmlXTreeObject.prototype._serializeItem=function(itemNode){


 if(itemNode.unParsed)
 if(document.all)
 return itemNode.unParsed.xml;
 else{
 var xmlSerializer = new XMLSerializer();
 return xmlSerializer.serializeToString(itemNode.unParsed);
}
 
 
 var out="";
 if(this.lastSelected)
 var lid=this.lastSelected.parentObject.id;
 else lid="\"";

 
 if(!this._xfullXML)
 out='<item id="'+itemNode.id+'" '+(this._getOpenState(itemNode)==1?' open="1" ':'')+(lid==itemNode.id?' select="1"':'')+' text="'+itemNode.span.innerHTML+'"'+(((this.XMLsource)&&(itemNode.XMLload==0))?" child=\"1\" ":"")+'>';
 else 
 out='<item id="'+itemNode.id+'" '+(this._getOpenState(itemNode)==1?' open="1" ':'')+(lid==itemNode.id?' select="1"':'')+' text="'+itemNode.span.innerHTML+'" im0="'+itemNode.images[0]+'" im1="'+itemNode.images[1]+'" im2="'+itemNode.images[2]+'" '+(itemNode.acolor?('aCol="'+itemNode.acolor+'" '):'')+(itemNode.scolor?('sCol="'+itemNode.scolor+'" '):'')+(itemNode.checkstate==1?'checked="1" ':(itemNode.checkstate==2?'checked="-1"':''))+(itemNode.closeable?'closeable="1" ':'')+'>';
 
 if((this._xuserData)&&(itemNode._userdatalist))
{
 var names=itemNode._userdatalist.split(",");
 for(var i=0;i<names.length;i++)
 out+="<userdata name=\""+names[i]+"\">"+itemNode.userData["t_"+names[i]]+"</userdata>";
}

 for(var i=0;i<itemNode.childsCount;i++)
 out+=this._serializeItem(itemNode.childNodes[i]);
 


 out+="</item>";
 return out;
}
 
dhtmlXTreeObject.prototype.saveSelectedItem=function(name){
 name=name||"";
 this.setCookie("treeStateSelected"+name,this.getSelectedItemId());
}
 
dhtmlXTreeObject.prototype.restoreSelectedItem=function(name){
 name=name||"";
 var z=this.getCookie("treeStateSelected"+name);
 this.selectItem(z,false);
}


 
dhtmlXTreeObject.prototype.enableAutoSavingSelected=function(mode){
 this.assMode=convertStringToBoolean(mode);
}


 
dhtmlXTreeObject.prototype.saveState=function(name){
 var z=this._escape(this.serializeTree());
 var kusok = 4000;
 if(z.length>kusok)
{
 if(navigator.appName.indexOf("Microsoft")!=-1)
 return false;this.setCookie("treeStatex"+name,Math.ceil(z.length/kusok));
 for(var i=0;i<Math.ceil(z.length/kusok);i++)
{
 this.setCookie("treeStatex"+name+"x"+i,z.substr(i*kusok,kusok));
}
}
 else
 this.setCookie("treeStatex"+name,z);
 var z=this.getCookie("treeStatex"+name);
 if(!z){
 this.setCookie("treeStatex"+name,"");
 return false;
}
 return true;
}
 
dhtmlXTreeObject.prototype.loadState=function(name){
 var z=this.getCookie("treeStatex"+name);
 if(!z)return false;

 if(z.length)
{
 if(z.toString().length<4)
{

 var z2="";
 for(var i=0;i<z;i++){
 z2+=this.getCookie("treeStatex"+name+"x"+i);
}
 z=z2;
}
 this.loadXMLString((this.utfesc=="utf8")?decodeURI(z):unescape(z));
}

 return true;
}
 
dhtmlXTreeObject.prototype.setCookie=function(name,value,expires,path,domain,secure){
 var str = name+"="+value+
((expires)? ";expires="+expires.toGMTString(): "")+
((path)? ";path="+path : ";path=/")+
((domain)? ";domain="+domain : "")+
((secure)? ";secure" : "");
 document.cookie = str;
}

 
dhtmlXTreeObject.prototype.getCookie=function(name){
 var search = name+"=";
 if(document.cookie.length > 0){
 var offset = document.cookie.indexOf(search);
 if(offset != -1){
 offset+= search.length;
 var end = document.cookie.indexOf(";",offset);
 if(end == -1)
 end = document.cookie.length;
 return document.cookie.substring(offset,end);
}}
};

 
dhtmlXTreeObject.prototype._createSelfExC=dhtmlXTreeObject.prototype._createSelf;
dhtmlXTreeObject.prototype._createSelf=function(){
 this.oldOnSelect=this.onRowSelect;
 this.onRowSelect=function(e,htmlObject,mode){
 if(!htmlObject)htmlObject=this;
 htmlObject.parentObject.treeNod.oldOnSelect(e,htmlObject,mode);
 if(htmlObject.parentObject.treeNod.assMode)
 htmlObject.parentObject.treeNod.saveSelectedItem();
}

 return this._createSelfExC();
}

 
dhtmlXTreeObject.prototype.saveOpenStates=function(name){
 var z=this._collectOpenStates(this.htmlNode,"");
 setCookie("treeOpenStatex"+name,z);
};

 
dhtmlXTreeObject.prototype.loadOpenStates=function(name){
 for(var i=0;i<this.htmlNode.childsCount;i++)
 this._xcloseAll(this.htmlNode.childNodes[i]);

 var z=getCookie("treeOpenStatex"+name);
 if(z){
 var arr=z.split(",");
 for(var i=0;i<arr.length;i++)
{
 this.openItem(arr[i]);
}
}
};

 
dhtmlXTreeObject.prototype._collectOpenStates=function(node,list){
 if(this._getOpenState(node)==1)list+=","+node.id;
 for(var i=0;i<node.childsCount;i++)
 list=this._collectOpenStates(node.childNodes[i],list);
 return list;
};

 
function setCookie(name,value){
 document.cookie = name+'='+value;
}

 
function getCookie(name){
 var search = name+"=";
 if(document.cookie.length > 0){
 var offset = document.cookie.indexOf(search);
 if(offset != -1){
 offset+= search.length;
 var end = document.cookie.indexOf(";",offset);
 if(end == -1)
 end = document.cookie.length;
 return(document.cookie.substring(offset,end));
}}
};


