function set_models(id)
{
   var vars = "m="+id;
   var ajax = Ajax("/ajax/models/", models_build_quick).send(vars, 'GET'); 
}

function set_models_ext(id)
{
    document.getElementById('preload').style.display='block';
    var vars = "m="+id;
    var ajax = Ajax("/ajax/models/", models_build_ext).send(vars, 'GET'); 
}

function models_check(xmlHttp)
{
    var xmlResponse = xmlHttp.responseXML;
    if(!xmlResponse || !xmlResponse.documentElement)
        throw("Неверная структура XML: \n "+xmlHttp.responseText);
    var rootNodeName = xmlResponse.documentElement.nodeName;
    if (rootNodeName == "parseerror") throw ("Invalid XML structure");
    return xmlResponse.documentElement.childNodes;
}

function models_build_quick(xmlHttp)
{
    var models = models_check(xmlHttp)
    var select = document.getElementById('model');
    select.options.length = 1;

    if (models)
    {
        for (var i=0; i<models.length; i++)
        {
            select.options[i+1] = new Option (
                get_node_text(models[i]),
                models[i].getAttribute( 'id' ).toString()
            );
        }
    }
}
function get_node_text(node)
{
    if(node.text != undefined)
        return node.text;
    else if (node.textContent != undefined)
        return node.textContent;
    else
        return node.innerText;
}

function models_build_ext(xmlHttp)
{
    var models = models_check(xmlHttp)
    document.getElementById('preload').style.display='none';
    if (models)
    {
        var div = document.getElementById('models');
        while( child= div.firstChild ) div.removeChild( child )
        if (models.length > 0)
        {
            div.style.display='block';
            for (var i=0; i<models.length; i++)
            {
                var cell = document.createElement('div');
                cell.className='form-cell';
                var val = models[i].getAttribute( 'id' ).toString();
                var input = document.createElement('input');
                input.type='checkbox';
                input.id='model_'+val;
                input.value=val;
                input.name='m[]';
                //input.checked='checked';
                cell.appendChild(input);
                var label = document.createElement('label');
                label.htmlFor = input.id;
                label.appendChild( document.createTextNode(get_node_text(models[i])) );
                cell.appendChild(label);
                div.appendChild(cell);
            }
            clear = document.createElement('div');
            clear.className='clear';
            div.appendChild(clear);
        }
        else
        {
            div.style.display='none';

        }
    }
}

function clear_childs(node)
{

}

