http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/font/fontawesome-webfont-woff.woff
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/font/fontawesome-webfont-woff.woff 
b/gemfire-site/website/content/font/fontawesome-webfont-woff.woff
new file mode 100755
index 0000000..b9bd17e
Binary files /dev/null and 
b/gemfire-site/website/content/font/fontawesome-webfont-woff.woff differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo.png 
b/gemfire-site/website/content/img/apache_geode_logo.png
new file mode 100644
index 0000000..14b6ac0
Binary files /dev/null and 
b/gemfire-site/website/content/img/apache_geode_logo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo_white.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo_white.png 
b/gemfire-site/website/content/img/apache_geode_logo_white.png
new file mode 100644
index 0000000..2a0cda8
Binary files /dev/null and 
b/gemfire-site/website/content/img/apache_geode_logo_white.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/apache_geode_logo_white_small.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/apache_geode_logo_white_small.png 
b/gemfire-site/website/content/img/apache_geode_logo_white_small.png
new file mode 100644
index 0000000..bf8aaa0
Binary files /dev/null and 
b/gemfire-site/website/content/img/apache_geode_logo_white_small.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/check_flat/default.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/check_flat/default.png 
b/gemfire-site/website/content/img/check_flat/default.png
new file mode 100755
index 0000000..5a89765
Binary files /dev/null and 
b/gemfire-site/website/content/img/check_flat/default.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/egg-logo.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/egg-logo.png 
b/gemfire-site/website/content/img/egg-logo.png
new file mode 100644
index 0000000..2169a2a
Binary files /dev/null and b/gemfire-site/website/content/img/egg-logo.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/github.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/github.png 
b/gemfire-site/website/content/img/github.png
new file mode 100644
index 0000000..f19ee0d
Binary files /dev/null and b/gemfire-site/website/content/img/github.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/intellij.png
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/intellij.png 
b/gemfire-site/website/content/img/intellij.png
new file mode 100644
index 0000000..2e8c480
Binary files /dev/null and b/gemfire-site/website/content/img/intellij.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/img/yourkit.jpeg
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/img/yourkit.jpeg 
b/gemfire-site/website/content/img/yourkit.jpeg
new file mode 100644
index 0000000..4a53b77
Binary files /dev/null and b/gemfire-site/website/content/img/yourkit.jpeg 
differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/index.html
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/index.html 
b/gemfire-site/website/content/index.html
new file mode 100644
index 0000000..dc80254
--- /dev/null
+++ b/gemfire-site/website/content/index.html
@@ -0,0 +1,116 @@
+---
+title: Performance is key. Consistency is a must.
+---
+
+<section class="bf-masthead" id="content" role="main">
+    <div class="bf-masthead-bg">
+        <div class="container">
+            <img class="logo-title img-responsive hidden-xs" 
src="img/apache_geode_logo.png" />
+            <div class="text-container">
+                <h2 class="tagline"><em>Performance</em> is key. 
<em>Consistency</em> is a must.</h2>
+                <p class="description">Solving the hardest data management 
problems since 2002.<br/>
+                  <br/>Build elastic modern <em>in-memory</em> data intensive 
applications and <em>scale</em>.<br/>
+                  Delivery high-performance at cloud scale blending advanced 
techniques for data replication, partitioning and distributed processing.
+
+                  <br/><br/>
+                  Offering a database-like consistency model, reliable 
transaction processing and shared nothing architecture at ease.<br/></p>
+            </div>
+
+            <div class="btn-wrapper">
+                <iframe class="social-btn" 
src="/static/github-btn.html?user=apache&repo=incubator-geode&type=watch&size=large"
 allowtransparency="true" frameborder="0" scrolling="0" width="85" 
height="30"></iframe>
+                <iframe class="social-btn" 
src="/static/github-btn.html?user=apache&repo=incubator-geode&type=fork&size=large"
 allowtransparency="true" frameborder="0" scrolling="0" width="85" 
height="30"></iframe>
+                <!--<p><span class="or">or</span> <a href="#">Download 
Geode</a></p>-->
+            </div>
+
+        </div>
+    </div>
+</section>
+
+<section class="bf-features">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-sitemap""></i></div>
+                <h3>Replication and Partitioning</h3>
+                <p>Data can easily be partitioned (sharded) or replicated and 
resilience is ensured through redundant copies or disk-persistency allowing 
data to scale however is needed.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-hdd"></i></div>
+                <h3>Persistence</h3>
+                <p>Super fast WAL persistence mechanism with shared-nothing 
architecture and optmized for fast parallel recovery of a cluster or single 
node.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i aria-hidden="true" 
class="icon-rocket"></i></div>
+                <h3>Performance</h3>
+                <p>Predictable low-latency for transactions, reads, writes and 
query processing on top of index and non-indexed data.</p>
+            </div>
+        </div>
+        <div class="row">
+            <div class="col-md-4">
+                <div class="bf-icon-wrap" style="font-size:40px; 
vertical-align: 15px;"><i aria-hidden="true" class="icon-fast-forward"></i><i 
aria-hidden="true" class="icon-dashboard"></i></div>
+                <h3>In-Memory</h3>
+                <p>Blazing fast in-memory storage optmized for larger heaps, 
with the option of using off-heap, compression and features such as 
disk-overflow, eviction and expiration.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><span style="font-size:60px" 
aria-hidden="true" class="icon-cogs"></span></div>
+                <h3>Functions</h3>
+                <p>Distributed data-aware processing can be deployed and 
executed in parallel on a cluster. In the case of failures, processing can be 
retried on different nodes.</p>
+            </div>
+            <div class="col-md-4">
+                <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-credit-card"></i></div>
+                <h3>Transactions</h3>
+                <p>ACID distributed transactions allows for efficient and safe 
coordinated operations on colocated data. Transactions can be suspended, 
initiated from a client or a server.</p>
+            </div>
+        </div>
+        <div class="row">
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-table"></i></div>
+              <h3>OQL and Indexes</h3>
+              <p>Object Query Language allows distributed query execution on 
hot and cold data, with SQL-like capabilities, including joins.<br/>
+              Multiple option of indexes can be created and consistently 
maintained across the cluster.</p>
+          </div>
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-bolt"></i></div>
+              <h3>Events</h3>
+              <p>Clients can be notified about server-side data events, and 
servers can react synchronous or asynchronously with guaranteed delivery of 
ordered events.</p>
+          </div>
+          <div class="col-md-4">
+              <div class="bf-icon-wrap"><i style="font-size:65px; 
vertical-align: -5px;" aria-hidden="true" class="icon-cloud"></i></div>
+              <h3>Clustering</h3>
+              <p>Highly scalable, battle-proof advanced clustering technology, 
with failure detection, dynamic scale, and network-partition detection 
algorithms.</p>
+          </div>
+        </div>
+    </div>
+
+    </div>
+</section>
+
+<section class="bf-questions">
+    <div class="container">
+            <div class="col-md-12 text-center cta">
+                And much more... Interested ? You can check our <a 
href="https://cwiki.apache.org/confluence/display/GEODE/Index#Index-Geodein5minutesGeodein5minutes";
 target="_blank" class="btn btn-inverse btn-lg">Geode in 5 minutes tutorial</a> 
<span class="avoidwrap">, ask a question on the <a href="/community/" 
class="btn btn-inverse btn-lg">Mailing lists</a> or <a 
href="http://stackoverflow.com/search?q=Apache%20Geode"; class="btn btn-inverse 
btn-lg">StackOverflow</a></span>
+            </div>
+    </div>
+</section
+
+<section class="bf-news">
+    <div class="container">
+
+        <div class="row">
+            <div class="col-md-12 text-left">
+                <h2>About the Project</h2>
+                <p>Apache Geode is a data management platform that provides 
real-time, consistent access to data-intensive applications throughout widely 
distributed cloud architectures.</p>
+                <p>By pooling memory, CPU, network resources, and optionally 
local disk across multiple processes to manage application objects and 
behavior, it uses dynamic replication and data partitioning techniques to 
implement high availability, improved performance, scalability, and fault 
tolerance. In addition to being a distributed data container, Geode is an 
in-memory data management system that provides reliable asynchronous event 
notifications and guaranteed message delivery.</p>
+                <p>Apache Geode is an extremely mature and robust product that 
can trace its legacy all the way back to one of the first Object Databases for 
Smalltalk: GemStone. Geode (as GemFire™) was first deployed in the financial 
sector as the transactional, low-latency data engine used by multiple Wall 
Street trading platforms. Today Geode is used by over 600 enterprise customers 
for high-scale, 24x7 business critical applications.</p>
+            </div>
+            <!--
+            <div class="col-md-4 text-left">
+                <h2>Recent Releases</h2>
+
+
+            </div>
+            -->
+        </div>
+
+    </div>
+</section>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/bootstrap.min.js 
b/gemfire-site/website/content/js/bootstrap.min.js
new file mode 100755
index 0000000..3137285
--- /dev/null
+++ b/gemfire-site/website/content/js/bootstrap.min.js
@@ -0,0 +1,8 @@
+/**
+* Bootstrap v3.0.0 by @fat and @mdo
+* Copyright 2013 Twitter Inc.
+* Licensed under http://www.apache.org/licenses/LICENSE-2.0.
+*
+* Designed and built with all the love in the world by @mdo and @fat.
+*/
+if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use 
strict";function b(){var 
a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd
 otransitionend",transition:"transitionend"};for(var c in b)if(void 
0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var 
c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var 
e=function(){c||a(d).trigger(a.support.transition.end)};return 
setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use
 strict";var 
b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function
 c(){f.trigger("closed.bs.alert").remove()}var 
d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var
 
f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefau
 
ltPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var
 d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var 
d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new 
c(this)),"string"==typeof 
b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return
 
a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use
 strict";var 
b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var
 
b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var
 a=this.$element.closest('[data-toggle="buttons"]');if(a.l
 ength){var 
b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var
 c=a.fn.button;a.fn.button=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.button"),f="object"==typeof 
c&&c;e||d.data("bs.button",e=new 
b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return
 
a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var
 
c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use
 strict";var 
b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this))
 
.on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return
 
b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return
 
this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var
 c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 
0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return
 b||(this.paused=!0),this.$element.find(".next, 
.prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return
 th
 is.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return 
this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var 
d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var
 
j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var
 
b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join("
 ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,se
 
tTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return
 f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return 
this.each(function(){var 
d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof
 c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new 
b(this,f)),"number"==typeof 
c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return
 
a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide],
 [data-slide-to]",function(b){var 
c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g)
 
,b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var
 b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use 
strict";var 
b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var
 a=this.$element.hasClass("width");return 
a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var
 
b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var
 c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var 
d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var
 
e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var
 f=function(){this.$element.removeClass
 
("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return
 f.call(this);var 
g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var
 
b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var
 
c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var
 
d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return
 
a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void
 
0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":
 "show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return 
this.each(function(){var 
d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof
 c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof 
c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return
 
a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var
 
c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use
 strict";function b(){a(d).remove(),a(e).each(function(b){var 
d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented(
 )||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var 
c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var
 d=c&&a(c);return d&&d.length?d:b.parent()}var 
d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var
 e=a(this);if(!e.is(".disabled, :disabled")){var 
f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in 
document.documentElement&&!f.closest(".navbar-nav").length&&a('<div 
class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var
 d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, 
:disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 
27==b.which&&f.find(e).focus(),d.clic
 k();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var 
i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var
 g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var 
c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new 
f(this)),"string"==typeof 
b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return
 
a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown
 
form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+",
 [role=menu]",f.prototype.keydown)}(window.jQuery),+function(a){"use 
strict";var 
b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return
 th
 is[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var 
c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var
 
d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var
 
e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$eleme
 
nt.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var
 
a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var
 c=this.$element.hasClass("fade")?"fade"
 :"";if(this.isShown&&this.options.backdrop){var 
d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop 
'+c+'" 
/>').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var
 c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var 
e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof
 c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof 
c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.
 noConflict=function(){return 
a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var
 
c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use
 strict";var 
b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div
 class="tooltip"><div class="tooltip-arrow"></div><div 
class="tooltip-inner"></div></div>',trigger:"hover 
focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.en
 
abled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var 
e=this.options.trigger.split(" "),f=e.length;f--;){var 
g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else
 if("manual"!=g){var 
h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return
 b.DEFAULTS},b.prototype.getOptions=function(b){return 
b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof
 
b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var
 b={},c=this.getDefaults();return 
this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototyp
 e.enter=function(b){var c=b instanceof 
this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return
 
clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void
 0):c.show()},b.prototype.leave=function(b){var c=b instanceof 
this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return
 
clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void
 0):c.hide()},b.prototype.show=function(){var 
b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var
 c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var 
d="function"==typeof 
this.options.placement?this.options.placement.call(this,c[0],this.$ele
 
ment[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var
 g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var 
j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var
 
p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var
 
c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10)
 
,h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var
 
i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var
 
k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else
 
this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var
 
a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade
 in top bottom left right")},b.prototype.hide=function(){function 
b(){"in"!=c.hoverState&&d.detach()}var 
c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return 
this.$element.trigger(e),e.isDefaultPrevented()?void 
0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),th
 
is.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var
 a=this.$element;(a.attr("title")||"string"!=typeof 
a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return
 this.getTitle()},b.prototype.getPosition=function(){var 
b=this.$element[0];return a.extend({},"function"==typeof 
b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var
 a,b=this.$element,c=this.options;return 
a=b.attr("data-original-title")||("function"==typeof 
c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return 
this.$tip=this.$tip||a(
 this.options.template)},b.prototype.arrow=function(){return 
this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var
 
c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var
 c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.tooltip"),f="object"==typeof 
c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof 
c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return
 a.fn.tooltip=c,this}}(window.jQuery),+function(a){"use strict";
 var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new 
Error("Popover requires 
tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div
 class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div 
class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return
 b.DEFAULTS},b.prototype.setContent=function(){var 
a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade
 top bottom left right 
in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return
 this.getTitle()||this.getContent()},b.prototype.getContent=function(){var 
a=this.$element,b=this.options;return a.attr("data-content")||("functio
 n"==typeof 
b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return 
this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return
 this.$tip||(this.$tip=a(this.options.template)),this.$tip};var 
c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.popover"),f="object"==typeof 
c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof 
c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return
 a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function 
b(c,d){var 
e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+"
 .nav li > 
a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process(
 )}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var 
b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var
 c=this;this.$body.find(this.selector).map(function(){var 
d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return 
f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return
 
a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var
 
a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return
 
g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var
 c=this.selector+
 
'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var
 c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof 
c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof 
c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return
 
a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var
 b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use 
strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var 
b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var
 e=c.find(".active:last 
a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f
 ),!f.isDefaultPrevented()){var 
g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function
 e(){f.removeClass("active").find("> .dropdown-menu > 
.active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var
 f=c.find("> 
.active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var
 c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof 
c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return 
a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], 
[data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQ
 uery),+function(a){"use strict";var 
b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix
 affix-top 
affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var
 
c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof
 f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof 
h&&(h=f.bottom());var 
i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-
 
d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var
 c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var 
d=a(this),e=d.data("bs.affix"),f="object"==typeof 
c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof 
c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return 
a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var
 
b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/head.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/head.js 
b/gemfire-site/website/content/js/head.js
new file mode 100644
index 0000000..aa15cb8
--- /dev/null
+++ b/gemfire-site/website/content/js/head.js
@@ -0,0 +1,708 @@
+// // the most simple case. load and execute single script without blocking.
+// head.js("/path/to/file.js");
+ 
+// // load a script and execute a function after it has been loaded
+// head.js("/path/to/file.js", function() {
+ 
+// });
+ 
+// // load files in parallel but execute them in sequence
+// head.js("file1.js", "file2.js", ... "fileN.js");
+ 
+// // execute function after all scripts have been loaded
+// head.js("file1.js", "file2.js", function() {
+ 
+// });
+ 
+// // files are loaded in parallel and executed in order they arrive
+// head.js("file1.js");
+// head.js("file2.js");
+// head.js("file3.js");
+ 
+// // the previous can also be written as
+// head.js("file1.js").js("file1.js").js("file3.js");
+
+
+
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function(doc) {
+
+    var html = doc.documentElement,
+         conf = {
+            screens: [320, 480, 640, 768, 1024, 1280, 1440, 1680, 1920],
+            section: "-section",
+            page: "-page",
+            head: "head"
+         },
+         klass = [];
+
+
+    if (window.head_conf) {
+        for (var key in head_conf) {
+            if (head_conf[key] !== undefined) {
+                conf[key] = head_conf[key];
+            }
+        }
+    }
+
+    function pushClass(name) {
+        klass[klass.length] = name;
+    }
+
+    function removeClass(name) {
+        var re = new RegExp("\\b" + name + "\\b");
+        html.className = html.className.replace(re, '');
+    }
+
+    function each(arr, fn) {
+        for (var i = 0, arr_length = arr.length; i < arr_length; i++) {
+            fn.call(arr, arr[i], i);
+        }
+    }
+
+    // API
+    var api = window[conf.head] = function() {
+        api.ready.apply(null, arguments);
+    };
+
+    api.feature = function(key, enabled, queue) {
+
+        // internal: apply all classes
+        if (!key) {
+            html.className += ' ' + klass.join( ' ' );
+            klass = [];
+            return;
+        }
+
+        if (Object.prototype.toString.call(enabled) == '[object Function]') {
+            enabled = enabled.call();
+        }
+
+        pushClass((enabled ? '' : 'no-') + key);
+        api[key] = !!enabled;
+
+        // apply class to HTML element
+        if (!queue) {
+            removeClass('no-' + key);
+            removeClass(key);
+            api.feature();
+        }
+
+        return api;
+    };
+
+    // browser type & version
+    var ua = navigator.userAgent.toLowerCase();
+
+    ua = /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+        /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
+        /(msie) ([\w.]+)/.exec( ua ) ||
+        !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) 
|| [];
+
+
+    if (ua[1] == 'msie') {
+        ua[1] = 'ie';
+        ua[2] = document.documentMode || ua[2];
+    }
+
+    pushClass(ua[1]);
+
+    api.browser = { version: ua[2] };
+    api.browser[ua[1]] = true;
+
+    // IE specific
+    if (api.browser.ie) {
+
+        pushClass("ie" + parseFloat(ua[2]));
+
+        // IE versions
+        for (var ver = 3; ver < 11; ver++) {
+            if (parseFloat(ua[2]) < ver) { pushClass("lt-ie" + ver); }
+        }
+
+        // HTML5 support
+        
each("abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video".split("|"),
 function(el) {
+            doc.createElement(el);
+        });
+                
+    }
+    
+
+    // CSS "router"
+    each(location.pathname.split("/"), function(el, i) {
+
+        if (this.length > 2 && this[i + 1] !== undefined) {
+            if (i) { pushClass(this.slice(1, i+1).join("-") + conf.section); }
+
+        } else {
+
+            // pageId
+            var id = el || "index", index = id.indexOf(".");
+            if (index > 0) { id = id.substring(0, index); }
+            html.id = id + conf.page;
+
+            // on root?
+            if (!i) { pushClass("root" + conf.section); }
+      }
+    });
+
+
+    // screen resolution: w-100, lt-480, lt-1024 ...
+    function screenSize() {
+        var w = window.outerWidth || html.clientWidth;
+
+        // remove earlier widths
+        html.className = html.className.replace(/ (w|lt)-\d+/g, "");
+
+        // add new ones
+        pushClass("w-" + Math.round(w / 100) * 100);
+
+        each(conf.screens, function(width) {
+            if (w <= width) { pushClass("lt-" + width); }
+        });
+
+        api.feature();
+    }
+
+    screenSize();
+    window.onresize = screenSize;
+
+    api.feature("js", true).feature();
+
+})(document);
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function() {
+    /*
+        To add a new test:
+
+        head.feature("video", function() {
+            var tag = document.createElement('video');
+            return !!tag.canPlayType;
+        });
+
+        Good place to grab more tests
+
+        https://github.com/Modernizr/Modernizr/blob/master/modernizr.js
+    */
+
+
+    /* CSS modernizer */
+    var el = document.createElement("i"),
+         style = el.style,
+         prefs = ' -o- -moz- -ms- -webkit- -khtml- '.split(' '),
+         domPrefs = 'Webkit Moz O ms Khtml'.split(' '),
+
+         head_var = window.head_conf && head_conf.head || "head",
+         api = window[head_var];
+
+
+     // Thanks Paul Irish!
+    function testProps(props) {
+        for (var i in props) {
+            if (style[props[i]] !== undefined) {
+                return true;
+            }
+        }
+    }
+
+
+    function testAll(prop) {
+        var camel = prop.charAt(0).toUpperCase() + prop.substr(1),
+             props   = (prop + ' ' + domPrefs.join(camel + ' ') + 
camel).split(' ');
+
+        return !!testProps(props);
+    }
+
+    var tests = {
+
+        gradient: function() {
+            var s1 = 'background-image:',
+                 s2 = 'gradient(linear,left top,right 
bottom,from(#9f9),to(#fff));',
+                 s3 = 'linear-gradient(left top,#eee,#fff);';
+
+            style.cssText = (s1 + prefs.join(s2 + s1) + prefs.join(s3 + 
s1)).slice(0,-s1.length);
+            return !!style.backgroundImage;
+        },
+
+        rgba: function() {
+            style.cssText = "background-color:rgba(0,0,0,0.5)";
+            return !!style.backgroundColor;
+        },
+
+        opacity: function() {
+            return el.style.opacity === "";
+        },
+
+        textshadow: function() {
+            return style.textShadow === '';
+        },
+
+        multiplebgs: function() {
+            style.cssText = "background:url(//:),url(//:),red url(//:)";
+            return new RegExp("(url\\s*\\(.*?){3}").test(style.background);
+        },
+
+        boxshadow: function() {
+            return testAll("boxShadow");
+        },
+
+        borderimage: function() {
+            return testAll("borderImage");
+        },
+
+        borderradius: function() {
+            return testAll("borderRadius");
+        },
+
+        cssreflections: function() {
+            return testAll("boxReflect");
+        },
+
+        csstransforms: function() {
+            return testAll("transform");
+        },
+
+        csstransitions: function() {
+            return testAll("transition");
+        },
+
+        /*
+            font-face support. Uses browser sniffing but is synchronous.
+
+            http://paulirish.com/2009/font-face-feature-detection/
+        */
+        fontface: function() {
+            var ua = navigator.userAgent, parsed;
+
+            if (/*@cc_on@if(@_jscript_version>=5)!@end@*/0)
+                return true;
+                
+            if (parsed = ua.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/))
+                return parsed[1] >= '4.0.249.4' || 1 * parsed[1].split(".")[0] 
> 5;
+            if ((parsed = ua.match(/Safari\/(\d+\.\d+)/)) && 
!/iPhone/.test(ua))
+                return parsed[1] >= '525.13';
+            if (/Opera/.test({}.toString.call(window.opera)))
+                return opera.version() >= '10.00';
+            if (parsed = ua.match(/rv:(\d+\.\d+\.\d+)[^b].*Gecko\//))
+                return parsed[1] >= '1.9.1';
+
+            return false;
+        }
+    };
+
+    // queue features
+    for (var key in tests) {
+        if (tests[key]) {
+            api.feature(key, tests[key].call(), true);
+        }
+    }
+
+    // enable features at once
+    api.feature();
+
+})();
+
+
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/
+(function(doc) {
+
+    var head = doc.documentElement,
+        isHeadReady,
+        isDomReady,
+        domWaiters = [],
+        queue = [],        // waiters for the "head ready" event
+        handlers = {},     // user functions waiting for events
+        scripts = {},      // loadable scripts in different states
+        isAsync = doc.createElement("script").async === true || 
"MozAppearance" in doc.documentElement.style || window.opera;
+
+
+    /*** public API ***/
+    var head_var = window.head_conf && head_conf.head || "head",
+         api = window[head_var] = (window[head_var] || function() { 
api.ready.apply(null, arguments); });
+
+    // states
+    var PRELOADED = 1,
+        PRELOADING = 2,
+        LOADING = 3,
+        LOADED = 4;
+
+
+    // Method 1: simply load and let browser take care of ordering
+    if (isAsync) {
+
+        api.js = function() {
+
+            var args = arguments,
+                 fn = args[args.length -1],
+                 els = {};
+
+            if (!isFunc(fn)) { fn = null; }
+
+            each(args, function(el, i) {
+
+                if (el != fn) {
+                    el = getScript(el);
+                    els[el.name] = el;
+
+                    load(el, fn && i == args.length -2 ? function() {
+                        if (allLoaded(els)) { one(fn); }
+
+                    } : null);
+                }
+            });
+
+            return api;
+        };
+
+
+    // Method 2: preload with text/cache hack
+    } else {
+
+        api.js = function() {
+
+            var args = arguments,
+                rest = [].slice.call(args, 1),
+                next = rest[0];
+
+            // wait for a while. immediate execution causes some browsers to 
ignore caching
+            if (!isHeadReady) {
+                queue.push(function()  {
+                    api.js.apply(null, args);
+                });
+                return api;
+            }
+
+            // multiple arguments
+            if (next) {
+
+                // load
+                each(rest, function(el) {
+                    if (!isFunc(el)) {
+                        preload(getScript(el));
+                    }
+                });
+
+                // execute
+                load(getScript(args[0]), isFunc(next) ? next : function() {
+                    api.js.apply(null, rest);
+                });
+
+
+            // single script
+            } else {
+                load(getScript(args[0]));
+            }
+
+            return api;
+        };
+    }
+
+    api.ready = function(key, fn) {
+
+        // DOM ready check: head.ready(document, function() { });
+        if (key == doc) {
+            if (isDomReady) { one(fn);  }
+            else { domWaiters.push(fn); }
+            return api;
+        }
+
+        // shift arguments
+        if (isFunc(key)) {
+            fn = key;
+            key = "ALL";
+        }    
+
+        // make sure arguments are sane
+        if (typeof key != 'string' || !isFunc(fn)) { return api; }
+
+        var script = scripts[key];
+        
+        // script already loaded --> execute and return
+        if (script && script.state == LOADED || key == 'ALL' && allLoaded() && 
isDomReady) {
+            one(fn);
+            return api;
+        }
+
+        var arr = handlers[key];
+        if (!arr) { arr = handlers[key] = [fn]; }
+        else { arr.push(fn); }
+        return api;
+    };
+
+
+    // perform this when DOM is ready
+    api.ready(doc, function() {
+
+        if (allLoaded()) {
+            each(handlers.ALL, function(fn) {
+                one(fn);
+            });
+        }
+
+        if (api.feature) {
+            api.feature("domloaded", true);
+        }
+    });
+
+
+    /*** private functions ***/
+    
+    
+    // call function once
+    function one(fn) {
+        if (fn._done) { return; }
+        fn();
+        fn._done = 1;
+    }
+
+
+    function toLabel(url) {
+        var els = url.split("/"),
+             name = els[els.length -1],
+             i = name.indexOf("?");
+
+        return i != -1 ? name.substring(0, i) : name;
+    }
+
+
+    function getScript(url) {
+
+        var script;
+
+        if (typeof url == 'object') {
+            for (var key in url) {
+                if (url[key]) {
+                    script = { name: key, url: url[key] };
+                }
+            }
+        } else {
+            script = { name: toLabel(url),  url: url };
+        }
+
+        var existing = scripts[script.name];
+        if (existing && existing.url === script.url) { return existing; }
+
+        scripts[script.name] = script;
+        return script;
+    }
+
+
+    function each(arr, fn) {
+        if (!arr) { return; }
+
+        // arguments special type
+        if (typeof arr == 'object') { arr = [].slice.call(arr); }
+
+        // do the job
+        for (var i = 0; i < arr.length; i++) {
+            fn.call(arr, arr[i], i);
+        }
+    }
+
+    function isFunc(el) {
+        return Object.prototype.toString.call(el) == '[object Function]';
+    }
+
+    function allLoaded(els) {
+
+        els = els || scripts;
+
+        var loaded;
+        
+        for (var name in els) {
+            if (els.hasOwnProperty(name) && els[name].state != LOADED) { 
return false; }
+            loaded = true;
+        }
+        
+        return loaded;
+    }
+
+
+    function onPreload(script) {
+        script.state = PRELOADED;
+
+        each(script.onpreload, function(el) {
+            el.call();
+        });
+    }
+
+    function preload(script, callback) {
+
+        if (script.state === undefined) {
+
+            script.state = PRELOADING;
+            script.onpreload = [];
+
+            scriptTag({ src: script.url, type: 'cache'}, function()  {
+                onPreload(script);
+            });
+        }
+    }
+
+    function load(script, callback) {
+
+        if (script.state == LOADED) {
+            return callback && callback();
+        }
+
+        if (script.state == LOADING) {
+            return api.ready(script.name, callback);
+        }
+
+        if (script.state == PRELOADING) {
+            return script.onpreload.push(function() {
+                load(script, callback);
+            });
+        }
+
+        script.state = LOADING;
+
+        scriptTag(script.url, function() {
+
+            script.state = LOADED;
+
+            if (callback) { callback(); }
+
+            // handlers for this script
+            each(handlers[script.name], function(fn) {
+                one(fn);
+            });
+
+            // everything ready
+            if (allLoaded() && isDomReady) {
+                each(handlers.ALL, function(fn) {
+                    one(fn);
+                });
+            }
+        });
+    }
+
+
+    function scriptTag(src, callback) {
+
+        var s = doc.createElement('script');
+        s.type = 'text/' + (src.type || 'javascript');
+        s.src = src.src || src;
+        s.async = false;
+
+        s.onreadystatechange = s.onload = function() {
+
+            var state = s.readyState;
+
+            if (!callback.done && (!state || /loaded|complete/.test(state))) {
+                callback.done = true;
+                callback();
+            }
+        };
+
+        // use body if available. more safe in IE
+        (doc.body || head).appendChild(s);
+    }
+
+    /*
+        The much desired DOM ready check
+        Thanks to jQuery and http://javascript.nwbox.com/IEContentLoaded/
+    */
+
+    function fireReady() {
+        if (!isDomReady) {
+            isDomReady = true;
+            each(domWaiters, function(fn) {
+                one(fn);
+            });
+        }
+    }
+
+    // W3C
+    if (window.addEventListener) {
+        doc.addEventListener("DOMContentLoaded", fireReady, false);
+
+        // fallback. this is always called
+        window.addEventListener("load", fireReady, false);
+
+    // IE
+    } else if (window.attachEvent) {
+
+        // for iframes
+        doc.attachEvent("onreadystatechange", function()  {
+            if (doc.readyState === "complete" ) {
+                fireReady();
+            }
+        });
+
+
+        // avoid frames with different domains issue
+        var frameElement = 1;
+
+        try {
+            frameElement = window.frameElement;
+
+        } catch(e) {}
+
+
+        if (!frameElement && head.doScroll) {
+
+            (function() {
+                try {
+                    head.doScroll("left");
+                    fireReady();
+
+                } catch(e) {
+                    setTimeout(arguments.callee, 1);
+                    return;
+                }
+            })();
+        }
+
+        // fallback
+        window.attachEvent("onload", fireReady);
+    }
+
+
+    // enable document.readyState for Firefox <= 3.5
+    if (!doc.readyState && doc.addEventListener) {
+        doc.readyState = "loading";
+        doc.addEventListener("DOMContentLoaded", handler = function () {
+            doc.removeEventListener("DOMContentLoaded", handler, false);
+            doc.readyState = "complete";
+        }, false);
+    }
+
+    /*
+        We wait for 300 ms before script loading starts. for some reason this 
is needed
+        to make sure scripts are cached. Not sure why this happens yet. A case 
study:
+
+        https://github.com/headjs/headjs/issues/closed#issue/83
+    */
+    setTimeout(function() {
+        isHeadReady = true;
+        each(queue, function(fn) { fn(); });
+
+    }, 300);
+
+})(document);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6a3fd2e/gemfire-site/website/content/js/html5shiv.js
----------------------------------------------------------------------
diff --git a/gemfire-site/website/content/js/html5shiv.js 
b/gemfire-site/website/content/js/html5shiv.js
new file mode 100755
index 0000000..784f221
--- /dev/null
+++ b/gemfire-site/website/content/js/html5shiv.js
@@ -0,0 +1,8 @@
+/*
+ HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+(function(l,f){function m(){var a=e.elements;return"string"==typeof 
a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return 
b}function p(a,b,c){b||(b=f);if(g)return 
b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return
 b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function 
t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return
 function(){var 
n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return
 n}")(e,b.frag)}function q(a){a||(a=f);var 
b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var 
c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var 
k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var
 a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var 
b;if(!(b=1==a.childNodes.length)){f.createElement("a");var 
c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof 
c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr 
article aside audio bdi canvas data datalist details figcaption figure footer 
header hgroup mark meter nav output progress section summary time 
video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return
 a.createDocumentFragment();
+for(var 
b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return
 c}};l.html5=e;q(f)})(this,document);

Reply via email to