var applyDropDownsAppearance = function(){
  var mouse_is_inside = false;
  var selects = $(".select_usual");
  
  var hideActive = function () {
    
    var active_label = $(".select_usual .label_active");
    if(active_label != null)
    {
      active_label.parent().find("ul").hide();
      active_label.removeClass("label_active");
    }
  }
      
  $(function(){
    selects.find("ul, .label").hover(function(){
      mouse_is_inside =true;
    }, function(){
      mouse_is_inside =false;
    });
      
    $("body").unbind();
    $("body").mouseup(function(){
      if(! mouse_is_inside ){
        hideActive();
      }
    });
  });
  
  selects.each(function() {
    if($(this).attr("binded") == 1)
      return;
    
    $(this).attr("binded",1);
    
    var select_usual = $(this);
    var outer_text = select_usual.find(".label_text");
    
    if(outer_text.attr("default_text") == null)
      outer_text.attr("default_text", outer_text.html());
    
    var ul = select_usual.find("ul");
    var label = select_usual.find(".label");
    ul.html("");
    
    select_usual.find("select option").each( function() {
      var option = $(this);
      
      if(option.attr("selected") == true || option.attr("selected") == "selected") {
        select_usual.find(".label_text").html(option.html());
      }
       
      var li = $("<li />",{ "element_value": option.attr("value") })
        .html(option.html())
        .appendTo(ul);
      
      if(option.attr("disabled") == "disabled") {
        li.addClass("disabled");
      } else {
        li.click(function(){
          ul.hide();
          
          label.removeClass("label_active");
          select_usual.find(".label_text").html(li.html());
          
          select_usual.find("select")
            .val(li.attr("element_value"))
            .trigger("change");
        });
      }
    });
    
    label.click(function(){
      if(ul.is(":visible"))
      {
        ul.hide();
      }
      else
      {
        hideActive();
        
        $(this).addClass("label_active");
        ul.show();     
      }
    });
  });
};
