
var taxonomy_url_2 = '';

if ( $('data_personal_business_2') != undefined ) {
    $('data_personal_business_2').observe( 'change', function(event) {
        // $( 'data_taxonomy_2_1' ).setStyle( { visibility: 'hidden' } );
        // $( 'data_taxonomy_2_2' ).setStyle( { visibility: 'hidden' } );
        $( 'data_taxonomy_2_3' ).setStyle( { visibility: 'hidden' } );
        var data_personal_business_2_obj = $( 'data_personal_business_2' );
        var data_taxonomy_2_1_obj = $( 'data_taxonomy_2_1' );
        var data_taxonomy_2_2_obj = $( 'data_taxonomy_2_2' );
        var data_taxonomy_2_3_obj = $( 'data_taxonomy_2_3' );
        data_taxonomy_2_1_obj.length = 1;
        data_taxonomy_2_2_obj.length = 1;
        data_taxonomy_2_3_obj.length = 1;
        data_taxonomy_2_1_obj.selectedIndex = 0;
        data_taxonomy_2_2_obj.selectedIndex = 0;
        data_taxonomy_2_3_obj.selectedIndex = 0;
        if ( data_personal_business_2_obj.value != '' ) {
            gather_taxonomy_url_2();
            new Ajax.Request( taxonomy_url_2, { method: 'get',
                                                asynchronous: 0,
                                                requestHeaders: {Accept: 'application/json'},
                                                onSuccess: taxonomy_personal_business_2,
                                                onFailure: error_set });
        }
    });
}

if ( $('data_taxonomy_2_1') != undefined ) {
    $('data_taxonomy_2_1').observe( 'change', function(event) {
        // $( 'data_taxonomy_2_2' ).setStyle( { visibility: 'hidden' } );
        $( 'data_taxonomy_2_3' ).setStyle( { visibility: 'hidden' } );
        var data_taxonomy_2_1_obj = $( 'data_taxonomy_2_1' );
        var data_taxonomy_2_2_obj = $( 'data_taxonomy_2_2' );
        var data_taxonomy_2_3_obj = $( 'data_taxonomy_2_3' );
        data_taxonomy_2_2_obj.length = 1;
        data_taxonomy_2_3_obj.length = 1;
        data_taxonomy_2_2_obj.selectedIndex = 0;
        data_taxonomy_2_3_obj.selectedIndex = 0;
        if ( data_taxonomy_2_1_obj.value != '' ) {
            gather_taxonomy_url_2();
            new Ajax.Request( taxonomy_url_2, { method: 'get',
                                                asynchronous: 0,
                                                requestHeaders: {Accept: 'application/json'},
                                                onSuccess: taxonomy_2_1,
                                                onFailure: error_set });
        }
    });
}

if ( $('data_taxonomy_2_2') != undefined ) {
    $('data_taxonomy_2_2').observe( 'change', function(event) {
        $( 'data_taxonomy_2_3' ).setStyle( { visibility: 'hidden' } );
        var data_taxonomy_2_2_obj = $( 'data_taxonomy_2_2' );
        var data_taxonomy_2_3_obj = $( 'data_taxonomy_2_3' );
        data_taxonomy_2_3_obj.length = 1;
        data_taxonomy_2_3_obj.selectedIndex = 0;
        if ( data_taxonomy_2_2_obj.value != '' ) {
            gather_taxonomy_url_2();
            new Ajax.Request( taxonomy_url_2, { method: 'get',
                                                asynchronous: 0,
                                                requestHeaders: {Accept: 'application/json'},
                                                onSuccess: taxonomy_2_2,
                                                onFailure: error_set });
        }
    });
}

function error_set() {
    alert( "There seems to be a problem with the search. Please try changing your search criteria." );
}

function gather_taxonomy_url_2() {

    var base_url = 'http://www.lawyerlocator.co.uk/lawyer/lawyer_search/quick_search_ajax/';

    var data_personal_business_2_obj = document.getElementById( 'data_personal_business_2' );
    var data_taxonomy_2_1_obj = document.getElementById( 'data_taxonomy_2_1' );
    var data_taxonomy_2_2_obj = document.getElementById( 'data_taxonomy_2_2' );
    var data_taxonomy_2_3_obj = document.getElementById( 'data_taxonomy_2_3' );

    if ( data_personal_business_2_obj != undefined ) {
        var data_personal_business_2 = data_personal_business_2_obj.value;
        if      ( data_personal_business_2 == 'P' ) {
            base_url += 'personal/1/';
        }
        else if ( data_personal_business_2 == 'B' ) {
            base_url += 'business/1/';
        }
    }

    if ( data_taxonomy_2_1_obj != undefined || data_taxonomy_2_2_obj != undefined || data_taxonomy_2_3_obj != undefined ) {
        var data_taxonomy_2_1 = data_taxonomy_2_1_obj.options[data_taxonomy_2_1_obj.selectedIndex].value;
        var data_taxonomy_2_2 = data_taxonomy_2_2_obj.options[data_taxonomy_2_2_obj.selectedIndex].value;
        var data_taxonomy_2_3 = data_taxonomy_2_3_obj.options[data_taxonomy_2_3_obj.selectedIndex].value;
        if      ( data_taxonomy_2_3 != '' ) {
            base_url += 'taxonomy/' + data_taxonomy_2_3 + '/';
        }
        else if ( data_taxonomy_2_2 != '' ) {
            base_url += 'taxonomy/' + data_taxonomy_2_2 + '/';
        }
        else if ( data_taxonomy_2_1 != '' ) {
            base_url += 'taxonomy/' + data_taxonomy_2_1 + '/';
        }
    }

    var randomnumber=Math.floor(Math.random()*10000);
    base_url += randomnumber;

    taxonomy_url_2 = base_url;
}

function taxonomy_personal_business_2(transport) {

    var response = transport.responseText;
    var data_taxonomy_2_1_obj = $( 'data_taxonomy_2_1' );

    var items = response.evalJSON(true);
    var display_taxonomy_1 = false;

    items.taxonomy.each ( function ( item, index ) {
        display_taxonomy_1 = true;
        var opt = document.createElement('option');
        opt.text = item.Name;
        opt.value = item.CategoryOfWorkID;
        data_taxonomy_2_1_obj.options.add(opt);
    });

    if ( display_taxonomy_1 ) {
        $( 'data_taxonomy_2_1' ).setStyle( { visibility: 'visible' } );
    }
}

function taxonomy_2_1(transport) {

    var response = transport.responseText;
    var data_taxonomy_2_2_obj = $( 'data_taxonomy_2_2' );

    var items = response.evalJSON(true);
    var display_taxonomy_2 = false;

    items.taxonomy.each ( function ( item, index ) {
        display_taxonomy_2 = true;
        var opt = document.createElement('option');
        opt.text = item.Name;
        opt.value = item.CategoryOfWorkID;
        data_taxonomy_2_2_obj.options.add(opt);
    });

    if ( display_taxonomy_2 ) {
        $( 'data_taxonomy_2_2' ).setStyle( { visibility: 'visible' } );
    }
}

function taxonomy_2_2(transport) {

    var response = transport.responseText;
    var data_taxonomy_2_3_obj = $( 'data_taxonomy_2_3' );

    var items = response.evalJSON(true);
    var display_taxonomy_3 = false;

    items.taxonomy.each ( function ( item, index ) {
        display_taxonomy_3 = true;
        var opt = document.createElement('option');
        opt.text = item.Name;
        opt.value = item.CategoryOfWorkID;
        data_taxonomy_2_3_obj.options.add(opt);
    });

    if ( display_taxonomy_3 ) {
        $( 'data_taxonomy_2_3' ).setStyle( { visibility: 'visible' } );
    }
}

