﻿$(document).ready(
function enable_smooth_scroll() {
    function filterPath(string) {
        return string
                .replace(/^\//, '')
                .replace(/(index|default).[a-zA-Z]{3,4}$/, '')
                .replace(/\/$/, '');
    }

    var locationPath = filterPath(location.pathname);

    var scrollElement = 'html, body';
    $('html, body').each(function() {
        var initScrollTop = $(this).attr('scrollTop');
        $(this).attr('scrollTop', initScrollTop + 1);
        if ($(this).attr('scrollTop') == initScrollTop + 1) {
            scrollElement = this.nodeName.toLowerCase();
            $(this).attr('scrollTop', initScrollTop);
            return false;
        }
    });

    $('a[href*=#]').each(function() {
        var thisPath = filterPath(this.pathname) || locationPath;
        if (locationPath == thisPath
                && (location.hostname == this.hostname || !this.hostname)
                && this.hash.replace(/#/, '')
            ) {
            if ($(this.hash).length) {
                $(this).click(function(event) {
                    var targetOffset = $(this.hash).offset().top;
                    var target = this.hash;
                    event.preventDefault();
                           
                    $(scrollElement).animate(
                            { scrollTop: targetOffset },
                            800,function(){
                              location.hash = target;


                           });
                });
            }
        }
    });
});
  
//      $(document).ready(function(){
// 
//        $('a[href*=#]').click(function() {
// 
//          if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
// 
//          && location.hostname == this.hostname) {
// 
//            var $target = $(this.hash);
// 
//            $target = $target.length && $target
//  
//            || $('[name=' + this.hash.slice(1) +']');
//  
//            if ($target.length) {

//                var targetOffset = $target.offset().top - ($(window).height()-180);

//              $('html,body')

//              .animate({ scrollTop: targetOffset }, 1000);

//             return false;
// 
//            }

//          }
//  
//        });

//      });

