  function loadProvinces(base_url) {
      new Ajax.Request(base_url + '/@@patikakereso-geo?type=megye', {
        method: 'get',
        onSuccess: function(request) {
          result = eval('(' + request.responseText + ')');
          select = $('patikakereso-megye');
          select_form = $('patikakereso-megye.form');
          while (select.options.length > 0) {
            select.options[0] = null;
          }
          for (var i = 0; i < result.results.length; i++) {
            obj = result.results[i];
            select.options[i] = new Option(obj.title, obj.value);
            if (select_form.value == obj.value) {
              select.options[i].selected = true;
            }
          }
          changeProvince(base_url);
       }
      });
    }

    function changeProvince(base_url) {
      province  = $('patikakereso-megye').value;
      new Ajax.Request(base_url + '/@@patikakereso-geo?type=varos&megye_id=' + province, {
        method: 'get',
        onSuccess: function(request) {
          result = eval('(' + request.responseText + ')');
          select = $('patikakereso-varos');
          select_form = $('patikakereso-varos.form');
          while (select.options.length > 0) {
            select.options[0] = null;
          }
          for (var i = 0; i < result.results.length; i++) {
            obj = result.results[i];
            select.options[i] = new Option(obj.title, obj.value);
            if (select_form.value == obj.value) {
              select.options[i].selected = true;
            }
          }
          loadMType(base_url);
       }
      });
    }


    function loadMType(base_url) {
      new Ajax.Request(base_url + '/@@patikakereso-geo?type=mtype', {
        method: 'get',
        onSuccess: function(request) {
          result = eval('(' + request.responseText + ')');
          select = $('patikakereso-mtype');
          select_form = $('patikakereso-mtype.form');
          while (select.options.length > 0) {
            select.options[0] = null;
          }
          for (var i = 0; i < result.results.length; i++) {
            obj = result.results[i];
            select.options[i] = new Option(obj.title, obj.value);
            if (select_form.value == obj.value) {
              select.options[i].selected = true;
            }
          }
          changeMType(base_url);
       }
      });
    }


    function changeMType(base_url) {
      mtype  = $('patikakereso-mtype').value;
      new Ajax.Request(base_url + '/@@patikakereso-geo?mtype_id=' + mtype, {
        method: 'get',
        onSuccess: function(request) {
          result = eval('(' + request.responseText + ')');
          select = $('patikakereso-mtype');
          select_form = $('patikakereso-mtype.form');
          while (select.options.length > 0) {
            select.options[0] = null;
          }
          for (var i = 0; i < result.results.length; i++) {
            obj = result.results[i];
            select.options[i] = new Option(obj.title, obj.value);
            if (select_form.value == obj.value) {
              select.options[i].selected = true;
            }
          }
       }
      });
    }
