(function ($) {
    $.fn.onStates = function (options) {
        var defaults = {
            matchExact : false,
            onClass : 'on',
            addToParent : true
        };
        var options = $.extend(defaults, options); 

        return this.each(function () {
            var href = window.location.href.split('?')[0].split('/');
            var length = href.length;
            var url = "";

            for (var x = 3; x < length; x++) {
                url += "/" + href[x];

                if (!options.matchExact) {
                    if (options.addToParent) {
                        $(this).find('a[href="' + url + '"]').parent().addClass(options.onClass);
                        $(this).find('a[href="' + url + '/"]').parent().addClass(options.onClass);
                    }
                    else
                    {
                        $(this).find('a[href="' + url + '"]').addClass(options.onClass);
                        $(this).find('a[href="' + url + '/"]').addClass(options.onClass);
                    }
                }
            }

            if (options.matchExact) {
                 if (options.addToParent) {
                    $(this).find('a[href="' + url + '"]').parent().addClass(options.onClass);
                    $(this).find('a[href="' + url + '/"]').parent().addClass(options.onClass);
                 }
                 else
                 {
                    $(this).find('a[href="' + url + '"]').addClass(options.onClass);
                    $(this).find('a[href="' + url + '/"]').addClass(options.onClass);
                 }
            }
        });
    };
})(jQuery);
