var all_data = new Array(

	new Array("chimpanzee",new Array(
		new Array("Patr A*0101", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr A*0301", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr A*0401", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr A*0701", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr A*0901", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr B*0101", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Patr B*1301", new Array('9', [2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [2, 3, 4, 6])), 
		new Array("Patr B*2401", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("All alleles", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6]))
	)), 

	new Array("mouse",new Array(
		new Array("H-2 Db", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("H-2 Dd", new Array('9', [1, 2, 3, 5, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("H-2 Kb", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("H-2 Kd", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [2, 3, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("H-2 Kk", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [2, 3, 4, 6]), new Array('11', [2, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("H-2 Ld", new Array('9', [1, 2, 3, 4, 6]), new Array('12', [2, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("All alleles", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('12', [2, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6]))
	)), 

	new Array("macaque",new Array(
		new Array("Mamu A*01", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu A*02", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu A*11", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu A*2201", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu A*2601", new Array('10', [2, 3, 4, 6])), 
		new Array("Mamu B*01", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu B*03", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu B*08", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu B*17", new Array('8', [2, 3, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("Mamu B*48", new Array('9', [2, 4, 6])), 
		new Array("Mamu B*52", new Array('9', [2, 4, 6])), 
		new Array("All alleles", new Array('8', [1, 2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6]))
	)), 

	new Array("human",new Array(
		new Array("HLA A*0101", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0201", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA A*0202", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0203", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0206", new Array('8', [2, 4, 6]), new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0211", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0212", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0216", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0219", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0250", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*0301", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*1101", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2301", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2402", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2403", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2501", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2601", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2602", new Array('9', [1, 2, 3, 6])), 
		new Array("HLA A*2603", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*2902", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*3001", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [2, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA A*3002", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*3101", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*3201", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA A*3301", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*6801", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA A*6802", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA A*6901", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA A*8001", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*0702", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*0801", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*0802", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*0803", new Array('9', [1, 2, 3, 6])), 
		new Array("HLA B*1501", new Array('9', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*1502", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*1503", new Array('9', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*1509", new Array('9', [1, 2, 3, 6])), 
		new Array("HLA B*1517", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*1801", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA B*2705", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*3501", new Array('8', [2, 3, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*3801", new Array('9', [1, 2, 3, 6])), 
		new Array("HLA B*3901", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4001", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 6]), new Array('All lengths', [1, 2, 3, 6])), 
		new Array("HLA B*4002", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4402", new Array('9', [1, 2, 3, 4, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4403", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4501", new Array('9', [1, 2, 3, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4601", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*4801", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("HLA B*5101", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*5301", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*5401", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*5701", new Array('9', [1, 2, 3, 6]), new Array('10', [2, 3, 6]), new Array('All lengths', [1, 2, 3, 6])), 
		new Array("HLA B*5801", new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6])), 
		new Array("HLA B*5802", new Array('9', [5, 6])), 
		new Array("HLA B*7301", new Array('9', [1, 2, 3, 4, 6])), 
		new Array("All alleles", new Array('8', [2, 3, 4, 6]), new Array('9', [1, 2, 3, 4, 5, 6]), new Array('10', [1, 2, 3, 4, 6]), new Array('11', [2, 3, 4, 6]), new Array('All lengths', [1, 2, 3, 4, 5, 6]))
	)));
var method_names = new Array("ann", "smm", "arb", "smmpmbec", "comblib_sidney2008", "consensus");

//window.onload = UpdateAlleles;
window.onload = SetDefault;


function formReset()
{
    document.getElementById("formular").reset();
    UpdateAlleles();
}

function SetDefault() {
    // Needs a cleanup to make it more readable.
    // This routine sets the default selection to be mhc=HLA A*0201, length=9.
    // Minimize this redundancy. YK 20090515.
    start_species = 'human'
    start_MHC = 'HLA A*0201'
    start_length = '9'

    ///// Get the index of 'human'
    index_human = 0
    for (var i=0; i<all_data.length; i++) {
        species = all_data[i][0]
        if (species == start_species) {
            index_human = i
        }
    }
    document.formular.species.options[index_human].selected = true; //# Make sure the index of species='human' is correct. Later a routine should be written to automaically identify this because for each version of tools, available species may vary.


    // Alleles list should be updated based on this choice.
    // Find out what index HLA A*0201 is. Then set this selected.

    // Lengths list should be updated given the MHC.
    // Find out what index length 9 is. Then set this selected.

    selected_species = document.formular.species.selectedIndex
    allele_data=all_data[selected_species][1]

    last_allele = document.formular.allele.options[document.formular.allele.selectedIndex].value
    select_index=0

    document.formular.allele.length=0; // delete previous options
    for( var a = 0; a < allele_data.length; a++ )
    {
        allele_name = allele_data[a][0]
        document.formular.allele.options[a] = new Option(allele_name,allele_name,false,false);
        if (allele_name==start_MHC)
            select_index=a;
    }
    document.formular.allele.options[select_index].selected = true;
    //hide('txtArea1'); hide('txtArea2');hide('txtArea3');
    //show('txtArea4'); show('txtArea5');


/////////////// Update lengths
    selected_species = document.formular.species.selectedIndex
    selected_allele  = document.formular.allele.selectedIndex
    length_data = all_data[selected_species][1][selected_allele]

    last_length = document.formular.peplength.options[document.formular.peplength.selectedIndex].text
    select_index=0

    document.formular.peplength.length=0; // delete previous options

	for (var l = 1; l < length_data.length; l++)
	{
		length_name = length_data[l][0]
		document.formular.peplength.options[l-1] = new Option(length_name,length_name,true,true);
		if(length_name==start_length)
			select_index=l-1
	}
    document.formular.peplength.options[select_index].selected = true;
    UpdateMethods()
}

function UpdateAlleles()
{
	selected_species = document.formular.species.selectedIndex
	allele_data=all_data[selected_species][1]

	last_allele = document.formular.allele.options[document.formular.allele.selectedIndex].value
	select_index=0

    document.formular.allele.length=0; // delete previous options
    for( var a = 0; a < allele_data.length; a++ )
    {
    	allele_name = allele_data[a][0]
		document.formular.allele.options[a] = new Option(allele_name,allele_name,false,false);
		if(allele_name==last_allele)
			select_index=a;
    }
    document.formular.allele.options[select_index].selected = true;
    UpdateLengths();
}


function UpdateLengths()
{
	selected_species = document.formular.species.selectedIndex
    selected_allele  = document.formular.allele.selectedIndex
	length_data = all_data[selected_species][1][selected_allele]

	last_length = document.formular.peplength.options[document.formular.peplength.selectedIndex].text
	select_index=0

    document.formular.peplength.length=0; // delete previous options

	for (var l = 1; l < length_data.length; l++)
	{
		length_name = length_data[l][0]
		document.formular.peplength.options[l-1] = new Option(length_name,length_name,true,true);
		if(length_name==last_length)
			select_index=l-1
	}
    document.formular.peplength.options[select_index].selected = true;
    UpdateMethods()
}

function UpdateMethods()
{
	selected_species = document.formular.species.selectedIndex
    selected_allele  = document.formular.allele.selectedIndex
	selected_length  = document.formular.peplength.selectedIndex
	method_data = all_data[selected_species][1][selected_allele][selected_length+1][1]

	last_method = document.formular.pred_method.options[document.formular.pred_method.selectedIndex].text
	select_index = 0

    document.formular.pred_method.length=0; // delete previous options
	for (var l = 0; l < method_data.length; l++)
	{
		m_name = method_names[method_data[l]-1]
		document.formular.pred_method.options[l] = new Option(m_name,m_name,true,true);
		if(m_name==last_method)
			select_index=l
	}
    document.formular.pred_method.options[select_index].selected = true;
}
