JQuery Ajax query stop working after 3 execution
===

I tried searching for similar issues, but none match the predicament I'm in...
So, first of all, sorry if my search was not successful.
Project background:
I'm building a tourist guide website with Joomla! + SEBLOD + Youtheme Warp.
Registered users/owners of resorts can add their business to list them, but they need to ad the location. Since there are many states and later, many beaches to link to, the idea is to filter the location by region (5 regions, SEBLOD/Joomla articles from a Region category > state (SEBLOD/Joomla articles from a States category, linked via a SEBLOD related articles field to region) > beach (SEBLOD/Joomla content type, linked to states and regions by SEBLOD related articles field), thus reducing the list options in the select.

My problem is:
The selects are populated from a JQuery/Ajax function that works, but after the 3 execution, it stops working.

I use Firebug on Firefox (as it works when "offline". running on localhost) and WebDeveloper extensions.

I get the following JS errors:
error 1 - from webdeveloper (seems related to Yootheme Warp):

    Timestamp: 13/07/2012 12:55:45
    Error: TypeError: $.onMediaQuery is not a function
    Source File: http://localhost/viapraia2/templates/yoo_master/js/template.js
    Line: 37

error 2 - from firebug ( (seems related to Yootheme Warp, but not sure if the same as above)

    TypeError: $.onMediaQuery is not a function	
    invalid: function() {

I don't think these errors are related to my issue, although Yootheme Warp is warning of multiple JQuery libraries being loaded. I checked the files and the extensions seem to be encapsulating their own individually, so they shouldn't conflict, but I can't be sure. Since the script works a few times, I think they're not related to the issue...

This is what I think is the relevant JS: 

    /**
        * Check if RESORT select object exists and has value
        **/
        var resort = $j('#vp_related_resort');
        var resortValue = (resort.length <0) ? 0 : resort.val();
        var resortCatId = (isEmpty($j('#vp_resort_catid'))) ? 0 : $j('#vp_resort_catid').val();
        
        var arrKeys = ['region', 'state', 'related_beach','resort'];
        var varArr = [region, state, beach, resort];
        
        mySelects={
            'region':{'select':region,'value':regionValue,'catid':regionCatId},
            'state':{'select':state,'value':stateValue,'catid':stateCatId},
            'related_beach':{'select':beach,'value':beachValue,'catid':beachCatId},
            'resort':{'select':resort,'value':resortValue,'catid':resortCatId}
            };
        
        /**
        * Set AJAX request to retrieve STATES according to the REGION selected
        * Change the STATES select content according to the result
        **/   
        function _ajax(ajaxUrl,value,item,obj){
            var nUrl = (item.match(/beach/)) ? '&item=beach' : '&item=' + item;
            
            nUrl = ajaxUrl + nUrl;
            
            $j.ajax ({
                url: nUrl,
                contentType: "application/json;charset=UTF-8",
                success: function(data){
                    if(data.length) {
                        $j.each(data,function(c,d){
                            var o = new Option();
                            var newTitle = d.title;
                            $j(o).html(newTitle).val(d.id);
                            obj.append(o);                       
                            //obj.val(value);
                        });
                    }            
                },
                beforeSend: function(){
                    obj.children("option:not(:first)").remove();
                    obj.hide();
                },
                complete:function(){
                    nUrl = ajaxUrl = '';
                    obj.show();
                },
                dataType: 'json', 
            });
            
            
        }
        /**
        * Execute _ajax function when region SELECT changes
        **/
        region.change(function(){
            var aUrl = theUrl;
            if($j(this).val() > 0){
                var w = arrKeys.indexOf('region');
                var kArr = arrKeys;
                kArr.splice(w,1);
                var vArr = varArr;
                vArr.splice(w,1);
                aUrl = aUrl + 'region&regionSelectId=' + $j(this).val() + '&regionCatId=' + mySelects.region.catid + '&catid=';
                for(var i=0; i < kArr.length; i++){
                    var v = 0;
                    if(vArr[i].length > 0) {
                        v = aUrl + mySelects[kArr[i]].catid;
                        _ajax(v, mySelects[kArr[i]].catid,kArr[i],vArr[i]);
                   }
                }
            }
        });

Tests can be made by login as user/testuser [here][1], then loading [this form][2]
If you play with the 3 selects, with Firebug loaded, you'll notice that the first 2 executions work, but the 3 only executes the state, leaving the beach select out. I don't know where to start looking for the error. 

Thank you for your time!!

  [1]: http://adoroisso.com.br/viapraia2
  [2]: http://adoroisso.com.br/viapraia2/index.php/pt/pousadas/incluir-pousada