       /**
       *@author dhiraj
       *@desc take a list of images and generate an random animated banner
       @param integer maxShow   maximum of image to display
       **/
       (function($)
    {
        jQuery.fn.banner =function(options)
        {
            var defaults =
            {
                speed    :    1000,
                maxShow    :    5,
                interval:    5000
            };

            var settings     =     jQuery.extend({},defaults,options);
            var $this         =    this;
            var $parent        =    jQuery(this).parent();
            var $achr       =    jQuery.makeArray(jQuery($this).children().children())
            var $elementArr    =    jQuery.makeArray(jQuery($this).children().children().children());
   
        
            //generate an array of div
            function _init(elementArr)
            {
                var $i    =    0;
                var $array    = new Array();
                jQuery(elementArr).each(function()
                {      
    
                    $array[$i++]    = jQuery('<li id=\'banner_'+$i+'\'><a href=\''+jQuery($achr[$i-1]).attr('href')+'\'>'+'<img src=\''+jQuery(this).attr('src')+'\' alt=\'\' /></a></li>').addClass('bnr');
   
                });
                return     $array;
            } 
            function buildImg(buildElement)
         {
         
                    for($c=0 ;$c<settings.maxShow;$c++)
            {                  
                        jQuery($bannerC).append(buildElement[$c]);    
            }
            }
            function genereteId()
            {
                $id        =    Math.floor(Math.random()*$buildElement.length)+1;
                $elId    =    '#banner_'+$id;
            
                if(jQuery($elId).length>0)
        {
                    return -1;
	}
	
                return $id-1    ;
}
            function animates()
            {    $ids=genereteId();

                while($ids==-1)
                {
                    $ids=genereteId();
}
                $index    =Math.floor(Math.random()*settings.maxShow)+1;
                jQuery.each(jQuery.browser, function(i, val) {
                 if(i=='msie' &&  jQuery.browser.version.substr(0,3) =="7.0")
                 {

                   $index=$index==1?$index+1:$index;  
                 }
                 });     

                $seleTor    ='#bannerC li:nth-child('+($index)+')';
           
                jQuery($seleTor).animate(
                {
                    opacity:0
                },settings.speed,function()
                {
               jQuery($seleTor).replaceWith(jQuery($buildElement[$ids]));
               
               jQuery($buildElement[$ids]).animate(                       
                {
                    opacity:1
                },settings.speed);           
               
                jQuery($seleTor).animate(
               {
                    opacity:1
                },settings.speed);       
                }) ;
                                   
              
               }
        
            $buildElement     =    _init($elementArr);
            $bannerC        =    jQuery('<ul id=\'bannerC\' />');
        
            if($buildElement.length-1<settings.maxShow)
        {
                settings.maxShow    =$buildElement.length;
             }
            else
        {
                jQuery($this).css({display:'none'});
                jQuery($parent).append($bannerC);
                buildImg($buildElement);
                setInterval(animates,settings.interval);
        } 
                    
          
        return this;
        };

    })(jQuery);
 
