  function USCS () {}


  USCS.prototype.categoryChanged = function(el, existing, type)
  {
    var form = $(el).up('form');

    form['model'].replace('<select name="model"></select>');


    var loaderMsg = new Element('span');
    loaderMsg.innerHTML = ' <img src="/img/ajax-loader.gif" /> ';

    form['model'].disable();

    Element.insert(
      el,
      { 'after': loaderMsg }
    );

//    var oThis = this;
    req = new Ajax.Request(
      '/cars/getBrandsAjax?cat=' + el.value + '&existing=' + (existing ? 1 : 0) + '&type=' + type,
      {
        method:'post',
        onSuccess: function(transport) {
          loaderMsg.remove();
          form['brand'].replace(transport.responseText);
          form['model'].enable();
        },
        onFailure: function(){
          loaderMsg.remove();
          form['model'].enable();
//          alert('error');
        }
      }
    );
  }

  USCS.prototype.brandChanged = function(el, existing, type)
  {
    var form = $(el).up('form');

    if (!el.value || 0 == el.value) {
      form['model'].replace('<select name="model"></select>');
      return false;
    }

    $(form['model']).hide();

    Element.insert(
      form['model'],
      { after: '<img id="search-loader" style="height: 11px; width: ' + $(form['model']).getWidth() + 'px" src="/img/search-loader.gif" />' }
    );

//    $(form['model']).disable();

//    var oThis = this;
    brand = el.value;
    req = new Ajax.Request(
      '/cars/getModelsAjax/' + type + '/' + brand + '/' + (existing ? 1 : 0) + '/',
      {
        method:'get',
        onSuccess: function(transport) {
//          loaderMsg.remove();
          $('search-loader').remove();
          form['model'].replace(transport.responseText);
          form['model'].show();
//          form.enable();
        },
        onFailure: function(){
//          loaderMsg.remove();
          form.enable();
//          alert('error');
        }
      }
    );
  }

oUSCS = new USCS;

