/*
 * jQuery optionTree Plugin
 * version: 1.3
 * @requires jQuery v1.3 or later
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * @version $Id: jquery.optionTree.js 13 2011-03-31 08:51:59Z kkotowicz $
 * @author  Krzysztof Kotowicz <kkotowicz at gmail dot com>
 * @see http://code.google.com/p/jquery-option-tree/
 * @see http://blog.kotowicz.net/search/label/option
 */

/**
 * Converts passed JSON option tree into dynamically created <select> elements allowing you to
 * choose nested options.
 *
 * @param String tree options tree
 * @param array options additional options (optional)
 */
(function($){
$.fn.optionTree = function(tree, options) {

    options = $.extend({
        choose: 'Wybierz...', // string with text or function that will be passed current level and returns a string
        show_multiple: false, // show multiple values (if true takes number of items as size, or number (eg. 12) to show fixed size)
        preselect: {},
        loading_image: '', // show an ajax loading graphics (animated gif) while loading ajax (eg. /ajax-loader.gif)
        select_class: '',
        leaf_class: 'final',
        empty_value: '', // what value to set the input to if no valid option was selected
        on_each_change: false, // URL to lazy load (JSON, 'id' parameter will be added) or function. See default_lazy_load
        set_value_on: 'leaf', // leaf - sets input value only when choosing leaf node. 'each' - sets value on each level change.
                              // makes sense only then indexed=true
        indexed: false,
        preselect_only_once: false, // if true, once preselected items will be chosen, the preselect list is cleared. This is to allow
                                    // changing the higher level options without automatically changing lower levels when a whole subtree is in preselect list
        get_parent_value_if_empty: false, //if true, if the last selected option is 'choose level x',then it will try to find parent's select value
        attr: 'name' // default attribute name to use for tracking the nested values. You can use e.g. 'id' if you don'tw ant to populate your form submissions  with additional inputs
    }, options || {});

    var cleanName = function (name) {
        return name.replace(/_*$/, '');
    };

    var removeNested = function (name) {
        $("select[" + options.attr + "^='"+ name + "']").remove();
    };
    
    var parentName = function (name) {
        return name.replace(/_$/, ''); 
    };

    var setValue = function(name, value) {
        $("input[" + options.attr + "='" + cleanName(name) + "']").val(value).change();
    };
    
    var getParentValue = function(name) {
        var value = '',
            $parent;

        if (name !== cleanName(name)) {
            $parent = $("select[" + options.attr + "='" + parentName(name) + "']");
            if ($parent.length > 0) {
                return $parent.val();
            }
        }

        return options.empty_value;
    };

    // default lazy loading function
    var default_lazy_load = function(value) {
        var input = this;
        if ( options.loading_image !== '' ) {
          // show loading animation
          $("<img>")
            .attr('src', options.loading_image)
            .attr('class', 'optionTree-loader')
            .insertAfter(input);
        }

        $.getJSON(options.lazy_load, {id: value}, function(tree) {
            $('.optionTree-loader').remove();
            var prop;
            for (prop in tree) {
                if (tree.hasOwnProperty(prop)) { // tree not empty
                    $(input).optionTree(tree, options);
                    return;
                }
            }
            // tree empty, call value switch
            $(input).optionTree(value, options);
        });
    };

    if (typeof options.on_each_change === 'string') { // URL given as an onchange
        options.lazy_load = options.on_each_change;
        options.on_each_change = default_lazy_load;
    }

    var isPreselectedFor = function(clean, v) {
      if (!options.preselect || !options.preselect[clean]) {
        return false;
      }

      if ($.isArray(options.preselect[clean])) {
        return $.inArray(v, options.preselect[clean]) !== -1;
      }

      return (options.preselect[clean] === v);
    };

    return this.each(function() {
        var name = $(this).attr(options.attr) + "_";

        // remove all dynamic options of lower levels
        removeNested(name);

        if (typeof tree === "object") { // many options exists for current nesting level

            // create select element with all the options
            // and bind onchange event to recursively call this function

            var $select = $("<select>").attr(options.attr,name)
            .change(function() {
                if (this.options[this.selectedIndex].value !== '') {
                    if ($.isFunction(options.on_each_change)) {
                      removeNested(name + '_');
                        options.on_each_change.apply(this, [this.options[this.selectedIndex].value, tree]);
                    } else {
                      // call with value as a first parameter
                        $(this).optionTree(tree[this.options[this.selectedIndex].value], options);
                    }
                    if (options.set_value_on === 'each') {
                      setValue(name, this.options[this.selectedIndex].value);
                    }
                } else { // empty value was selected
                    removeNested(name + '_');
                    
                    var fallback = options.empty_value;
                    
                    if (options.get_parent_value_if_empty) {
                        fallback = getParentValue(name);
                    }
                    setValue(name, fallback);
                }
            });

            var text_to_choose = '';

            if (jQuery.isFunction(options.choose)) {
                var level = $(this).siblings().andSelf().filter('select').length;
                text_to_choose = options.choose.apply(this, [level]);
            } else if ( options.choose !== '' ) {
                text_to_choose = options.choose;
            }

            // if show multiple -> show open select
            var count_tree_objects = 0;
            if ( text_to_choose !== '' ) {
              // we have a default value
              count_tree_objects++;
            }
            if (options.show_multiple > 1) {
                count_tree_objects = options.show_multiple;
            } else if (options.show_multiple === true) {
              $.each(tree, function() {
                 count_tree_objects++;
              });
            }
            if ( count_tree_objects > 1 ){
              $select.attr('size', count_tree_objects);
            }

            if ($(this).is('input')) {
                $select.insertBefore(this);
            } else {
                $select.insertAfter(this);
            }

            if (options.select_class) {
                $select.addClass(options.select_class);
            }

            if ( text_to_choose !== '' ) {
              $("<option>").html(text_to_choose).val('').appendTo($select);
            }

            var foundPreselect = false;
            $.each(tree, function(k, v) {
                var label, value;
                if (options.indexed) {
                    label = v;
                    value = k;
                } else {
                    label = value = k;
                }
                var o = $("<option>").html(label)
                    .attr('value', value);
                var clean = cleanName(name);
                    if (options.leaf_class && typeof value !== 'object') { // this option is a leaf node
                        o.addClass(options.leaf_class);
                    }

                    o.appendTo($select);
                    if (isPreselectedFor(clean, value)) {
                      o.get(0).selected = true;
                      foundPreselect = true;
                    }
            });

            if (foundPreselect) {
              $select.change();
            }

            if (!foundPreselect && options.preselect_only_once) { // clear preselect on first not-found level
                options.preselect[cleanName(name)] = null;
            }

        } else if (options.set_value_on === 'leaf') { // single option is selected by the user (function called via onchange event())
            if (options.indexed) {
                setValue(name, this.options[this.selectedIndex].value);
            } else {
                setValue(name, tree);
            }
        }
    });

};
}(jQuery));

$(function() {

    var option_tree = {
	   "Budownictwo": { 
			"Administracja i zarządzanie":"Administracja i zarządzanie",
			"Agencje, biura nieruchomości":"Agencje, biura nieruchomości",
			"Armatura hydrauliczna":"Armatura hydrauliczna",
			"Armatura przemysłowa":"Armatura przemysłowa",
			"Biura architektoniczne":"Biura architektoniczne",
			"Bramy i ogrodzenia":"Bramy i ogrodzenia",
			"Deweloperzy":"Deweloperzy",
			"Firmy budowlane":"Firmy budowlane",
			"Geodeci":"Geodeci",
			"Instalacje sanitarne":"Instalacje sanitarne",
			"Materiały budowlane":"Materiały budowlane",
			"Nadzór budowlany":"Nadzór budowlany",
			"Systemy alarmowe, zabezpieczenia":"Systemy alarmowe, zabezpieczenia",
			"Wykończenia wnętrz":"Wykończenia wnętrz",
			"Inne":"Inne"
		},
		
		"Dom i ogród": { 
			"Artykuły gospodarstwa domowego":"Artykuły gospodarstwa domowego",
			"Artykuły pościelowe":"Artykuły pościelowe",
			"Dezynsekcja, deratyzacja i dezynfekcja":"Dezynsekcja, deratyzacja i dezynfekcja",
			"Drzewa, krzewy, nasiona, sadzonki, cebulki":"Drzewa, krzewy, nasiona, sadzonki, cebulki",
			"Drzwi i okna":"Drzwi i okna",
			"Łazienki":"Łazienki",
			"Meble i antyki":"Meble i antyki",
			"Ogród - artykuły i usługi":"Ogród - artykuły i usługi",
			"Wyposażenie wnętrz, artykuły":"Wyposażenie wnętrz, artykuły",
			"Wywóz śmieci":"Wywóz śmieci",
			"Inne":"Inne"			
		},
		
		"Edukacja": { 
			"Biblioteki":"Biblioteki",
			"Gimnazja":"Gimnazja",
			"Instytuty, ośrodki badawcze i naukowe":"Instytuty, ośrodki badawcze i naukowe",
			"Kursy i szkolenia":"Kursy i szkolenia",
			"Przedszkola":"Przedszkola",
			"Szkoły artystyczne":"Szkoły artystyczne",
			"Szkoły języków obcych":"Szkoły języków obcych",
			"Szkoły podstawowe":"Szkoły podstawowe",
			"Szkoły policealne":"Szkoły policealne",
			"Szkoły ponadgimnazjalne":"Szkoły ponadgimnazjalne",
			"Szkoły specjalne":"Szkoły specjalne",
			"Uczelnie wyższe":"Uczelnie wyższe",
			"Żłobki":"Żłobki",
			"Inne":"Inne"
		},
		
		"Finanse, prawo, praca": { 
			"Adwokaci":"Adwokaci",
			"Agencje zatrudnienia":"Agencje zatrudnienia",
			"Biura maklerskie":"Biura maklerskie",
			"Biura rachunkowo - podatkowe":"Biura rachunkowo - podatkowe",
			"Długi i wierzytelności, obsługa":"Długi i wierzytelności, obsługa",
			"Doradztwo prawne":"Doradztwo prawne",
			"Firmy doradcze":"Firmy doradcze",
			"Fundusze emerytalne":"Fundusze emerytalne",
			"Kancelarie prawne":"Kancelarie prawne",
			"Kantory":"Kantory",
			"Kredyty i pożyczki":"Kredyty i pożyczki",
			"Leasing":"Leasing",
			"Lombardy":"Lombardy",
			"Rzeczoznawcy":"Rzeczoznawcy",
			"Ubezpieczenia":"Ubezpieczenia",
			"Usługi finansowe":"Usługi finansowe",
			"Usługi audytorskie, rewidenci":"Usługi audytorskie, rewidenci",
			"Inne":"Inne"
		},
		
		"Gastronomia i rozrywka": { 
			"Bary":"Bary",
			"Catering":"Catering",
			"Cukiernie":"Cukiernie",
			"Domy przyjęć":"Domy przyjęć",
			"Dyskoteki":"Dyskoteki",
			"Kawiarnie":"Kawiarnie",
			"Pizzerie":"Pizzerie",
			"Puby":"Puby",
			"Restauracje":"Restauracje",
			"Inne":"Inne"
		},
		
		"Handel": { 
			"Artykuły dla firm i sklepów":"Artykuły dla firm i sklepów",
			"Artykuły dziecięce":"Artykuły dziecięce",
			"Artykuły elektryczne":"Artykuły elektryczne",
			"Artykuły i urządzenia biurowe":"Artykuły i urządzenia biurowe",
			"Artykuły metalowe i narzędzia":"Artykuły metalowe i narzędzia",
			"Artykuły spożywcze":"Artykuły spożywcze",
			"Artykuły szkolne":"Artykuły szkolne",
			"Artykuły tytoniowe":"Artykuły tytoniowe",
			"Bazary i targowiska":"Bazary i targowiska",
			"Centra handlowe":"Centra handlowe",
			"Dewocjonalia":"Dewocjonalia",
			"Handel zagraniczny":"Handel zagraniczny",
			"Hurtownie":"Hurtownie",
			"Hurtownie odzieżowe":"Hurtownie odzieżowe",
			"Komisy":"Komisy",
			"Księgarnie":"Księgarnie",
			"Kwiaciarnie":"Kwiaciarnie",
			"Meble":"Meble",
			"Obuwie":"Obuwie",
			"Odzież":"Odzież",
			"Opakowania":"Opakowania",
			"Paliwa, oleje, smary":"Paliwa, oleje, smary",
			"Pasmanterie":"Pasmanterie",
			"Pieczątki, stemple":"Pieczątki, stemple",
			"Sklepy internetowe":"Sklepy internetowe",
			"Sklepy jubilerskie":"Sklepy jubilerskie",
			"Sklepy muzyczne":"Sklepy muzyczne",
			"Sklepy obuwnicze":"Sklepy obuwnicze",
			"Sklepy odzieżowe":"Sklepy odzieżowe",
			"Sklepy papiernicze":"Sklepy papiernicze",
			"Sklepy sportowe":"Sklepy sportowe",
			"Sklepy wielobranżowe":"Sklepy wielobranżowe",
			"Sklepy zoologiczne":"Sklepy zoologiczne",
			"Sprzęt AGD":"Sprzęt AGD",
			"Sprzęt RTV":"Sprzęt RTV",
			"Suknie ślubne":"Suknie ślubne",
			"Szkło i porcelana":"Szkło i porcelana",
			"Wyposażenie sklepów":"Wyposażenie sklepów",
			"Wyroby skórzane":"Wyroby skórzane",
			"Zabawki":"Zabawki",
			"Inne":"Inne"
		},
		
		"Komputery, internet, telekomunikacja": { 
			"Części i akcesoria komputerowe":"Części i akcesoria komputerowe",
			"E-biznes":"E-biznes",
			"Kawiarnie internetowe":"Kawiarnie internetowe",
			"Oprogramowanie, programy komputerowe":"Oprogramowanie, programy komputerowe",
			"Telefony komórkowe":"Telefony komórkowe",
			"Telekomunikacja":"Telekomunikacja",
			"Usługi informatyczne":"Usługi informatyczne",
			"Usługi internetowe":"Usługi internetowe",
			"Inne":"Inne"
		},
		
		"Komunikacja i transport": { 
			"Komunikacja miejska":"Komunikacja miejska",
			"Przewozy autokarowe":"Przewozy autokarowe",
			"PKP":"PKP",
			"PKS":"PKS",
			"Taxi, transport pasażerski":"Taxi, transport pasażerski",
			"Transport":"Transport",
			"Spedycja":"Spedycja",
			"Inne":"Inne"
		},
		
		"Kultura i sztuka": { 
			"Biblioteki":"Biblioteki",
			"Galerie":"Galerie",
			"Kina":"Kina",
			"Muzea":"Muzea",
			"Ośrodki kultury":"Ośrodki kultury",
			"Teatry i opera":"Teatry i opera",
			"Wideoteki":"Wideoteki",
			"Inne":"Inne"
		},
		
		"Moda i uroda": { 
			"Kosmetyki":"Kosmetyki",
			"Obuwie":"Obuwie",
			"Odzież":"Odzież",
			"Perfumerie i drogerie":"Perfumerie i drogerie",
			"Salony fryzjerskie":"Salony fryzjerskie",
			"Salony kosmetyczne":"Salony kosmetyczne",
			"Salony mody":"Salony mody",
			"Solaria":"Solaria",
			"SPA":"SPA",
			"Studio tatuażu":"Studio tatuażu",
			"Stylizacja":"Stylizacja",
			"Inne":"Inne"
		},
		
		"Motoryzacja": { 
			"Autobusy, autokary - sprzedaż, wynajem":"Autobusy, autokary - sprzedaż, wynajem",
			"Blacharstwo, lakiernictwo":"Blacharstwo, lakiernictwo",
			"Części i akcesoria motoryzacyjne":"Części i akcesoria motoryzacyjne",
			"Diagnostyka samochodowa":"Diagnostyka samochodowa",
			"Giełdy samochodowe":"Giełdy samochodowe",
			"Instalacje gazowe":"Instalacje gazowe",
			"Klimatyzacja":"Klimatyzacja",
			"Komisy samochodowe":"Komisy samochodowe",
			"Motocykle":"Motocykle",
			"Pomoc drogowa":"Pomoc drogowa",
			"Salony samochodowe":"Salony samochodowe",
			"Stacje benzynowe":"Stacje benzynowe",
			"Stacje serwisowe":"Stacje serwisowe",
			"Warsztaty samochodowe":"Warsztaty samochodowe",
			"Wulkanizacja":"Wulkanizacja",
			"Wypożyczalnie samochodów":"Wypożyczalnie samochodów",
			"Inne":"Inne"
		},
		
		"Przemysł i produkcja": { 
			"Elektromechanika i elektrotechnika":"Elektromechanika i elektrotechnika",
			"Elektryka i pomiary":"Elektryka i pomiary",
			"Energetyka":"Energetyka",
			"Firmy produkcyjne":"Firmy produkcyjne",
			"Górnictwo":"Górnictwo",
			"Maszyny i urządzenia przemysłowe":"Maszyny i urządzenia przemysłowe",
			"Ogrzewanie":"Ogrzewanie",
			"Przemysł spożywczy":"Przemysł spożywczy",
			"Tworzywa sztuczne":"Tworzywa sztuczne",
			"Urządzenia przemysłowe":"Urządzenia przemysłowe",
			"Wyroby hutnicze":"Wyroby hutnicze",
			"Inne":"Inne"
		},
		
		"Reklama i media": { 
			"Agencje modelek":"Agencje modelek",
			"Agencje reklamowe":"Agencje reklamowe",
			"Akcesoria, gadżety reklamowe":"Akcesoria, gadżety reklamowe",
			"Druk, drukarnia, poligrafia":"Druk, drukarnia, poligrafia",
			"Kolportaż prasy":"Kolportaż prasy",
			"Prasa":"Prasa",
			"Radio, telewizja":"Radio, telewizja",
			"Inne":"Inne"
		},
		
		"Sport i rekreacja": { 
			"Aerokluby":"Aerokluby",
			"Baseny, pływalnie":"Baseny, pływalnie",
			"Kluby golfowe":"Kluby golfowe",
			"Kluby jeździeckie":"Kluby jeździeckie",
			"Kluby sportowe":"Kluby sportowe",
			"Korty tenisowe":"Korty tenisowe",
			"Kręgielnie":"Kręgielnie",
			"Lodowiska":"Lodowiska",
			"Nurkowanie":"Nurkowanie",
			"Obiekty sportowe, ośrodki":"Obiekty sportowe, ośrodki",
			"Siłownie i kluby fitness":"Siłownie i kluby fitness",
			"Sprzęt sportowy, turystyczny":"Sprzęt sportowy, turystyczny",
			"Strzelnice":"Strzelnice",
			"Szachy":"Szachy",
			"Taniec":"Taniec",
			"Wspinaczka":"Wspinaczka",
			"Żeglarstwo":"Żeglarstwo",
			"Inne":"Inne"
		},
		
		"Turystyka, noclegi": { 
			"Agencje turystyczne":"Agencje turystyczne",
			"Akademiki":"Akademiki",
			"Biura podróży":"Biura podróży",
			"Domy turystyczne":"Domy turystyczne",
			"Domy turystyczne":"Domy turystyczne",
			"Hostele":"Hostele",
			"Hotele":"Hotele",
			"Imprezy, konferencje, szkolenia":"Imprezy, konferencje, szkolenia",
			"Ośrodki i domy wczasowe":"Ośrodki i domy wczasowe",
			"Pensjonaty, domki wypoczynkowe":"Pensjonaty, domki wypoczynkowe",
			"Pokoje gościnne":"Pokoje gościnne",
			"Schroniska":"Schroniska",
			"Inne":"Inne"
		},
		
		"Urzędy i instytucje": { 
			"Inspekcja państwowa":"Inspekcja państwowa",
			"NFZ":"NFZ",
			"Prokuratura":"Prokuratura",
			"Samorząd wojewódzki":"Samorząd wojewódzki",
			"Sądy":"Sądy",
			"Starostwa powiatowe":"Starostwa powiatowe",
			"Stowarzyszenia":"Stowarzyszenia",
			"Ubezpieczenia społeczne":"Ubezpieczenia społeczne",
			"Urzędy celne":"Urzędy celne",
			"Urzędy miar":"Urzędy miar",
			"Urzędy miast i gmin":"Urzędy miast i gmin",
			"Urzędy miejskie":"Urzędy miejskie",
			"Urzędy pracy":"Urzędy pracy",
			"Urzędy skarbowe":"Urzędy skarbowe",
			"Urzędy stanu cywilnego":"Urzędy stanu cywilnego",
			"Urzędy statystyczne":"Urzędy statystyczne",
			"Urzędy wojewódzkie":"Urzędy wojewódzkie",
			"Inne":"Inne"
		},
		
		"Usługi": { 
			"Agencje artystyczne":"Agencje artystyczne",
			"Alarmy, zabezpieczenia przeciwpożarowe":"Alarmy, zabezpieczenia przeciwpożarowe",
			"BHP - usługi":"BHP - usługi",
			"Budowlano - remontowe":"Budowlano - remontowe",
			"Dekoracja wnętrz":"Dekoracja wnętrz",
			"Doradztwo personalne":"Doradztwo personalne",
			"Fotograficzne i wideo":"Fotograficzne i wideo",
			"Grawerskie":"Grawerskie",
			"Hydrauliczne":"Hydrauliczne",
			"Introligatorskie":"Introligatorskie",
			"Jubilerskie":"Jubilerskie",
			"Kamieniarskie":"Kamieniarskie",
			"Krawieckie":"Krawieckie",
			"Ochroniarskie":"Ochroniarskie",
			"Opieka nad dziećmi":"Opieka nad dziećmi",
			"Organizacja imprez":"Organizacja imprez",
			"Poligrafia, drukarnie":"Poligrafia, drukarnie",
			"Porządkowe":"Porządkowe",
			"Pośrednictwo pracy":"Pośrednictwo pracy",
			"Pralnicze":"Pralnicze",
			"Projektowe":"Projektowe",
			"Przechowalnie":"Przechowalnie",
			"Szewskie":"Szewskie",
			"Szklarskie":"Szklarskie",
			"Tapicerskie":"Tapicerskie",
			"Tłumaczenia":"Tłumaczenia",
			"Tokarskie":"Tokarskie",
			"Usługi kurierskie":"Usługi kurierskie",
			"Usługi AGD-RTV":"Usługi AGD-RTV",
			"Usługi telekomunikacyjne":"Usługi telekomunikacyjne",
			"Wodociągowo - kanalizacyjne":"Wodociągowo - kanalizacyjne",
			"Wydawnictwa":"Wydawnictwa",
			"Wysokościowe":"Wysokościowe",
			"Wywóz nieczystości":"Wywóz nieczystości",
			"Zakłady pogrzebowe":"Zakłady pogrzebowe",
			"Zagarmistrzowskie":"Zagarmistrzowskie",
			"Inne":"Inne"
		},
		
		"Zdrowie i medycyna": { 
			"Analizy lekarskie":"Analizy lekarskie",
			"Apteki":"Apteki",
			"Banki tkanek i narządów":"Banki tkanek i narządów",
			"Chirurgia plastyczna i estetyczna":"Chirurgia plastyczna i estetyczna",
			"Gabinety terapeutyczne":"Gabinety terapeutyczne",
			"Hipoterapia":"Hipoterapia",
			"Informacja medyczna":"Informacja medyczna",
			"Lekarze rodzinni - wizyty domowe":"Lekarze rodzinni - wizyty domowe",
			"Medycyna naturalna":"Medycyna naturalna",
			"Opieka społeczna":"Opieka społeczna",
			"Optycy":"Optycy",
			"Prywatne kliniki":"Prywatne kliniki",
			"Przychodnie":"Przychodnie",
			"Rehabilitacja, odnowa biologiczna":"Rehabilitacja, odnowa biologiczna",
			"Sprzęt medyczny":"Sprzęt medyczny",
			"Stomatolodzy i protetycy":"Stomatolodzy i protetycy",
			"Szkoły rodzenia":"Szkoły rodzenia",
			"Szpitale":"Szpitale",
			"Terapie - gabinety terapeutyczne":"Terapie - gabinety terapeutyczne",
			"Weterynarze":"Weterynarze",
			"Inne":"Inne"
		}	
		
    };
	
	$('input#field_qUv92afnkuzFRS7maa6MqA_formId').attr('readonly', true);

    $('input[name=field_rqQ02j-dCVzfiEyuT_-8NA]').optionTree(option_tree).change(function() { 
		var kat = $('select[name=field_rqQ02j-dCVzfiEyuT_-8NA_] option:selected').val();
		$('input#field_qUv92afnkuzFRS7maa6MqA_formId').val(kat);
		
	});
	
	/*
     Displays string with current labels for each select element separated with ' '
    */
    var displayParents = function() {
    var labels = []; // initialize array
    $(this).siblings('select') // find all select
                   .find(':selected') // and their current options
                     .each(function() { labels.push($(this).text()); }); // and add option text to array
	$('input#kategoria_formId').val(labels.join(' > '));
    }

    $('input#kategoria_formId').optionTree(option_tree).change(displayParents);


});
