$(document).ready(function() {
    
    $('.singleHappening_otherEvent').last().css('border-bottom', '0 none');
    
    
    //anonymous function fix min/max-width on happenings images
    var fixMinMaxwidth=function()
    {
           //only apply this fix to browsers without native support
           if (typeof document.body.style.maxHeight !== "undefined" &&
                   typeof document.body.style.minHeight !== "undefined") return false;
    
           //loop through all elements
           $('.singleItem img').each(function()
           {
                   //get max and minwidth via jquery
                   var maxWidth = parseInt($(this).css("max-width"));
                   var minWidth = parseInt($(this).css("min-width"));
    
                   //if min-/maxwidth is set, apply the script
                   if (maxWidth>0 && $(this).width()>maxWidth) {
                           $(this).width(maxWidth);
                   } else if (minWidth>0 && $(this).width()<minWidth) {
                           $(this).width(minWidth);
                   }
           });
    }
    
    //initialize on domready
    $(document).ready(function()
    {
           fixMinMaxwidth();
    });
    
    //check after every resize
    $(window).bind("resize", function()
    {
           fixMinMaxwidth();
    });
    
    // Blog
    $('.blogPostSeparator').last().addClass('hide');
    
    // Textarea Auto-Grow
    $.fn.autogrow = function(options) {
        
        this.filter('textarea').each(function() {
            
            var $this       = $(this),
                minHeight   = $this.height(),
                lineHeight  = $this.css('lineHeight');
            
            var shadow = $('<div></div>').css({
                position:   'absolute',
                top:        -10000,
                left:       -10000,
                width:      $(this).width() - parseInt($this.css('paddingLeft')) - parseInt($this.css('paddingRight')),
                fontSize:   $this.css('fontSize'),
                fontFamily: $this.css('fontFamily'),
                lineHeight: $this.css('lineHeight'),
                resize:     'none'
            }).appendTo(document.body);
            
            var update = function() {
    
                var times = function(string, number) {
                    for (var i = 0, r = ''; i < number; i ++) r += string;
                    return r;
                };
                
                var val = this.value.replace(/</g, '&lt;')
                                    .replace(/>/g, '&gt;')
                                    .replace(/&/g, '&amp;')
                                    .replace(/\n$/, '<br/>&nbsp;')
                                    .replace(/\n/g, '<br/>')
                                    .replace(/ {2,}/g, function(space) { return times('&nbsp;', space.length -1) + ' ' });
                
                shadow.html(val);
                $(this).css('height', Math.max(shadow.height() + 20, minHeight));
            
            }
            
            $(this).change(update).keyup(update).keydown(update);
            
            update.apply(this);
            
        });
        
        return this;
        
    };
    
    $('textarea').autogrow();
    
});
