/**
 * The JazzeeElementTextarea type
  @extends JazzeeElement
 */
function JazzeeElementTextarea(){}
JazzeeElementTextarea.prototype = new JazzeeElement();
JazzeeElementTextarea.prototype.constructor = JazzeeElementTextarea;

JazzeeElementTextarea.prototype.avatar = function(){
  return $('<textarea>').attr('disabled', true);
};

/**
 * Add minimum and maximum sliders
 * @returns {jQuery}
 */
JazzeeElementTextarea.prototype.elementProperties = function(){
  var elementClass = this;
  var div = JazzeeElement.prototype.elementProperties.call(this);
  
  var slider = $('<div>');
  slider.slider({
    value: elementClass.min,
    min: 0,
    max: 50000,
    step: 100,
    slide: function( event, ui ) {
      elementClass.setProperty('min', ui.value);
      $('#minValue').html(elementClass.min);
    }
  });
  div.append($('<p>').html('Minimum Length ').append($('<span>').attr('id', 'minValue').html(elementClass.min)));
  div.append(slider);
  
  var slider = $('<div>');
  slider.slider({
    value: elementClass.max,
    min: 0,
    max: 50000,
    step: 100,
    slide: function( event, ui ) {
      elementClass.setProperty('max', ui.value);
      $('#maxvalue').html(elementClass.max);
    }
  });
  div.append($('<p>').html('Maximum Length ').append($('<span>').attr('id', 'maxvalue').html(elementClass.max)));
  div.append(slider);
  
  return div;
};
@@ -556,133 +556,240 @@
  %0A  
-var slider = $('%3Cdiv%3E');%0A  slider.slider(%7B
+div.append(this.createSlider('min', 'Minimum'));%0A  div.append(this.createSlider('max', 'Maximum'));
 %0A  
+%0A
   
-value: elementClass.min,%0A    min: 0,%0A    max: 50000,%0A    step: 100,%0A    s
+return div;%0A%7D;%0A%0A/**%0A * Seperate out the slider function%0A * @returns %7BjQuery%7D%0A */%0AJazzeeElementTextarea.prototype.createS
 lide
-:
+r =
  fun
@@ -794,36 +794,39 @@
 unction(
- event, ui ) 
+property, title)
 %7B%0A  
-   
+var
  element
@@ -834,89 +834,305 @@
 lass
-.setProperty('min', ui.value);%0A      $('#minValue').html(elementClass.min);%0A    %7D
+ = this;%0A  var div = $('%3Cdiv%3E').attr('id', property + 'slider');%0A  var link = $('%3Ca%3E').attr('href', '#').attr('id', property + 'Value').html(elementClass%5Bproperty%5D).bind('click', function()%7B%0A    $('#' + property + 'slider').replaceWith(elementClass.createInput(property, title));%0A    return false;
 %0A  %7D
@@ -1161,24 +1161,25 @@
 ').html(
-'Minimum
+title + '
  Length 
@@ -1192,91 +1192,16 @@
 end(
-$('%3Cspan%3E').attr('id', 'minValue').html(elementClass.min)
+link
 ));%0A
-  div.append(slider);%0A
   %0A 
@@ -1269,18 +1269,18 @@
 tClass.m
-ax
+in
 ,%0A    mi
@@ -1382,21 +1382,24 @@
 roperty(
-'max'
+property
 , ui.val
@@ -1417,48 +1417,567 @@
 $('#
-maxvalue').html(elementClass.max);%0A    %7D
+' + property + 'Value').html(elementClass%5Bproperty%5D);%0A    %7D%0A  %7D);%0A  div.append(slider);%0A  return div;%0A%7D;%0A%0A/**%0A * Seeprate out the inptu function%0A * @returns %7BjQuery%7D%0A */%0AJazzeeElementTextarea.prototype.createInput = function(property, title)%7B%0A  var elementClass = this;%0A  var div = $('%3Cdiv%3E').attr('id', property + 'slider');%0A  var link = $('%3Ca%3E').attr('href', '#').attr('id', property + 'Value').html(elementClass%5Bproperty%5D).bind('click', function()%7B%0A    $('#' + property + 'slider').replaceWith(elementClass.createSlider(property, title));%0A    return false;
 %0A  %7D
@@ -2006,24 +2006,25 @@
 ').html(
-'Maximum
+title + '
  Length 
@@ -2037,66 +2037,323 @@
 end(
-$('%3Cspan%3E').attr('id', 'maxvalue').html(elementClass.max))
+link));%0A  %0A  var minInput = $('%3Cinput%3E').attr('type', 'text'). attr('size', 5).attr('id', property + 'Input').attr('value', elementClass%5Bproperty%5D);%0A  minInput.bind('change', function()%7B%0A    elementClass.setProperty(property, $(this).attr('value'));%0A    $('#' + property + 'Value').html(elementClass%5Bproperty%5D);%0A  %7D
 );%0A 
@@ -2364,27 +2364,26 @@
 .append(
-slider);%0A  
+minInput);
 %0A  retur

Allow text area max/min sizes to be entered manually.