

/* XML */
var _XMLHttpRequest;
function loadXMLDoc(_URL, 
                    _ReadyStateChange) {
    if (window.XMLHttpRequest) {
        _XMLHttpRequest = new XMLHttpRequest();
        _XMLHttpRequest.onreadystatechange = eval(_ReadyStateChange);
        _XMLHttpRequest.open("GET", _URL, true);
        _XMLHttpRequest.send(null)
    } 
    else if (window.ActiveXObject) {
        _XMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        if (_XMLHttpRequest) {
            _XMLHttpRequest.onreadystatechange = eval(_ReadyStateChange);
            _XMLHttpRequestopen("GET", _URL, true);
            _XMLHttpRequest.send()
        }
    }
}

/* Make List */
function MakeListUpdate() { 
    var _Type = document.getElementById(MakeList.TypeId);
    var _Makes = document.getElementById(MakeList.Id);
    var _Models = document.getElementById(ModelList.Id);
    var _Derivatives = document.getElementById(DerivativeList.Id);
    if (_XMLHttpRequest.readyState == 4) { 
        if (_XMLHttpRequest.status == 200) { 
            _XML = _XMLHttpRequest.responseXML;
            _Makes.length         = 0;
            _Models.length        = 0;
            _Derivatives.length   = 0;
            _Makes[0]             = new Option(MakeList.MakeText);
            _Makes[0].value       = MakeList.SelectValue;
            _Models[0]            = new Option(MakeList.ModelText);
            _Models[0].value      = MakeList.SelectValue;
            _Derivatives[0]       = new Option(MakeList.DerivativeText);
            _Derivatives[0].value = MakeList.SelectValue;
            if (_Type[_Type.selectedIndex].value!=MakeList.SelectValue) {
                for (var _Make=0; _Make<(_XML.getElementsByTagName(MakeList.MakeTag).length); _Make++) {
                    _Makes[_Make+1]       = new Option(_XML.getElementsByTagName(MakeList.MakeTag)[_Make].firstChild.data);
                    _Makes[_Make+1].value = _XML.getElementsByTagName(MakeList.MakeTag)[_Make].firstChild.data
                }
            }
        }
    }
}

function MakeListSendXML() { 
    var _Type = document.getElementById(MakeList.TypeId);
    var _Type = _Type[_Type.selectedIndex].value;
    loadXMLDoc(MakeList.XmlURL+_Type,
               'MakeListUpdate')
}

function MakeListMenu() { 
    this.Id             = 'ctl00_Content_Makes';
    this.TypeId         = 'ctl00_Content_Types';
    this.MakeTag        = 'make';
    this.XmlURL         = 'admin-makes.aspx?Commercial=';
    this.XmlNode        = '//make';
    this.MakeText       = 'Please Select';
    this.ModelText      = 'Select Make';
    this.DerivativeText = 'Select Model';
    this.SelectValue    = 'Select';
    this.Update         = MakeListSendXML
}
var MakeList = new MakeListMenu;

/* Model List */
function ModelListUpdate() { 
    var _Models = document.getElementById(ModelList.Id);
    var _Derivatives = document.getElementById(DerivativeList.Id);
    if (_XMLHttpRequest.readyState == 4) { 
        if (_XMLHttpRequest.status == 200) { 
            _XML = _XMLHttpRequest.responseXML;
            _Models.length        = 0;
            _Derivatives.length   = 0;
            _Models[0]            = new Option(ModelList.ModelText);
            _Models[0].value      = ModelList.SelectValue;
            _Derivatives[0]       = new Option(ModelList.DerivativeText);
            _Derivatives[0].value = ModelList.SelectValue;
            for (var _Model=0; _Model<(_XML.getElementsByTagName(ModelList.ModelTag).length); _Model++) {
                _Models[_Model+1]       = new Option(_XML.getElementsByTagName(ModelList.ModelTag)[_Model].firstChild.data);
                _Models[_Model+1].value = _XML.getElementsByTagName(ModelList.ModelTag)[_Model].firstChild.data
            }
        }
    }
}

function ModelListSendXML() { 
    var _Type = document.getElementById(ModelList.TypeId);
    var _Make = document.getElementById(ModelList.MakeId);
    var _Type = _Type[_Type.selectedIndex].value;
    var _Make = _Make[_Make.selectedIndex].value;
    loadXMLDoc(ModelList.XmlURL+_Type+'&Make='+_Make,
               'ModelListUpdate')
}

function ModelListMenu() { 
    this.Id         = 'ctl00_Content_Models';
    this.TypeId     = 'ctl00_Content_Types';
    this.MakeId     = 'ctl00_Content_Makes';
    this.ModelTag   = 'model';
    this.XmlURL     = 'admin-models.aspx?Commercial=';
    this.XmlNode    = '//model';
    this.ModelText      = 'Please Select';
    this.DerivativeText = 'Select Model';
    this.SelectValue    = 'Select';
    this.Update     = ModelListSendXML
}
var ModelList = new ModelListMenu;

/* Derivative List */
function DerivativeListUpdate() { 
    var _Derivatives = document.getElementById(DerivativeList.Id);
    if (_XMLHttpRequest.readyState == 4) { 
        if (_XMLHttpRequest.status == 200) { 
            _XML = _XMLHttpRequest.responseXML;
            _Derivatives.length   = 0;
            _Derivatives[0]       = new Option(DerivativeList.SelectText);
            _Derivatives[0].value = DerivativeList.SelectText;
            for (var _Derivative=0; _Derivative<(_XML.getElementsByTagName(DerivativeList.DerivativeText).length); _Derivative++) {
                _Derivatives[_Derivative+1]       = new Option(_XML.getElementsByTagName(DerivativeList.DerivativeText)[_Derivative].firstChild.data);
                _Derivatives[_Derivative+1].value = _XML.getElementsByTagName(DerivativeList.DerivativeValue)[_Derivative].firstChild.data
            }
        }
    }
}

function DerivativeListSendXML() { 
    var _Type  = document.getElementById(DerivativeList.TypeId);
    var _Make  = document.getElementById(DerivativeList.MakeId);
    var _Model = document.getElementById(DerivativeList.ModelId);
    var _Type  = _Type[_Type.selectedIndex].value;
    var _Make  = _Make[_Make.selectedIndex].value;
    var _Model = _Model[_Model.selectedIndex].value;
    loadXMLDoc(DerivativeList.XmlURL+_Type+'&Make='+_Make+'&Model='+_Model,
               'DerivativeListUpdate')
}

function DerivativeListMenu() { 
    this.Id              = 'ctl00_Content_Derivatives';
    this.TypeId          = 'ctl00_Content_Types';
    this.MakeId          = 'ctl00_Content_Makes';
    this.ModelId         = 'ctl00_Content_Models';
    this.DerivativeText  = 'text';
    this.DerivativeValue = 'value';
    this.XmlURL          = 'admin-derivatives.aspx?Commercial=';
    this.XmlNode         = '//derivative';
    this.SelectText      = 'Please Select';
    this.Update          = DerivativeListSendXML
}
var DerivativeList = new DerivativeListMenu;

/* End */
