// Q-matic
var qmaticdatevalid = false;
function fetch_qmaticdates(value) {
    var product_element = document.getElementById('xml_1_100_STANDAARDELEMENT_listbox');
    try {
        // If first option is empty, it's the "select something" option
        // This must be done on value, because in some cases the first option
        // might be a REAL option, so selectedIndex is not the way to do it.
        if (product_element.value != '') {
            document.getElementById('simeform_iframe').src='simeform.php?iframe=1&form='+document.frm.form.value+'&element_id=100&product_id='+value;
        }
    } catch(e) {}
}

function fetch_qmatictimes(product_id,datum) {
    var day = datum.substr(0,2);
    var month = datum.substr(3,2);
    var year = datum.substr(6,4);

    var url = 'simeform.php?iframe=1&form='+document.frm.form.value+'&element_id=101&product_id='+product_id+'&dag='+day+'&maand='+month+'&jaar='+year;
    try {
        url = url+'&time='+time;
    } catch(timeerr) {}
    document.getElementById('simeform_iframe').src=url;
}

function set_qmaticdatevalid(validvalue) {
    qmaticdatevalid = validvalue;
}
// end Q-matic

// JCC
var jccdatevalid = false;
function fetch_jccdates(value) {
    var product_element = document.getElementById('xml_1_109_STANDAARDELEMENT_listbox');
    try {
        // If first option is empty, it's the "select something" option
        // This must be done on value, because in some cases the first option
        // might be a REAL option, so selectedIndex is not the way to do it.
        if (product_element.value != '') {

            document.getElementById('simeform_iframe').src='simeform.php?iframe=1&form='+document.frm.form.value+'&element_id=109&product_id='+value;
        }
    } catch(e) {}
}

function fetch_jcctimes(product_id,datum) {
    var day = datum.substr(0,2);
    var month = datum.substr(3,2);
    var year = datum.substr(6,4);

    var url = 'simeform.php?iframe=1&form='+document.frm.form.value+'&element_id=110&product_id='+product_id+'&dag='+day+'&maand='+month+'&jaar='+year;
    try {
        url = url+'&time='+time;
    } catch(timeerr) {}

    document.getElementById('simeform_iframe').src=url;
}

function set_jccdatevalid(validvalue) {
    jccdatevalid = validvalue;
}
// end JCC


function noenter() {
    if (window.event && window.event.keyCode == 13) {
        fetch_qmatictimes(document.getElementById('xml_1_100_STANDAARDELEMENT_listbox').value,document.getElementById('xml_1_101_STANDAARDELEMENT_datetime').value);
    }
    return !(window.event && window.event.keyCode == 13);
}

function jcc_noenter() {
    if (window.event && window.event.keyCode == 13) {
        fetch_jcctimes(document.getElementById('xml_1_109_STANDAARDELEMENT_listbox').value,document.getElementById('xml_1_110_STANDAARDELEMENT_datetime').value);
    }
    return !(window.event && window.event.keyCode == 13);
}


function load_iframe(){
    if(document.getElementById('simeform_iframe')==null){
        var iframe = document.createElement('iframe');
        iframe.style.display='none';
        iframe.id='simeform_iframe';
        iframe.src='';
        document.getElementById('simeform_body').appendChild(iframe);
    }
}

function call_iframe(action,params){
    load_iframe();
    var url = 'simeform.php?iframe=1';
    url+='&iframe_action=' + action;
    url+='&form=' + document.frm.form.value;
    url+='&uuid=' + document.frm.uuid.value;
    for(i in params){
        url+= '&iframe_params[]=' + params[i]
    }
    document.getElementById('simeform_iframe').src = url;
}

if(typeof SIM=="undefined"){
    var SIM = {};
    SIM.register = {}
    SIM.register.validation_events = new Array();
    SIM.register.validation_halted = false;
}

var check_bsn_hoofdbewoner = function(){

    this.element = 'xml_1_107_STANDAARDELEMENT_bsn';
    this.container = 'container_1_107_STANDAARDELEMENT_bsn';
    this.required = 0; // does the element need to be valid?
    this.valid = 0; // is the element valid?
    this.checked = 0; // has the element been validated?
    this.checkedValues = new Array(); 
    this.error = 'Het door u ingevulde BSN komt niet overeen met het BSN van de hoofdbewoner. ';
    
    SIM.register.validation_events['check_bsn_hoofdbewoner'] = function(){
        var result = new Array();
        if(SIM.register.oCheck_bsn_hoofdbewoner.check_wijzevanbewoning()==true){
            SIM.register.oCheck_bsn_hoofdbewoner.required = 1;
        }
        if(SIM.register.oCheck_bsn_hoofdbewoner.required==0){
            result['status'] = 1;
            return result;
        }
        var bsn = document.getElementById(SIM.register.oCheck_bsn_hoofdbewoner.element).value;
        if(SIM.register.oCheck_bsn_hoofdbewoner.checkedValues[bsn] == 1){
            result['status'] = SIM.register.oCheck_bsn_hoofdbewoner.is_valid();
        }else{
            show_div_message('Bezig met controleren van BSN '+bsn+'...');
            var event = SIM.register.oCheck_bsn_hoofdbewoner.event();
            if(event!=0){
                SIM.register.validation_halted = true;
            }
            result['status'] = 0;
        }
        result['error'] = SIM.register.oCheck_bsn_hoofdbewoner.error;
        return result;
    }
    
    this.event = function(verbose){
        var bsn = document.getElementById(this.element).value;
        if(bsn.length==9){
            this.request(bsn);
        }else{
            SIM.register.oCheck_bsn_hoofdbewoner.checked = 0;
            SIM.register.oCheck_bsn_hoofdbewoner.valid = 0;
            hide_div_message();
            if(SIM.register.validation_halted==true){
                SIM.register.validation_halted = false;
                if(validate_form()){
                    document.frm.submit();
                }
            }
            enable_submit();         
            return 0;   
        }
    }

    this.check_wijzevanbewoning = function(){
        if ($("select[id^='xml_1_106_STANDAARDELEMENT']").val() == 'Inwonend') {
            return true;
        }else{
            enable_submit();
            return false;
        }
    }

    this.request = function(bsn){
        if(this.check_wijzevanbewoning()==true){
            disable_submit();
            if(document.getElementById('xml_1_91_STANDAARDELEMENT_postcode')!=null && document.getElementById('xml_1_89_STANDAARDELEMENT_numeriek')!=null){
                var postcode = document.getElementById('xml_1_91_STANDAARDELEMENT_postcode').value;
                var housenumber = document.getElementById('xml_1_89_STANDAARDELEMENT_numeriek').value;
                call_iframe('check_bsn_hoofdbewoner',[bsn,postcode,housenumber]);
            }else{
                call_iframe('check_bsn_hoofdbewoner',[bsn]);
            }
        }
    }
    
    this.response = function(value,errortekst){
        var bsn = document.getElementById(this.element).value;
        //document.getElementById('rightbar').innerHTML+=bsn;
        SIM.register.oCheck_bsn_hoofdbewoner.checkedValues[bsn] = 1;
        SIM.register.oCheck_bsn_hoofdbewoner.checked = 1;
        SIM.register.oCheck_bsn_hoofdbewoner.checking = 0;
        document.getElementById('simeform_iframe').src='';
        try{
            SIM.register.oCheck_bsn_hoofdbewoner.valid = value;
            SIM.register.oCheck_bsn_hoofdbewoner.error = errortekst;
        }catch(e){}
        
        if(value == 0){
            if(document.getElementById('prefill_message_hoofdbewoner')==null){
                var p = document.createElement('p');
                p.id = 'prefill_message_hoofdbewoner';
                p.className="prefill_message_dynamic";
                p.innerHTML = errortekst;
                p.style.display='block';
                document.getElementById(this.container).appendChild(p);
            }else{
                document.getElementById('prefill_message_hoofdbewoner').innerHTML = errortekst;
                document.getElementById('prefill_message_hoofdbewoner').style.display = 'block';
            }
        }else{
            if(document.getElementById('prefill_message_hoofdbewoner')!=null){
                document.getElementById('prefill_message_hoofdbewoner').style.display = 'none';
            }
        }
        hide_div_message();
        if(SIM.register.validation_halted==true){
            SIM.register.validation_halted = false;
            if(validate_form()){
                document.frm.submit();
            }
        }
        enable_submit();
    }
    
    this.is_valid = function(){
        if(this.check_wijzevanbewoning()==true){
            return this.valid;
        }else{
            return 1;
        }
    }
}

var check_streetcity = function(){

    this.postcode_el = 'xml_1_91_STANDAARDELEMENT_postcode';
    this.number_el = 'xml_1_89_STANDAARDELEMENT_numeriek';
    this.letter_el = 'xml_1_103_STANDAARDELEMENT_text';
    this.addition_el = 'xml_1_90_STANDAARDELEMENT_text';
    this.valid = 0; // is the element valid?
    this.checked = 0; // has the element been validated?
    this.checkedValues = new Array(); 
    this.checkedValid = new Array(); 
    this.checking = 0;
    this.error = 'Het verhuisadres is niet compleet of niet geldig.';
    
    SIM.register.validation_events['check_streetcity'] = function(){
        var result = new Array();
        var postcode = document.getElementById('xml_1_91_STANDAARDELEMENT_postcode').value;
        var number = document.getElementById('xml_1_89_STANDAARDELEMENT_numeriek').value;        
        var letter = document.getElementById('xml_1_103_STANDAARDELEMENT_text').value;        
        var addition = document.getElementById('xml_1_90_STANDAARDELEMENT_text').value;      
        
        // determine if the POST-fields for street and city are filled in -- this serves as a double check, next to the checkedValues variable
        var streetname = document.getElementById('xml_1_88_STANDAARDELEMENT_text').value;
        var cityname = document.getElementById('xml_1_92_STANDAARDELEMENT_text').value;
        var streetcityfields_filled = (streetname!='' && cityname!='');
        if(streetcityfields_filled==false && SIM.register.oCheck_streetcity.checkedValid[postcode+number+letter+addition]==1){
            SIM.register.oCheck_streetcity.checkedValues[postcode+number+letter+addition] = 0;
        }
        
        if(SIM.register.oCheck_streetcity.checkedValues[postcode+number+letter+addition] == 1){
            result['status'] = SIM.register.oCheck_streetcity.checkedValid[postcode+number+letter+addition];
        }else{
            show_div_message('Bezig met controleren van de ingevoerde adresgegevens...');
            var event = SIM.register.oCheck_streetcity.request();
            if(event!=0){
                SIM.register.validation_halted = true;
            }
            result['status'] = 0;
        }
        result['error'] = SIM.register.oCheck_streetcity.error;
        return result;
    }
    
    this.request = function(){
        if(SIM.register.oCheck_streetcity.checking==1){
            return;
        }
        SIM.register.oCheck_streetcity.checking = 1;
        this.hide_error();
        SIM.register.oCheck_streetcity.checked = 0;
        var postcode = document.getElementById(this.postcode_el).value;
        var number = document.getElementById(this.number_el).value;
        var letter = document.getElementById(this.letter_el).value;
        var addition = document.getElementById(this.addition_el).value;
        SIM.register.oCheck_streetcity.checkedValues[postcode+number] = 0;
        if(postcode.length==6 && number>0){
            disable_submit();
            call_iframe('check_streetcity', [postcode, number, letter, addition, 5]);
            return 1;
        }else{
            if(postcode.length==6 && number==''){
                document.getElementById(this.number_el).focus();
            }
            SIM.register.oCheck_streetcity.checking = 0;
            SIM.register.validation_halted = false;
            hide_div_message();
            return 0;
        }       
    }
    
    this.response = function(result){
        document.getElementById('simeform_iframe').src='';
        SIM.register.oCheck_streetcity.checking = 0;
        var postcode = document.getElementById(this.postcode_el).value;
        var number = document.getElementById(this.number_el).value;
        var letter = document.getElementById(this.letter_el).value;    
        var addition = document.getElementById(this.addition_el).value;    
        SIM.register.oCheck_streetcity.checkedValues[postcode+number+letter+addition] = 1;
        SIM.register.oCheck_streetcity.checked = 1;
        if(result.status==1){
            SIM.register.oCheck_streetcity.valid = 1;
            SIM.register.oCheck_streetcity.checkedValid[postcode+number+letter+addition] = 1;
            document.getElementById('xml_1_88_STANDAARDELEMENT_text').value = result.street;
            document.getElementById('prefilldata_xml_1_88_STANDAARDELEMENT_text').innerHTML = result.street;
            document.getElementById('xml_1_92_STANDAARDELEMENT_text').value = result.city;            
            document.getElementById('prefilldata_xml_1_92_STANDAARDELEMENT_text').innerHTML = result.city;       
            document.getElementById('xml_1_103_STANDAARDELEMENT_text').value = result.letter;            
            this.hide_hidden_fields();     
        }else{
            SIM.register.oCheck_streetcity.checkedValid[postcode+number+letter+addition] = 0;
            if(streetcityprefillmandatory==true){
                SIM.register.oCheck_streetcity.valid = 0;
            }else{
                // when not really required, always valid
                SIM.register.oCheck_streetcity.valid = 1;
                this.show_hidden_fields();
            }
            SIM.register.oCheck_streetcity.error = result.error;
            document.getElementById('xml_1_88_STANDAARDELEMENT_text').value = '';
            document.getElementById('prefilldata_xml_1_88_STANDAARDELEMENT_text').innerHTML = '';
            document.getElementById('xml_1_92_STANDAARDELEMENT_text').value = '';            
            document.getElementById('prefilldata_xml_1_92_STANDAARDELEMENT_text').innerHTML = '';             
            text = result.error;
            this.show_error(text);
        }
        
        if(SIM.register.oCheck_bsn_hoofdbewoner!=null && SIM.register.oCheck_bsn_hoofdbewoner.required==1){
            SIM.register.oCheck_bsn_hoofdbewoner.checked = 0;
            SIM.register.oCheck_bsn_hoofdbewoner.event();
            return;
        } 
                
        hide_div_message();
        if(SIM.register.validation_halted==true){
            SIM.register.validation_halted = false;
            if(validate_form()){
                document.frm.submit();
            }
        }
        enable_submit();
    }
    
    this.show_hidden_fields = function(){
        var straat_inputhidden = document.getElementById('prefillhidden_xml_1_88_STANDAARDELEMENT_text').innerHTML;
        var straat_inputtext = straat_inputhidden.replace('type=\"hidden\"','type=\"text\"');
        document.getElementById('prefillhidden_xml_1_88_STANDAARDELEMENT_text').innerHTML = straat_inputtext;
        var woonplaats_inputhidden = parent.document.getElementById('prefillhidden_xml_1_92_STANDAARDELEMENT_text').innerHTML;
        var woonplaats_inputtext = woonplaats_inputhidden.replace('type=\"hidden\"','type=\"text\"');
        document.getElementById('prefillhidden_xml_1_92_STANDAARDELEMENT_text').innerHTML = woonplaats_inputtext;
    }
    
    this.hide_hidden_fields = function(){
        var straat_inputhidden = document.getElementById('prefillhidden_xml_1_88_STANDAARDELEMENT_text').innerHTML;
        var straat_inputtext = straat_inputhidden.replace('type=\"text\"','type=\"hidden\"');
        document.getElementById('prefillhidden_xml_1_88_STANDAARDELEMENT_text').innerHTML = straat_inputtext;
        var woonplaats_inputhidden = parent.document.getElementById('prefillhidden_xml_1_92_STANDAARDELEMENT_text').innerHTML;
        var woonplaats_inputtext = woonplaats_inputhidden.replace('type=\"text\"','type=\"hidden\"');
        document.getElementById('prefillhidden_xml_1_92_STANDAARDELEMENT_text').innerHTML = woonplaats_inputtext;
    }
    
    this.is_valid = function(){
        return this.valid;
    }    
    
    this.show_error = function(errortekst){
        if(document.getElementById('prefill_message_5')==null){
            var p = document.createElement('p');
            p.id = 'prefill_message_5';
            p.className="prefill_message_dynamic";
            p.innerHTML = errortekst;
            p.style.display='block';
            document.getElementById(this.container).appendChild(p);
        }else{
            document.getElementById('prefill_message_5').innerHTML = errortekst;
            document.getElementById('prefill_message_5').style.display = 'block';
        }    
    }
    
    this.hide_error = function(){
        document.getElementById('prefill_message_5').style.display = 'none';
    }
}

var meerdere_uittreksels = function(){

    this.containerdiv = 'container_1_115_STANDAARDELEMENT_generated';
    this.base = 'xml_1_115_STANDAARDELEMENT_generated';

    this.init = function(bsn,data,preselect,limit_count){
        if(typeof(SIM.register.oUittreksels)!='object'){
            SIM.register.oUittreksels = new meerdere_uittreksels();
        }
        
        this.bsn = bsn;
        this.data = data;
    
        document.getElementById(this.containerdiv).innerHTML = '<div id="meerdere_uittreksels_opties"></div>';
        if(preselect>0){
            document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').value = preselect;
            this.generate_options(preselect);
        }
        
        if(limit_count==true){
            this.lock_number_field(preselect);
        }
    }
    
    this.generate_options = function(value){
        var div = document.getElementById('meerdere_uittreksels_opties');
        while (div.firstChild) {
            div.removeChild(div.firstChild);
        }
        
        if(parseInt(value) > parseInt(vragen['STANDAARDELEMENT'][114]['eindvalue'])){
            show_div_message('U kunt niet meer dan '+vragen['STANDAARDELEMENT'][114]['eindvalue']+' uittreksels tegelijk aanvragen.');
            document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').value = vragen['STANDAARDELEMENT'][114]['eindvalue'];
            value = vragen['STANDAARDELEMENT'][114]['eindvalue'];
        }
        
        for (i = 1; i <= value; i++){
            div.appendChild(this.generate_single_option(i));
        }
    }
    
    this.generate_single_option = function(id){
    
        var html = 'Selecteer de persoon waarvoor u uittreksel '+id+' wilt aanvragen: <sup>*</sup><br />';
    
        for(j in this.data){
            html += '<input type="radio" name="'+this.base+'_person['+id+']" value="'+data[j].bsn+'" /> '+data[j].name+'<br />';
        }    
        html+='<br />';
        
        var div = document.createElement('div');
        div.innerHTML =  html;
        return div;
    }
    
    this.lock_number_field = function(preselect){
        vragen['STANDAARDELEMENT'][114]['eindvalue'] = preselect;
        try{
            document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').type = 'hidden';    
            document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').value = preselect;    
            var p = document.createElement('p');
            p.innerHTML =  preselect;
            document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').parentNode.appendChild(p);   
        }catch(e){
            // IE version
            var el = document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek');
            var parent = el.parentNode;
            parent.removeChild(el);
            
            var input = '<input type="hidden" name="xml_1_114_STANDAARDELEMENT_numeriek" name="xml_1_114_STANDAARDELEMENT_numeriek" value="'+preselect+'" />';  
            var input = document.createElement(input);
            parent.appendChild(input);
            
            var p = document.createElement('p');
            p.innerHTML =  preselect;
            parent.appendChild(p);            
        }
    }
    
    SIM.register.validation_events['meerdere_uittreksels'] = function(){
        var result = new Array();
        result['status'] = 1;
        var div = document.getElementById('meerdere_uittreksels_opties');
        
        for(i=1 ;  i<= div.childNodes.length ; i++){

            var elname = 'xml_1_115_STANDAARDELEMENT_generated_person['+i+']';
            var value = null;
            // if the radio-list has only one option, it's non-traversable
            if(typeof(document.frm.elements[elname].length)!='undefined'){
                for (var j=0; j<document.frm.elements[elname].length; j++)  {
                    if (document.frm.elements[elname][j].checked == true)  {
                        value = document.frm.elements[elname][j].value;
                    } 
                }
            }else{
                // only one option: treat it as an input element
                if (document.frm.elements[elname].checked == true)  {
                    value = document.frm.elements[elname].value;
                }
            }             
            if(value==null){
                result['status'] = 0;
                result['error'] = 'Er is niet bij elk uittreksel een persoon gekozen';
            }
        }
        return result;
    }
}

addAfterLoadEvent(function() {
    if(document.getElementById('xml_1_107_STANDAARDELEMENT_bsn')!=null){
        SIM.register.oCheck_bsn_hoofdbewoner = new check_bsn_hoofdbewoner();
        if(document.getElementById('xml_1_107_STANDAARDELEMENT_bsn').value!=''){
            disable_submit();
            SIM.register.oCheck_bsn_hoofdbewoner.event();
        }
        document.getElementById('xml_1_107_STANDAARDELEMENT_bsn').onkeyup = function(){SIM.register.oCheck_bsn_hoofdbewoner.event();}
    } 
});

addAfterLoadEvent(function() {
    if(document.getElementById('xml_1_91_STANDAARDELEMENT_postcode')!=null && document.getElementById('xml_1_89_STANDAARDELEMENT_numeriek')!=null){
        SIM.register.oCheck_streetcity = new check_streetcity();
        document.getElementById('xml_1_91_STANDAARDELEMENT_postcode').onkeyup = function(){ SIM.register.oCheck_streetcity.request();}
        document.getElementById('xml_1_89_STANDAARDELEMENT_numeriek').onchange = function(){ SIM.register.oCheck_streetcity.request();}
        document.getElementById('xml_1_103_STANDAARDELEMENT_text').onchange = function(){ SIM.register.oCheck_streetcity.request();}
        document.getElementById('xml_1_90_STANDAARDELEMENT_text').onchange = function(){ SIM.register.oCheck_streetcity.request();}
    } 
});

addAfterLoadEvent(function() {
    if(document.getElementById('but_volgende')!=null ){
        document.getElementById('but_volgende').onmousedown = function(){presubmit();}
    }
    
    if(document.getElementById('but_verzenden')!=null ){
        document.getElementById('but_verzenden').onmousedown = function(){presubmit();}
    }
});

addAfterLoadEvent(function() {
    if(document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek')!=null && typeof(SIM.register.oUittreksels)=='object'){
        document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').onblur = function(){ SIM.register.oUittreksels.generate_options(document.getElementById('xml_1_114_STANDAARDELEMENT_numeriek').value);}
    }
});

function show_div_message(text){
    if(document.getElementById('simeform_messagediv')==null){
        var div = document.createElement('div');
        div.id='simeform_messagediv';
        div.innerHTML = text;
        div.innerHTML+= '<br /><br /><a href="javascript:;" onclick="javascript:hide_div_message();">sluit</a>';
        document.getElementById('simeform_body').appendChild(div);
    }else{
        var div = document.getElementById('simeform_messagediv');
        div.innerHTML = text;
        div.innerHTML+= '<br /><br /><a href="javascript:;" onclick="javascript:hide_div_message();">sluit</a>';
        div.style.display = 'block';    
    }
}
function hide_div_message(){
    if(document.getElementById('simeform_messagediv')!=null){
        document.getElementById('simeform_messagediv').style.display='none';
    }
}

// Walk through all checkboxes to disable them (prevent quick clicking) or
// re-enable them
function aris_product_disable_checkboxes(cb_status) {
    var checkboxes = document.frm.arisophalen_product;
    for (var i=0; i<checkboxes.length; i++) {
        checkboxes[i].disabled = cb_status;
    }
}

// Check all boxes if more info needs to be shown
function aris_product_check_all() {
    var checkboxes = document.frm.arisophalen_product;
    for (i=0; i<checkboxes.length; i++) {
        if (checkboxes[i].checked == true) {
            aris_product_meerinfo_toggle(checkboxes[i].value,false);
        }
    }
}

// Turn the 'more info' part on or off, depending on the checkbox status
function aris_product_meerinfo_toggle(product_id,fetch) {
    // Take care of the clicked element
    var checkbox = document.getElementById('arisophalen_product_'+product_id);
    var datum = document.getElementById('arisophalen_product_'+product_id+'_datum');
    var meerinfo = document.getElementById('arisophalen_product_'+product_id+'_meerinfo');
    var message = document.getElementById('arisophalen_product_'+product_id+'_message');
    var memo = document.getElementById('arisophalen_product_'+product_id+'_memo');

    if (checkbox.checked == true) {
        if (fetch == true) {
            message.innerHTML = document.getElementById('arisophalen_product_message_fetchingdata').innerHTML;
            message.className = 'arisophalen_product_message_show';
            aris_product_disable_checkboxes(true);
            var dateval = parseInt(datum.value);
            if (isNaN(dateval)) {
                dateval = 0;
            }
            var url = 'simeform.php?iframe=1&form='+document.frm.form.value+'&element_id=119&product_id='+product_id+'&aris_date_id='+dateval+'&datum='+datum.text;
            document.getElementById('simeform_iframe').src=url;
        } else {
            meerinfo.style.display='block';
            memo.style.display='block';
        }
    } else {
        meerinfo.style.display='none';
        memo.style.display='none';
        datum.length = 0;
    }
}

// Fill the actual ARIS data element with the exact data needed
function aris_product_fill_hidden() {
    var checkboxes = document.frm.arisophalen_product;
    var text = '';
    var value = '';
    var datum = '';
    var aantal = 0;
    var hiddenvalue = '';

    // Walk through all checkboxes
    for (var i=0; i<checkboxes.length; i++) {
        // Reset values
        text = '';
        value = '';
        datum = '';
        datum_id = '';
        aantal = 0;

        if (checkboxes[i].checked == true) {
            // Set the various parts
            value = checkboxes[i].value;
            text = document.getElementById('arisophalen_product_'+value+'_label').innerHTML;
            datum = document.getElementById('arisophalen_product_'+value+'_datum');
            datum_text = datum.options[datum.selectedIndex].text;
            datum_id = datum.value;
            aantal = parseInt(document.getElementById('arisophalen_product_'+value+'_aantal').value);
			aris_product_max[value] = parseInt(aris_product_max[value]);

            // Check for correct input
            if (check_numeric(aantal,false,0) == true && aantal > 0 && aantal <= aris_product_max[value]) {
                hiddenvalue = hiddenvalue+'~~'+value+'__'+text+'__'+datum_text+'__'+datum_id+'__'+aantal;
            } else {
                if (aantal > aris_product_max[value]) {
                    errormsg += '- U kunt maximaal '+aris_product_max[value]+' invullen bij \''+text+'\'.\n';
                } else {
                    errormsg += '- Er is geen correct aantal ingevuld bij \''+text+'\'.\n';
                }
                document.getElementById('arisophalen_product_'+value+'_aantal').value = '1';
                document.getElementById('arisophalen_product_'+value+'_aantal').select();
                error++;
            }
        }
    }

    // Disregard the extra separation characters at the beginning
    if (hiddenvalue.length>0) {
        hiddenvalue = hiddenvalue.substr(2,hiddenvalue.length);
    }

    if (error > 0) {
        return false;
    }

    // And finally fill the right element with data
    document.frm.xml_1_119_STANDAARDELEMENT_arisophalen.value = hiddenvalue;
}

$('#container_1_125_STANDAARDELEMENT_generated').ready(function(){
    
    if (jQuery('#container_1_125_STANDAARDELEMENT_generated').size() == 0){
        return;
    }
    var title = '<span class="labelspan_boven">' + vragen['STANDAARDELEMENT'][125]['label'] + '</span><br />';
    jQuery('#container_1_125_STANDAARDELEMENT_generated').html(title + '<i>Kies een persoon in de selectielijst.</i>');

    var geheimhouding_checkboxes_onclick = function(onload){
        var html = '<span class="labelspan_boven">Uw gewenste registratie</span><p class="labelbreak">';
        html += '<input type="radio" name="xml_1_125_STANDAARDELEMENT_generated" value="0" /> Geen beperking: mijn gegevens mogen worden verstrekt aan derden<br />';
        html += '<input type="radio" name="xml_1_125_STANDAARDELEMENT_generated" value="7" /> Mijn gegevens mogen niet zonder mijn toestemming worden verstrekt aan derden';
        html += '</p>';
        jQuery('#container_1_125_STANDAARDELEMENT_generated').html(html);

        if (onload == true) {
            call_iframe('get_current_geheimhouding',[]);
        }

        SIM.register.validation_events['check_geheimhouding'] = function(){
            var result = new Array();

            var value = jQuery("input[name='xml_1_125_STANDAARDELEMENT_generated']:checked").val();
            if (value == 0 || value == 7){
                result['status'] = 1;
            }else{
                result['status'] = 0;
                result['error'] = 'Er is geen keuze gemaakt voor \'' + vragen['STANDAARDELEMENT'][125]['label'] + '\'.';
            }
            return result;
        }
        SIM.register.validation_events['check_geheimhouding_count'] = function(){
            var result = new Array();
            var count = jQuery("input[name='xml_1_124_STANDAARDELEMENT_checkbox[]']:checked").length;
            if (count > 10) {
                var left = count - 10;
                var personen = 'personen';
                if (left == 1) {
                   personen = 'persoon';
                }
                result['status'] = 0;
                result['error'] = 'Het is niet mogelijk om voor meer dan tien personen tegelijk een verzoek in te dienen. Deselecteer ' + left + ' ' + personen + ' om door te gaan.';
            }else{
                result['status'] = 1;
            }
            return result;
        }
    };
    
    jQuery("input[id^='xml_1_124_STANDAARDELEMENT']").click(geheimhouding_checkboxes_onclick);

    jQuery("#container_1_124_STANDAARDELEMENT_radio input").click(function(){
        jQuery('#container_1_125_STANDAARDELEMENT_generated').html(title + '<i>momentje...</i>');
        var bsn = jQuery(this).val();
        call_iframe('check_geheimhouding', [bsn]);
    });
    
    var bsn_init_value = jQuery("input[name='xml_1_124_STANDAARDELEMENT_radio']:checked").val();
    if (typeof(bsn_init_value) != 'undefined') {
        call_iframe('check_geheimhouding', [bsn_init_value]);
    }
    
    SIM.register.validation_events['check_geheimhouding'] = function(){
        var result = new Array();
        result['status'] = 0;
        result['error'] = 'Er is geen keuze gemaakt voor \'' + vragen['STANDAARDELEMENT'][125]['label'] + '\'.';
        return result;
    }
    if (jQuery("input[name='xml_1_124_STANDAARDELEMENT_checkbox[]']").length>0){
        geheimhouding_checkboxes_onclick(true);
    }
});

function check_geheimhouding_response(response) {
    var html = '<span class="labelspan_boven">Uw huidige registratie</span>';
    if (response['status'] == 1) {
        html += '<p class="labelbreak">'+response['data']['current']+'</p>';
        html += '<span class="labelspan_boven">Uw gewenste registratie</span><p class="labelbreak">';   
        if (typeof(response['data']['new_indicatiegeheim']) != 'number') {
            for (i in response['data']['new_indicatiegeheim']) {
                html += '<input type="radio" name="xml_1_125_STANDAARDELEMENT_generated" value="' + response['data']['new_indicatiegeheim'][i] + '" /> ' + response['data']['text'][i] + '<br />';
            }
        } else { 
            html += '<input type="radio" name="xml_1_125_STANDAARDELEMENT_generated" value="' + response['data']['new_indicatiegeheim'] + '" /> ' + response['data']['text'];
        }
        html += '</p>';
        $('#but_volgende').css('display', 'inline');

        SIM.register.validation_events['check_geheimhouding'] = function(){
            var result = new Array();
             
            var value = $("input[name='xml_1_125_STANDAARDELEMENT_generated']:checked").val();
            if (value == 0 || value == 7){
                result['status'] = 1;
            }else{
                result['status'] = 0;
                result['error'] = 'Er is geen keuze gemaakt voor \'' + vragen['STANDAARDELEMENT'][125]['label'] + '\'.';
            }
            return result;
        }
    }else{
        var html = '<p class="prefill_message_dynamic prefill_message_dynamic_on">Er kon geen informatie worden opgehaald over de geheimhouding van uw gegevens. Probeert u het later nogmaals.</p>';
        $('#but_volgende').css('display', 'none');
        
        SIM.register.validation_events['check_geheimhouding'] = function(){
            var result = new Array();
            result['status'] = 0;
            result['error'] = 'Er kon geen informatie worden opgehaald over de geheimhouding van uw gegevens. Het formulier kan daarom niet worden verzonden. Probeert u het later nogmaals.';
            return result;
        }        
    }
    $('#container_1_125_STANDAARDELEMENT_generated').html(html);
    $("input[name='xml_1_125_STANDAARDELEMENT_generated']").attr("checked", true); 
}
var belastingloket_sub_element = false;
$('#container_1_126_STANDAARDELEMENT_listbox').ready(function(){

    if (jQuery('#container_1_126_STANDAARDELEMENT_listbox').size() == 0){
        return;
    }
    
    if (jQuery('#container_1_127_STANDAARDELEMENT_listbox').size() == 0){
        belastingloket_sub_element = false;
        jQuery('#container_1_126_STANDAARDELEMENT_listbox').append('<div id="container_1_127_STANDAARDELEMENT_listbox"></div>');
    }else{
        belastingloket_sub_element = true;
        jQuery('#container_1_127_STANDAARDELEMENT_listbox').html('');
    }
    jQuery('#container_1_127_STANDAARDELEMENT_listbox').after('<div id="container_1_126_STANDAARDELEMENT_dynamic_area_info"></div>');

    jQuery("#xml_1_126_STANDAARDELEMENT_listbox").change(function(){
        jQuery('#container_1_126_STANDAARDELEMENT_dynamic_area_info').html('');
        var id = jQuery(this).val();
        if (id != '') {
            jQuery('#container_1_127_STANDAARDELEMENT_listbox').html('<i>momentje...</i>');
            call_iframe('fetch_aanslagen', [id]);
        } else {
            jQuery('#container_1_127_STANDAARDELEMENT_listbox').html('');
        }
    });
    if (jQuery("#xml_1_126_STANDAARDELEMENT_listbox").children().size() == 0) {
        if (belastingloket_sub_element == false){
            jQuery('#divcontentmain').html('<i>Er zijn geen aanslagen beschikbaar waarvoor u kwijtschelding aan kunt vragen.</i>');
        } else {
            jQuery('#divcontentmain').html('<i>Er zijn geen aanslagen beschikbaar waartegen u bezwaar kunt indienen.</i>');
        }
        jQuery("#but_volgende").remove();
    }else if (jQuery("#xml_1_126_STANDAARDELEMENT_listbox").size() == 1) {
        var id = jQuery("#xml_1_126_STANDAARDELEMENT_listbox").val();
        if (id != '') {
            jQuery('#container_1_127_STANDAARDELEMENT_listbox').html('<i>momentje...</i>');
            call_iframe('fetch_aanslagen', [id]);
        }
    }
});

var aanslagen_prefill = 0;
function aanslagen_response(result){
    var element_name = 'xml_1_127_STANDAARDELEMENT_listbox';

    if (result['regels'] != null) {
        var html = '<select name="'+element_name+'" id="'+element_name+'">';
        
        for (i in result['regels']) {
            html += '<option value="' + result['regels'][i]['value'] + '">' + result['regels'][i]['label'] + '</option>';
        }
        html += '</select>';
    } else {
        var html = '';
    }
    
    $('head').append('<link rel="stylesheet" type="text/css" href="' + result.stylesheet + '" media="screen">');
    $('#container_1_127_STANDAARDELEMENT_listbox').html(html);
    $('#container_1_126_STANDAARDELEMENT_dynamic_area_info').html(result.html);
    
    $('#' + element_name).change(function(){
        var id = $(this).val();
        call_iframe('fetch_belastingdata', [id]);        
    }); 

    if (aanslagen_prefill!=0){
        $('#xml_1_127_STANDAARDELEMENT_listbox').val(aanslagen_prefill);
        $('#xml_1_127_STANDAARDELEMENT_listbox').change();
    }
}

function belastingdata_response(result){
    if (belastingloket_sub_element == false) {
        $('#container_1_127_STANDAARDELEMENT_listbox').html('');
    }
    $('#container_1_126_STANDAARDELEMENT_dynamic_area_info').html(result.html);
}

$('#container_1_132_STANDAARDELEMENT_checkbox').ready(function(){

    if (jQuery('#container_1_132_STANDAARDELEMENT_checkbox').size() == 0){
        return;
    }
    var bsn = jQuery('#xml_1_73_STANDAARDELEMENT_bsn').val();
    call_iframe('fetch_relations_for_bsn', [bsn]);
});

function prsadrins_response(result, checked) {

    if (result == null) {
        return;
    }
    
    var newchecked = [];
    
    for (i in checked) {
        newchecked[checked[i]] = true;
    }
    
    var label = $('#container_1_132_STANDAARDELEMENT_checkbox span.labelspan_boven').html();
    var html = '<span class="labelspan_boven">' + label + '</span><p class="labelbreak">';

    for (i in result) {
        
        if (i == 'PRSADRINS' || i == 'aanduidingNaamgebruik') {
            continue;
        }
         
        if (i == 'PRSPRSHUW') {
            if (result[i][0]['soortVerbintenis'] == 'H') {
                if (result[i][0]['PRS']['geslachtsaanduiding'] == 'V') {
                    html += '<br /><strong>Uw vrouw</strong><br/>';
                } else {
                    html += '<br /><strong>Uw man</strong><br/>';
                }
            } else {
                html += '<br /><strong>Uw geregistreerd partner</strong><br/>';
            }

        }
        
        if (i == 'PRSPRSKND') {
            if (result[i].length > 1) {
                html += '<br /><strong>Uw kinderen</strong><br/>';
            } else if (result[i].length == 1) {
                html += '<br /><strong>Uw kind</strong><br/>';
            }
        }
        for (j in result[i]) {
            
            var stuf_geboortedatum = result[i][j]['PRS']['geboortedatum'];
            var geboortedatum = stuf_geboortedatum.substr(6,2) + '-' + stuf_geboortedatum.substr(4,2) + '-' + stuf_geboortedatum.substr(0,4);
            
            if (newchecked[result[i][j]['PRS']['bsn-nummer']] == true) {
               var htmlchecked = 'checked="checked" '; 
            } else {
               var htmlchecked = '';
            }
            
            html += '&nbsp;<input type="checkbox" name="xml_1_132_STANDAARDELEMENT_checkbox[]" value="' + result[i][j]['PRS']['bsn-nummer'] + '" ' + htmlchecked + ' /> ';
            html += result[i][j]['PRS']['voornamen'] + ' ' + result[i][j]['PRS']['voorvoegselGeslachtsnaam'] + ' ' + result[i][j]['PRS']['geslachtsnaam'] + ', ' + geboortedatum;
            html += '<br />';
        }
    }
    html += '</p>';
    $('#container_1_132_STANDAARDELEMENT_checkbox').html(html);
}


