/**********************************************************************
 * 
 * $Id: opl-select-pulldowns.js 4712 2010-12-07 11:35:28Z mveerma1 $
 **********************************************************************/
fillCoursesbachelors();
fillCoursesminors();
fillCoursesmasters();
fillCoursesoverig();

function change_selectbachelors(which, obj){

    if (!obj) {
        obj = document.forms["uva-student-pulldown-form"].opleidingenbachelorsselect;
    }
    
    if (which == 'FACULTEIT') {
        obj.options.length = 0;
        change_selectmasters('FACULTEIT');
        change_selectminors('FACULTEIT');
        fillCoursesbachelors();
        obj.options[0] = new Option("Kies je bachelor", "");
        if (document.getElementById) 
            document.getElementById("faculteitnaam").innerHTML = "Alle opleidingen op alfabet";
        else 
            document.all["faculteitnaam"].innerHTML = "Alle opleidingen op alfabet";
        
        if (browser == 'explorer') {
            document.getElementById("welkefaculteit").style.background = 'white';
            document.getElementById("welkefaculteit").style.color = 'black';
            document.getElementById("opleidingenbachelorsselect").style.background = 'white';
            document.getElementById("opleidingenbachelorsselect").style.color = 'black';
            document.getElementById("opleidingenmastersselect").style.background = 'white';
            document.getElementById("opleidingenmastersselect").style.color = 'black';
        }
        
        
        // kopie van hieronder
        opleidingnamen = new Array();
        for (which in opleidingenbachelors) {
            for (i = 0; i < opleidingenbachelors[which].length; i++) {
                opleidingnamen[opleidingnamen.length] = opleidingenbachelors[which][i].text + "#!#" + opleidingenbachelors[which][i].value;
            }
        }
        opleidingnamen.sort();
        regex = /(.*)#!#(.*)/;
        for (which in opleidingnamen) {
            regex.exec(opleidingnamen[which]);
            text = RegExp.$1;
            value = RegExp.$2;
            document.forms["uva-student-pulldown-form"].opleidingenbachelorsselect.options[document.forms["uva-student-pulldown-form"].opleidingenbachelorsselect.options.length] = new Option(text, value);
        }
        
        obj.selectedIndex = 0;
        //einde kopie
    
    }
    else 
        if (" GEN FGw FdR ACTA FNWI FEE FMG iis ".search(which) > -1) {
            obj.options.length = 0;
            fillCoursesbachelors();
            obj.options[0] = new Option("Volledige lijst van bachelors", "FACULTEIT");
            faculteit = "";
            switch (which) {
                case "GEN":
                    faculteit = "Faculteit der Geneeskunde";
                    break;
                case "FGw":
                    faculteit = "Faculteit der Geesteswetenschappen";
                    break;
                case "FdR":
                    faculteit = "Faculteit der Rechtsgeleerdheid";
                    break;
                case "ACTA":
                    faculteit = "Faculteit der Tandheelkunde (ACTA)";
                    break;
                case "FNWI":
                    faculteit = "Faculteit der Natuurwetenschappen, Wiskunde en Informatica";
                    break;
                case "FEE":
                    faculteit = "Faculteit Economie en Bedrijfskunde";
                    break;
                case "FMG":
                    faculteit = "Faculteit der Maatschappij- en Gedragswetenschappen";
                    break;
                case "iis":
                    faculteit = "Instituut voor Interdisciplinaire opleidingen (IIS)";
                    break;
            }
            if (document.getElementById) 
                document.getElementById("faculteitnaam").innerHTML = faculteit;
            else 
                document.all["faculteitnaam"].innerHTML = faculteit;
            
            obj.options[1] = new Option("Kies je bachelor", "");
            // twee stappen: eerst legen, dan vullen
            for (i = obj.options.length; i >= 0; i--) {
                obj.options[i + 2] = null;
            }
            for (i = 0; i < opleidingenbachelors[which].length; i++) {
                if (opleidingenbachelors[which].length > i) {
                    obj.options[i + 2] = opleidingenbachelors[which][i];
                }
                else {
                    obj.options[i + 2] = null;
                }
            }
            obj.selectedIndex = 1;
        }
        else {
            if (obj[obj.selectedIndex].value.search("http://") > -1) {
                document.location.href = obj[obj.selectedIndex].value;
            }
            else 
                document.location.href = "/" + obj[obj.selectedIndex].value + "/";
        }
}

function change_selectminors(which, obj){
    if (obj == undefined) {
        obj = document.forms["uva-student-pulldown-form"].opleidingenminorsselect;
    }
    
    if (which == 'FACULTEIT') {
        obj.options.length = 0;
        fillCoursesminors();
        obj.options[0] = new Option("Kies je minor", "");
        document.forms["uva-student-pulldown-form"].welkefaculteit.value = "Alle opleidingen op alfabet";
        
        
        //kopie van hieronder
        opleidingnamenminors = new Array();
        for (which in opleidingenminors) {
            for (i = 0; i < opleidingenminors[which].length; i++) {
                opleidingnamenminors[opleidingnamenminors.length] = opleidingenminors[which][i].text + "#!#" + opleidingenminors[which][i].value;
            }
        }
        opleidingnamenminors.sort();
        regex = /(.*)#!#(.*)/;
        for (which in opleidingnamenminors) {
            regex.exec(opleidingnamenminors[which]);
            text = RegExp.$1;
            value = RegExp.$2;
            document.forms["uva-student-pulldown-form"].opleidingenminorsselect.options[document.forms["uva-student-pulldown-form"].opleidingenminorsselect.options.length] = new Option(text, value);
        }
        //einde kopie
        
        obj.selectedIndex = 0;
        
    }
    else 
        if (" GEN FGw FdR ACTA FNWI FEE FMG iis ".search(which) > -1) {
            obj.options.length = 0;
            fillCoursesminors();
            obj.options[0] = new Option("Volledige lijst van minors", "FACULTEIT");
            obj.options[1] = new Option("Kies je minor", "");
            faculteit = "";
            switch (which) {
                case "GEN":
                    faculteit = "Faculteit der Geneeskunde";
                    break;
                case "FGw":
                    faculteit = "Faculteit der Geesteswetenschappen";
                    break;
                case "FdR":
                    faculteit = "Faculteit der Rechtsgeleerdheid";
                    break;
                case "ACTA":
                    faculteit = "Faculteit der Tandheelkunde (ACTA)";
                    break;
                case "FNWI":
                    faculteit = "Faculteit der Natuurwetenschappen, Wiskunde en Informatica";
                    break;
                case "FEE":
                    faculteit = "Faculteit Economie en Bedrijfskunde";
                    break;
                case "FMG":
                    faculteit = "Faculteit der Maatschappij- en Gedragswetenschappen";
                    break;
                case "iis":
                    faculteit = "Instituut voor Interdisciplinaire Studies (IIS)";
                    break;
            }
            //even niet de faculteitnaam
            //obj.options[1] = new Option( "minors bij " + faculteit,"" );
            obj.options[1] = new Option("Kies je minor", "");
            // twee stappen: eerst legen, dan vullen
            for (i = obj.options.length; i >= 0; i--) {
                obj.options[i + 2] = null;
            }
            if (opleidingenminors[which]) {
                for (i = 0; i < opleidingenminors[which].length; i++) {
                    if (opleidingenminors[which].length > i) {
                        obj.options[i + 2] = opleidingenminors[which][i];
                    }
                    else {
                        obj.options[i + 2] = null;
                    }
                }
            }
            if (obj.length == 3) {
                //obj.options[1] = null;
                obj.selectedIndex = 1;
            }
            else {
                obj.selectedIndex = 1;
            }
            
            
        }
        else {
            if (obj[obj.selectedIndex].value.search("http://") > -1) {
                document.location.href = obj[obj.selectedIndex].value;
            }
            else 
                document.location.href = "/" + obj[obj.selectedIndex].value + "/";
        }
    
    if (opleidingenminors[which]) {
        if (opleidingenminors[which].length == 0) {
            obj.options[1] = new Option("minors: binnenkort beschikbaar", "");
            obj.selectedIndex = 1;
        }
    }
}

function change_selectmasters(which, obj){
    if (obj == undefined) {
        obj = document.forms["uva-student-pulldown-form"].opleidingenmastersselect;
    }
    
    if (which == 'FACULTEIT') {
        obj.options.length = 0;
        fillCoursesmasters();
        obj.options[0] = new Option("Kies je master", "");
        document.forms["uva-student-pulldown-form"].welkefaculteit.value = "Alle opleidingen op alfabet";
        
        
        //kopie van hieronder
        opleidingnamenmasters = new Array();
        for (which in opleidingenmasters) {
            for (i = 0; i < opleidingenmasters[which].length; i++) {
                opleidingnamenmasters[opleidingnamenmasters.length] = opleidingenmasters[which][i].text + "#!#" + opleidingenmasters[which][i].value;
            }
        }
        opleidingnamenmasters.sort();
        regex = /(.*)#!#(.*)/;
        for (which in opleidingnamenmasters) {
            regex.exec(opleidingnamenmasters[which]);
            text = RegExp.$1;
            value = RegExp.$2;
            document.forms["uva-student-pulldown-form"].opleidingenmastersselect.options[document.forms["uva-student-pulldown-form"].opleidingenmastersselect.options.length] = new Option(text, value);
        }
        //einde kopie
        
        obj.selectedIndex = 0;
        
    }
    else 
        if (" GEN FGw FdR ACTA FNWI FEE FMG iis ".search(which) > -1) {
            obj.options.length = 0;
            fillCoursesmasters();
            obj.options[0] = new Option("Volledige lijst van masters", "FACULTEIT");
            obj.options[1] = new Option("Kies je master", "");
            faculteit = "";
            switch (which) {
                case "GEN":
                    faculteit = "Faculteit der Geneeskunde";
                    break;
                case "FGw":
                    faculteit = "Faculteit der Geesteswetenschappen";
                    break;
                case "FdR":
                    faculteit = "Faculteit der Rechtsgeleerdheid";
                    break;
                case "ACTA":
                    faculteit = "Faculteit der Tandheelkunde (ACTA)";
                    break;
                case "FNWI":
                    faculteit = "Faculteit der Natuurwetenschappen, Wiskunde en Informatica";
                    break;
                case "FEE":
                    faculteit = "Faculteit Economie en Bedrijfskunde";
                    break;
                case "FMG":
                    faculteit = "Faculteit der Maatschappij- en Gedragswetenschappen";
                    break;
                case "iis":
                    faculteit = "Instituut voor Interdisciplinaire Studies (IIS)";
                    break;
            }
            //even niet de faculteitnaam
            //obj.options[1] = new Option( "Masters bij " + faculteit,"" );
            obj.options[1] = new Option("Kies je master", "");
            // twee stappen: eerst legen, dan vullen
            for (i = obj.options.length; i >= 0; i--) {
                obj.options[i + 2] = null;
            }
            if (opleidingenmasters[which]) {
                for (i = 0; i < opleidingenmasters[which].length; i++) {
                    if (opleidingenmasters[which].length > i) {
                        obj.options[i + 2] = opleidingenmasters[which][i];
                    }
                    else {
                        obj.options[i + 2] = null;
                    }
                }
            }
            if (obj.length == 3) {
                //obj.options[1] = null;
                obj.selectedIndex = 1;
            }
            else {
                obj.selectedIndex = 1;
            }
            
            
        }
        else {
            if (obj[obj.selectedIndex].value.search("http://") > -1) {
                document.location.href = obj[obj.selectedIndex].value;
            }
            else 
                document.location.href = "/" + obj[obj.selectedIndex].value + "/";
        }
    
    if (opleidingenmasters[which]) {
        if (opleidingenmasters[which].length == 0) {
            obj.options[1] = new Option("Masters: binnenkort beschikbaar", "");
            obj.selectedIndex = 1;
        }
    }
}


function change_selectoverig(which, obj){
    if (obj == undefined) {
        obj = document.forms["uva-student-pulldown-form"].opleidingenoverigselect;
    }
    
    if (which == 'FACULTEIT') {
        obj.options.length = 0;
        fillCoursesoverig();
        obj.options[0] = new Option("Overige opleidingen", "");
        
        
        //kopie van hieronder
        opleidingnamenoverig = new Array();
        for (which in opleidingenoverig) {
            for (i = 0; i < opleidingenoverig[which].length; i++) {
                opleidingnamenoverig[opleidingnamenoverig.length] = opleidingenoverig[which][i].text + "#!#" + opleidingenoverig[which][i].value;
            }
        }
        opleidingnamenoverig.sort();
        regex = /(.*)#!#(.*)/;
        for (which in opleidingnamenoverig) {
            regex.exec(opleidingnamenoverig[which]);
            text = RegExp.$1;
            value = RegExp.$2;
            document.forms["uva-student-pulldown-form"].opleidingenoverigselect.options[document.forms["uva-student-pulldown-form"].opleidingenoverigselect.options.length] = new Option(text, value);
        }
        //einde kopie
        
        obj.selectedIndex = 0;
        
    }
    else 
        if (" GEN FGw FdR ACTA FNWI FEE FMG iis ".search(which) > -1) {
            obj.options.length = 0;
            fillCoursesoverig();
            obj.options[0] = new Option("Volledige lijst van overige opleidingen", "FACULTEIT");
            obj.options[1] = new Option("Kies je overig", "");
            faculteit = "";
            switch (which) {
                case "GEN":
                    faculteit = "Faculteit der Geneeskunde";
                    break;
                case "FGw":
                    faculteit = "Faculteit der Geesteswetenschappen";
                    break;
                case "FdR":
                    faculteit = "Faculteit der Rechtsgeleerdheid";
                    break;
                case "ACTA":
                    faculteit = "Faculteit der Tandheelkunde (ACTA)";
                    break;
                case "FNWI":
                    faculteit = "Faculteit der Natuurwetenschappen, Wiskunde en Informatica";
                    break;
                case "FEE":
                    faculteit = "Faculteit Economie en Bedrijfskunde";
                    break;
                case "FMG":
                    faculteit = "Faculteit der Maatschappij- en Gedragswetenschappen";
                    break;
                case "iis":
                    faculteit = "Instituut voor Interdisciplinaire Studies (IIS)";
                    break;
            }
            //even niet de faculteitnaam
            //obj.options[1] = new Option( "overig bij " + faculteit,"" );
            obj.options[1] = new Option("Kies je overig", "");
            // twee stappen: eerst legen, dan vullen
            for (i = obj.options.length; i >= 0; i--) {
                obj.options[i + 2] = null;
            }
            for (i = 0; i < opleidingenoverig[which].length; i++) {
                if (opleidingenoverig[which].length > i) {
                    obj.options[i + 2] = opleidingenoverig[which][i];
                }
                else {
                    obj.options[i + 2] = null;
                }
            }
            if (obj.length == 3) {
                //obj.options[1] = null;
                obj.selectedIndex = 1;
            }
            else {
                obj.selectedIndex = 1;
            }
            
            
        }
        else {
            if (obj[obj.selectedIndex].value.search("http://") > -1) {
                document.location.href = obj[obj.selectedIndex].value;
                return 1;
            }
            else 
                document.location.href = "/" + obj[obj.selectedIndex].value + "/";
            return 1;
        }
    
    if (opleidingenoverig[which]) {
        if (opleidingenoverig[which].length == 0) {
            obj.options[1] = new Option("overig: zie bachelors", "");
            obj.selectedIndex = 1;
        }
    }
}

/*******************************************************************************
 * Code to fill the pulldowns
 *******************************************************************************/
Ext.onReady(function(){

    // Bachelor
    // maak eerst een lijst van opleidingnamen
    var opleidingnamen = [];
    
    
    for (var which in opleidingenbachelors) {
        for (var i = 0; i < opleidingenbachelors[which].length; i++) {
            if (opleidingenbachelors[which][i]) 
                opleidingnamen[opleidingnamen.length] = opleidingenbachelors[which][i].text + "#!#" + opleidingenbachelors[which][i].value;
        }
    }
    
    opleidingnamen.sort();
    var regex = /(.*)#!#(.*)/;
    for (var i = 0; i < opleidingnamen.length; i++) {
        regex.exec(opleidingnamen[i]);
        var text = RegExp.$1;
        var value = RegExp.$2;
        document.forms["uva-student-pulldown-form"].opleidingenbachelorsselect.options[document.forms["uva-student-pulldown-form"].opleidingenbachelorsselect.options.length] = new Option(text, value);
    }
    
    // Minor
    // maak eerst een lijst van opleidingnamen
    var opleidingnamenminors = new Array();
    for (var which in opleidingenminors) {
        for (var i = 0; i < opleidingenminors[which].length; i++) {
            if (opleidingenminors[which][i]) 
                opleidingnamenminors[opleidingnamenminors.length] = opleidingenminors[which][i].text + "#!#" + opleidingenminors[which][i].value;
        }
    }
    opleidingnamenminors.sort();
    
    for (var i = 0; i < opleidingnamenminors.length; i++) {
        regex.exec(opleidingnamenminors[i]);
        var text = RegExp.$1;
        var value = RegExp.$2;
        document.forms["uva-student-pulldown-form"].opleidingenminorsselect.options[document.forms["uva-student-pulldown-form"].opleidingenminorsselect.options.length] = new Option(text, value);
    }
    
    // Master
    // maak eerst een lijst van opleidingnamen
    var opleidingnamenmasters = new Array();
    for (var which in opleidingenmasters) {
        for (var i = 0; i < opleidingenmasters[which].length; i++) {
            if (opleidingenmasters[which][i]) 
                opleidingnamenmasters[opleidingnamenmasters.length] = opleidingenmasters[which][i].text + "#!#" + opleidingenmasters[which][i].value;
        }
    }
    opleidingnamenmasters.sort();
    
    for (var i = 0; i < opleidingnamenmasters.length; i++) {
        regex.exec(opleidingnamenmasters[i]);
        var text = RegExp.$1;
        var value = RegExp.$2;
        document.forms["uva-student-pulldown-form"].opleidingenmastersselect.options[document.forms["uva-student-pulldown-form"].opleidingenmastersselect.options.length] = new Option(text, value);
    }
    
    
    // Overig
    // maak eerst een lijst van opleidingnamen
    var opleidingnamenoverig = new Array();
    for (var which in opleidingenoverig) {
        for (var i = 0; i < opleidingenoverig[which].length; i++) {
            if (opleidingenoverig[which][i]) 
                opleidingnamenoverig[opleidingnamenoverig.length] = opleidingenoverig[which][i].text + "#!#" + opleidingenoverig[which][i].value;
        }
    }
    opleidingnamenoverig.sort();
    
    for (var i = 0; i < opleidingnamenoverig.length; i++) {
        regex.exec(opleidingnamenoverig[i]);
        var text = RegExp.$1;
        var value = RegExp.$2;
        document.forms["uva-student-pulldown-form"].opleidingenoverigselect.options[document.forms["uva-student-pulldown-form"].opleidingenoverigselect.options.length] = new Option(text, value);
    }
}, {
    single: true
});

