jQuery(function()
{
    /*
    jQuery('#fi_protie_checkout_basket_container')
        .load
        (
            '/kori/?ajax',
            null,
            function()
            {
                
            }
        );
    */
});

function show_image(src, title)
{
    if (!title)
    {
        var title = '';
    }
    
    jQuery('#content-top').change_title(title);
    width = 312;
    height = 200;
    
    if (   !src
        || !src.match(/image:/))
    {
        return true;
    }
    
    if ((regs = src.match(/width:([0-9]+)/)))
    {
        width = regs[1];
    }
    
    if ((regs = src.match(/height:([0-9]+)/)))
    {
        height = regs[1];
    }
    
    src = src.replace(/image:(.+?)(,|$)/, '$1');
    
    if (jQuery('#content-top-left').find('img').size() > 0)
    {
        jQuery('#flash-player').css('display', 'none');
        jQuery('#content-top-left img')
            .attr(
            {
                src: src,
                width: width,
                height: height
            })
            .css('display', 'block');
        
        return;
    }
    
    jQuery('<img alt="' + title + '" />')
        .attr(
        {
            src: src,
            width: width,
            height: height
        })
        .prependTo('#content-top-left')
        .css('display', 'block');
    
    jQuery('#flash-player').css('display', 'none');
}

function show_video(guid)
{
    var node = jQuery('#content-top-left object').clone();
    jQuery('#content-top-left object').remove();
    
    url = '?xml=/xml/' + guid + '/';
    
    // IE6
    var src = jQuery(node).find('embed').attr('src');
    if (src)
    {
        src = src.replace(/(\?.+$|$)/, url);
        jQuery(node).find('embed').attr('src', src);
    }
    
    // Real browsers
    var src = jQuery(node).find('param[name="movie"]').attr('value');
    if (src)
    {
        src = src.replace(/(\?.+$|$)/, url);
        jQuery(node).find('param[name="movie"]').attr('value', src);
    }
    
    jQuery('a[rel^="item:"]').removeClass('selected');
    jQuery('a[rel="item:' + guid + '"]').addClass('selected');
    
    jQuery('#flash-player object, #flash-player embed').remove();
    jQuery(node).prependTo('#flash-player');
}
        
jQuery(document).ready(function()
{
    jQuery('table.fi_protie_shop .operations').find('input[type="submit"], input[type="button"]').each(function(i)
    {
        // Already parsed, skip this
        if (jQuery(this).parent().find('input.' + this.className + '[type="checkbox"]').size() > 0)
        {
            return;
        }
        
        var date = new Date();
        var new_id = 'fi_protie_shop_' + date.getTime();
        
        jQuery(this).css({display: 'none'});
        jQuery('<input type="checkbox" />')
            .attr({
                id: new_id,
                name: jQuery(this).attr('name'),
                value: jQuery(this).attr('value'),
                checked: (jQuery(this).hasClass('remove_from_basket')) ? 'checked' : ''
            })
            .addClass(jQuery(this).attr('class'))
            .click(function()
            {
                if (!jQuery(this).attr('checked'))
                {
                    jQuery(this).attr({checked: 'checked'});
                }
                name = jQuery(this).attr('name');
                value = jQuery(this).attr('value');
                name = name.replace(/^__/, '');

                jQuery(this).parents('form').append('<input type="hidden" name="'+name+'" value="'+value+'" />');
                
                jQuery(this).parents('form').submit();
                return true;
            })
            .insertBefore(jQuery(this));
    });
    
    jQuery('input[name="fi_protie_shop_search_query"]').click(function()
    {
        var value = jQuery(this).attr('value');
        
        if (!value.match(/(etsi|search)/i))
        {
            return;
        }
        
        jQuery(this).unbind('click');
        jQuery(this).attr('value', '');
    });
    
    jQuery('#content-top-right a').click(function()
    {
        if (jQuery(this).parents('tr.pdf').size() > 0)
        {
            return true;
        }
        
        var link = jQuery(this).attr('href');
        var title = jQuery(this).attr('title');
        // jQuery('#video-name').html("<a href=\"" + tuote + "\">" + title + "</a>")
        jQuery('#video_title_display').html(title);
        
        jQuery(this).parents('table').find('a.selected').removeClass('selected');
        jQuery(this).addClass('selected');
        
        var rel = jQuery(this).attr('rel');
        
        if (!rel)
        {
            return false;
        }
        
        rel = rel.replace(/item:/, '');
        show_video(rel);
        
        return false;
    });
    
    jQuery('table.fi_protie_shop a.play').click(function()
    {
        var guid = null;
        var video_title = jQuery(this).parents('tr').find('h3 a').html();
        
        if (jQuery(this).attr('rel'))
        {
            guid = jQuery(this).attr('rel');
        }
        else if ((href = jQuery(this).attr('href'))
            && (parts = href.match(/guid=([0-9a-f]+)/)))
        {
            guid = parts[1];
        }
        
        if (jQuery('body').hasClass('yritykset'))
        {
            jQuery('#content-top').load_item(jQuery(this).attr('href'), video_title);
            return false;
        }
        
        if (guid)
        {
            jQuery('#content-top-right a').removeClass('selected');
            show_video(guid);
            return false;
        }
        return true;
    });
    jQuery('fieldset.fieldset.price_oppilaitos_dvd > label > input').keyup(function()
    {
        var value = jQuery(this).val();
        var newValue = value - 20;
        var element = jQuery(this).attr('id');
        if (element == 'fi_protie_shop_price_yritys_taitopakki')
        {
            element = 'fi_protie_shop_price_yritys_oppipakki';
            var destination = 'label > input#' + element;
        }
        else
        {
            element = element.replace('dvd','vhs');
            var destination = 'label > input#' + element;
        }
        var focused = destination;
        jQuery(destination).val(newValue);
    });
    
    check_agreement();
    jQuery("input[name='buying_type']").change
    (
        function()
        {
            check_agreement();
        }
    );
    
    jQuery('body.yritykset ul.media li a').set_click_events();
    
    jQuery('#content-top-right ol.trailers li a').click(function()
    {
        var href = jQuery(this).attr('href');
        
        if (   !href
            || !href.match(/\?trailer=([0-9a-f]+)/))
        {
            return true;
        }
        
        var regs = href.match(/\?trailer=([0-9a-f]+)/);
        
        jQuery('#flash-player').css('display', 'block');
        jQuery('#content-top-left img').css('display', 'none');
        show_video(regs[1]);
        return false;
    });
    
    jQuery('#content-top-right a.powerpoint').click(function()
    {
        var title = jQuery(this).html();
        show_image(jQuery(this).attr('rel'), title);
        return false;
    });
});

jQuery.fn.set_click_events = function()
{
    jQuery(this).click(function()
    {
        jQuery(this).parents('ul.media').find('li a.selected, li.selected').removeClass('selected');
        jQuery(this).addClass('selected');
        jQuery(this).parent().addClass('selected');
        
        title = jQuery(this).find('img').attr('alt');
        
        jQuery('tr.details div.company_materials div').css({display: 'none'});
        
        var rel = jQuery(this).attr('rel');
        
        if (rel.match(/(oppi|taito)pakki/))
        {
            rel = null;
            if (jQuery('tr.details div.taitopakki').size() == 0)
            {
                jQuery('tr.details div.oppipakki')
                    .addClass('visible')
                    .css({display: 'block'});
                
                var rel = jQuery(this).find('span.oppipakki').attr('rel');
                title = 'Oppipakki';
                show_image(rel, title);
                return false;
            }

            if (jQuery('tr.details div.oppipakki').size() == 0)
            {
                jQuery('tr.details div.taitoppipakkiki')
                    .addClass('visible')
                    .css({display: 'block'});
                
                var rel = jQuery(this).find('span.taitoppipakkiki').attr('rel');
                title = 'Taitoppipakkiki';
                show_image(rel, title);
                return false;
            }

            if (jQuery('tr.details div.taitopakki').hasClass('visible'))
            {
                jQuery('tr.details div.taitopakki')
                    .removeClass('visible')
                    .css({display: 'none'});
                
                jQuery('tr.details div.oppipakki')
                    .addClass('visible')
                    .css({display: 'block'});
                
                var rel = jQuery(this).find('span.oppipakki').attr('rel');
                title = 'Oppipakki';
            }
            else
            {
                jQuery('tr.details div.oppipakki')
                    .removeClass('visible')
                    .css({display: 'none'});
                
                jQuery('tr.details div.taitopakki')
                    .addClass('visible')
                    .css({display: 'block'});
                
                var rel = jQuery(this).find('span.taitopakki').attr('rel');
                title = 'Taitopakki';
            }
            
            if (rel)
            {
                show_image(rel, title);
            }
        }
        else
        {
            jQuery('tr.details div.' + jQuery(this).attr('rel'))
                .css({display: 'block'})
                .find('a:first').each(function()
                {
                    var rel = jQuery(this).attr('rel');
                    
                    if (rel)
                    {
                        show_image(rel, title);
                    }
                    else
                    {
                        jQuery(this).click();
                    }
                });
        }
        
        return false;
    });
}

function check_agreement()
{
    if(jQuery("input[name='buying_type']:checked").attr('value') == 'checkout')
    {
        jQuery('#user_agreement').css('display', 'block');
    }
    else if(jQuery('#user_agreement').css('display') != 'none')
    {
        jQuery('#user_agreement').css('display', 'none');
    }
    
    jQuery('#user_agreement a').toggle(
        function()
        {
            if (jQuery(this).parent().find('div.conditions').size() != 0)
            {
                jQuery(this).parent().find('div.conditions')
                    .addClass('visible')
                    .slideDown(1000, function()
                    {
                        jQuery(this).removeClass('visible');
                    });
                return false;
            }
            
            jQuery('<div></div>')
                .css('display', 'none')
                .addClass('conditions')
                .appendTo(jQuery(this).parent());
                
            jQuery(this).parent().find('div.conditions').load(jQuery(this).attr('href'), function()
            {
                jQuery('#user_agreement div.conditions')
                    .removeClass('visible')
                    .slideDown(1000);
            });
            
            return false;
        },
        function ()
        {
            if (jQuery('#user_agreement div.conditions').hasClass('visible'))
            {
                return false;
            }
            
            jQuery('#user_agreement div.conditions').slideUp(1000);
            return false;
        }
    );
    
    jQuery('a.guide').click(function()
    {
        jQuery('body').click(function()
        {
            jQuery('body').unbind('click');
            jQuery('div.guide_splash').fadeOut(500);
        });
        
        jQuery(this).attr('target', '_self');
        if (jQuery(this).parent().find('div.guide_splash').size() == 0)
        {
            jQuery('<div></div>')
                .addClass('guide_splash')
                .click(function()
                {
                    return false;
                })
                .appendTo(jQuery(this).parent());
            
            jQuery(this).parent().find('div.guide_splash').load(jQuery(this).attr('href') + '?ajax', {}, function(data)
            {
                jQuery('<span></span>')
                    .addClass('close')
                    .html('<img src="/midcom-static/stock-icons/16x16/cancel.png" alt="X" width="16" height="16" />')
                    .click(function()
                    {
                        jQuery(this).parent().fadeOut(500);
                    })
                    .prependTo(jQuery(this));
            });
        }
        else
        {
            jQuery(this).parent().find('div.guide_splash').fadeIn(500);
        }
        
        return false;
    });
    
    jQuery('#fi_protie_checkout_refresh').css('display', 'none');
    
    jQuery('body.oma_kori td.kpl input, body.oma_kori td select')
        .keyup(function()
        {
            jQuery(this).change();
        })
        .change(function()
        {
            if (jQuery('#change_phase_notify').size() == 0)
            {
                jQuery('<div></div>')
                    .css(
                    {
                        position: 'absolute',
                        padding: '10px',
                        margin: '0 -10px',
                        width: jQuery('#change_phase').width() + 'px',
                        height: jQuery('#change_phase').height() + 'px',
                        borderStyle: 'solid',
                        borderWidth: '4px',
                        borderColor: 'rgb(255,0,0)'
                    })
                    .attr('id', 'change_phase_notify')
                    .insertBefore(jQuery('#change_phase'));
                jQuery('#change_phase_notify').fadeOut(1000);
            }
            else
            {
                jQuery('#change_phase_notify').fadeIn(0, function()
                {
                    jQuery('#change_phase_notify').fadeOut(1000);
                });
            }
                
            jQuery('#fi_protie_checkout_refresh').css('display', 'inline');
            jQuery('#fi_protie_checkout_proceed').css('display', 'none');
        });
}


jQuery.fn.load_item = function(url, title)
{
    if (url.match(/\?/))
    {
        url += '&_dl';
    }
    else
    {
        url += '?_dl';
    }
    
    jQuery('#content-top').load(
        url,
        {},
        function(data)
        {
            jQuery('body.yritykset ul.media li a').set_click_events();
            
            if (   title
                && jQuery('#video_title_display').size() > 0)
            {
                jQuery('#video_title_display').html(title);
            }
        });
    
    return false;
}

jQuery.fn.change_title = function(title)
{
    // Create display
    if (jQuery('#video_title_display').size() == 0)
    {
        jQuery('<div></div>')
            .attr('id', 'video_title_display')
            .appendTo(jQuery('#content-top-left'));
    }
    
    // Create section container
    if (jQuery('#video_title_display span').size() == 0)
    {
        jQuery('<span></span>').appendTo(jQuery('#video_title_display'));
    }
    
    // Fill in the section data
    jQuery('#video_title_display span').html(': ' + title);
}

jQuery(function()
{
    jQuery('#trailers_label a')
        .click(function()
        {
            var href = jQuery(this).attr('href');
            var regs = href.match(/midcom-serveattachmentguid-([0-9a-f]{32,})/);
            
            if (!regs[1])
            {
                return true;
            }
            
            if (jQuery('#attachment_popup').size() == 0)
            {
                jQuery('<div></div>')
                    .attr('id', 'attachment_popup')
                    .prependTo('#container');
            }
            
            if (jQuery('#attachment_popup_matte').size() == 0)
            {
                jQuery('<div></div>')
                    .attr('id', 'attachment_popup_matte')
                    .css('opacity', '0.5')
                    .prependTo('body');
            }
            else
            {
                jQuery('#attachment_popup_matte').fadeTo(500, 0.5);
            }
            
            jQuery('#attachment_popup').load(
                '/liitetiedostot/' + regs[1] + '/?ajax',
                {},
                function()
                {
                    jQuery('#attachment_popup form input[type="submit"]').hover(
                        function()
                        {
                            var id = jQuery(this).attr('id');
                            
                            if (!id)
                            {
                                var date = new Date();
                                var id = 'submit_' + date.getTime();
                                jQuery(this).attr('id', id);
                            }
                            
                            var name = jQuery(this).attr('name');
                            var value = jQuery(this).attr('value');
                            
                            jQuery('<input type="hidden" />')
                                .attr({
                                    id: id + '_hidden',
                                    name: name,
                                    value: value
                                })
                                .insertBefore(jQuery(this));
                        },
                        function()
                        {
                            var id = jQuery(this).attr('id');
                            jQuery('#' + id + '_hidden').remove();
                        }
                    );
                    
                    jQuery('#attachment_popup form').submit(function()
                    {
                        jQuery('#attachment_popup form').ajaxSubmit({
                            success: function()
                            {
                                check_images();
                                jQuery('#attachment_popup').remove();
                                jQuery('#attachment_popup_matte').fadeOut(500, function()
                                {
                                    jQuery('#attachment_popup_matte').remove();
                                });
                            }
                        });
                        return false;
                    });
                }
            );
            
            return false;
        });
    
    check_images();
});

function check_images()
{
    jQuery('#trailers_label a')
        .each(function(i)
        {
            var href = jQuery(this).attr('href');
            var regs = href.match(/midcom-serveattachmentguid-([0-9a-f]{32,})/);
            
            if (!regs[1])
            {
                return true;
            }
            
            var link = jQuery(this);
            
            jQuery.get(
                '/liitetiedostot/pic/' + regs[1] + '/',
                {},
                function(data)
                {
                    if (data == 1)
                    {
                        link.addClass('image');
                    }
                    else
                    {
                        link.addClass('no-image');
                    }
                }
            );
                
        })
}
