/*! jQuery Address v${version} | (c) 2009, 2013 Rostislav Hristov | jquery.org/license */ (function ($) { $.address = (function () { var _trigger = function(name) { var e = $.extend($.Event(name), (function() { var parameters = {}, parameterNames = $.address.parameterNames(); for (var i = 0, l = parameterNames.length; i < l; i++) { parameters[parameterNames[i]] = $.address.parameter(parameterNames[i]); } return { value: $.address.value(), path: $.address.path(), pathNames: $.address.pathNames(), parameterNames: parameterNames, parameters: parameters, queryString: $.address.queryString() }; }).call($.address)); $($.address).trigger(e); return e; }, _array = function(obj) { return Array.prototype.slice.call(obj); }, _bind = function(value, data, fn) { $().bind.apply($($.address), Array.prototype.slice.call(arguments)); return $.address; }, _unbind = function(value, fn) { $().unbind.apply($($.address), Array.prototype.slice.call(arguments)); return $.address; }, _supportsState = function() { return (_h.pushState && _opts.state !== UNDEFINED); }, _hrefState = function() { return ('/' + _l.pathname.replace(new RegExp(_opts.state), '') + _l.search + (_hrefHash() ? '#' + _hrefHash() : '')).replace(_re, '/'); }, _hrefHash = function() { var index = _l.href.indexOf('#'); return index != -1 ? _l.href.substr(index + 1) : ''; }, _href = function() { return _supportsState() ? _hrefState() : _hrefHash(); }, _window = function() { try { return top.document !== UNDEFINED && top.document.title !== UNDEFINED ? top : window; } catch (e) { return window; } }, _js = function() { return 'javascript'; }, _strict = function(value) { value = value.toString(); return (_opts.strict && value.substr(0, 1) != '/' ? '/' : '') + value; }, _cssint = function(el, value) { return parseInt(el.css(value), 10); }, _listen = function() { if (!_silent) { var hash = _href(), diff = decodeURI(_value) != decodeURI(hash); if (diff) { if (_msie && _version < 7) { _l.reload(); } else { if (_msie && !_hashchange && _opts.history) { _st(_html, 50); } _value = hash; _update(FALSE); } } } }, _update = function(internal) { _st(_track, 10); return _trigger(CHANGE).isDefaultPrevented() || _trigger(internal ? INTERNAL_CHANGE : EXTERNAL_CHANGE).isDefaultPrevented(); }, _track = function() { if (_opts.tracker !== 'null' && _opts.tracker !== NULL) { var fn = $.isFunction(_opts.tracker) ? _opts.tracker : _t[_opts.tracker], value = (_l.pathname + _l.search + ($.address && !_supportsState() ? $.address.value() : '')) .replace(/\/\//, '/').replace(/^\/$/, ''); if ($.isFunction(fn)) { fn(value); } else if ($.isFunction(_t.urchinTracker)) { _t.urchinTracker(value); } else if (_t.pageTracker !== UNDEFINED && $.isFunction(_t.pageTracker._trackPageview)) { _t.pageTracker._trackPageview(value); } else if (_t._gaq !== UNDEFINED && $.isFunction(_t._gaq.push)) { _t._gaq.push(['_trackPageview', decodeURI(value)]); } } }, _html = function() { var src = _js() + ':' + FALSE + ';document.open();document.writeln(\'' + _d.title.replace(/\'/g, '\\\'') + '