// toestel_vergelijk.js

var baseurl;

function initialize() {
    try{
        // set onchange handler for select.phone_select
        $A( $$('select.phone_select') ).each(function(phone_select_el){
            phone_select_el.onchange = phone_select_changed;
        });
        
        // set onclick handler for panel_close
        $A( $$('a.panel_close') ).each(function(phone_delete_el){
                phone_delete_el.onclick = phone_delete;
            });
        
        // onclick
        $('show_all').onclick = show_all;
        $('hide_all').onclick = hide_all;

        // open first specs
        show_specs(0);

        // baseurl uit form.action
        baseurl = $('vergelijk_form').action;
        debug('initialized toestel_vergelijk.js baseurl:' + baseurl);
    } catch(e){
        debug(e);
    }
}

function phone_delete() {
    // onclick handler for close_panel
    try{
        var art_id = this.id.split('phone_delete_')[1];
        $('art_'+art_id).selectedIndex = 0;
        phone_select_changed();
        return false;
    } catch(e){
        debug(e);
    }
}

function phone_select_changed() {
    
    debug('phone select changed');
    
    var phones = [];
    try{
        $A( $$('select.phone_select') ).each(function(phone_select_el) {
                if (phone_select_el.value) {
                    var slug = phone_select_el.value;
                    if (slug != '' && slug != 0){
                        phones.push(slug);
                    }
                }
            });
        
        // @TODO klopt dit altijd?
        url = baseurl + phones.join('/');
        debug(url);
        top.location = url+'/';
    } catch(e){
        debug(e);
    }
}


// show_specs:
// - hide header
// - show items
function show_specs(i) {
    try{
        var el = $('header_' + i);
        if (el) {
            el.hide();
        }
        var el = $('items_' + i);
        if (el) {
            el.show();
        }
    } catch(e){
        debug(e);
    }
}

// hide_specs:
// - hide items
// - show header
function hide_specs(i) {
    try{
        var el = $('items_' + i);
        if (el) {
            el.hide();
        }
        var el = $('header_' + i);
        if (el) {
            el.show();
        }
    } catch(e){
        debug(e);
    }
}

// show_all:
// - hide all headers
// - show all items
function show_all() {
    try{
        elems = $$('.speccat');
        for (cnt=0; cnt < elems.length ; cnt++) {
            k = elems[cnt].id.substring(7);
            show_specs(k);
        }
        return false;
    } catch(e){
        debug(e);
    }
}

function hide_all() {
    try{
        elems = $$('.speccat');
        for (cnt=0; cnt < elems.length ; cnt++) {
            k = elems[cnt].id.substring(7);
            hide_specs(k);
        }
        return false;
    } catch(e){
        debug(e);
    }
}

function delete_tst(i) {
    try{
        $('art_'+i).selectedIndex = 0;
        $('vergelijk_form').submit();
    } catch(e){
        debug(e);
    }
}

addLoadEvent(initialize);

