text: /**
   * imsanity admin javascript functions
   */
  
  /**
   * Begin the process of re-sizing all of the checked images
   */
  function imsanity_resize_images()
  {
  	var images = [];
  	jQuery('.imsanity_image_cb:checked').each(function(i) {
         images.push(this.value);
      });
  
  	var target = jQuery('#resize_results'); 
  	target.html('');
  	//jQuery(document).scrollTop(target.offset().top);
  
  	// start the recursion
  	imsanity_resize_next(images,0);
  }
  
  /** 
   * recursive function for resizing images
   */
  function imsanity_resize_next(images,next_index)
  {
  	if (next_index >= images.length) return imsanity_resize_complete();
  	
  	jQuery.post(
  		ajaxurl, // (defined by wordpress - points to admin-ajax.php)
  		{_wpnonce: imsanity_vars._wpnonce, action: 'imsanity_resize_image', id: images[next_index]}, 
  		function(response) 
  		{
  			var result;
  			var target = jQuery('#resize_results'); 
  			target.show();
  			
  			try {
  				result = JSON.parse(response);
  				target.append('<div>' + (next_index+1) + '/' + images.length + ' &gt;&gt; ' + result['message'] +'</div>');
  			}
  			catch(e) {
  				target.append('<div>' + imsanity_vars.invalid_response + '</div>');
  				if (console) {
  					console.warn(images[next_index] + ': '+ e.message);
  					console.warn('Invalid JSON Response: ' + response);
  				}
  		    }
  
  			target.animate({scrollTop: target.height()});
  
  			// recurse
  			imsanity_resize_next(images,next_index+1);
  		}
  	);
  }
  
  /**
   * fired when all images have been resized
   */
  function imsanity_resize_complete()
  {
  	var target = jQuery('#resize_results'); 
  	target.append('<div><strong>' + imsanity_vars.resizing_complete + '</strong></div>');
  	target.animate({scrollTop: target.height()});
  }
  
  /** 
   * ajax post to return all images that are candidates for resizing
   * @param string the id of the html element into which results will be appended
   */
  function imsanity_load_images(container_id)
  {
  	var container = jQuery('#'+container_id);
  
  	var target = jQuery('#imsanity_target');
  	target.show();
  	jQuery('.imsanity-selection').remove();
  	jQuery('#imsanity_loading').show();
  
  	target.animate({height: [250,'swing']},500, function()
  	{
  		jQuery(document).scrollTop(container.offset().top);
  
  		jQuery.post(
  				ajaxurl, // (global defined by wordpress - points to admin-ajax.php)
  				{_wpnonce: imsanity_vars._wpnonce, action: 'imsanity_get_images'}, 
  				function(response) 
  				{
  					var images = JSON.parse(response); 
  
  					jQuery('#imsanity_loading').hide();
  					if (images.length > 0)
  					{
  						target.append('<div class="imsanity-selection"><input id="imsanity_check_all" type="checkbox" checked="checked" onclick="jQuery(\'.imsanity_image_cb\').attr(\'checked\', this.checked);" /> Select All</div>');
  						for (var i = 0; i < images.length; i++)
  						{
  							target.append('<div class="imsanity-selection"><input class="imsanity_image_cb" name="imsanity_images" value="' + images[i].id + '" type="checkbox" checked="checked" />' + imsanity_vars.image + ' ' + images[i].id + ': ' + images[i].file +' ('+images[i].width+' x '+images[i].height+')</div>');
  						}
  						if ( ! jQuery( '#resize-submit' ).length ) {
  							container.append('<p id="resize-submit" class="submit"><button class="button-primary" onclick="imsanity_resize_images();">' + imsanity_vars.resize_selected + '</button></p>');
  							container.append('<div id="resize_results" style="display: none; border: solid 2px #666666; padding: 10px; height: 250px; overflow: auto;" />');
  						}
  					}
  					else
  					{
  						target.html('<div>' + imsanity_vars.none_found + '</div>');
  						
  					}
  				}
  			);
  	});
  }
  