﻿function AjaxException(elem)
{
    this.id = elem.getAttribute("Id");
    this.message = elem.getAttribute("Message");
    
    // props
    this.props = [];
    this.namedProps = [];
    
    var propsElem = XmlTool.getSingleChildElem(elem, "Props");
    if (propsElem)
    {
        var propElems = XmlTool.getChildElems(propsElem, "Prop");
        
        for (var i = 0; i < propElems.length; ++i)
        {
            var propElem = propElems[i];
            
            var name = propElem.getAttribute("Name");
            var val = propElem.getAttribute("Value");
            
            var prop = {name: name, value: val};
            this.props.push(prop);
            
            this.namedProps[name] = val;
        }
    }
    
    // inner
    var inner = null;
    var innerExElem = XmlTool.getSingleChildElem(elem, "InnerException");
    if (innerExElem)
    {
        inner = new AjaxException(innerExElem);
    }
    
    this.innerException = inner;
}

