function iniciaAjax()
{
    Ajax = false;
    if ( window.XMLHttpRequest )
        Ajax = new XMLHttpRequest();
    else if ( window.ActiveXObject )
    {
        try {
            Ajax = new ActiveXObject("Msxm12.XMLHTTP");
        } catch (e) {
            try {
            Ajax = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    else
        alert("Não foi possivel iniciar o Ajax!")
}

function buscaMarcas(form)
{
    var tipo = form.f_tipo.value;

    iniciaAjax();
    if ( !Ajax )
    {
        alert("Não foi possivel iniciar o Ajax!");
        return;
    }
    
    Ajax.onreadystatechange = function (){mostraMarcas(form)};
	
    if ( form.name.substring(4,7) != 'adm' )
        Ajax.open('GET','./xml/xml_marcas.php?tipo='+tipo,true);
    else
        Ajax.open('GET','../xml/xml_marcas.php?tipo='+tipo,true);

    Ajax.send(null);
}

function mostraMarcas(form)
{
    if ( Ajax.readyState == 4 )
    {
        if ( Ajax.status == 200 )
        {
            var xmlTipo = Ajax.responseXML;
            var tipo     = form.f_tipo;
            var sel2     = form.f_modelo;
			var sel 	 = form.f_marca;
						
			if ( form.name.substring(4,7) == 'adm' )
				var vmarca	 = form.f_vmarca.value;
			else
				var vmarca = 'Selecione';

            if ( xmlTipo.hasChildNodes() )
            {
                sel2.selectedIndex = 'Selecione';
                sel2.disabled = true;
                var codigo  = xmlTipo.getElementsByTagName('codigo');
                var marca   = xmlTipo.getElementsByTagName('marca');
				
                limpa(sel);
                sel.disabled = false;
                sel.options[sel.options.length] = new Option("Selecione","Selecione",true,false);
				
                for ( i=0; i<marca.length; i++ )
                {
                    var cod = codigo[i].childNodes;
                    var mar = marca[i].childNodes;

                   	if ( cod[0].nodeValue == vmarca )
	                   	sel.options[0] = new Option(mar[0].nodeValue,cod[0].nodeValue,false,true);
     				else
     					sel.options[sel.options.length] = new Option(mar[0].nodeValue,cod[0].nodeValue,false,false);
                
                }
            }
			
            if ( tipo.value == 'Selecione' )
            {
                sel.selectedIndex = 'Selecione';
                sel2.selectedIndex = 'Selecione';
                sel.disabled  = true;
                sel2.disabled = true;
            }
			
			buscaModelos(form);
			
            if ( form.name.substring(4,7) == 'adm' )
            {
            	if ( form.f_categoria.value == 'Selecione' )
            		sel.disabled = true;
            }
        }
        else
            alert('Erro5: '+ Ajax.statusText);
    }
}

function limpa(ob)
{
    if ( ob.hasChildNodes())
    {
        var nos = ob.childNodes;

        while (nos.length > 0)
        {
            var no = nos[nos.length-1];
            ob.removeChild(no);
        }
    }
}