

(function(jQuery){  
    jQuery.fn.toogleMallDetail = function( options ) {
        var $settings = $.extend({}, jQuery.fn.toogleMallDetail.defaults, options); 
        this.each(function(){
            var $this = $(this);
            var $id = $this.attr( $settings.idConteiner );
            $this.click(function() {
                var $div = $settings.getDiv($id);
                var $img = $settings.getImg($id);
                jQuery( '.' + $settings.current ).slideUp( $settings.speedUp );
                jQuery( '.' + $settings.currentImg ).attr( 'src',  $settings.imgDown );
                if( $div.hasClass( $settings.current ) ) {
                    $div.slideUp( $settings.speedUp );
                    $div.removeClass( $settings.current );
                    $img.removeClass( $settings.currentImg );
                    $img.attr( 'src', $settings.imgDown );
                } else {
                    $div.addClass( $settings.current );
                    $img.addClass( $settings.currentImg );
                    $img.attr( 'src', $settings.imgUp );
                    $div.slideDown( $settings.speedDown, function(){
                        jQuery.scrollTo( $settings.anchorPrefix + $id, $settings.speedScroll );
                    });                    
                }
            });
        });
    };
    
    jQuery.fn.toogleMallDetail.defaults = {
        idConteiner: 'rel',
        speedUp: 'slow',
        speedDown: 'slow',
        speedScroll: 800,
        imgUp: 'images/buymap/up.png',
        imgDown: 'images/buymap/down.png',
        current: 'bmExpandDescription',
        currentImg: 'bmExpandImg',
        anchorPrefix: '#mall',
        elementsPrefix: '#bmMall_',
        getDiv: function(id){
            return jQuery( this.elementsPrefix + id + '_Description' );     
        },
        getImg: function(id){
            return jQuery( this.elementsPrefix + id + '_ToggleImage' );    
        }
    };
})(jQuery);
