// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov  Date: 08/10/2012 8:47:45
// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   EstructuraDeLosXMLs.java

package project;

import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.*;

// Referenced classes of package project:
//            BuscadorDeModificaciones, Application1, Crypto, AccederADatos, 
//            ConvertirXML, BlindUsers

public class EstructuraDeLosXMLs
{

    public EstructuraDeLosXMLs(String modulo2, String tema2)
    {
        cantidadTotalDelTema = 0;
        cantTemaN1 = 0;
        cantTemaN2 = 0;
        cantTemaN3 = 0;
        s = 0;
        direccionTema = "";
        tema = "";
        tema = tema2;
        modulo = modulo2;
        direccionTema = "/project/modulo" + modulo + ".xml";
        contarTema();
    }

    public void contarTema()
    {
        stream = Application1.crypto.decrypt((java.lang.Object.class).getResourceAsStream(direccionTema));
        try
        {
            m_dbf = DocumentBuilderFactory.newInstance();
            db1 = m_dbf.newDocumentBuilder();
            doc1 = db1.parse(stream);
            doc1 = ConvertirXML.aFormatoAntiguo(doc1, AccederADatos.idioma, modulo, tema);
            listOfQuestions1 = doc1.getElementsByTagName("question");
            if(!AccederADatos.entraComoApplet)
            {
                BuscadorDeModificaciones buscadorDeModificaciones = new BuscadorDeModificaciones(listOfQuestions1, modulo, tema);
                listOfQuestions1 = buscadorDeModificaciones.createNewNodeList();
            }
            identificativos = new String[listOfQuestions1.getLength()];
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        s = 0;
        for(int i = 0; i < listOfQuestions1.getLength(); i++)
        {
            nextQuestion = (Element)listOfQuestions1.item(i);
            if(!AccederADatos.entraComoDemo && AccederADatos.leer("h.checkBlindUsers").compareToIgnoreCase("S\355") == 0 && BlindUsers.isBlindUser(AccederADatos.dni) && nextQuestion.getAttribute("type").compareToIgnoreCase("BT") == 0)
                continue;
            identificativos[s] = nextQuestion.getAttribute("id");
            if(nextQuestion.getAttribute("Grado").equals("1"))
                cantTemaN1 = cantTemaN1 + 1;
            else
            if(nextQuestion.getAttribute("Grado").equals("2"))
                cantTemaN2 = cantTemaN2 + 1;
            else
            if(nextQuestion.getAttribute("Grado").equals("3"))
                cantTemaN3 = cantTemaN3 + 1;
            s++;
        }

        arrayTemaN1 = new int[cantTemaN1];
        arrayTemaN2 = new int[cantTemaN2];
        arrayTemaN3 = new int[cantTemaN3];
        cantTemaN1 = 0;
        cantTemaN2 = 0;
        cantTemaN3 = 0;
        s = 0;
        for(int i = 0; i < listOfQuestions1.getLength(); i++)
        {
            nextQuestion = (Element)listOfQuestions1.item(i);
            if(!AccederADatos.entraComoDemo && AccederADatos.leer("h.checkBlindUsers").compareToIgnoreCase("S\355") == 0 && BlindUsers.isBlindUser(AccederADatos.dni) && nextQuestion.getAttribute("type").compareToIgnoreCase("BT") == 0)
                continue;
            if(nextQuestion.getAttribute("Grado").equals("1"))
            {
                arrayTemaN1[cantTemaN1] = i;
                cantTemaN1 = cantTemaN1 + 1;
            } else
            if(nextQuestion.getAttribute("Grado").equals("2"))
            {
                arrayTemaN2[cantTemaN2] = i;
                cantTemaN2 = cantTemaN2 + 1;
            } else
            if(nextQuestion.getAttribute("Grado").equals("3"))
            {
                arrayTemaN3[cantTemaN3] = i;
                cantTemaN3 = cantTemaN3 + 1;
            }
            s++;
        }

        cantidadTotalDelTema = cantTemaN1 + cantTemaN2 + cantTemaN3;
    }

    public static void main(String args1[])
        throws Exception
    {
    }

    public int darPosicion(String ID)
    {
        int i = 0;
        for(i = 0; i < identificativos.length; i++)
            if(identificativos[i].compareToIgnoreCase(ID) == 0)
                return i;

        return 0;
    }

    int cantidadTotalDelTema;
    Document doc1;
    NodeList listOfQuestions1;
    String identificativos[];
    int cantTemaN1;
    int cantTemaN2;
    int cantTemaN3;
    int arrayTemaN1[];
    int arrayTemaN2[];
    int arrayTemaN3[];
    int s;
    DocumentBuilderFactory m_dbf;
    DocumentBuilder db1;
    Element nextQuestion;
    InputStream stream;
    String modulo;
    String direccionTema;
    String tema;
}