﻿(function($) {

    $.extend({

        smoothAnchors: function(speed, easing, redirect) {

            speed = speed || "fast";
            easing = easing || null;
            redirect = (redirect === true || redirect == null) ? true : false;

            $("a").each(function(i) {

                var url = $(this).attr("href");

                if (url) {
                    if (url.indexOf("#") != -1 && url.indexOf("#") == 0) {

                        var aParts = url.split("#", 2);
                        var anchor = $("a[name='" + aParts[1] + "']");

                        if (anchor) {

                            $(this).click(function() {

                                if ($(document).height() - anchor.offset().top >= $(window).height()
								 || anchor.offset().top > $(window).height()
								 || $(document).width() - anchor.offset().left >= $(window).width()
								 || anchor.offset().left > $(window).width()) {

                                    $('html, body').animate({
                                        scrollTop: anchor.offset().top,
                                        scrollLeft: anchor.offset().left
                                    }, speed, easing, function() {
                                        if (redirect) {
                                            window.location = url
                                        }
                                    });

                                }

                                return false;

                            });
                        }

                    }

                }

            });

        }

    });

})(jQuery);
