Bug 475780 - Enhance the page flow for downloading the Eclipse Installer

Change-Id: I5c0ec80165eabaefbefd0344bde3ad605405b478
Signed-off-by: Christopher Guindon <chris.guindon@eclipse.org>
diff --git a/assets/Gruntfile.js b/assets/Gruntfile.js
index d93fdfe..e38453e 100644
--- a/assets/Gruntfile.js
+++ b/assets/Gruntfile.js
@@ -33,10 +33,18 @@
             options: {
                 //separator: ';',
             },
+            js_download: {
+                src: ['./bower_components/jquery-migrate/jquery-migrate.min.js', './src/javascript/downloads.js'],
+                dest: './public/javascript/downloads.min.js',
+            },
             css_thankyou: {
                 src: ['./public/stylesheets/thankyou.min.css', './bower_components/jquery-ui/base/minified/jquery-ui.min.css'],
                 dest: './public/stylesheets/thankyou.min.css',
             },
+            css_download: {
+                src: ['./public/stylesheets/downloads.min.css'],
+                dest: './public/stylesheets/downloads.min.css',
+            },
         },
         uglify: {
             options: {
@@ -46,8 +54,8 @@
             },
             js_files: {
                 files: {
-                    './public/javascript/ajax-checksum.min.js': './src/javascript/ajax-checksum.js',
-                    './public/javascript/downloads.min.js': './src/javascript/downloads.js',
+                    './public/javascript/mirror.min.js': './src/javascript/mirror.js',
+                    './public/javascript/downloads.min.js': './public/javascript/downloads.min.js',
                     './public/javascript/compare.min.js': './src/javascript/compare.js'
                 }
             },
@@ -55,12 +63,12 @@
         watch: {
             js_files: {
                 files: [
-                './src/javascript/ajax-checksum.js', './src/javascript/downloads.js', './bower_components/filtrify/js/filtrify.js', './src/javascript/compare.js'],
-                tasks: ['uglify:js_files']
+                './src/javascript/mirror.js', './src/javascript/downloads.js', './src/javascript/compare.js'],
+                tasks: ['concat:js_download', 'uglify:js_files']
             },
             less: {
                 files: ['./src/stylesheets/*.less', './src/stylesheets/**/*.less'],
-                tasks: ['less', 'concat:css_thankyou'],
+                tasks: ['less', 'concat:css_download', 'concat:css_thankyou'],
                 options: {
                     livereload: true
                     // reloads the browser
diff --git a/assets/public/images/installer-instructions-02-b.png b/assets/public/images/installer-instructions-02-b.png
new file mode 100644
index 0000000..7a61891
--- /dev/null
+++ b/assets/public/images/installer-instructions-02-b.png
Binary files differ
diff --git a/assets/public/javascript/ajax-checksum.min.js b/assets/public/javascript/ajax-checksum.min.js
deleted file mode 100644
index 511f786..0000000
--- a/assets/public/javascript/ajax-checksum.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(jQuery,window,document){jQuery(document).ready(function($){$(".btn-ajax-checksum").click(function(){var location=$(this).attr("href"),file=$(this).data("checksum-file"),type=$(this).data("checksum-type");return-1===$.inArray(type,["md5","sha512","sha1"])||void 0===file?!1:void $.ajax({url:"sums.php",data:{file:file,type:type},dataType:"text",type:"GET",beforeSend:function(){$(location+" p").html('<i class="fa fa-spinner fa-spin"></i>')},success:function(response){$(location+" p").text(response)},error:function(){$(location+" p").text("An error has occurred.")}})})})}(jQuery,window,document);
\ No newline at end of file
diff --git a/assets/public/javascript/downloads.min.js b/assets/public/javascript/downloads.min.js
index 0d12f7b..e3b5624 100644
--- a/assets/public/javascript/downloads.min.js
+++ b/assets/public/javascript/downloads.min.js
@@ -1 +1 @@
-!function(jQuery,window,document){jQuery(document).ready(function($){function getUrlVars(){{var vars={};window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value})}return vars}$("#osSelect").change(function(){var release=getUrlVars().release,src="?osType="+$("option:selected",this).val();void 0!==release&&null!==release&&(src+="&release="+release),window.location=src})})}(jQuery,window,document);
\ No newline at end of file
+void 0===jQuery.migrateMute&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window),function(jQuery,window,document){jQuery(document).ready(function($){function getUrlVars(){var vars={};window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value){vars[key]=value});return vars}$("#collapseEinstaller").on("show.bs.collapse",function(){$("html, body").animate({scrollTop:$("#collapseEinstaller1").offset().top},1e3)}),$("#collapseEinstaller").on("hidden.bs.collapse",function(){$("html, body").animate({scrollTop:$("body").offset().top},1e3)}),$("#osSelect").change(function(){var release=getUrlVars().release,src="?osType="+$("option:selected",this).val();void 0!==release&&null!==release&&(src+="&release="+release),window.location=src})})}(jQuery,window,document);
\ No newline at end of file
diff --git a/assets/public/javascript/mirror.min.js b/assets/public/javascript/mirror.min.js
new file mode 100644
index 0000000..59040c0
--- /dev/null
+++ b/assets/public/javascript/mirror.min.js
@@ -0,0 +1 @@
+!function(jQuery,window,document){jQuery(document).ready(function($){$(".btn-ajax-checksum").click(function(){var location=$(this).attr("href"),file=$(this).data("checksum-file"),type=$(this).data("checksum-type");return-1===$.inArray(type,["md5","sha512","sha1"])||void 0===file?!1:void $.ajax({url:"sums.php",data:{file:file,type:type},dataType:"text",type:"GET",beforeSend:function(){$(location+" p").html('<i class="fa fa-spinner fa-spin"></i>')},success:function(response){$(location+" p").text(response)},error:function(){$(location+" p").text("An error has occurred.")}})}),$(".mirror-continent").slice(1).hide(),$("#show_all_mirrors").click(function(e){return e.preventDefault(),$(".mirror-section-2").is(":visible")?($(".mirror-continent").slice(1).hide(),$("html, body").animate({scrollTop:$(".mirror-section-1").offset().top},500),$(this).text("Show all")):($(".mirror-continent").show(),$("html, body").animate({scrollTop:$(".mirror-section-2").offset().top},500,"swing",function(){$("#show_all_mirrors").text("Hide")})),FALSE})})}(jQuery,window,document);
\ No newline at end of file
diff --git a/assets/public/stylesheets/downloads.min.css b/assets/public/stylesheets/downloads.min.css
index 8cb6cce..0c508f3 100644
--- a/assets/public/stylesheets/downloads.min.css
+++ b/assets/public/stylesheets/downloads.min.css
@@ -1 +1 @@
-.download-link-1 a{padding-left:12px;border-left:1px solid #fff}.padding-left-0{padding-left:0}.icon{text-align:center}@media (min-width:768px){.icon{text-align:right}}@media (max-width:767px){.xs-sm-text-center{text-align:center}}.downloadLink-icon{text-align:center;padding-top:26px}@media (min-width:768px){.downloadLink-icon{text-align:right}}.downloadLink-content ul{margin-bottom:0}.downloadLink-content ul li{padding-bottom:0}@media (min-width:768px){.downloadLink-content{padding-left:0}.downloadLink-icon{pading-right:0}}#other-releases{margin-top:6px}.ad{margin-bottom:2em}.package-row{border-top:1px solid #ddd;padding:12px 6px}.package-row.zebra{background:#fafafa}@media (max-width:767px){.package-row{padding:24px 12px}}@media (max-width:767px){.package-row .icon{margin-bottom:20px}}.package-row .download-icon{font-size:3em;text-align:right;margin-top:-7px}.package-row.promo .download-icon{margin-top:7px}.package-row .download-link a{font-weight:bold}.package-row h2{margin:10px 0 0 0;font-weight:700;font-size:1.3em}.package-row h2 a{color:#111}.os-warning{padding:10px;background:#ffe5b4}.download-container default-download>header-row{margin-top:40px}.download-container .header-row{margin-top:0}.download-container .header-row h2{color:#2c2255;font-size:30px}.download-container .installer{background-image:url(../images/installer-bg.jpg);background-size:cover;text-align:center;margin-bottom:20px;color:#fff}.download-container .installer .title{padding:20px 20px 0}@media (min-width:768px){.download-container .installer .title .installer-logo{position:absolute;left:0;top:40px}}.download-container .installer .title h2{color:#fff;margin-bottom:20px}.download-container .installer .title .new{background-color:#fff;color:#000;padding:0 5px;border-radius:3px}@media (max-width:767px){.download-container .installer .title .new{position:relative;top:10px}}.download-container .installer .options{background-color:rgba(0,0,0,0.6);padding:20px 20px 0}.download-container .installer .orange{color:#f7941e}.download-container .installer a:not(.btn-primary){color:#f7941e;font-weight:normal}.download-container .default-download a:not(.btn-primary){color:#f7941e;font-weight:normal}.download-container .default-download .btn-primary{margin-bottom:10px}.download-container .default-download .title,.download-container .default-download .row-item{padding-bottom:10px;margin-bottom:10px}.download-container .default-download .package-row{border-top:1px solid #e6e6e6}.download-container .default-download .package-row .download-counts{background-color:#e6e6e6;padding:3px 5px;font-size:10px}.download-container .default-download .package-row .list-inline{margin-left:0}.download-container .default-download .package-row p{font-size:12px}.download-container .default-download .package-row .download .fa-download{font-size:20px}@media (max-width:767px){.download-container .default-download .package-row .download p{font-weight:bold}}.download-container .default-download .package-row.promo{position:relative}.download-container .default-download .package-row.promo .more-info{position:absolute;right:0;bottom:0;background-color:#f7941e;border-radius:5px 0 0 0;padding:0 5px}.download-container .default-download .package-row.promo .more-info a{color:#fff}.download-container .default-download .package-row.promo .more-info a:hover{text-decoration:none}.download-container .default-download h2,.download-container .default-download h3{margin-top:10px}.download-container .default-download h3{font-size:21px}.download-container .default-download h3 a{color:#2c2255}.download-container .default-download .form-choose-platform{margin-top:10px}.download-container .default-download .form-choose-platform label{font-weight:normal;font-size:12px;position:relative;top:3px;margin-right:10px}@media (min-width:768px){.download-container .default-download .form-choose-platform label{float:right}}@media (max-width:767px){.download-container .default-download .form-choose-platform label{float:left}}.download-container .default-download .form-choose-platform select{font-size:12px}@media (min-width:768px){.download-container .default-download .form-choose-platform select{float:right;margin-left:10px}}@media (max-width:767px){.download-container .default-download .form-choose-platform.text-right{text-align:left}}ul.list-inline .divider.white{border-left:1px solid #fff}ul.list-inline .divider.black{border-left:1px solid #000}ul.list-inline .divider{line-height:1.4;height:100%;height:15px;padding-right:0;padding-left:0;margin-left:4px;position:relative;top:2px}.no-border{border:none}@media (min-width:768px){.vertical-align-min-md{display:flex;align-items:center}}#filter-placeholder{margin-top:6px;text-transform:capitalize;background:#2c2f33;color:#a2a8ad;border-color:#414346;font-size:1.1em}#filter-placeholder ul.ft-menu>li.ft-field{margin-right:0}#filter-placeholder ul.ft-menu>li.ft-field>span.ft-label:before{content:"" !important;width:auto}
\ No newline at end of file
+.download-link-1 a{padding-left:12px;border-left:1px solid #fff}.padding-left-0{padding-left:0}.icon{text-align:center}@media (min-width:768px){.icon{text-align:right}}@media (max-width:767px){.xs-sm-text-center{text-align:center}}.downloadLink-icon{text-align:center;padding-top:26px}@media (min-width:768px){.downloadLink-icon{text-align:right}}.downloadLink-content ul{margin-bottom:0}.downloadLink-content ul li{padding-bottom:0}@media (min-width:768px){.downloadLink-content{padding-left:0}.downloadLink-icon{pading-right:0}}.ad{margin-bottom:2em}.package-row{border-top:1px solid #ddd;padding:12px 6px}.package-row.zebra{background:#fafafa}@media (max-width:767px){.package-row{padding:24px 12px}}@media (max-width:767px){.package-row .icon{margin-bottom:20px}}.package-row .download-icon{font-size:3em;text-align:right;margin-top:-7px}.package-row.promo .download-icon{margin-top:7px}.package-row .download-link a{font-weight:bold}.package-row h2{margin:10px 0 0 0;font-weight:700;font-size:1.3em}.package-row h2 a{color:#111}.os-warning{padding:10px;background:#ffe5b4}.download-container .options a,.download-container #download-packages a{color:#f7941e;font-weight:normal}.download-container .well{border-radius:0;border-top:0;margin-top:-20px}.download-container .default-download .btn-primary{margin-bottom:10px}.download-container .default-download .package-row{border-top:1px solid #e6e6e6}.download-container .default-download .package-row .download-counts{background-color:#e6e6e6;padding:3px 5px;font-size:10px}.download-container .default-download .package-row .list-inline{margin-left:0}.download-container .default-download .package-row p{font-size:12px}.download-container .default-download .package-row .download .fa-download{font-size:20px}@media (max-width:767px){.download-container .default-download .package-row .download p{font-weight:bold}}.download-container .default-download .package-row.promo{position:relative}.download-container .default-download .package-row.promo .more-info{position:absolute;right:0;bottom:0;background-color:#f7941e;border-radius:5px 0 0 0;padding:0 5px}.download-container .default-download .package-row.promo .more-info a{color:#fff}.download-container .default-download .package-row.promo .more-info a:hover{text-decoration:none}.download-container .default-download h2,.download-container .default-download h3{margin-top:10px}.download-container .default-download h3{font-size:21px}.download-container .default-download h3 a{color:#2c2255}.download-container .default-download .form-choose-platform{color:#fff}.download-container .default-download .form-choose-platform label{font-weight:normal;font-size:12px;position:relative;top:3px;margin-right:10px}@media (min-width:768px){.download-container .default-download .form-choose-platform label{float:right}}@media (max-width:767px){.download-container .default-download .form-choose-platform label{float:left}}.download-container .default-download .form-choose-platform select{font-size:12px}@media (min-width:768px){.download-container .default-download .form-choose-platform select{float:right;margin-left:10px}}@media (max-width:767px){.download-container .default-download .form-choose-platform.text-right{text-align:left}}ul.list-inline .divider.white{border-left:1px solid #fff}ul.list-inline .divider.black{border-left:1px solid #000}ul.list-inline .divider{line-height:1.4;height:100%;height:15px;padding-right:0;padding-left:0;margin-left:4px;position:relative;top:2px}.no-border{border:none}@media (min-width:768px){.vertical-align-min-md{display:flex;align-items:center}}#filter-placeholder{margin-top:6px;text-transform:capitalize;background:#2c2f33;color:#a2a8ad;border-color:#414346;font-size:1.1em}#filter-placeholder ul.ft-menu>li.ft-field{margin-right:0}#filter-placeholder ul.ft-menu>li.ft-field>span.ft-label:before{content:"" !important;width:auto}.installer{background-image:url(../images/installer-bg.jpg);background-size:cover;text-align:center;margin-bottom:20px;color:#fff}.installer .title{padding:20px 20px 0}.installer .title h2{color:#fff;margin-bottom:20px}.installer .title .label-new{background-color:#fff;color:#000;font-size:.6em;font-weight:300}@media (min-width:768px){.installer .title .label-new{margin-bottom:25px;margin-left:10px;padding:4px 5px;position:absolute;top:5px}}.installer .options{background-color:rgba(0,0,0,0.6);padding:10px 10px 0}.installer .orange{color:#f7941e}.header-row{padding:6px 6px 4px 6px}.header-row h2{font-size:1.5em}.header-row a{color:#fff;font-weight:normal}.header-row a.active{font-weight:bold;color:#2f2f31}.orange-download-link a{color:#f7941e}
\ No newline at end of file
diff --git a/assets/public/stylesheets/mirror.min.css b/assets/public/stylesheets/mirror.min.css
index c579bbb..ff4b22a 100644
--- a/assets/public/stylesheets/mirror.min.css
+++ b/assets/public/stylesheets/mirror.min.css
@@ -1 +1 @@
-#novaContent h2{font-size:24px;margin-bottom:20px;margin-top:40px}#novaContent h3{font-size:18px;font-weight:bold}#novaContent .well-installer{background-color:#fafafa;box-shadow:none}#novaContent .well-installer h3{margin-top:0}#novaContent .checksums-options a{background-color:#fff;border:1px solid #ccc;border-radius:3px;padding:0 10px;font-weight:normal;cursor:pointer;color:#2c2255}#novaContent .checksums-options a:hover{background-color:#211764;border-color:#211764;color:#fff;text-decoration:none}#novaContent .checksums-options li.active a{background-color:#211764;border-color:#211764;color:#fff;text-decoration:none}#novaContent .tab-content{padding:0;border:none;background:transparent}#novaContent .tab-content .tab-pane{padding:0}#novaContent .tab-content .well{border:none;box-shadow:none;background-color:#ededed}#novaContent .tab-content .well p{margin-bottom:0;word-wrap:break-word}#novaContent .download-faster .row-item{border-bottom:1px solid #e6e6e6;padding:20px 20px}#novaContent .download-faster .row-item h3{margin-top:0}#novaContent .choose-mirror h3{font-weight:normal}#novaContent .choose-mirror a{color:#211743}
\ No newline at end of file
+#novaContent .left-sidebar .choose-mirror h2{font-size:21.5px}#novaContent h2{font-size:24px;margin-bottom:20px;margin-top:40px}#novaContent h3{font-size:18px;font-weight:bold}#novaContent .well-installer{background-color:#fafafa;box-shadow:none}#novaContent .well-installer h3{margin-top:0}#novaContent .checksums-options a{background-color:#fff;border:1px solid #ccc;border-radius:3px;padding:0 10px;font-weight:normal;cursor:pointer;color:#2c2255}#novaContent .checksums-options a:hover{background-color:#211764;border-color:#211764;color:#fff;text-decoration:none}#novaContent .checksums-options li.active a{background-color:#211764;border-color:#211764;color:#fff;text-decoration:none}#novaContent .tab-content{padding:0;border:none;background:transparent}#novaContent .tab-content .tab-pane{padding:0}#novaContent .tab-content .well{border:none;box-shadow:none;background-color:#ededed}#novaContent .tab-content .well p{margin-bottom:0;word-wrap:break-word}#novaContent .download-faster .row-item{position:relative;border-bottom:1px solid #e6e6e6;padding:20px 20px}#novaContent .download-faster .row-item h3{margin-top:0}#novaContent .choose-mirror h3{font-weight:normal;color:#353535}.member-btn-download{position:absolute;right:0;bottom:30px}.member-btn-download .btn-sm{padding:3px 7px;font-size:9px}.download-or{color:#fff;font-weight:bold;padding:3px 4px;position:absolute;right:5px;top:40px}.download-or:after{border-right:10px solid transparent;border-top:10px solid #ca7200;bottom:-10px;content:" ";height:0;position:absolute;right:0;width:0}
\ No newline at end of file
diff --git a/assets/src/javascript/downloads.js b/assets/src/javascript/downloads.js
index 2351c83..2d969d7 100644
--- a/assets/src/javascript/downloads.js
+++ b/assets/src/javascript/downloads.js
@@ -11,14 +11,8 @@
  *    Christopher Guindon (Eclipse Foundation)- initial API and implementation
  */
 (function( jQuery, window, document ) {
-	
-  jQuery(document).ready(function($) {
-      
-    /*
-      $('#filter-placeholder').html('<div id="filter-container"></div>');
-      $.filtrify('download-packages', 'filter-container');
-    */
 
+  jQuery(document).ready(function($) {
     function getUrlVars() {
         var vars = {};
         var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
@@ -27,6 +21,14 @@
         return vars;
     }
 
+    $('#collapseEinstaller').on('show.bs.collapse', function () {
+      $("html, body").animate({ scrollTop: $('#collapseEinstaller1').offset().top }, 1000);
+    });
+
+    $('#collapseEinstaller').on('hidden.bs.collapse', function () {
+        $("html, body").animate({ scrollTop: $('body').offset().top }, 1000);
+      });
+
     $("#osSelect").change(function() {
       var release = getUrlVars()["release"];
       var src = '?osType=' + $("option:selected", this).val();
diff --git a/assets/src/javascript/ajax-checksum.js b/assets/src/javascript/mirror.js
similarity index 66%
rename from assets/src/javascript/ajax-checksum.js
rename to assets/src/javascript/mirror.js
index af94473..52c644f 100644
--- a/assets/src/javascript/ajax-checksum.js
+++ b/assets/src/javascript/mirror.js
@@ -35,5 +35,26 @@
         }
       });
     });
+
+    $('.mirror-continent').slice(1).hide();
+    $('#show_all_mirrors').click( function(e) { 
+      e.preventDefault();
+      if ($('.mirror-section-2').is(":visible")) {
+        $('.mirror-continent').slice(1).hide();
+        $('html, body').animate({
+            scrollTop: $(".mirror-section-1").offset().top
+        }, 500);
+        $(this).text('Show all');
+      }
+      else{
+        $('.mirror-continent').show();
+        $('html, body').animate({
+            scrollTop: $(".mirror-section-2").offset().top
+        }, 500, 'swing', function() {
+          $('#show_all_mirrors').text('Hide');
+        });
+      }
+      return FALSE;
+    });
   });
 })( jQuery, window, document );
\ No newline at end of file
diff --git a/assets/src/stylesheets/downloads.less b/assets/src/stylesheets/downloads.less
index d6334ea..ed8011b 100644
--- a/assets/src/stylesheets/downloads.less
+++ b/assets/src/stylesheets/downloads.less
@@ -53,9 +53,6 @@
   }
 }
 
-#other-releases{
-  margin-top:6px;
-}
 
 .ad{
   margin-bottom:2em;
@@ -70,9 +67,6 @@
   @media ( max-width : 767px) {
     padding:24px 12px;
   }
-  p{
-     //margin-bottom:0;
-  }
   .icon{
      @media ( max-width : 767px) {
        margin-bottom:20px;
@@ -110,72 +104,25 @@
 
 /* Download Page */
 .download-container{
-  default-download{
-    >header-row{
-      margin-top:40px;
-    }
-  }
-  .header-row{
-    margin-top:0px;
-    h2{
-      color:#2C2255;
-      font-size:30px;
-    }
-  }
-  .installer{
-    background-image:url(../images/installer-bg.jpg);
-    background-size:cover;
-    text-align:center;
-    margin-bottom:20px;
-    color:#fff;
-    .title{
-      padding:20px 20px 0;
-      .installer-logo{
-        @media (min-width: 768px) {
-          position:absolute;
-          left:0;
-          top:40px;
-        }
-      }
-      h2{
-        color:#fff;
-        margin-bottom:20px;
-      }
-      .new{
-        background-color:#fff;
-        color:#000;
-        padding:0 5px;
-        border-radius:3px;
-        @media (max-width: 767px) {
-          position:relative;
-          top:10px;
-        }
-      }
-    }
-    .options{
-      background-color:rgba(0,0,0,0.6);
-      padding:20px 20px 0;
-    }
-    .orange{
-      color:#F7941E;
-    }
+  .options, 
+  #download-packages{
     a{
-      color:#F7941E;
-      font-weight:normal;
+      color: #f7941e;
+      font-weight: normal;
     }
   }
+
+  .well{
+    border-radius:0;
+    border-top:0;
+    margin-top: -20px;
+  }
+  
   .default-download{
-    a:not(.btn-primary){
-      color:#F7941E;
-      font-weight:normal;
-    }
     .btn-primary{
       margin-bottom:10px;
     }
-    .title, .row-item{
-      padding-bottom:10px;
-      margin-bottom:10px;
-    }
+
     .package-row{
       border-top:1px solid #E6E6E6;
       .download-counts{
@@ -228,7 +175,7 @@
       }
     }
     .form-choose-platform{
-      margin-top:10px;
+      color:#fff;
       label{
         @media (min-width: 768px) {
           float:right;
@@ -307,3 +254,61 @@
     }
   }
 }
+
+/* Eclipse Installer */
+.installer{
+  background-image:url(../images/installer-bg.jpg);
+  background-size:cover;
+  text-align:center;
+  margin-bottom:20px;
+  color:#fff;
+  .title{
+    padding:20px 20px 0;
+
+    h2{
+      color:#fff;
+      margin-bottom:20px;
+    }
+    .label-new{
+      background-color: #fff;
+      color: #000;
+      font-size: 0.6em;
+      font-weight: 300;
+      @media (min-width: 768px) {
+        margin-bottom: 25px;
+        margin-left: 10px;
+        padding: 4px 5px;
+        position: absolute;
+        top: 5px;
+      }
+    }
+  }
+  .options{
+    background-color:rgba(0,0,0,0.6);
+    padding:10px 10px 0;
+  }
+  .orange{
+    color:#F7941E;
+  }
+}
+
+.header-row{
+  padding:6px 6px 4px 6px;
+  h2{
+    font-size:1.5em;
+  }
+  a{
+    color:#fff;
+    font-weight:normal;
+    &.active{
+      font-weight:bold;
+      color:#2f2f31;
+    }
+  }
+}
+
+.orange-download-link{
+  a{
+    color:#f7941e;
+  }
+}
\ No newline at end of file
diff --git a/assets/src/stylesheets/mirror.less b/assets/src/stylesheets/mirror.less
index 1965b42..96f0b89 100644
--- a/assets/src/stylesheets/mirror.less
+++ b/assets/src/stylesheets/mirror.less
@@ -5,6 +5,13 @@
 // -------------------------------------------------------
 
 #novaContent{
+  .left-sidebar{
+    .choose-mirror{
+      h2{
+        font-size:21.5px;
+      }
+    }
+  }
   h2{
     font-size:24px;
     margin-bottom:20px;
@@ -67,6 +74,7 @@
   }
   .download-faster{
     .row-item{
+      position:relative;
       border-bottom:1px solid #E6E6E6;
       padding:20px 20px;
       h3{
@@ -74,13 +82,41 @@
       }
     }
   }
+
   .choose-mirror{
     h3{
       font-weight:normal;
-    }
-    a{
-      color:#211743;
+      color:#353535;
     }
   }
 }
 
+.member-btn-download{
+  position:absolute;
+  right:0;
+  bottom:30px;
+  .btn-sm{
+    padding:3px 7px; 
+    font-size:9px;
+  }
+}
+
+.download-or{
+  color: #fff;
+  font-weight: bold;
+  padding: 3px 4px;
+  position: absolute;
+  right: 5px;
+  top: 40px;
+  
+  &:after{
+    border-right: 10px solid transparent;
+    border-top: 10px solid #ca7200;
+    bottom: -10px;
+    content: " ";
+    height: 0;
+    position: absolute;
+    right: 0;
+    width: 0;
+  }
+}
diff --git a/content/en_download.php b/content/en_download.php
index 6feaa02..77d3e0c 100644
--- a/content/en_download.php
+++ b/content/en_download.php
@@ -30,8 +30,8 @@
 $download_link = array(
   'url' => 'download.php?file=' . $_file,
   'text' => '',
-  'icon' => '<i class="fa fa-download"></i>',
-  'suffix' => '...or pick a local mirror site below '
+  'icon' => '',
+  'suffix' => ''
 );
 
 # Load up distros program if file selected is a Galileo/SDK package
@@ -151,123 +151,25 @@
   }
   return $friendsHTML;
 }
-
+$mirror_html = '';
+if (!empty($mirrors)) {
+ob_start();
 ?>
-
-<div id="midcolumn">
-  <h1><?php print $pageTitle; ?></h1>
-  <p>All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation
-  Software User Agreement</a> unless otherwise specified.</p>
-  <div class="well well-installer margin-top-25">
-    <?php if (!$mirror_is_available) :?>
-      <p><strong>There are no mirrors for this file.</strong><?php print $commiter_link;?></p>
-    <?php endif;?>
-    <?php //@todo: Add human friendly name to a file (Eclipse Installer).
-    if ($packageName != "") :?>
-    <!--<h3>Eclipse Installer</h3>-->
-    <?php endif;?>
-    <p><strong>File:</strong> <?php print $strFileName;?></p>
-    <?php if ($md5sum != "" || $sha1sum != "" || $sha512sum != "") :?>
-    <div role="tabpanel">
-    <!-- Nav tabs -->
-      <ul role="tablist" class="checksums-options list-inline">
-        <li><strong>Checksums: </strong></li>
-        <?php if ($md5sum != "") :?>
-          <li role="presentation">
-            <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="md5" data-toggle="tab" role="tab" aria-controls="profile" href="#btn-ajax-checksum-md5">MD5</a>
-          </li>
-        <?php endif;?>
-        <?php if ($sha1sum != "") :?>
-        <li role="presentation">
-          <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="sha1" data-toggle="tab" role="tab" aria-controls="messages" href="#btn-ajax-checksum-sha1">SHA1</a>
-        </li>
-        <?php endif;?>
-        <?php if ($sha512sum != "") :?>
-        <li role="presentation">
-          <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="sha512" data-toggle="tab" role="tab" aria-controls="settings" href="#btn-ajax-checksum-sha512">SHA-512</a>
-        </li>
-         <?php endif;?>
-      </ul>
-      <!-- Tab panes -->
-      <div class="tab-content">
-        <?php if ($md5sum != "") :?>
-        <div id="btn-ajax-checksum-md5" class="tab-pane fade" role="tabpanel">
-          <div class="well">
-            <p></p>
-          </div>
-        </div>
-        <?php endif;?>
-        <?php if ($sha1sum != "") :?>
-        <div id="btn-ajax-checksum-sha1" class="tab-pane fade" role="tabpanel">
-          <div class="well">
-            <p></p>
-          </div>
-        </div>
-        <?php endif;?>
-        <?php if ($sha512sum != "") :?>
-        <div id="btn-ajax-checksum-sha512" class="tab-pane fade" role="tabpanel">
-          <div class="well">
-           <p></p>
-          </div>
-        </div>
-        <?php endif;?>
+  <div class="choose-mirror">
+    <h2>Choose a mirror close to you</h2>
+    <?php $x = 0; ?>
+    <?php foreach ($mirrors as $continent => $mir):?>
+      <?php $x++; ?>
+      <div class="mirror-continent mirror-section-<?php print $x;?>">
+        <h3><?php print $continent?></h3>
+        <ul class="list-unstyled">
+          <?php print _print_mirror_list($mir);?>
+       </ul>
       </div>
-    </div>
-    <?php endif;?>
-    <a href="<?php print $download_link['url'];?>" class="btn btn-warning margin-bottom-15"><i class="fa fa-download"></i> Download</a>
-    <p>Download from: <?php print $download_link['icon'];?> <a href="<?php print $download_link['url'];?>" class="orange"><?php print $download_link['text'];?></a> <?php print $download_link['suffix'];?></p>
+    <?php endforeach;?>
+    <a class="btn btn-sm btn-primary" id="show_all_mirrors" href="#show_all_mirrors">Show all</a>
   </div>
-<?php if (count($companies) > 0 || $friends_html != "") :?>
-  <div class="download-faster">
-    <h2>Get It Faster Here</h2>
-    <?php if (count($companies) > 0) :?>
-       <?php foreach($companies as $company) :?>
-         <?php $link = $company->linkTo . "@" . strtoupper($packageName . "-" . $osName);?>
-           <div class="row-item">
-             <div class="row">
-               <div class="col-sm-3">
-                 <a href="<?php print $link;?>">
-                   <img src="distros/images/<?php print $company->companyLogo;?>" align="left" />
-                 </a>
-               </div>
-               <div class="col-sm-15">
-                 <h3>
-                   <a href="<?php print $link;?>"><?php print $company->companyName;?></a>
-                </h3>
-                <p><?php print $company->companyBlurb;?></p>
-              </div>
-            </div>
-          </div>
-        <?php endforeach;?>
-      <?php else:?>
-        <?php print $friends_html; ?>
-    <?php endif;?>
-  </div>
-<?php endif;?>
-
-  <?php if (!empty($mirrors_internal)):?>
-    <div class="choose-mirror">
-      <h2>The following Internal Mirrors should be used for this file</h2>
-      <?php foreach ($mirrors_internal as $continent => $mir):?>
-        <h3><?php print $continent?></h3>
-        <ul class="list-unstyled">
-          <?php print _print_mirror_list($mir);?>
-        </ul>
-      <?php endforeach;?>
-    </div>
-  <?php endif;?>
-
-  <?php if (!empty($mirrors)):?>
-    <div class="choose-mirror">
-      <h2>Choose a mirror close to you</h2>
-      <?php foreach ($mirrors as $continent => $mir):?>
-        <h3><?php print $continent?></h3>
-        <ul class="list-unstyled">
-          <?php print _print_mirror_list($mir);?>
-        </ul>
-      <?php endforeach;?>
-    </div>
-  <?php endif;?>
+  <hr/>
 
   <?php if (count($companies) > 0) :?>
     <?php print $friends_html;?>
@@ -279,24 +181,135 @@
       <li>Canada - <a href="download.php?file=<?print $_file; ?>&mirror_id=1">Main eclipse.org downloads area</a></li>
     </ul>
   </div>
+  <?php
+  $mirror_html = ob_get_clean();
+}
+$members_html = "";
+ob_start();
+if (count($companies) > 0) {?>
+  <h2>Get It Faster from our Members</h2>
+  <?php if (count($companies) > 0) :?>
+     <?php foreach($companies as $company) :?>
+       <?php $link = $company->linkTo . "@" . strtoupper($packageName . "-" . $osName);?>
+       <div class="row-item">
+         <div class="row">
+           <div class="col-sm-3">
+             <a href="<?php print $link;?>">
+               <img src="distros/images/<?php print $company->companyLogo;?>" align="left" class="img-responsive"/>
+             </a>
+           </div>
+           <div class="col-sm-16">
+             <h3>
+               <a href="<?php print $link;?>"><?php print $company->companyName;?></a>
+            </h3>
+            <p><?php print $company->companyBlurb;?></p>
+          </div>
+          <div class="col-sm-5 member-btn-download">
+            <a href="<?php print $link;?>" class="btn btn-sm btn-warning">Download</a>
+          </div>
+        </div>
+      </div>
+    <?php endforeach;?>
+  <?php endif;?>
+<?php
+  }
+$members_html = ob_get_clean();
+?>
 
-  <div class="text-center padding-top-15 padding-bottom-10">
-    <script type="text/javascript"><!--
-    google_ad_client = "pub-6797025590085056";
-    /* 468x60, created 5/28/08 */
-    google_ad_slot = "9054930060";
-    google_ad_width = 468;
-    google_ad_height = 60;
-    //-->
-    </script>
-    <script type="text/javascript"
-    src="//pagead2.googlesyndication.com/pagead/show_ads.js">
-    </script>
+
+<div class="col-md-18">
+  <h1><?php print $pageTitle; ?></h1>
+  <p>All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation
+  Software User Agreement</a> unless otherwise specified.</p>
+  <div class="row">
+    <div class="col-md-9 left-sidebar">
+      <div class="well well-installer margin-top-25">
+        <div class="download-or background-orange hidden-sm">
+          OR <i class="fa fa-chevron-right"></i>
+        </div>
+        <?php if (!$mirror_is_available) :?>
+          <p><strong>There are no mirrors for this file.</strong><?php print $commiter_link;?></p>
+        <?php endif;?>
+        <?php //@todo: Add human friendly name to a file (Eclipse Installer).
+        if ($packageName != "") :?>
+        <!--<h3>Eclipse Installer</h3>-->
+        <?php endif;?>
+        <p>Download from: <?php print $download_link['icon'];?> <a href="<?php print $download_link['url'];?>" class=""><?php print $download_link['text'];?></a><?php print $download_link['suffix'];?></p>
+        <p><strong>File:</strong> <?php print $strFileName;?></p>
+        <?php if ($md5sum != "" || $sha1sum != "" || $sha512sum != "") :?>
+          <div role="tabpanel">
+            <!-- Nav tabs -->
+            <ul role="tablist" class="checksums-options list-inline">
+              <li><strong>Checksums: </strong></li>
+              <?php if ($md5sum != "") :?>
+                <li role="presentation">
+                  <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="md5" data-toggle="tab" role="tab" aria-controls="profile" href="#btn-ajax-checksum-md5">MD5</a>
+                </li>
+              <?php endif;?>
+              <?php if ($sha1sum != "") :?>
+                <li role="presentation">
+                  <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="sha1" data-toggle="tab" role="tab" aria-controls="messages" href="#btn-ajax-checksum-sha1">SHA1</a>
+                </li>
+              <?php endif;?>
+              <?php if ($sha512sum != "") :?>
+                <li role="presentation">
+                  <a  class="btn-ajax-checksum" data-checksum-file="<?php print $_file;?>" data-checksum-type="sha512" data-toggle="tab" role="tab" aria-controls="settings" href="#btn-ajax-checksum-sha512">SHA-512</a>
+                </li>
+               <?php endif;?>
+             </ul>
+             <!-- Tab panes -->
+            <div class="tab-content">
+              <?php if ($md5sum != "") :?>
+                <div id="btn-ajax-checksum-md5" class="tab-pane fade" role="tabpanel">
+                  <div class="well">
+                  <p></p>
+                </div>
+               </div>
+              <?php endif;?>
+              <?php if ($sha1sum != "") :?>
+                <div id="btn-ajax-checksum-sha1" class="tab-pane fade" role="tabpanel">
+                  <div class="well">
+                  <p></p>
+                </div>
+              </div>
+            <?php endif;?>
+            <?php if ($sha512sum != "") :?>
+              <div id="btn-ajax-checksum-sha512" class="tab-pane fade" role="tabpanel">
+                <div class="well">
+                 <p></p>
+                </div>
+              </div>
+            <?php endif;?>
+          </div>
+        </div>
+      <?php endif;?>
+      <a href="<?php print $download_link['url'];?>" class="btn btn-warning margin-bottom-15"><i class="fa fa-download"></i> Download</a>
+      </div>
+      <?php if (!empty($members_html)) :?>
+        <?php print $mirror_html; ?>
+      <?php endif;?>
+    </div>
+    <div class="download-faster col-md-15">
+      <?php if (empty($members_html)) :?>
+        <?php print $mirror_html; ?>
+        <?php print $friends_html; ?>
+      <?php else:?>
+          <?php print $members_html;?>
+      <?php endif;?>
+      <?php if (!empty($mirrors_internal)) :?>
+        <div class="choose-mirror">
+          <h2>The following Internal Mirrors should be used for this file</h2>
+          <?php foreach ($mirrors_internal as $continent => $mir):?>
+            <h3><?php print $continent?></h3>
+            <ul class="list-unstyled">
+              <?php print _print_mirror_list($mir);?>
+            </ul>
+          <?php endforeach;?>
+        </div>
+      <?php endif;?>
+    </div>
   </div>
-
-  <hr class="clearer" />
 </div>
-
 <div id="rightcolumn">
   <div class="padding-top-10">
     <?php print chooseRandomPromo();?>
@@ -318,3 +331,14 @@
     </ul>
   </div>
 </div>
+<div class="text-center padding-top-15 padding-bottom-10 col-md-24 clearfix">
+  <script type="text/javascript"><!--
+  google_ad_client = "pub-6797025590085056";
+  /* 468x60, created 5/28/08 */
+  google_ad_slot = "9054930060";
+  google_ad_width = 468;
+  google_ad_height = 60;
+  //-->
+  </script>
+  <script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+  </div>
\ No newline at end of file
diff --git a/download.php b/download.php
index 6ec471b..58d0597 100755
--- a/download.php
+++ b/download.php
@@ -558,7 +558,7 @@
         include("content/en_" . $App->getScriptName());
         $html = ob_get_clean();
         # Generate the web page
-        $App->AddExtraJSFooter('<script type="text/javascript" src="/downloads/assets/public/javascript/ajax-checksum.min.js"></script>');
+        $App->AddExtraJSFooter('<script type="text/javascript" src="/downloads/assets/public/javascript/mirror.min.js"></script>');
         $App->AddExtraHtmlHeader('<link href="/downloads/assets/public/stylesheets/mirror.min.css" media="screen" rel="stylesheet" type="text/css"/>');
        // Place your html content in a file called content/en_pagename.php
         $App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
diff --git a/downloads/controller.downloads.php b/downloads/controller.downloads.php
index 6b0f150..06954e3 100644
--- a/downloads/controller.downloads.php
+++ b/downloads/controller.downloads.php
@@ -42,6 +42,8 @@
       $this->buildDownload();
     }
     $html = '<div id="download-packages-container">';
+    $html .= '<div class="clearfix header-row background-charcoal"><div class="col-xs-16">
+    <h2>...or download an Eclipse Package</h2></div><div class="col-xs-8"></div></div>';
     $html .= '<div id="download-packages">';
     $html .= $this->download_rows;
     $html .= '</div>';
@@ -71,8 +73,11 @@
     return ob_get_clean();
   }
 
-  public function standardOutput() {
-    if(empty($this->download_standard)){
+  public function standardOutput($Installer = NULL) {
+    if (!is_null($Installer)) {
+      $this->download_standard = $Installer->output();
+    }
+    else if (empty($this->download_standard)) {
       $this->buildDownload();
     }
 
@@ -385,26 +390,26 @@
     }
 
     foreach ($this->packages as $value => $package) {
-      if ($count == 3 && (($random >= 1 && $random <= 16) || $random == 'jrebel')) {
+      if ($count == 2 && (($random >= 1 && $random <= 16) || $random == 'jrebel')) {
         $promo = $this->promotedDownload($this->ads['jrebel'], $zebra);
         $this->download_rows .= $promo;
         $zebra = !$zebra;
       }
-      elseif ($count == 3 && (($random >= 17 && $random <= 32) || $random == 'springsource')) {
+      elseif ($count == 2 && (($random >= 17 && $random <= 32) || $random == 'springsource')) {
         $promo = $this->promotedDownload($this->ads['springsource'], $zebra);
         $this->download_rows .= $promo;
           $zebra = !$zebra;
       }
-      elseif ($count == 3 && (($random >= 33 && $random <= 49) || $random == 'actuate_c')) {
+      elseif ($count == 2 && (($random >= 33 && $random <= 49) || $random == 'actuate_c')) {
         $promo = $this->promotedDownload($this->ads['actuate_c'], $zebra);
         $this->download_rows .= $promo;
         $zebra = !$zebra;
       }
-      elseif ($count == 3 && (($random >= 50 && $random <= 66) || $random == 'ibm_a')) {
+      elseif ($count == 2 && (($random >= 50 && $random <= 66) || $random == 'ibm_a')) {
         $promo = $this->promotedDownloadIBM($this->ads['ibm_a'], 'promo');
         $this->download_rows .= $promo;
       }
-      elseif ($count == 3 && (($random >= 67 && $random <= 83) || $random == 'ibm_b')) {
+      elseif ($count == 2 && (($random >= 67 && $random <= 83) || $random == 'ibm_b')) {
         $promo = $this->promotedDownloadIBM($this->ads['ibm_b'], 'promo');
         $this->download_rows .= $promo;
       }
diff --git a/downloads/controller.eclipseInstaller.php b/downloads/controller.eclipseInstaller.php
index b876f80..73faf26 100644
--- a/downloads/controller.eclipseInstaller.php
+++ b/downloads/controller.eclipseInstaller.php
@@ -55,7 +55,8 @@
    $safe_label = $this->_getSafeName($label);
     $this->platform[$safe_label] = array(
       'label' => $label,
-      'icon' => '<img src="/downloads/assets/public/images/icon-' . $safe_label . '.png"/>',
+      //'icon' => '<img src="/downloads/assets/public/images/icon-' . $safe_label . '.png"/>',
+      'icon' => '',
       'links' => array(),
     );
   }
diff --git a/downloads/views/view.downloads.php b/downloads/views/view.downloads.php
index 36a6cd1..b7b455b 100644
--- a/downloads/views/view.downloads.php
+++ b/downloads/views/view.downloads.php
@@ -17,34 +17,40 @@
 //Adding a 100% counter for the downloads page
 $impression = new CampaignImpression('DOWNLOADPAGE', $_SERVER['REQUEST_URI'], @gethostbyaddr($_SERVER['REMOTE_ADDR']));
 $impression->recordImpression();
+
+$current_release = strtolower($Downloads->getReleaseName());
+$current = strtolower(filter_var($App->getHTTPParameter('release', 'get'), FILTER_SANITIZE_STRING));
+$sub_menu = array();
+$sub_menu['alt']['class'] = '';
+$sub_menu['dev']['class'] = 'active';
+if ($current_release == $current) {
+  $sub_menu['alt']['class'] = 'active';
+  $sub_menu['dev']['class'] = '';
+}
+
 ?>
 <div class="default-download">
-<?php print $EclipseInstaller->output();?>
-<?php if($page == 'download'):?>
-<p class="text-center"><a class="btn btn-primary" href="/downloads/installer-instructions.php">6 Steps to Install Eclipse</a></p>
-<?php endif; ?>
+
 <?php if($page == 'download' && $Downloads->getOs() == "macosx") :?>
 <div class="alert alert-danger" role="alert">
-<strong>Mac OS X users please note:</strong> Eclipse requires Mac OS X 10.5 (Leopard) or greater.
-You might get a warning on some installations due to recent changes how Apple treats signatures.
-Please see <a href="https://discussions.apple.com/thread/6551715" target="_blank">this post</a> for a possible solution.
+  <strong>Mac OS X users please note:</strong> Eclipse requires Mac OS X 10.5 (Leopard) or greater.
+  You might get a warning on some installations due to recent changes how Apple treats signatures.
+  Please see <a href="https://discussions.apple.com/thread/6551715" target="_blank">this post</a> for a possible solution.
 </div>
 <?php endif;?>
 
-<div class="header-row">
+<div class="header-row background-orange">
   <div class="row">
     <?php if($page == 'developer') :?>
-      <div id="other-releases" class="col-sm-24 float-left">
-        <span id="texttwo"><a href="index-developer.php?<?php print $release['dev']['url'];?>"><?php print $release['dev']['caption'];?></a></span>
+      <div id="other-releases" class="col-sm-9 float-left">
+        <span id="texttwo"><a href="index-developer.php?<?php print $release['dev']['url'];?>" class="<?php print $sub_menu['dev']['class']?>"><?php print $release['dev']['caption'];?></a></span>
         <?php if (!empty($release['alt'])) :?>
-          | <span id="textthree"><a href="index-developer.php?release=<?php print $release['alt']['url'];?>"><?php print $release['alt']['caption'];?></a></span>
+          | <span id="textthree"><a href="index-developer.php?release=<?php print $release['alt']['url'];?>" class="<?php print $sub_menu['alt']['class']?>"><?php print $release['alt']['caption'];?></a></span>
         <?php endif;?>
       </div>
     <?php endif;?>
-    <div class="col-sm-12">
-      <h2>Package Solutions</h2>
-    </div>
-    <div class="col-sm-12 float-right text-right padding-top-15 form-choose-platform">
+
+    <div class="col-sm-15 float-right text-right form-choose-platform">
       <?php print $Downloads->getReleaseTitle();?>
     </div>
   </div>
@@ -67,6 +73,6 @@
        in Eclipse Kepler SR2</a>.
     </div>
   <?php endif;?>
-  <?php print $Downloads->standardOutput();?>
+  <?php print $Downloads->standardOutput($EclipseInstaller);?>
   <?php print $Downloads->downloadOutput(); ?>
 </div>
diff --git a/downloads/views/view.eclipse_installer.php b/downloads/views/view.eclipse_installer.php
index 17dd303..476f5d1 100644
--- a/downloads/views/view.eclipse_installer.php
+++ b/downloads/views/view.eclipse_installer.php
@@ -13,30 +13,41 @@
 if(basename(__FILE__) == basename($_SERVER['PHP_SELF']) || empty($platforms)){exit();}
 ?>
 <div class="installer">
-    <div class="title">
-      <div class="row">
-        <div class="col-sm-6">
-          <img class="installer-logo"  src="/downloads/assets/public/images/logo-installer.png"/>
-        </div>
-        <div class="col-sm-18">
-          <h2>Eclipse <span class="orange">Installer</span> <span class="new">NEW</span></h2>
-          <p>The easiest way to install and update your Eclipse Development Environment.</p>
-          <p><a href="/downloads/installer-instructions.php">Find out more <i class="fa fa-chevron-right">&nbsp;</i></a></p>
-        </div>
+  <div class="title">
+    <div class="row">
+      <div class="col-sm-6">
+        <img class="installer-logo" width="150" src="/downloads/assets/public/images/logo-installer.png" />
       </div>
-    </div><!-- end of title -->
-    <div class="options">
-      <div class="col-sm-offset-5 col-sm-offset-6 clearfix">
-       <?php foreach ($platforms as $platform):?>
-         <div class="col-sm-8">
-           <div class="padding-bottom-5"><?php print $platform['icon'];?></div>
-            <p><?php print $platform['label'];?></p>
-            <ul class="list-inline">
-              <li><i class="fa fa-download white"></i></li>
-              <?php print implode('', $platform['links']);?>
-            </ul>
-          </div>
-        <?php endforeach;?>
+      <div class="col-sm-18">
+        <h2>Try the Eclipse <span class="orange">Installer</span> <span class="label label-default label-new">NEW</span></h2>
+        <p>The easiest way to install and update your Eclipse Development Environment.</p>
+        <p class="padding-top-5">
+          <a class="btn btn-warning btn-sm" data-target="#collapseEinstaller" class="solstice-collapse orange" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseEinstaller">
+          Find out more <i class="fa fa-chevron-down"></i>
+          </a>
+        </p>
       </div>
-    </div><!-- end of .options -->
-  </div> <!-- end of .installer -->
\ No newline at end of file
+    </div>
+  </div><!-- end of title -->
+  <div class="options">
+    <div class="col-sm-offset-5 col-sm-offset-6 clearfix">
+     <?php foreach ($platforms as $platform):?>
+       <div class="col-sm-8">
+         <div class="padding-bottom-5"></div>
+          <p><?php print $platform['icon'];?> <?php print $platform['label'];?></p>
+          <ul class="list-inline">
+            <li><i class="fa fa-download white"></i></li>
+            <?php print implode('', $platform['links']);?>
+          </ul>
+        </div>
+      <?php endforeach;?>
+    </div>
+  </div><!-- end of .options -->
+</div> <!-- end of .installer -->
+<div id="collapseEinstaller1">
+<div class="collapse<?php if (isset($_GET['show_instructions'])) { print ' in';}?>" id="collapseEinstaller">
+  <div class="well">
+  <?php include('view.installer_instructions.php');?>
+  </div>
+</div>
+</div>
\ No newline at end of file
diff --git a/downloads/views/view.installer_instructions.php b/downloads/views/view.installer_instructions.php
index 9fd5bba..d87a87a 100644
--- a/downloads/views/view.installer_instructions.php
+++ b/downloads/views/view.installer_instructions.php
@@ -10,43 +10,68 @@
  *    Eric Poirier (Eclipse Foundation) - Initial implementation
  *    Christopher Guindon (Eclipse Foundation)
  *******************************************************************************/
- ?>
-<h1><?php echo $pageTitle; ?></h1>
+?>
+<p class="float-right padding-top-25">
+  <a class="btn btn-warning btn-sm" data-target="#collapseEinstaller" class="solstice-collapse orange" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseEinstaller">
+    <i class="fa fa-times"></i> Hide
+  </a>
+</p>
+<h1>5 Steps to Install Eclipse</h1>
+
 <p class="lead">For the Mars release, we are introducing a new Eclipse installer.
-This is a new more efficient way to install Eclipse. It is a proper
+This is a new and more efficient way to install Eclipse. It is a proper
 installer, so no more zip files, with a self extracting download that
 will lead you through the installation experience.  For those not into
 installers, we still have the packages and zip files available on our download pages.</p>
 <hr>
-<h2>1. Download Eclipse Installer</h2>
-<p>Download Eclipse Installer from <a href="/downloads">http://www.eclipse.org/downloads</a></p>
+<h2>1. Download the Eclipse Installer</h2>
+<?php if (!empty($platforms)) :?>
+  <div class="row orange-download-link">
+  <?php foreach ($platforms as $platform):?>
+    <div class="col-sm-8 padding-top-10 text-center">
+      <p><?php print $platform['label'];?></p>
+      <ul class="list-inline">
+        <li><i class="fa fa-download white"></i></li>
+        <?php print implode('', $platform['links']);?>
+      </ul>
+    </div>
+  <?php endforeach;?>
+  </div>
+<?php else:?>
+  <p>Download Eclipse Installer from <a href="/downloads">http://www.eclipse.org/downloads</a></p>
+<?php endif;?>
+<!--
 <img class="img-responsive" src="assets/public/images/installer-instructions-01.png" alt="Screenshot of Eclipse Installer's web page.">
-<hr>
-<h2>2. Select the mirror for download</h2>
+ -->
 <p>Eclipse is hosted on many mirrors around the world. Please select
 the one closest to you and start to download the Installer</p>
 <hr>
-<h2>3. Start the Eclipse Installer Executable</h2>
-<p>For Windows users, after the Eclipse Installer executable has finished downloading it should
+<h2>2. Start the Eclipse Installer executable</h2>
+<p>For Windows users, after the Eclipse Installer executable has finished downloading it should be
 available in your download directory.  Start the Eclipse Installer executable.
 You may get a security warning to run this file. If the Eclipse Foundation is
 the Publisher, you are good to select Run.</p>
 <p>For Mac and Linux users, you will still need to unzip the download to create the Installer.
 Start the Installer once it is available.</p>
-<img class="img-responsive" src="assets/public/images/installer-instructions-02.png" alt="Screenshot of the Eclipse Installer executable.">
+<img class="img-responsive" src="assets/public/images/installer-instructions-02-b.png" alt="Screenshot of the Eclipse Installer executable.">
 <hr>
-<h2>4. Select package to install from the Eclipse Installer</h2>
+<h2>3. Select the package to install</h2>
 <p>The new Eclipse Installer shows the packages available to Eclipse users.
 You can search for the package you want to install or scroll through the list.</p>
 <p>Select and click on the package you want to install.</p>
 <img class="img-responsive" src="assets/public/images/installer-instructions-03.png" alt="Screenshot of the Eclipse packages.">
 <hr>
-<h2>5. Select Installation Folder</h2>
+<h2>4. Select your installation folder</h2>
 <p>Specify the folder where you want Eclipse to be installed. The default folder will be in your User directory.</p>
-<p>Select ‘Install’ button to begin the installation.</p>
+<p>Select the ‘Install’ button to begin the installation.</p>
 <img class="img-responsive" src="assets/public/images/installer-instructions-04.png" alt="Screenshot of the Install window.">
 <hr>
-<h2>6. Launch Eclipse</h2>
-<p>Once the installation is complete you can now Launch Eclipse.
-The Eclipse Installer has done it work. Happy coding.</p>
-<img class="img-responsive" src="assets/public/images/installer-instructions-05.png" alt="Screenshot of the Launch window.">
\ No newline at end of file
+<h2>5. Launch Eclipse</h2>
+<p>Once the installation is complete you can now launch Eclipse.
+The Eclipse Installer has done it's work. Happy coding.</p>
+<img class="img-responsive" src="assets/public/images/installer-instructions-05.png" alt="Screenshot of the Launch window.">
+<p class="text-right padding-top-25">
+  <a class="btn btn-warning btn-sm" data-target="#collapseEinstaller" class="solstice-collapse orange" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseEinstaller">
+    <i class="fa fa-times"></i> Hide
+  </a>
+</p>
\ No newline at end of file
diff --git a/installer-instructions.php b/installer-instructions.php
index de5f446..214155d 100644
--- a/installer-instructions.php
+++ b/installer-instructions.php
@@ -11,30 +11,5 @@
  *    Christopher Guindon (Eclipse Foundation)
  *******************************************************************************/
 
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
-
-$App 	= new App();
-$Nav	= new Nav();
-$Menu 	= new Menu();
-include("_projectCommon.php");
-
-# Begin: page-specific settings.  Change these.
-$pageTitle = "6 Steps to Install Eclipse";
-$pageKeywords	= "eclipse,download,downloads,mirror,project,plug-ins,plugins,java,ide,swt,refactoring,free java ide,tools,platform,open source,development environment,development,ide";
-$pageAuthor		= "Eclipse Foundation, Inc.";
-
-$page = 'installer_instructions';
-
-$App->Promotion = TRUE;
-require_once($_SERVER['DOCUMENT_ROOT'] . "/downloads/downloads/view.tpl.php");
-
-// Custom theme variables
-$variables = array();
-$variables['main_container_classes'] = 'container-full';
-$App->setThemeVariables($variables);
-
-# Generate the web page
-$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/downloads/assets/public/stylesheets/downloads.min.css" media="screen" />');
-$App->generatePage("solstice", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+header("Location: /downloads/index.php?show_instructions=TRUE", 301);
+die();
\ No newline at end of file