var xmlDoc;
xmlDoc = loadXMLDoc("missionary.xml");

var missionaryData = new Array();
var numMissionaries = 0;
var NAME = 0;
var LOC = 1;
var WEB = 2;
var FLAG = 3;

var HOME=0;
var FOREIGN=1;




initialize_missionaries();

function GetAttr(check_elem, attr_name)
{
    the_attr = check_elem.attributes;
    num_attr = the_attr.length;
    for (acount=0; acount<num_attr; acount++)
    {
        curr_attr = the_attr[acount];
        curr_name = String(curr_attr.nodeName);
        search_name = attr_name;
        
        if ( (curr_name.indexOf(search_name) >= 0) &&
             (curr_name.length == search_name.length) )
        {
             return curr_attr.nodeValue;
        }  
    }
    return "";
}

function GetParentName(check_elem)
{
    parent_node = check_elem.parentNode;
    return parent_node.nodeName;
}

function GetName(check_elem)
{
    return GetAttr(check_elem, "my_name");
}

function GetLocation(check_elem)
{
    return GetAttr(check_elem, "my_location");
}

function GetLink(check_elem)
{
    return GetAttr(check_elem, "link");
}

function initialize_missionaries()
{
    
    allMissionaries = xmlDoc.getElementsByTagName("Missionary");
    num_missionaries = allMissionaries.length;

    
    for (count=0; count<num_missionaries; count++)
    {
        curr_missionary = allMissionaries[count];
        parent_name = GetParentName(curr_missionary);
        if ( (parent_name.indexOf("Foreign") >= 0) &&
              (parent_name.length == 7) )
        {
            flag = FOREIGN;
        }
        else
        {
            flag = HOME;
        }
        
        missionary_name = GetName(curr_missionary);
       
        missionary_loc = GetLocation(curr_missionary);
        missionary_link = GetLink(curr_missionary);
        
        add_missionary_data(missionary_name, missionary_loc, missionary_link, flag);
    }
        
}

function test_mission()
{
    document.write('test');
}

function write_missionaries()
{
    document.write('<BR/>');
    write_missionaries_flag(FOREIGN);
    document.write('<BR/>');
    document.write('<BR/>');
    write_missionaries_flag(HOME);
}

function write_missionaries_flag(flag)
{
    document.write('<TABLE border=1 cellpadding=3 width=850>');

    document.write('<TR>');
    document.write('<TD colspan=3 class="missionary_table">');
    document.write('<CENTER>');
    if (flag == HOME)
    {
         document.write('HOME MISSIONARIES');
    }
    else
    {
        document.write('FOREIGN MISSIONARIES');
    }
    document.write('</CENTER>');
    document.write('</TR>');
    document.write('</TD>');

    document.write('<TR>');
    document.write('<TD width=310>');
    document.write('<CENTER>');
    document.write('<B>Name</B>');
    document.write('</CENTER>');
    document.write('</TD>');
    document.write('<TD width=200>');
    document.write('<CENTER>');
    document.write('<B>Location</B>');
    document.write('</CENTER>');
    document.write('</TD>');
    document.write('<TD width=310>');
    document.write('<CENTER>');
    document.write('<B>Web Site Link</B>');
    document.write('</CENTER>');
    document.write('</TD>');
    document.write('</TR>');

    for (count=0; count<numMissionaries; count++)
    {
        if (missionaryData[count][FLAG] == flag)
        {
            document.write('<TR>');
            document.write('<TD>');
            document.write(missionaryData[count][NAME]);
            document.write('</TD>');
            document.write('<TD>');
            document.write(missionaryData[count][LOC]);
            document.write('</TD>');
            document.write('<TD>');
            document.write('<A HREF="');
            document.write(missionaryData[count][WEB]);
            document.write('">');
            document.write(missionaryData[count][WEB]);
            document.write('</A>');
            document.write('</TD>');
            document.write('</TR>');
        }
    }
    document.write('</TABLE>');    
}

function add_missionary_data(name, location, web_site, flag)
{
    missionaryData[numMissionaries] = new Array();
    missionaryData[numMissionaries][NAME] = name;
    missionaryData[numMissionaries][LOC] = location;
    missionaryData[numMissionaries][WEB] = web_site;
    missionaryData[numMissionaries][FLAG] = flag;
    numMissionaries++;
}