[MSKINS-127] load Google Search and +1 javascript asynchronously

git-svn-id: https://svn.apache.org/repos/asf/maven/skins/trunk@1744978 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/maven-fluido-skin/src/main/resources/META-INF/maven/site-macros.vm b/maven-fluido-skin/src/main/resources/META-INF/maven/site-macros.vm
index 1e079f2..beb5f4e 100644
--- a/maven-fluido-skin/src/main/resources/META-INF/maven/site-macros.vm
+++ b/maven-fluido-skin/src/main/resources/META-INF/maven/site-macros.vm
@@ -620,11 +620,10 @@
     #set( $startIndex = $project.url.indexOf("://") + 3 )
     #set( $sitesearchValue = $project.url.substring( $startIndex, $project.url.length() ) )
   #end
-
   <input value="$sitesearchValue" name="sitesearch" type="hidden"/>
   <input class="search-query" name="q" id="query" type="text" />
 </form>
-<script type="text/javascript" src="https://cse.google.com/brand?form=search-form"></script>
+<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
 #end
 ##
 ##
@@ -688,15 +687,11 @@
     #if( !$sideBarEnabled )
       #set( $dataSize = 'medium' )
     #end
-
-    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
-
+    <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script>
     #if( !$sideBarEnabled )
     <ul class="nav pull-right"><li style="margin-top: 10px;">
     #end
-
     <div class="g-plusone" data-href="$project.url" data-size="$dataSize" #if( !$sideBarEnabled ) width="60px" align="right" #end></div>
-
     #if( !$sideBarEnabled )
     </li></ul>
     #end
diff --git a/maven-fluido-skin/src/main/resources/js/fluido.js b/maven-fluido-skin/src/main/resources/js/fluido.js
index b3ea065..74b8644 100644
--- a/maven-fluido-skin/src/main/resources/js/fluido.js
+++ b/maven-fluido-skin/src/main/resources/js/fluido.js
@@ -25,3 +25,13 @@
     prettyPrint();
 
 } );
+
+function asyncJs( url ) {
+    ( function() {
+            var s = document.createElement( 'script' ), t = document.getElementsByTagName( 'script' )[0];
+            s.type = 'text/javascript';
+            s.async = true;
+            s.src = url;
+            t.parentNode.insertBefore( s, t );
+        } )();
+}
\ No newline at end of file