/*
 * JQuery TagCloud Plugin
 * 
 * Add to Create a Radom Tag Cloud to an Ul Tag
 * 
 * Version 1.0
 * 
 * by Christian Stoehr - 15. April 2010
 * http://cmsnet.kilu.de/
 * 
 */

jQuery.fn.CMStagcloud = function(options) {   
   var defaults = {
       MinTHeight: 10,
       MaxTheight: 15,
       width: 500,      
       Tbereich: 10,
       MMultipli: 2.3
  };
  // Extend our default options with those provided.
  var opts = $.extend(defaults, options);
   
   var o = $(this[0]) // It's your element
   var id="#"+o.attr('id');
   var count=0;
    jQuery(id+" li").each(
      function(){
        count++;       
     }
   );   
   var mitte = Math.round((count/2));
   count=0;
   var multi=1;
   if(jQuery.browser.msie){
    $(o).css("float","left");
   }
   //alert(mitte-defaults.Tbereich);
   jQuery(id+" li").each(
      function(){           
            
            var str = $(this).text();
            if(count >(mitte-defaults.Tbereich) && count<(mitte+defaults.Tbereich)){
                multi=defaults.MMultipli*(Math.sin((count-mitte))-Math.cos(count-mitte));                
            }else{
                multi=1;
            }
            if(jQuery.browser.msie){
                multi1=1.1;
            }else{
                multi1=0.6;
            }
            var abst=Math.round(multi1*multi);
            if(abst<0){
                abst=abst*-1;
            }
            $(this).css("padding",abst+"px "+abst+"px");
            $(this).css("margin",abst+"px "+abst+"px");              
            $(this).children('a').css("display","inline");              
            
            
            $(this).css("line-height",(defaults.MaxTheight)+"px");
            var size= $.randomBetween(defaults.MinTHeight,(defaults.MaxTheight*multi)+Math.sin(count));
            if(size==null || size < defaults.MinTHeight){
                size = defaults.MinTHeight;
            }
            $(this).css("font-size",size+"px");
            $(this).css("float","left");
            
            $(this).css("width",$(this).children('a').width());
            count++;
                                       
      }
   );  
   jQuery(o).after('<div style="clear:left;"></div>');  
};
