jQuery(function()
{
    var level_0_center = -1;
    
    jQuery('ul.targets')
        .each(function()
        {
            jQuery(this)
                .css('width', jQuery(this).width() + 'px');
            
            var container = jQuery('<div></div>')
                .css('height', (jQuery(this).height() + Number(jQuery(this).css('margin-top').replace(/px/, '')) + Number(jQuery(this).css('padding-top').replace(/px/, '')) + Number(jQuery(this).css('margin-bottom').replace(/px/, '')) + Number(jQuery(this).css('padding').replace(/px/, ''))) + 'px')
                .insertAfter(jQuery(this));
            
            var wrapper = jQuery('<div></div>')
                .attr('offset', Math.round(jQuery(this).offset().top))
                .css('position', 'absolute')
                .css('top', Math.round(jQuery(this).offset().top) + 'px')
                .css('margin-top', '5px')
                .insertAfter(jQuery(this));
            
            jQuery(this).prev('div.targets-header').appendTo(wrapper);
            jQuery(this).appendTo(wrapper);
        });
    
    jQuery('ul.targets').find('a')
        .bind('click', function()
        {
            var href = jQuery(this).attr('href');
            
            if (!href.match(/^#/))
            {
                return true;
            }
            
            window.location.hash = href;
            
            var target = jQuery('#container').find('a[name="' + href.replace(/#/, '') + '"], a[id="' + href.replace(/#/, '') + '"]');
            
            if (!target.size())
            {
                return true;
            }
            
            offset = Math.round(target.eq(0).parent().offset().top);
            
            jQuery('html')
                .animate
                (
                    {
                        scrollTop: (offset - 80) + 'px'
                    },
                    500
                );
        });
    
    var targets = jQuery('ul.targets').find('li');
    
    var width = jQuery('ul.targets').width();
    
    for (i = 0; i < targets.size(); i++)
    {
        width -= targets.eq(i).width() + 5;
    }
    
    margin_right = Math.round(width / targets.not('.print, .up').size());
    targets.not('.print, .up').css('margin-right', margin_right + 'px');
    
    jQuery(window)
        .bind('scroll', function(e)
        {
            var scroll_top = jQuery(this).scrollTop();
            
            var targets = jQuery('ul.targets').parent();
            
            for (i = 0; i < targets.size(); i++)
            {
                if (Number(targets.eq(i).attr('offset')) < scroll_top + 5)
                {
                    targets.eq(i)
                        .addClass('fixed')
                        .css
                        (
                            {
                                position: 'fixed',
                                top: '5px'
                            }
                        );
                }
                else
                {
                    targets.eq(i)
                        .removeClass('fixed')
                        .css
                        (
                            {
                                position: 'absolute',
                                top: targets.eq(i).attr('offset') + 'px'
                            }
                        );
                }
            }
        });
    
    jQuery('body.osakerahastot').find('div.with-navigation .column.left').find('h1, h2').eq(0)
        .addClass('page-title')
        .insertBefore(jQuery('body.osakerahastot').find('div.with-navigation .column.left'));
    
    // Center align navigation items
    for (n = 0; n < 2; n++)
    {
        if (   !jQuery('#navigation .level-' + n).size()
            || jQuery('#navigation .level-' + n).hasClass('current'))
        {
            continue;
        }
        
        var width = jQuery('#navigation .level-' + n).find('ul').width();
        var cumulative = 0;
        var items = jQuery('#navigation .level-' + n).find('li');
        
        for (var i = 0; i < items.size(); i++)
        {
            var item = items.eq(i);
            var item_width = item.width() + Number(item.css('padding-left').replace(/px/, '')) + Number(item.css('padding-right').replace(/px/, ''));
            cumulative += item_width;
            
            if (   n == 0
                && item.hasClass('selected'))
            {
                level_0_center = cumulative - Math.round(item_width / 2) - 8;
            }
        }
        
        var padding = Math.round((width - cumulative) / 2);
        
        if (n == 0)
        {
            level_0_center += padding;
        }
        else if (level_0_center > 0)
        {
            padding = Math.round(level_0_center - cumulative / 2);
            
            if (padding < 0)
            {
                padding = 0;
            }
            
            if (padding + cumulative > width)
            {
                padding = width - cumulative;
            }
        }
        
        jQuery('#navigation .level-' + n).find('> ul:first > li:first').eq(0).css('margin-left', padding + 'px');
    }
    
    jQuery('div.midcom_services_toolbars_fancy')
        .css('top', '10px')
        .css('left', '50%');
    
    if (!jQuery('body').hasClass('mainpage'))
    {
        jQuery('div.liftup')
            .each(function()
            {
                jQuery(this).find('p.links').insertAfter(jQuery(this).find('div.content-wrapper'));
            });
    }
    
    var liftups = jQuery('#content-text div.liftup div.content');
    var height = 0;
    
    for (var i = 0; i < liftups.size(); i++)
    {
        if (height < liftups.eq(i).height())
        {
            height = liftups.eq(i).height();
        }
    }
    
    liftups.css('height', (height) + 'px');
    
    var image = jQuery('#content-preview').find('div.image-wrapper img');
    
    if (image.size())
    {
        console.log 
        var height = jQuery('#content-preview').height();
        var width = height * image.width() / image.height()
        
        image
            .attr('width', width)
            .attr('height', height)
            .css('margin-left', '-' + width + 'px');
    }
    
    var campaign_title = jQuery('#campaign-title h1');
    var campaign_image = jQuery('#campaign-image img');
    
    if (   campaign_title.size()
        && campaign_image.size())
    {
        width = campaign_title.width() + Number(campaign_title.css('padding-left').replace(/px/, '')) + Number(campaign_title.css('padding-right').replace(/px/, ''));
        height = campaign_title.height() + Number(campaign_title.css('padding-top').replace(/px/, '')) + Number(campaign_title.css('padding-bottom').replace(/px/, ''));
        
        campaign_title
            .css
            (
                {
                    position: 'absolute',
                    top: (campaign_image.offset().top + campaign_image.height() - height - 20) + 'px',
                    zIndex: 2
                }
            );
        
        jQuery('<div></div>')
            .css
            (
                {
                    position: 'absolute',
                    top: (campaign_image.offset().top + campaign_image.height() - height - 20) + 'px',
                    width: width + 'px',
                    height: height + 'px',
                    zIndex: 1,
                    marginTop: '-12px',
                    marginLeft: '12px',
                    backgroundImage: 'url("/images/campaign-title-background.png")' 
                }
            )
            .fadeTo(0.5, 0.5)
            .prependTo(campaign_title.parent());
    }
    
    if (   jQuery('body').hasClass('disclaimer')
        && (   !jQuery.cookie('disclaimer')
            || window.location.hash == '#disclaimer'))
    {
        jQuery('<div id="popup_blanket"></div>')
            .prependTo('#container')
            .fadeTo(0.8, 0.8);
        
        jQuery('<div id="popup_wrapper"></div>')
            .prependTo('#container')
        
        jQuery('#disclaimer_text')
            .css('display', 'block')
            .appendTo('#popup_wrapper');
            
        jQuery('<h1></h1>')
            .text('Tärkeää!')
            .prependTo('#disclaimer_text');
        
        var p = jQuery('<p></p>')
            .appendTo('#disclaimer_text');
        
        jQuery('<input type="submit" />')
            .attr('value', 'Hyväksyn ehdot')
            .appendTo(p)
            .bind('click', function()
            {
                var date = new Date();
                jQuery.cookie
                (
                    'disclaimer',
                    date.getTime(),
                    {
                        path: '/',
                        expires: 1
                    }
                );
                
                jQuery('#popup_wrapper, #popup_blanket')
                    .fadeOut(500, function()
                    {
                        jQuery(this).remove();
                    });
            });
        
        jQuery('<input type="submit" />')
            .attr('value', 'En hyväksy ehtoja')
            .appendTo(p)
            .bind('click', function()
            {
                window.location.href = '/';
            });
        
        jQuery('#popup_wrapper')
            .css
            (
                {
                    height: jQuery('#disclaimer_text').height() + 'px',
                    marginTop: '-' + (jQuery('#disclaimer_text').height() / 2 + Number(jQuery('#popup_wrapper').css('padding-top').replace(/px/, ''))) + 'px'
                }
            );
    }
    
    jQuery('#content-text').find('.column table.with-headers')
        .each(function()
        {
            var rows = jQuery(this).find('tr').not('.header-row');
            
            for (var i = 0; i < rows.size(); i++)
            {
                var row = rows.eq(i);
                
                if (i % 2)
                {
                    row.addClass('even');
                }
                else
                {
                    row.addClass('odd');
                }
            }
        });
    
    jQuery('img.print')
        .bind('click', function()
        {
            window.print();
        });
});

if (typeof console == 'undefined')
{
    var console =
    {
        log: function(input)
        {
        }
    }
}
