// load the xml file
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.load("rule.xml");
// load the xsl file
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("rule.xsl");
// create the xslt object
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
xslt.stylesheet = xslDoc;
var xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
var checked_count = 0;
var cur_page = 1;
var total_page = 1;
function modify_rule(id){
var node = xmlDoc.selectSingleNode("/rules/rule[event/id="+id+"]");
modify_node(node);
}
function add_rule(){
var id = xmlDoc.createElement("id");
id.appendChild(xmlDoc.createTextNode(add_id.value));
var name = xmlDoc.createElement("name");
name.appendChild(xmlDoc.createTextNode(add_name.value));
var event = xmlDoc.createElement("event");
event.appendChild(id);
event.appendChild(name);
function protectsubmit(val){
if( val == 1 ) { //add
if( add_id.value < 10000 || add_name.value == "" ) {
window.alert("事件号必须是5位整数且事件名不能为空");
} else if( xmlDoc.selectSingleNode("/rules/rule/event/id[. = " + add_id.value + "]") ) {
window.alert("事件号" + add_id.value + "已经存在");
} else {
add_rule();
saveXML();
Transform();
}
} else if( val == 2 ) { //modify
var id = viewTable.rows[getFirstCheckedLine()].cells[2].innerText;
if( modify_id.value < 10000 || modify_name.value == "" ) {
window.alert("事件号必须是5位整数且事件名不能为空");
} else if( id != modify_id.value && xmlDoc.selectSingleNode("/rules/rule/event/id[. = " + modify_id.value + "]") ) {
window.alert("事件号" + modify_id.value + "已经存在");
} else {
if( confirm("确认修改?") ) {
modify_rule(id);
saveXML();
Transform();
}
}
} else if( val == 3 ) { //delete
if( !confirm("确认删除?") ) {
return;
}
for( var i = 1; i < viewTable.rows.length; i++ ) {
var id = viewTable.rows[i].cells[2].innerText;
if( eval("viewchk_" + id + ".checked") == true ) {
delete_rule(id)
}
}
saveXML();
Transform();
} else if( val == 4 ) { //select all
checked_count = viewTable.rows.length - 1;
for( var i = 1; i < viewTable.rows.length; i++ ) {
var id = viewTable.rows[i].cells[2].innerText;
eval("viewchk_" + id + ".checked = true");
}
changeState();
} else if( val == 5 ) { //cancel all
checked_count = 0;
for( var i = 1; i < viewTable.rows.length; i++ ) {
var id = viewTable.rows[i].cells[2].innerText;
eval("viewchk_" + id + ".checked = false");
}
changeState();
}
}
function getFirstCheckedLine(){
for( var i = 1; i < viewTable.rows.length; i++ ) {
var id = viewTable.rows[i].cells[2].innerText;
if( eval("viewchk_" + id + ".checked") == true ) {
return i;
}
}
return 0;
}