var isIE60 =(navigator.userAgent && navigator.userAgent.indexOf("MSIE 6") != -1) ||
			(navigator.userAgent && navigator.userAgent.indexOf("MSIE 7") != -1);

dwr.engine.setErrorHandler(trataErros);
dwr.util.setEscapeHtml(false);
var aparelhosCache = { };

function iniciaRessarcFormB() {
    setTabela();
}

function trataErros(msg, excp){
    if(excp.javaClassName == "br.com.elucid.agenciaweb.modelo.exception.ListaVaziaException"){
        limpaTipoAparelhoList();
        limpaSubTipoAparelhoList();
        var selectAparelho = document.getElementById('aparelho');
        selectAparelho.selectedIndex = 0;
    }
    alert(msg);
}

function getListaTipoAparelhos(optionAparelho){
    var selectAparelho = document.getElementById('aparelho');
    limpaDadosAparelho();
    if(selectAparelho.selectedIndex == 0){
        limpaTipoAparelhoList();
        limpaSubTipoAparelhoList();
        return;
    }
    RessarcimentoDanosB.getTipoAparelhosList(optionAparelho, returnListaTipoAparelhos);
}

function returnListaTipoAparelhos(listaTipoAparelhos){
    limpaTipoAparelhoList();
    limpaSubTipoAparelhoList();
    DWRUtil.addOptions('tipoAparelho', listaTipoAparelhos, 'codTipoAparelho', 'descTipoAparelho');
}

function getListaSubTipoAparelhos(optionTipoAparelho){
    var selectAparelho = document.getElementById('aparelho');
    var optionAparelho = selectAparelho[selectAparelho.selectedIndex];
    var selectTipoAparelho = document.getElementById('tipoAparelho');
    limpaDadosAparelho();
    if(selectTipoAparelho.selectedIndex == 0){
        limpaSubTipoAparelhoList();
        return;
    }
    RessarcimentoDanosB.getSubTipoAparelhosList(optionAparelho.value, optionTipoAparelho, returnListaSubTipoAparelhos);
}

function returnListaSubTipoAparelhos(listaSubTipoAparelhos){
    limpaSubTipoAparelhoList();
    DWRUtil.addOptions('subTipoAparelho', listaSubTipoAparelhos, 'codSubTipoAparelho', 'descSubTipoAparelho');
}

function limpaAparelhoList(){
    var selectAparelho = document.getElementById('aparelho');
    selectAparelho.selectedIndex = 0;
}
function limpaTipoAparelhoList(){
    var selectTipoAparelho = document.getElementById('tipoAparelho');
    var optionTipoAparelho = selectTipoAparelho[0];
    DWRUtil.removeAllOptions('tipoAparelho');
    selectTipoAparelho[0] = optionTipoAparelho; 
}

function limpaSubTipoAparelhoList(){
    var selectSubTipoAparelho = document.getElementById('subTipoAparelho');
    var optionSubTipoAparelho = selectSubTipoAparelho[0];
    DWRUtil.removeAllOptions('subTipoAparelho');
    selectSubTipoAparelho[0] = optionSubTipoAparelho; 
}

function limpaDadosAparelho(){
    document.getElementById('descAparelho').value = '';
    document.getElementById('codigoTempoUso').selectedIndex = 0;
    document.getElementById('voltagem').value = '';
    document.getElementsByName('bifasico')[2].checked = true;
    document.getElementById('anoFabricacao').value = '';
    document.getElementsByName('reparoAntes')[2].checked = true;
    document.getElementsByName('reparoDepois')[2].checked = true;
}

function setTabela() {
    RessarcimentoDanosB.getAparelhos(
        function(aparelhos) {
            // Delete all the rows except for the "pattern" row
            dwr.util.removeAllRows(
                "aprlsSelecionadosBody", 
                {   filter:function(tr) {
                        return ((tr.id != "pattern") && (tr.id != "semAparelhos"));
                    }
                }
            );
            // Create a new set cloned from the pattern row
            var afDTO, id;
            for(var cont = 0; cont < aparelhos.length; cont++) {
                afDTO = aparelhos[cont];
                id = afDTO.id;
                dwr.util.cloneNode("pattern", { idSuffix:id });
                dwr.util.setValue("asDesc" + id, afDTO.descAparelho);
                dwr.util.setValue("asTmpUsoDesc" + id, afDTO.tempoUsoDesc);
                dwr.util.setValue("asVolt" + id, afDTO.voltagem);
                dwr.util.setValue("asBivolt" + id, afDTO.bivoltDesc);
                dwr.util.setValue("asAnoFab" + id, afDTO.anoFabricacao);
                dwr.util.setValue("asRepAntes" + id, afDTO.reparadoAntesDesc);
                dwr.util.setValue("asRepDepois" + id, afDTO.reparadoDepoisDesc);
                $("pattern" + id).style.display = "";
                aparelhosCache[id] = afDTO;
            }
            if(aparelhos.length == 0){
                document.getElementById("semAparelhos").style.display = "";
            } else {
                document.getElementById("semAparelhos").style.display = "none";
            }
        }
    );
}

function addAparelho() {
    var aparelho = document.getElementById("aparelho").value;
    var tipoAparelho = document.getElementById("tipoAparelho").value;
    var subTpAprl = document.getElementById("subTipoAparelho").value;
    var indice = document.getElementById("subTipoAparelho").selectedIndex;
    var descAprl = document.getElementById("descAparelho").value;
    var indice = document.getElementById("codigoTempoUso").selectedIndex;
    var codTempoUso = document.getElementById("codigoTempoUso").value;
    var descTempoUso = document.getElementById("codigoTempoUso")[indice].text;
    var voltagem = document.getElementById("voltagem").value;
    var bifasicoRadio = document.getElementsByName("bifasico");
    var bifasico = null;
    var bifasicoDesc = null;
    for(cont = 0; cont < bifasicoRadio.length; cont++){
        if(bifasicoRadio[cont].checked){
            var bifasico = bifasicoRadio[cont].value;
            var bifasicoDesc = document.getElementById("bifasico" + cont).innerHTML;
        }
    }
    var anoFabricacao = document.getElementById("anoFabricacao").value; 
    var reparoAntesRadio = document.getElementsByName("reparoAntes"); 
    var reparoAntes = null;
    var reparoAntesDesc = null;
    for(cont = 0; cont < reparoAntesRadio.length; cont++){
        if(reparoAntesRadio[cont].checked){
            var reparoAntes = reparoAntesRadio[cont].value;
            var reparoAntesDesc = document.getElementById("reparoAntes" + cont).innerHTML;
        }
    }
    var reparoDepoisRadio = document.getElementsByName("reparoDepois"); 
    var reparoDepois = null;
    var reparoDepoisDesc = null;
    for(cont = 0; cont < reparoDepoisRadio.length; cont++){
        if(reparoDepoisRadio[cont].checked){
            var reparoDepois = reparoDepoisRadio[cont].value;
            var reparoDepoisDesc = document.getElementById("reparoDepois" + cont).innerHTML;
        }
    }
    var afDTO = {
        id:"",
        codAparelho:aparelho,
        codTipoAparelho:tipoAparelho,
        codSubTipoAparelho:subTpAprl,
        descAparelho:descAprl,
        tempoUso:codTempoUso,
        tempoUsoDesc:descTempoUso,
        voltagem:voltagem,
        bivolt:bifasico,
        bivoltDesc:bifasicoDesc,
        anoFabricacao:anoFabricacao,
        reparadoAntes:reparoAntes,
        reparadoAntesDesc:reparoAntesDesc,
        reparadoDepois:reparoDepois,
        reparadoDepoisDesc:reparoDepoisDesc        
    }
    dwr.engine.beginBatch();
    RessarcimentoDanosB.addAparelho(afDTO, function(dados){
        setTabela();
        limpaAparelhoList();
        limpaTipoAparelhoList();
        limpaSubTipoAparelhoList();
        limpaDadosAparelho();
    });
    dwr.engine.endBatch();
}

function apagaAparelho(id) {
    var afDTO = aparelhosCache[id.substring(5)];
    if (confirm("Confirma a exclusão do aparelho " + afDTO.descAparelho + "?")) {
        dwr.engine.beginBatch();
        RessarcimentoDanosB.removeAparelho(afDTO);
        setTabela();
        dwr.engine.endBatch();
    }
}

function alteraAparelho(id) {
    dwr.engine.setAsync(false);
    var afDTO = aparelhosCache[id.substring(5)];
    var aparelho = document.getElementById("aparelho");
    var tipoAparelho = document.getElementById("tipoAparelho");
    var subTpAprl = document.getElementById("subTipoAparelho");
    var descAprl = document.getElementById("descAparelho");
    var tempoUso = document.getElementById("codigoTempoUso");
    var voltagem = document.getElementById("voltagem");
    var bifasicoRadio = document.getElementsByName("bifasico");
    var anoFabricacao = document.getElementById("anoFabricacao");
    var reparoAntesRadio = document.getElementsByName("reparoAntes");
    var reparoDepoisRadio = document.getElementsByName("reparoDepois");
    
    for( var cont = 0; cont < aparelho.length; cont++){
        if(aparelho[cont].value == afDTO.codAparelho){
            aparelho.selectedIndex = cont;
            break;
        } 
    } 
    getListaTipoAparelhos(afDTO.codAparelho);
    for( var cont = 0; cont < tipoAparelho.length; cont++){
        if(tipoAparelho[cont].value == afDTO.codTipoAparelho){
            tipoAparelho.selectedIndex = cont;
            break;
        } 
    }
    getListaSubTipoAparelhos(afDTO.codTipoAparelho);
    for( var cont = 0; cont < subTpAprl.length; cont++){
        if(subTpAprl[cont].value == afDTO.codSubTipoAparelho){
            subTpAprl.selectedIndex = cont;
            break;
        } 
    }
    for( var cont = 0; cont < tempoUso.length; cont++){
        if(tempoUso[cont].value == afDTO.tempoUso){
            tempoUso.selectedIndex = cont;
            break;
        } 
    }
    for( var cont = 0; cont < bifasicoRadio.length; cont++){
        if(bifasicoRadio[cont].value == afDTO.bivolt){
            bifasicoRadio[cont].checked = true;
            break;
        } 
    }
    for( var cont = 0; cont < reparoAntesRadio.length; cont++){
        if(reparoAntesRadio[cont].value == afDTO.reparadoAntes){
            reparoAntesRadio[cont].checked = true;
            break;
        } 
    }
    for( var cont = 0; cont < reparoDepoisRadio.length; cont++){
        if(reparoDepoisRadio[cont].value == afDTO.reparadoDepois){
            reparoDepoisRadio[cont].checked = true;
            break;
        } 
    }
    descAprl.value = afDTO.descAparelho;
    voltagem.value = afDTO.voltagem;
    anoFabricacao.value = afDTO.anoFabricacao;
     
    dwr.engine.beginBatch();
    RessarcimentoDanosB.removeAparelho(afDTO);
    setTabela();
    dwr.engine.endBatch();
    
    aparelho.focus();
}


function limpaAparelho(){
    document.getElementById("aparelho").selectedIndex = 0;
    getListaTipoAparelhos(0);
    document.getElementById("codigoTempoUso").selectedIndex = 0;
    document.getElementById("voltagem").value = "";
    var bifasicoRadio = document.getElementsByName("bifasico");
    for(cont = 0; cont < bifasicoRadio.length; cont++){
        bifasicoRadio[cont].checked = false;
    }
    document.getElementById("anoFabricacao").value = ""; 
    var reparoAntesRadio = document.getElementsByName("reparoAntes"); 
    for(cont = 0; cont < reparoAntesRadio.length; cont++){
        if(reparoAntesRadio[cont].value == "NAO SEI"){
            reparoAntesRadio[cont].checked = true;
        }
    }
    var reparoDepoisRadio = document.getElementsByName("reparoDepois"); 
    for(cont = 0; cont < reparoDepoisRadio.length; cont++){
        if(reparoDepoisRadio[cont].value == "NAO SEI"){
            reparoDepoisRadio[cont].checked = true;
        }
    }
}

function preencheDataFim(data){
    var dataFim = document.getElementById("dtaFim");
    var horaFim = document.getElementById("horaFim");
    dataFim.value = data.value;
    horaFim.value = hora.value;
}

function tipoDocumento(){
    var aparelho = document.getElementById("tipoDoc");
    if(aparelho.value == "CPF"){
        document.getElementById("divRG").style.display = "block";
    } else{
        document.getElementById("divRG").style.display = "none";
    }
}
