var disallow = '';
allow_rightclick = false;

var browser_ps3 = false;

jQuery(document).ready(function()
{
    // jQuery('#content-center div.column-content').page_loader();
    jQuery('#header #login_form #login_link').toggle(
        function()
        {
            jQuery('#header #login_form form').css('display', 'block');
            return false;
        },
        function()
        {
            jQuery('#header #login_form form').css('display', 'none');
            return false;
        });
    
/*    jQuery('#content-right div.announcement').everyTime(500000, function()
    {
        if (jQuery(this).find('div.selected').next('div.item').size() > 0)
        {
            var next_item = jQuery(this).find('div.selected').next('div.item');
        }
        else
        {
            var next_item = jQuery(this).find('div.item:first');
        }
        
        jQuery(this).find('div.selected')
            .fadeOut(1000);
        
        next_item
            .fadeIn(1000, function()
            {
                jQuery(this).parent().find('div.selected')
                    .removeClass('selected');
                    
                jQuery(this)
                    .addClass('selected');
            });
    });
  **/  
    if (!browser_ps3)
    {
        jQuery('form.basket_operations').submit(function()
        {
            var action = jQuery(this).attr('action');
            
            if (action)
            {
                action += '?ajax';
                jQuery(this).attr('action', action);
            }
            
            jQuery(this).parent().addClass('payment-method');
            jQuery(this).ajaxSubmit({
                target: jQuery(this).parent(),
                success: function()
                {
                    // jQuery('#payment_methods').check_sms_status();
                    jQuery('#payment_methods').check_status();
                    jQuery('form.shoppers_guide input[type="radio"]').change(
                        function()
                        {
                            if(jQuery(this).hasClass('luottokunta'))
                            {
                                jQuery('div.payment_credit').css('display', 'block');
                                /*
                                jQuery('form.shoppers_guide div.payment_credit input[@type="text"]').each(function(i)
                                {
                                    jQuery(this).parents('table').find('input[@type="text"]').each(function(i)
                                    {.change(function()
                                    {
                                        var value = jQuery(this).attr('value');
                                        
                                        if (!value)
                                        {
                                            value = '';
                                        }
                                        
                                        if (value.match(/^.{4}/))
                                        {
                                            jQuery('input.add_to_basket').attr('disabled', '');
                                        }
                                        else
                                        {
                                            jQuery('input.add_to_basket').attr('disabled', 'disabled');
                                        }
                                    });
                                });
                                */
                            }
                            else
                            {
                                jQuery('div.payment_credit').css('display', 'none');
                            }
                        }
                    );
                }
            });
            
            return false;
        });
    }
    
    jQuery('table.sortable').tablesorter({
        headers:
        {
            3:
            {
                sorter: false
            }
        }
    });
    
    // Pre-select the code for copying
    jQuery('table.banner textarea').focus(function()
    {
        this.select();
    });
    
    jQuery('#tell_a_friend_form').find('input[@type="text"], textarea').each(function(i)
    {
        jQuery(this)
            .change(function()
            {
                jQuery(this).update_fields();
            })
            .keyup(function()
            {
                jQuery(this).update_fields();
            });
    });
    jQuery('#message_preview').css('display', 'none');
    jQuery('#message_preview_show').css('display', 'block');
    
    jQuery(document).find('a.thickbox').each(function(i)
    {
        var href = jQuery(this).attr('href');
        
        if (href.match(/\?/))
        {
            href += '&ajax';
        }
        else
        {
            href += '?ajax';
        }
        
        jQuery(this).attr('href', href);
        return;
    });
    
    if (!allow_rightclick)
    {
        jQuery('img').rightClick(function()
        {
            return false;
        });
    }
    
    jQuery('div.frontpage_extra div.video-item div.wrapper').each(function(i)
    {
        var id = jQuery(this).attr('id');
        
        if (id)
        {
            disallow += id.replace(/item_/, '') + ',';
        }
        
        jQuery(this).parent().attr('id', 'item_holder_' + i);
        // jQuery(this).add_cover_loader();
    });
    
    /*
    jQuery('div.frontpage_extra').remove();
    
    jQuery('<div></div>')
        .attr({
            id: 'slideshow'
        })
        .addClass('video_listing')
        .appendTo('#content-center');
    
    for (var i = 1; i < 4; i++)
    {
        jQuery('<div></div>')
            .attr('id', 'slideshow_' + i)
            .addClass('slideshow_container')
            .css('display', 'none')
            .fadeOut(0)
            .appendTo('#content-center div.video_listing');
        
        jQuery('#slideshow_' + i).load('/random/?create', {}, function()
            {
                jQuery(this).slideDown(1000);
            });
        
        jQuery('#slideshow_' + i).oneTime(5000, 'onetime_for_' + i, function()
        {
            jQuery(this).everyTime(10000, 'onetime_for_' + i, function()
            {
                jQuery(this).slideUp(1000, function()
                {
                    jQuery(this).load('/random/', {}, function()
                    {
                        jQuery(this).slideDown(1000);
                    });
                });
            })
        });
    }
    /**/
});

jQuery.fn.check_status = function()
{
    jQuery(this).find('input').each(function(i)
    {
        if (jQuery(this).attr('id') == 'bank_sms')
        {
            jQuery(this).change(function()
            {
                jQuery('.sms_payment_method').css('display', 'block');
                jQuery('.bank_payment_method').css('display', 'none');
                jQuery('.tel_payment_method').css('display', 'none');
            });
        }
        else if(jQuery(this).attr('id') == 'bank_tel')
        {
            jQuery(this).change(function()
            {
                jQuery('.sms_payment_method').css('display', 'none');
                jQuery('.bank_payment_method').css('display', 'none');
                jQuery('.tel_payment_method').css('display', 'block');
            });
        }
        else
        {
            jQuery(this).change(function()
            {
                jQuery('.bank_payment_method').css('display', 'block');
                jQuery('.sms_payment_method').css('display', 'none');
                jQuery('.tel_payment_method').css('display', 'none');
            });
        }
    });
}

jQuery.fn.update_fields = function()
{
    if (jQuery('#form_' + jQuery(this).attr('name')).size() == 0)
    {
        return;
    }
    
    var value = jQuery(this).attr('value');
    
    if (!value)
    {
        value = '';
    }
    
    // Prevent infinite loops
    var i = 0;
    
    while (value.match(/<.+?>/)
        && i < 100)
    {
        value = value.replace(/<.+?>/, '');
        i++;
    }
    
    if (!value)
    {
        return;
    }
    
    // Reset the counter
    i = 0;
    while (value.match(/\n/)
        && i < 100)
    {
        value = value.replace(/\n/, '<br />');
        i++;
    }
    
    jQuery('#form_' + jQuery(this).attr('name')).html(value);
}
/*
jQuery.fn.add_cover_loader = function()
{
    jQuery(this)
        .hover(
            function()
            {
                jQuery(this)
                    .addClass('hover')
                    .attr('rel', 'prevent-loading');
            },
            function()
            {
                jQuery(this)
                    .removeClass('hover')
                    .attr('rel', 'allow-loading');
            }
        );
    
    // var seed = Math.floor(Math.random() * 60 * 1000);
    var seed = Math.floor(Math.random() * 60 * 1000);
    var id = jQuery(this).attr('id');
    
    jQuery(this).oneTime(seed, function()
    {
        var seed = 30 + Math.floor(Math.random() * 60 * 1000);
        jQuery(this).everyTime(seed, function()
        {
            if (jQuery(this).attr('rel') == 'prevent-loading')
            {
                return false;
            }
            
            jQuery(this).find('wrapper').each(function(i)
            {
                var id = jQuery(this).attr('id');
                
                if (id)
                {
                    var regexp = new RegExp(id.replace(/item_/, ''));
                    disallow = disallow.replace(regexp, '');
                }
                else
                {
                    console.log('id not found');
                }
            });
            
            jQuery(this)
                .load('/random/?disallow=' + disallow, {}, function()
                {
                    var id = jQuery(this).find('div.wrapper').attr('id');
                    
                    if (id)
                    {
                        disallow += id.replace(/item_/, '') + ',';
                    }
                    jQuery(this).find('div.wrapper')
                        .fadeOut(0, function()
                        {
                            jQuery(this).fadeIn(1000);
                        });
                })
        });
    });
}
*/

jQuery.fn.page_loader = function()
{
    var container = jQuery(this);
    
    jQuery(this).find('.page_loader a').click(function()
    {
        var href = jQuery(this).attr('href');
        
        // Detect accidental double clicks
        if (jQuery(this).hasClass('loading'))
        {
            return false;
        }
        
        if (!href)
        {
            return false;
        }
        
        if (href.match(/\?/))
        {
            href += '&ajax';
        }
        else
        {
            href += '?ajax';
        }
        
        container.addClass('loading');
        container.find('div.video_listing').fadeTo(1000, 0.1);
        
        jQuery(this).addClass('loading');
        
        container.load(
            href,
            {},
            function()
            {
                // Refresh the alphabetical index
                container.page_loader();
                container.removeClass('loading');
            }
        );
        
        return false;
    });
}