(function($){
    $.fn.mainRollover = function(options){
        return this.each(function(){
            $.mainRollover($(this), options);
        });
    };
    var rolloverSuffix = '_on';
    $.mainRollover = function(container, options){
        var settings = {
            'inspeed': 0,
            'outspeed': 0,
            'ineasing': 'swing',
            'outeasing': 'swing'
        };
        if (options) 
            $.extend(settings, options);
        
        var src = container.children('img').attr('src');
        if (typeof src != 'undefined') {
            container.css({
                position: "relative",
                'z-index': '20'
            }).before("<img style='position:absolute;z-index:19;' src=" + src.substring(0, src.lastIndexOf('.')) + rolloverSuffix + src.substring(src.lastIndexOf('.'), src.length) + " alt='' />");
            
            container.after("<img style='position:absolute;' src=" + src.substring(0, src.lastIndexOf('.')) + '_chirari' + src.substring(src.lastIndexOf('.'), src.length) + " alt='' class='chirari' />");
            container.delegate('img', {
                mouseenter: function(){
                    var current = jQuery(this).attr('class');
                    if (current != 'current') {
                        jQuery(this).animate({
                            'opacity': '0'
                        }, settings.inspeed, settings.outeasing);
                        jQuery(this).parent().next().animate({
                            'top': '365',
                            'left': '852'
                        }, 400, 'easeOutBack');
                    }
                },
                mouseleave: function(){
                    var current = jQuery(this).attr('class');
                    if (current != 'current') {
                        jQuery(this).stop().animate({
                            'opacity': '1'
                        }, settings.outspeed, settings.outeasing);
                        jQuery(this).parent().next().stop().animate({
                            'top': '330',
                            'left': '817'
                        }, 200, 'swing');
                    }
                }
            });
        }
    };
    $.index = function(){
        var init = function(){
            var mainCover = $('#main-image-cover');
            if (!$.ie6) {
                $('.mainRollover').mainRollover({
                    inspeed: 100,
                    outspeed: 400,
                    ineasing: 'easeOutSine',
                    outeasing: 'easeOutSine'
                });
            }
            else {
                mainCover.hide();
            }
            
            var target = '#main-image';
            var mainImg = $(target);
            var imgLength = mainImg.children('ul').children('li').length;
            var currentImg = 0;
            var headerAnimate = true;
            var baseWidth = mainImg.width();
            var i = 0;
            function onSlider(){
                $(target + '>ul').css({
                    'position': 'relative'
                })
                if (imgLength > 0) {
                    $(target).append('<div id="slide-navi"></div>');
                    
                    var ico;
                    for (i = 0; i < imgLength; i++) {
                        if (i != currentImg) 
                            $(target + '>ul>li').eq(i).hide();
                        if (imgLength > 0) {
                            $('#slide-navi').append('<div id="slide-ico' + i + '"><a class="btn slide-ico" href="/"></a></div>');
                            var ico = $('#slide-ico' + i);
                            ico.data('id', i);
                            ico.click(function(e){
                                e.preventDefault();
                                if (!headerAnimate) 
                                    changeImg($(this).data('id'));
                            });
                            if (i == currentImg) 
                                ico.children('a').css({
                                    'background-position': '0 -13px'
                                });
                        }
                    }
                    $("#slide-navi").css({
                        'width': i * 13
                    })
                }
            }
            function onLoadMainImg(){
                $('#loading-cover').show().css({
                    opacity: 0
                }).animate({
                    opacity: 1
                }, 500, 'easeOutSine', function(){
                    $('#main-image-loading').remove();
                });
                mainCover.delay(500).animate({
                    opacity: 0
                }, 1200, 'easeOutExpo', function(){
                    mainCover.hide();
                    if (imgLength > 0) {
                        onIntervalMain();
                    }
                });
                headerAnimate = false;
            }
            function onIntervalMain(){
                $("#slide-navi").stop().animate({
                    height: 18
                }, 6000, function(){
                    var value = currentImg == imgLength - 1 ? 0 : currentImg + 1;
                    changeImg(value);
                });
            }
            function changeImg(value){
                var nextImg = value;
                
                if (nextImg != currentImg) {
                    if ($.ie6) {
                        $(target + '>ul>li').eq(nextImg).show();
                        $(target + '>ul>li').eq(currentImg).hide();
                        onIntervalMain();
                    }
                    else {
                        headerAnimate = true;
                        mainCover.show().stop().animate({
                            opacity: 1
                        }, 500, 'easeOutSine', function(){
                            $(target + '>ul>li').eq(nextImg).show();
                            $(target + '>ul>li').eq(currentImg).hide();
                            currentImg = nextImg;
                            headerAnimate = false;
                            mainCover.animate({
                                opacity: 0
                            }, 1200, 'easeOutExpo', function(){
                                mainCover.hide();
                                onIntervalMain();
                            });
                        });
                    }
                    
                    for (i = 0; i < imgLength; i++) {
                        var ico = $('#slide-ico' + i);
                        if (i == currentImg) {
                            ico.children('a').css({
                                'background-position': '0 0'
                            });
                        }
                        else {
                            ico.children('a').css({
                                'background-position': '0 -13px'
                            });
                        }
                    }
                    if ($.ie6) {
                        currentImg = nextImg;
                    }
                }
            }
			/*
            $('#haiku-cover').delay(500).animate({
                width: 80
            }, 900, 'easeOutSine').delay(800).animate({
                width: 61
            }, 800, 'easeOutSine').delay(500).animate({
                width: 42
            }, 800, 'easeOutSine').delay(700).animate({
                width: 22
            }, 900, 'easeOutSine').delay(400).animate({
                width: 0
            }, 1000, 'easeOutSine');
            */
			$('#haiku-cover').delay(500).animate({
                width: 60
            }, 1400, 'easeOutSine').delay(800).animate({
                width: 31
            }, 1300, 'easeOutSine').delay(400).animate({
                width: 0
            }, 1400, 'easeOutSine');
            
            if (!$.ie6) {
                $('#main-image-loading').show();
                $('#main-image').queryLoader2({
                    onLoadComplete: onLoadMainImg
                });
            }
            else {
                $('#main-image-loading').remove();
                headerAnimate = false;
            }
            
            onSlider();
        };
        return {
            init: init
        }
    }();
})(jQuery);


$(function(){
    $.index.init();
});



