//version:1.0
//author: BrianChao
//locale : taiwan

function DOMUtil(){
 //***********************************property****************************************************

//*************************************method***************************************************
 this.addElement            = JFunc_addElement;             //add element in XML            OK
 this.removeElement         = JFunc_DeleteElement;          //delete element in XML         OK
 this.getTagCount	    = JFunc_GetTagCount;			//Get Tag Count in XML			OK
 this.getSingleNode	    = JFunc_GetSingleNode;			//Get Single Node OBJ           OK
 this.loadDOMByXML	    = JFunc_NewXMLDom;				//Create XMLDom
 this.loadDOMByFile	    = JFunc_loadDOMByFile;			//Create XMLDom
 this.removeElementByXPath  = JFunc_removeElementByXPath;			//Create XMLDom
}


//Purpose:Add_Element in XML
function JFunc_addElement(ObjChart,node,eltname,eltval){
 var child    = ObjChart.createElement(eltname);
 var textnode = ObjChart.createTextNode(eltval);
 child.appendChild(textnode);
 node.appendChild(child);
 return child;
}//function

function JFunc_removeElementByXPath(ObjChart,xpath){
   var lk = this.getSingleNode(ObjChart,xpath);
   lk.parentNode.removeChild(lk);
   return ObjChart;
}

//Purpose:Delete_Element in XML
function JFunc_DeleteElement(ObjChart,TagName){
 if (ObjChart && TagName){
    var ObjDeleteTag  = ObjChart.selectNodes(TagName);
    for (i=0;i<=ObjDeleteTag.length-1;i++){ObjChart.removeChild(ObjDeleteTag.item(i));}
 }
}//function

//Purpose:get Tag count in xml
function JFunc_GetTagCount(ObjChart,TagName){
 var objNodeLen  = ObjChart.selectNodes(TagName);
 var NodeLen     = objNodeLen.length;
 return NodeLen;
}//function


//Purpose:Get TagObject
function JFunc_GetSingleNode(ParentDom,xPath){
 var ObjTag="";
 if (ParentDom && xPath){ObjTag = ParentDom.selectSingleNode(xPath);}
 return ObjTag;
}//function

//Purpose:LoadXML
function JFunc_NewXMLDom(strXML){
 var objdom=new ActiveXObject("Microsoft.XMLDOM");
 objdom.async=false;
 objdom.loadXML(strXML);
 return objdom;
}

//Purpose:LoadXML
function JFunc_loadDOMByFile(strXML){
 var objdom=new ActiveXObject("Microsoft.XMLDOM");
 objdom.async=false;
 objdom.load(strXML);
 return objdom;
}
