//globals 
var first   		= "key_geboorteland";     // id of first SELECT 
var second  		= "provincie";            // id of second SELECT
var first_sterf   	= "key_sterfteland";      // id of first SELECT 
var second_sterf  	= "provincie_sterf";      // id of second SELECT

// 
function sendRequest(url,params,HttpMethod) 
{ 
    // check if http method is defined, if not, set it to GET
    if(!HttpMethod) 
    {    
        HttpMethod="GET"; 
    } 
    
    // 
    // initialize request object 
    req=null; 
    if(window.XMLHttpRequest)
    {    
        req=new XMLHttpRequest; //mozilla/safari 
    } 
    else if(window.ActiveXObject)
    {    
        req=new ActiveXObject("Microsoft.XMLHTTP"); //internet explorer 
    } 
    // 
    //define callback handler 
    if(req) 
    { 
        //    
        req.onreadystatechange=onReadyState;    
        req.open(HttpMethod,url,true);    
        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    
        req.send(params); 
    } 
} 

// 
function onReadyState() 
{ 
    // 
    var ready=req.readyState; 
    var data=null; 
    //
    
    if(ready==4)
    {   //check ready state        
            
        // if no result
        if(document.getElementById(first).value.length==0)
        {
            // Geen resultaat dus plaats dit ook in dropdown die gevuld had moeten worden.
            var childkey_geboorteland = document.createElement('option'); //create option       
            var key_geboorteland = document.getElementById(second);       
            key_geboorteland.appendChild(childkey_geboorteland); //then append it to the second dropdown list, provincie     
            childkey_geboorteland.value = "";    
            childkey_geboorteland.innerHTML = "Geen resultaat";
        }
                
        // ALS Cat 1 (first) niet leeg is en de rest wel dan..
        // DOEL: Cat 2 vullen
        if(document.getElementById(first).value.length!="" && document.getElementById(second).value.length=="")
        {
            data=req.responseText; //read response data    
            var items = data.split(',');
            var length = items.length;
            
            //alert(items[0]);
            
            //if (items[0]=="Geen resultaat")
            //{
            //    provincie.style.visibility = "hidden";
            //}
            
            // loop data and fill dropdown list (provincie) with it
            for(var i = 0; i < length; i++) 
            {       
                if (length>1)
                {
                    var childkey_geboorteland = document.createElement('option'); //create option       
                    var key_geboorteland = document.getElementById(second);       
                    key_geboorteland.appendChild(childkey_geboorteland); //then append it to the second dropdown list, provincie     
                    childkey_geboorteland.value = items[i];       
                    childkey_geboorteland.innerHTML = items[i];
                }
                else
                {               
                    // Geen resultaat dus plaats dit ook in dropdown die gevuld had moeten worden.
                    var childkey_geboorteland = document.createElement('option'); //create option       
                    var key_geboorteland = document.getElementById(second);       
                    key_geboorteland.appendChild(childkey_geboorteland); //then append it to the second dropdown list, provincie     
                    childkey_geboorteland.value = "Geen resultaat";    
                    childkey_geboorteland.innerHTML = "Geen resultaat";
                }                
            }   
        }

        // if no result
        if(document.getElementById(first_sterf).value.length==0)
        {
            // Geen resultaat dus plaats dit ook in dropdown die gevuld had moeten worden.
            var childkey_sterfteland = document.createElement('option'); //create option       
            var key_sterfteland = document.getElementById(second_sterf);       
            key_sterfteland.appendChild(childkey_sterfteland); //then append it to the second dropdown list, provincie     
            childkey_sterfteland.value = "";    
            childkey_sterfteland.innerHTML = "Geen resultaat";
        }


        // ALS Cat 1 (first) niet leeg is en de rest wel dan..
        // DOEL: Cat 2 vullen
        if(document.getElementById(first_sterf).value.length!="" && document.getElementById(second_sterf).value.length=="")
        {
            data=req.responseText; //read response data    
            var items = data.split(',');
            var length = items.length;
            
            //alert(items[0]);
            
            if (items[0]=='- Geen resultaat -')
            {
                provincie_sterf.style.visibility = "hidden";
            }
            
            // loop data and fill dropdown list (provincie) with it
            for(var i = 0; i < length; i++) 
            {       
                if (length>1)
                {
                    var childkey_sterfteland = document.createElement('option'); //create option       
                    var key_sterfteland = document.getElementById(second_sterf);       
                    key_sterfteland.appendChild(childkey_sterfteland); //then append it to the second dropdown list, provincie     
                    childkey_sterfteland.value = items[i];       
                    childkey_sterfteland.innerHTML = items[i];
                }
                else
                {                
                    var key_sterfteland = document.getElementById(second_sterf);
                    key_sterfteland.style.visibility = "hidden";
                    //alert("geen resultaat");;
                }                
            }
        }        
	} 
}

// get provincie
function clicked_geboorteland() 
{ 
    // define variables
    var key_geboorteland = document.getElementById(first); 
    var provincie        = document.getElementById(second);

    var selected = document.getElementById("key_geboorteland").value;    
    
    // first reset all values
    var childkey_geboorteland = document.createElement('option');   
    provincie.appendChild(childkey_geboorteland);    
    childkey_geboorteland.innerHTML = 'Selecteer eerst het geboorteland a.u.b.';    
    provincie.disabled=1; 
    provincie.style.visibility = "hidden";
    
    // removes items from dropdown if some already exist    
    while(provincie.hasChildNodes()) 
    { 
        provincie.removeChild(provincie.firstChild); 
    } 

    // if they choose something other than the first select-->"Selecteer een aanvangsmaand en jaar a.u.b."
    if(selected!= 0) 
    {  
        sendRequest('fetch_provincie.php?key_geboorteland='+selected);   
        provincie.disabled=0;
        provincie.style.visibility = "visible";
        
        if (selected=='Nederland' || selected=='Belgie')
        {
            provincie.disabled=0;
        }
        else
        {
            provincie.disabled=0;
        };
    } 
    //otherwise add the 'Selecteer een aanvangsmaand en jaar a.u.b.' option and disable it
    else 
    {    
        sendRequest('fetch_provincie.php?key_geboorteland='+selected);   
        provincie.disabled=0;
        provincie.style.visibility = "visible";
        
        if (selected=='Nederland' || selected=='Belgie')
        {
            provincie.disabled=0;
        }
        else
        {
            provincie.disabled=0;
        };
        
        /*
        var childkey_geboorteland = document.createElement('option');    
        provincie.appendChild(childkey_geboorteland);    
        childkey_geboorteland.innerHTML = 'Selecteer eerst het geboorteland a.u.b.';    
        provincie.disabled=1; 
        provincie.style.visibility = "hidden";
        
        // removes items from dropdown if some already exist    
        while(provincie.hasChildNodes()) 
        { 
            provincie.removeChild(provincie.firstChild); 
        }
        */
    } 
}

// GET geboorteplaats
function clicked_geboorteprovincie() 
{ 
    //
    var key_geboorteland = document.getElementById(first); 
    var provincie        = document.getElementById(second);


    // alert('rule 103: ' + first);
    //alert('rule 104: ' + second);
    //alert('rule 105: ' + third);
    var selected_land = document.getElementById(first).value;
    var selected      = document.getElementById("provincie").value;
    //var selected = document.getElementById('key_geboorteland');
    //alert("selected:" + selected)
    //alert(form.cat1.value)
    //alert(form.cat1[1].value)
    //var selected = key_geboorteland.options[key_geboorteland.selectedIndex].text;
    //var selected = cat1[1].value;
    //var selected = cat1.options[selected].value
    
    
    // first reset all values
    var childkey_provincie = document.createElement('option');   
    geboorteplaats.appendChild(childkey_provincie);    
    childkey_provincie.innerHTML = 'Selecteer eerst de provincie a.u.b.';    
    geboorteplaats.disabled=1; 
    geboorteplaats.style.visibility = "hidden";
    
    // removes items from dropdown if some already exist    
    while(geboorteplaats.hasChildNodes()) 
    { 
        geboorteplaats.removeChild(geboorteplaats.firstChild); 
    } 

    // if they choose something other than the first select-->"Selecteer een aanvangsmaand en jaar a.u.b."
    if(selected!= 0) 
    {  
        sendRequest('fetch_geboorteplaats.php?key_geboorteland='+selected_land+'&provincie='+selected);   
        geboorteplaats.disabled=0;
        geboorteplaats.style.visibility = "visible";
    } 
    //otherwise add the 'Selecteer een aanvangsmaand en jaar a.u.b.' option and disable it
    else 
    {    
        var childkey_provincie = document.createElement('option');    
        geboorteplaats.appendChild(childkey_provincie);    
        childkey_provincie.innerHTML = 'Selecteer eerst de provincie a.u.b.';    
        geboorteplaats.disabled=0; 
        geboorteplaats.style.visibility = "hidden";
        
        // removes items from dropdown if some already exist    
        while(geboorteplaats.hasChildNodes()) 
        { 
            geboorteplaats.removeChild(geboorteplaats.firstChild); 
        }
    } 
}

// get provincie_sterf
function clicked_sterfteland() 
{ 
    //
    var key_sterfteland  = document.getElementById(first_sterf); 
    var provincie_sterf = document.getElementById(second_sterf);

    var selected = document.getElementById("key_sterfteland").value;
    //var selected = document.getElementById('key_sterfteland');
    //alert(selected)
    
    //alert(form.cat1.value)
    //alert(form.cat1[1].value)

    //var selected = key_sterfteland.options[key_sterfteland.selectedIndex].text;
    //var selected = cat1[1].value;
    //var selected = cat1.options[selected].value
    
    
    // first reset all values
    var childkey_sterfteland = document.createElement('option');   
    provincie_sterf.appendChild(childkey_sterfteland);    
    childkey_sterfteland.innerHTML = 'Selecteer eerst het sterfteland a.u.b.';    
    provincie_sterf.disabled=1; 
    provincie_sterf.style.visibility = "hidden";
    
    // removes items from dropdown if some already exist    
    while(provincie_sterf.hasChildNodes()) 
    { 
        provincie_sterf.removeChild(provincie_sterf.firstChild); 
    } 

    // if they choose something other than the first select-->"Selecteer een aanvangsmaand en jaar a.u.b."
    if(selected!= 0) 
    {  
        sendRequest('fetch_provincie_sterf.php?key_sterfteland='+selected);   
        provincie_sterf.disabled=0;
        provincie_sterf.style.visibility = "visible";
        
        if (selected=='Nederland' || selected=='Belgie')
        {
            provincie_sterf.disabled=0;
        }
        else
        {
            provincie_sterf.disabled=0;
        };        
    } 
    //otherwise add the 'Selecteer een aanvangsmaand en jaar a.u.b.' option and disable it
    else 
    {    
        sendRequest('fetch_provincie_sterf.php?key_sterfteland='+selected);   
        provincie_sterf.disabled=0;
        provincie_sterf.style.visibility = "visible";
        
        if (selected=='Nederland' || selected=='Belgie')
        {
            provincie_sterf.disabled=0;
        }
        else
        {
            provincie_sterf.disabled=0;
        };
        
        /*
        var childkey_sterfteland = document.createElement('option');    
        provincie_sterf.appendChild(childkey_sterfteland);    
        childkey_sterfteland.innerHTML = 'Selecteer eerst het sterfteland a.u.b.';    
        provincie_sterf.disabled=1; 
        provincie_sterf.style.visibility = "hidden";
        
        // removes items from dropdown if some already exist    
        while(provincie_sterf.hasChildNodes()) 
        { 
            provincie_sterf.removeChild(provincie_sterf.firstChild); 
        }
        */
    } 
}

// GET sterfteplaats
function clicked_sterfprovincie() 
{ 
    //
    var key_sterfteland = document.getElementById(first_sterf); 
    var provincie_sterf        = document.getElementById(second_sterf);

    // alert('rule 103: ' + first);
    //alert('rule 104: ' + second);
    //alert('rule 105: ' + third);
    var selected_land_sterf = document.getElementById(first_sterf).value;
    var selected_sterf      = document.getElementById("provincie_sterf").value;
    //var selected = document.getElementById('key_geboorteland');
    //alert("selected:" + selected)
    //alert(form.cat1.value)
    //alert(form.cat1[1].value)
    //var selected = key_geboorteland.options[key_geboorteland.selectedIndex].text;
    //var selected = cat1[1].value;
    //var selected = cat1.options[selected].value
    
    
    // first reset all values
    var childkey_provincie_sterf = document.createElement('option');   
    sterfteplaats_sterf.appendChild(childkey_provincie_sterf);    
    childkey_provincie_sterf.innerHTML = 'Selecteer eerst de provincie a.u.b.';    
    sterfteplaats_sterf.disabled=1; 
    sterfteplaats_sterf.style.visibility = "hidden";
    
    // removes items from dropdown if some already exist    
    while(sterfteplaats_sterf.hasChildNodes()) 
    { 
        sterfteplaats_sterf.removeChild(sterfteplaats_sterf.firstChild); 
    } 

    // if they choose something other than the first select-->"Selecteer een aanvangsmaand en jaar a.u.b."
    if(selected_sterf!= 0) 
    {  
        sendRequest('fetch_sterfteplaats.php?key_sterfteland='+selected_land_sterf+'&provincie_sterf='+selected_sterf);   
        sterfteplaats_sterf.disabled=0;
        sterfteplaats_sterf.style.visibility = "visible";
    } 
    //otherwise add the 'Selecteer een aanvangsmaand en jaar a.u.b.' option and disable it
    else 
    {    
        var childkey_provincie_sterf = document.createElement('option');    
        sterfteplaats_sterf.appendChild(childkey_provincie_sterf);    
        childkey_provincie_sterf.innerHTML = 'Selecteer eerst de provincie a.u.b.';    
        sterfteplaats_sterf.disabled=0; 
        sterfteplaats_sterf.style.visibility = "hidden";
        
        // removes items from dropdown if some already exist    
        while(sterfteplaats_sterf.hasChildNodes()) 
        { 
            sterfteplaats_sterf.removeChild(sterfteplaats_sterf.firstChild); 
        }
    } 
}


