﻿// JScript 文件
function AJAX_Parse_Result(node) {
    var j=0;
	var parseMethod = node.getAttributeNode("parseMethod").value;
	var value = null;

    if(parseMethod!=null) {
	    eval("value="+parseMethod+"(node)");
    }
    
    return value;
}
function AJAX_Parse_Boolean(node) {
    var value = node.getAttributeNode("value").value;
    if(!value) return false;
    if(value=="true") return true;
    else return false;
}
function AJAX_Parse_String(node) {
    return node.getAttributeNode("value").value;
}
function AJAX_Parse_Int(node) {
    return parseInt(node.getAttributeNode("value").value);
}
function AJAX_Parse_Number(node) {
    return parseFloat(node.getAttributeNode("value").value);
}
function AJAX_Parse_Date(node) {
    return new Date(node.getAttributeNode("value").value);
}
function AJAX_Parse_List(node) {
    var i=0;    
    var list = new Array(node.childNodes.length);
    for(;i<node.childNodes.length;i++) {
        var value = AJAX_Parse_Result(node.childNodes.item(i));

        list[i] = value;
    }
    return list;
}
function AJAX_Parse_Entity(node) {
    var i=0;
    var entityObj = new Object();
    for(;i<node.childNodes.length;i++) {
        var childNode = node.childNodes.item(i);

        var propertyName = childNode.getAttributeNode("name").value;
        var value = AJAX_Parse_Result(childNode.firstChild);
        
        eval("entityObj."+propertyName+"=value");
    }
    return entityObj;
}
function AJAX_Parse_DataTable(node) {
    var i=0;
    var columnsNode = node.selectSingleNode("columns");
    var columns = new Array(columnsNode.childNodes.length);
    for(;i<columnsNode.childNodes.length;i++) {
        columns[i] = columnsNode.childNodes.item(i).getAttributeNode("name").value;
    }
    var rowsNode = node.selectSingleNode("rows");
    var list = new Array(rowsNode.childNodes.length);
    for(i=0;i<rowsNode.childNodes.length;i++) {
        var j=0;
        var obj = new Object();
        for(;j<columns.length;j++) {
            var value = AJAX_Parse_Result(rowsNode.childNodes.item(i).childNodes.item(j));
            eval("obj."+columns[j]+"=value");
        }
        list[i] = obj;
    }
    return list;
}