//Version 1.5.2 (function(window,undefined){ // Prepare our Variables var History = window.History, $ = window.jQuery, document = window.document; // Check to see if History.js is enabled for our Browser if ( !History.enabled ) return false; // Wait for Document $(function(){ // Prepare Variables var // Application Specific Variables rootUrl = aws_data['rootUrl'], ThemeDir = aws_data['ThemeDir'], contentSelector = '#ajaxwrap', $content = $(contentSelector), contentNode = $content.get(0), // Application Generic Variables $body = $(document.body), scrollOptions = { duration: 800, easing:'swing' }; // Ensure Content if ( $content.length === 0 ) $content = $body; // Internal Helper $.expr[':'].internal = function(obj, index, meta, stack){ // Prepare var $this = $(obj), url = $this.attr('href')||'', isInternalLink; // Check link isInternalLink = url.substring(0,rootUrl.length) === rootUrl || url.indexOf(':') === -1; // Ignore or Keep return isInternalLink; }; // HTML Helper var documentHtml = function(html){ // Prepare var result = String(html).replace(/<\!DOCTYPE[^>]*>/i, '') .replace(/<(html|head|body|title|script)([\s\>])/gi,'
/gi,'
'); // Return return result; }; $.fn.ajaxify1 = function(){ // Prepare var $this = $(this); $this.find('a:internal:not(.no-ajaxy,[href^="#"],[href*="wp-login"],[href*="wp-admin"],[data-rel^="prettyPhoto"])').live('click', function(event){ // Prepare var $this = $(this), url = $this.attr('href'), title = $this.attr('title') || null; // Continue as normal for cmd clicks etc if ( event.which == 2 || event.metaKey ) return true; // Ajaxify this link History.pushState(null,title,url); event.preventDefault(); return false; }); // Chain // Ajaxify jQuery('.resdrg').on('click', 'span.overlap',function(event){ // Prepare var $this = $(this).parent(), url = $this.attr('href'), title = $this.attr('title') || null; // Continue as normal for cmd clicks etc if ( event.which == 2 || event.metaKey ) return true; // Ajaxify this link History.pushState(null,title,url); event.preventDefault(); return false; }); // Chain return $this; }; // Ajaxify our Internal Links $body.ajaxify1(); // Hook into State Changes $(window).bind('statechange',function(){ // Prepare Variables var State = History.getState(), url = State.url, relativeUrl = url.replace(ThemeDir,''); // Set Loading $body.addClass('loading'); // Start Fade Out // Animating to opacity to 0 still keeps the element's height intact // Which prevents that annoying pop bang issue when loading in new content $content.animate({opacity:0},6000); $content .html('') .css('text-align', 'center'); // Ajax Request the Traditional Page $.ajax({ url: url, success: function(data, textStatus, jqXHR){ // Prepare var $data = $(documentHtml(data)), $dataBody = $data.find('#document-body:first ' + contentSelector), bodyClasses = $data.find('#document-body:first').attr('class'), contentHtml, $scripts; var $menu_list = $data.find('.menuwrap'); //Add classes to body jQuery('body').attr('class', bodyClasses); // Fetch the scripts $scripts = $dataBody.find('#document-script'); if ( $scripts.length ) $scripts.detach(); // Fetch the content contentHtml = $dataBody.html()||$data.html(); if ( !contentHtml ) { document.location.href = url; return false; } // Update the content $content.stop(true,true); $content.html(contentHtml) .ajaxify() .css('text-align', '') .animate({opacity: 1, visibility: "visible"}); // Load Custom Script atpcustom.atpinit(); atpcustom.systoggle(); atpcustom.buttondata(); atpcustom.flexslider(); atpcustom.accordion(); atpcustom.progressbar(); atpcustom.tabs(); atpcustom.hoverimage(); atpcustom.mobilemenu(); $('.menuwrap').html($menu_list.html()); //Adding no-ajaxy class to a tags present under ids provided $(aws_data['ids']).each(function(){ jQuery(this).addClass('no-ajaxy'); }); // Update the title document.title = $data.find('#document-title:first').text(); try { document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<','<').replace('>','>').replace(' & ',' & '); } catch ( Exception ) { } // Add the scripts $scripts.each(function(){ var $script = $(this), scriptText = $script.html(), scriptNode = document.createElement('script'); try { // doesn't work on ie... scriptNode.appendChild(document.createTextNode(scriptText)); contentNode.appendChild(scriptNode); } catch(e) { // IE has funky script nodes scriptNode.text = scriptText; contentNode.appendChild(scriptNode); } if($(this).attr('src') != null) { scriptNode.setAttribute('src', ($(this).attr('src'))); } }); $body.removeClass('loading'); scriptNode = document.createElement('script'); contentNode.appendChild(scriptNode); scriptNode.setAttribute('src', rootUrl + 'wp-content/plugins/contact-form-7/includes/js/scripts.js'); // Inform Google Analytics of the change if ( typeof window.pageTracker !== 'undefined' ) window.pageTracker._trackPageview(relativeUrl); // Inform ReInvigorate of a state change if ( typeof window.reinvigorate !== 'undefined' && typeof window.reinvigorate.ajax_track !== 'undefined' ) reinvigorate.ajax_track(url);// ^ we use the full url here as that is what reinvigorate supports }, error: function(jqXHR, textStatus, errorThrown){ document.location.href = url; return false; } }); // end ajax }); // end onStateChange }); // end onDomLoad })(window); // end closure