Advertisement
yitznewton

Untitled

Mar 22nd, 2011
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function subjectSorter()
  2. {
  3.   var $subjects = $('#subjects');
  4.  
  5.   $subjects.children().hide();
  6.  
  7.   var ul_featured = document.createElement('ul');
  8.   ul_featured.id = 'subjects-featured';
  9.   ul_featured.className = 'sortable';
  10.  
  11.   var ul_nonfeatured = document.createElement('ul');
  12.   ul_nonfeatured.id = 'subjects-nonfeatured';
  13.   ul_nonfeatured.className = 'sortable';
  14.  
  15.   var ul_disabled = document.createElement('ul');
  16.   ul_disabled.id = 'subjects-disabled';
  17.   ul_disabled.className = 'sortable';
  18.  
  19.   $subjects.find('ul.checkbox_list input').each( function() {
  20.     var weight = -1;
  21.  
  22.     var id;
  23.     var id_matches = this.id.match(/_(\d+)$/);
  24.  
  25.     if ( id_matches ) {
  26.       id = id_matches[1];
  27.     }
  28.  
  29.     if ( id ) {
  30.       var weight_id = 'e_resource_EResourceDbSubjectAssocs_'
  31.                       + id + '_featured_weight';
  32.  
  33.       var weight_el = document.getElementById( weight_id );
  34.  
  35.       if ( weight_el ) {
  36.         weight = weight_el.value;
  37.       }
  38.     }
  39.  
  40.     var li = document.createElement('li');
  41.     li.id = 'subject-list-' + id;
  42.     li.className = 'ui-state-default';
  43.     li.innerHTML = $(this).siblings('label').text();
  44.  
  45.     if ( this.checked && weight != -1 ) {
  46.       ul_featured.appendChild( li );
  47.     }
  48.     else if ( this.checked ) {
  49.       ul_nonfeatured.appendChild( li );
  50.     }
  51.     else {
  52.       ul_disabled.appendChild( li );
  53.     }
  54.   });
  55.  
  56.   var li_empty = document.createElement('li');
  57.   li_empty.className = 'empty ui-state-highlight';
  58.   li_empty.innerHTML = 'No items';
  59.  
  60.   if ( ul_featured.childNodes.length === 0 ) {
  61.     ul_featured.appendChild( li_empty );
  62.   }
  63.  
  64.   if ( ul_nonfeatured.childNodes.length === 0 ) {
  65.     ul_nonfeatured.appendChild( li_empty );
  66.   }
  67.  
  68.   if ( ul_disabled.childNodes.length === 0 ) {
  69.     ul_disabled.appendChild( li_empty );
  70.   }
  71.  
  72.   $subjects.append( ul_featured );
  73.   $subjects.append( ul_nonfeatured );
  74.   $subjects.append( ul_disabled );
  75.  
  76.   $(ul_featured).sortable({
  77.     connectWith: ['#subjects-nonfeatured', '#subjects-disabled']
  78.   });
  79.  
  80.   $(ul_nonfeatured).sortable({
  81.     connectWith: ['#subjects-featured', '#subjects-disabled']
  82.   });
  83.  
  84.   $(ul_disabled).sortable({
  85.     connectWith: ['#subjects-featured', '#subjects-nonfeatured']
  86.   });
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement