AutoLabel with jQuery

Examlpes
Javascript
var AutoLabel = function(){
  var label = $('label');
  label.each(function(n){
    //get the next object
    var obj = $(this);
    //append id and for attributes into elements
    switch( obj.next().attr('type') ){
      case 'text': case 'password': case 'radio': case 'checkbox':
        obj.attr('for', 'label' + n);
        obj.next().attr('id', 'label' + n);
        break;
    }
    //in especial for textarea and select element
    if(typeof obj.next()get(0) !== 'undefined'){
      switch( obj.next().get(0).tagName.toLowerCase() ){
        case 'textarea': case 'select':
          obj.attr('for', 'label' + n);
          obj.next().attr('id', 'label' + n);
          break;
      }
    }
    //same as above;
    var obj = $(this); //get the previous object
    switch( obj.prev().attr('type') ){
      case 'text': case 'password': case 'radio': case 'checkbox':
        obj.attr('for', 'label' + n);
        obj.prev().attr('id', 'label' + n);
        break;
    }
    if(typeof obj.prev().get(0) !== 'undefined'){
      switch( obj.prev().get(0).tagName.toLowerCase() ){
        case 'textarea': case 'select':
          obj.attr('for', 'label' + n);
          obj.prev().attr('id', 'label' + n);
          break;
      }
    }
  });
}