You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/04/23 15:51:04 UTC

svn commit: r1329241 [5/6] - in /rave/trunk: ./ rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ rave-portal-resources/src/main/resources/ rave-portal-resources/src/main/webapp/WEB-INF/jsp/layouts/ rave-portal-resources/src/main/...

Modified: rave/trunk/rave-portal-resources/src/main/webapp/css/default.css
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/css/default.css (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/css/default.css Mon Apr 23 13:51:02 2012
@@ -1,1355 +1,1073 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-html {
-    background-color: #EBEBEB;
-}
-
-body {
-    color: #000000;
-    font-size: 62.5%;
-    font-family: Arial, Helvetica, sans-serif;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = "#D7D7D3", endColorstr = "#EBEBEB");
-    background: -moz-linear-gradient(center top, #D7D7D3 0%, #EBEBEB 50%) repeat scroll 0 0 transparent;
-    background: -webkit-gradient(linear, left top, left bottom, from(#D7D7D3), to(#EBEBEB));
-    margin: 0;
-}
-
-/* general html fields */
-
-header, nav, article, section, footer {
-    display: block;
-    margin: 0;
-    padding: 0;
-}
-
-header {
-    line-height: 3em;
-}
-
-ul, ol, table, p {
-    margin: 0;
-    padding: 0;
-}
-
-h1, h2, h3, h4, h5, h6 {
-    color: #193240;
-    text-transform: uppercase;
-    font-weight: normal;
-    margin: 10px 0 15px;
-    padding: 5px 0;
-}
-
-h1 {
-    font-size: 1.4em;
-    padding: 15px;
-}
-
-h2 {
-    font-size: 1.2em;
-    margin-top: 2em;
-    border-bottom: 1px solid #a3afb6;
-}
-
-h3, h4, h5, h6 {
-    border-bottom: none;
-    font-size: 1em;
-    margin-bottom: 0;
-}
-
-dt {
-    display: inline;
-    float: left;
-}
-
-a, a:visited, a:hover {
-    color: #107EC0;
-}
-
-a:hover {
-    background-color: #e6ebed;
-}
-
-a img {
-    border: none;
-}
-
-.clear-float {
-    clear: both;
-}
-
-.hidden {
-    display: none;
-}
-
-.horizontal-list li, .paging li {
-    display: inline;
-    list-style: none;
-    padding: 0 10px;
-}
-
-.horizontal-list li:last-child, .paging li:last-child {
-    padding-right: 0;
-}
-
-.paging li {
-    padding: 0;
-}
-
-.paging li:after {
-    content: "|";
-}
-
-.paging li:last-child:after {
-    margin-right: 0;
-    content: "";
-}
-
-.paging li a, .paging li a:visited {
-    text-decoration: none;
-    padding: 0 10px;
-}
-
-.paging li a:hover {
-    text-decoration: underline;
-}
-
-.paging li .currentPage {
-    padding: 0 10px;
-}
-
-/* Header */
-header {
-    height: 3em;
-    color: #F2F2F2;
-    background-color: #222222;
-}
-
-header img {
-    max-width: 150px;
-}
-
-header a, header a:visited {
-    color: #F2F2F2;
-    text-decoration: none;
-    padding: 2px;
-    font-weight: bold;
-}
-
-header a:hover {
-    color: #F2F2F2;
-    background-color: #666666;
-    text-decoration: none;
-}
-
-header h1 {
-    text-transform: none;
-    font-size: 1.5em;
-    font-weight: bold;
-    margin: 0 auto;
-    padding: 0 0 0 15px;
-    vertical-align: middle;
-    width: 100%;
-    color: #F2F2F2;
-}
-
-.header-mobile {
-    height: auto;
-}
-
-.topnav {
-    float: right;
-    margin-right: 15px;
-    font-size: 1.1em;
-}
-
-/* content */
-#content {
-    background-color: transparent;
-    padding: 0 20px;
-    width: 90%;
-    margin: 1em auto 0;
-    min-height: 800px;
-}
-
-#content p {
-    margin: 1em 0;
-}
-
-#personProfileContent {
-    background-color: transparent;
-    padding: 0 20px;
-    width: 90%;
-    margin: 1em auto 0;
-}
-
-.person-profile-page-content {
-    background: none !important;
-}
-
-#person-profile-left {
-    float: left;
-    width: 65%;
-    margin-right: 5px;
-}
-
-#person-profile-right {
-    float: left;
-    width: 33%;
-}
-
-/* Widgets */
-.widget {
-    padding: 5px;
-    background-color: white;
-    box-shadow: 2px 2px 4px #666666;
-    border-radius: 0 0 5px 5px;
-    height: 100%;
-}
-
-.widget-mobile {
-    box-shadow: none;
-    border-radius: 0 0 0 0;
-    padding: 0;
-}
-
-.widget-wrapper-transitional {
-    position: absolute;
-    z-index: 1000;
-    left: 0.25%;
-    top: 51px;
-}
-
-.widget-wrapper-canvas {
-    position: absolute;
-    z-index: 1000;
-    left: 0.25%;
-    top: 72px;
-    width: 99.5%;
-    height: 100%;
-    opacity: 1;
-    vertical-align: top;
-}
-
-.widget-wrapper {
-    vertical-align: top;
-    margin-bottom: 20px;
-    /* prevents adjusting of other gadgets when gadget is being dragged */
-    border: 1px solid transparent;
-}
-
-.widget-wrapper-mobile {
-    margin-bottom: 3px;
-}
-
-.widget-title-bar {
-    color: #FFFFFF;
-    background: #767676; /* IE 7*/
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = "#999999", endColorstr = "#666666");
-    background: -moz-linear-gradient(center top, #999 0%, #666 25%) repeat scroll 0 0 transparent;
-    background: -webkit-gradient(linear, left top, left bottom, from(#999), to(#666));
-    border-radius: 5px 5px 0 0;
-    padding: 2px;
-    border-bottom: solid 1px #CCCCCC;
-    box-shadow: 2px 2px 4px #666666;
-}
-
-.widget-title-bar:hover {
-    cursor: move;
-}
-
-.widget-title-bar-locked:hover {
-    cursor: default !important;
-}
-
-.widget-title-bar-mobile {
-    border-radius: 0;
-    line-height: 2.5em;
-}
-
-.widget-title-bar-mobile:hover {
-    cursor: pointer;
-}
-
-.widget-title {
-    display: inline;
-}
-
-.widget-title a {
-    background: none;
-    color: #ffffff;
-    text-decoration: none;
-}
-
-.widget-title a:hover {
-    text-decoration: underline;
-}
-
-.widget-disabled-icon {
-    float: right;
-    cursor: default;
-}
-
-.widget-disabled-icon-store {
-    cursor: default;
-    display: inline-block;
-    vertical-align: middle;
-}
-
-/*** various widget preference related classes ***/
-.widget-prefs {
-    border: 1px solid #D3D3D3;
-    background-color: white;
-    display: none;
-}
-
-.widget-prefs-required-text {
-    font-size: 0.8em;
-    margin-top: 5px;
-    margin-bottom: 5px;
-}
-
-.widget-prefs-label {
-    vertical-align: top;
-    font-size: 0.8em;
-    text-align: right;
-}
-
-.widget-prefs-label-required {
-
-}
-
-.widget-prefs-input {
-    font-family: Arial, Helvetica, sans-serif;
-    font-size: 0.8em;
-}
-
-.widget-prefs-input-required {
-
-}
-
-.widget-prefs-input-failed-validation {
-    background-color: yellow;
-}
-
-.regions {
-    width: 98%;
-    margin: 1em auto;
-}
-
-.region {
-    float: left;
-    display: block;
-    padding: 5px 0;
-    margin-right: 20px;
-    width: auto;
-    height: 100%;
-}
-
-.widgetRow {
-    display: inline;
-    margin-bottom: 5px;
-}
-
-.region-mobile {
-    display: block;
-    width: 100%;
-    padding: 0;
-    margin-right: 0;
-    float: none;
-}
-
-.regionDragging {
-    border: 1px solid black;
-}
-
-.region.regionNonDragging{
-	border: 1px solid transparent;
-}
-
-.columns_1_1 {
-    width: 90%;
-}
-
-.columns_2_1, .columns_2_2 {
-    width: 45%;
-}
-
-.columns_2wn_1 {
-    width: 60%;
-}
-
-.columns_2wn_2 {
-    width: 30%;
-}
-
-.columns_3_1, .columns_3_2, .columns_3_3 {
-    width: 30%
-}
-
-.columns_3nwn_1, .columns_3nwn_3 {
-    width: 22%;
-}
-
-.columns_3nwn_2 {
-    width: 45%;
-}
-
-.columns_4_1, .columns_4_2, .columns_4_3, .columns_4_4 {
-    width: 22%;
-}
-
-.columns_3nwn_1_bottom_1, .columns_3nwn_1_bottom_3 {
-    width: 22%;
-}
-
-.columns_3nwn_1_bottom_2 {
-    width: 45%;
-}
-
-.columns_3nwn_1_bottom_4 {
-    width: 93%;
-    clear: both;
-}
-
-.columns_2_2, .columns_3_3, .columns_3nwn_3, .columns_4_4, .columns_3nwn_1_bottom_3, .columns_3nwn_1_bottom_4, .person_profile_2 {
-    margin-right: 0;
-}
-
-.columns_3_newuser_1, .columns_3_newuser_2 {
-    width: 46%;
-}
-
-.columns_3_newuser_3 {
-    width: 93%;
-    clear: both;
-}
-
-.columns_3_newuser_static {
-    float: left;
-    height: 100%;
-    margin-right: 5px;
-    width: 30%;
-}
-
-.columns_3_newuser_static ul {
-    margin-top: 15px;
-}
-
-.columns_3_newuser_static ul li {
-    margin-left: 20px;
-}
-
-.columns_3_newuser_widgets {
-    float: left;
-    width: 65%;
-}
-
-.columns_3_newuser_subtitle {
-    display: inline-block;
-    width: 100%;
-    text-align: center;
-}
-
-.person_profile_1 {
-    width: 97%;
-}
-
-.storeSearch {
-    float: right;
-    width: 225px;
-    padding: 1em;
-}
-
-.storeBox {
-    margin-right: 275px;
-    padding: 1em;
-}
-
-.storeSearch form p {
-    margin: 0;
-}
-
-#storeWidgetDetail {
-    width: 100%;
-}
-
-.storeItem {
-    border: 1px solid #B3C4CF;
-    margin: 1em auto;
-    padding: 10px;
-    background-color: #F2F2F2;
-    color: black;
-    border-radius: 5px;
-    box-shadow: 2px 2px 2px black;
-}
-
-.storeItemFeatured {
-    background-color: #D5EAF9;
-}
-
-.widget-users-dialog {
-    height: 200px;
-}
-
-.widget-users {
-    list-style-type: none;
-}
-
-.widget-user {
-
-}
-
-.widget-content {
-    width: 80%;
-    margin: 0 auto;
-    padding: 1em 1%;
-    max-width: 960px;
-}
-
-.detailWidgetInfo {
-    margin: 0 30% 0 0;
-}
-
-.detailWidgetPreview {
-    width: 28%;
-    margin: 0 0 1em 2%;
-    float: right;
-}
-
-.detailWidgetScreenshot img, .detailWidgetThumbnail img {
-    max-width: 100%;
-    margin-bottom: 1em;
-}
-
-.detailWidgetThumbnail {
-    display: none;
-}
-
-.new-comment {
-    margin: 1em 0;
-}
-
-.new-comment textarea {
-    max-width: 95%;
-}
-
-.comment {
-    margin: 1em 0 2em 0;
-}
-
-ul.comments li {
-    list-style: none;
-}
-
-ul.storeItems {
-    padding: 0;
-    margin: 1em auto;
-}
-
-ul.storeItems li {
-    list-style: none;
-}
-
-.storeItemLeft, .storeItemCenter {
-    vertical-align: top;
-}
-
-.storeItemLeft {
-    float: left;
-    width: 120px;
-}
-
-.storeItemCenter {
-    margin-left: 140px;
-}
-
-.storeWidgetThumbnail {
-    margin-bottom: 1em;
-}
-
-.storeWidgetDesc {
-    margin: 1em 0;
-}
-
-.storeWidgetDisabled {
-    background-color: #FCE8D7;
-    border: 1px solid #B3C4CF;
-    margin: 3px;
-    padding: 3px;
-}
-
-.widgetRating {
-    margin: 1em 0;
-}
-
-.secondaryPageItemTitle {
-    font-size: 1.2em;
-}
-
-.ui-sortable-placeholder {
-    background-color: #DDDDDD;
-    border: 1px dashed #767676;
-    visibility: visible !important;
-
-}
-
-.ui-sortable-placeholder * {
-    visibility: hidden;
-}
-
-button.widget-toolbar-btn {
-    width: 1em;
-}
-
-button.widget-toolbar-btn-prefs {
-    display: none;
-}
-
-button.widget-toolbar-btn-min {
-    display: none;
-}
-
-.widget-toolbar-toggle-collapse {
-    display: inline-block;
-    vertical-align: middle;
-    cursor: pointer;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-/* Form fields */
-
-fieldset {
-    margin: 0;
-    padding: 0;
-    border: none;
-}
-
-p label, span.label {
-    width: 120px;
-    float: left;
-    display: block;
-    position: relative;
-}
-
-label.formradio {
-    float: none;
-    left: 0;
-    margin-left: 120px;
-    margin-bottom: 0.4em;
-    margin-right: 0;
-    position: static;
-    top: auto;
-    width: auto;
-}
-
-input.long, textarea.long {
-    width: 400px;
-}
-
-.checkboxlist {
-    float: left;
-    list-style: none;
-}
-
-/* Associated with JQuery validation CSS */
-.error {
-    color: #ff0000;
-}
-
-span.error, label.error {
-    font-size: 10px;
-    display: block;
-    float: none;
-    margin: 0.5em 0 auto 120px;
-}
-
-.warn {
-    font-weight: bold;
-}
-
-/* End of form fields */
-
-#tabsHeader {
-    background-color: #FFFFFF;
-}
-
-#tabs {
-    border-bottom: 1px solid #B4C4CF;
-    margin: 0;
-    padding: 10px 15px 0 13px;
-    white-space: nowrap;
-}
-
-.rave-ui-tab {
-    background-color: #FFFFFF;
-    border: 1px solid #B4C4CF;
-    color: #767676;
-    display: inline-block;
-    font-style: italic;
-    font-weight: normal;
-    height: 25px;
-    position: relative;
-    top: 1px;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-.rave-ui-tab a, .rave-ui-tab a:visited {
-    color: #767676;
-    text-decoration: none;
-}
-
-.rave-ui-tab:hover, .rave-ui-tab a:hover {
-    background-color: #D7D7D3;
-    color: #000000;
-}
-
-.rave-ui-tab-selected, .rave-ui-tab-selected:hover {
-    background-color: #D7D7D3;
-    border-bottom: 1px solid #D7D7D3;
-    color: #000000;
-    font-style: normal;
-    font-weight: bold;
-}
-
-.rave-ui-tab-mobile {
-    border: none;
-    background-color: #FFFFFF;
-    color: #767676;
-    font-weight: normal;
-    font-style: normal;
-}
-
-.rave-ui-tab-mobile a, .rave-ui-tab-mobile a:visited {
-    color: #767676;
-    text-decoration: none;
-}
-
-.rave-ui-tab-mobile:hover, .rave-ui-tab-mobile a:hover {
-    color: #000000;
-    border: none;
-    background-color: #FFFFFF;
-}
-
-.rave-ui-tab-selected-mobile, .rave-ui-tab-selected-mobile:hover {
-    border: 1px solid #B4C4CF;
-    border-bottom: 1px solid #FFFFFF;
-    background-color: #FFFFFF;
-    color: #000000;
-    font-style: normal;
-    font-weight: bold;
-}
-
-#dialog {
-    width: 400px;
-    display: none;
-}
-
-#dialog label {
-    display: block;
-}
-
-#dialog input {
-    display: block;
-}
-
-#dialog label {
-    margin-top: 0.5em;
-}
-
-#dialog input {
-    width: 95%;
-}
-
-#dialog textarea {
-    width: 95%;
-}
-
-#add_page {
-    cursor: pointer;
-    width: 18px;
-    display: inline-block;
-    vertical-align: middle;
-    margin-left: 10px;
-    padding-bottom: 4px;
-    padding-top: 3px;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-#pageContent, .pageContent {
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = "#D7D7D3", endColorstr = "#EBEBEB");
-    background: -moz-linear-gradient(center top, #D7D7D3 0%, #EBEBEB 50%) repeat scroll 0 0 transparent;
-    background: -webkit-gradient(linear, left top, left bottom, from(#D7D7D3), to(#EBEBEB));
-    font-size: 1.1em;
-}
-
-.pageContent-mobile {
-    background: none !important;
-    background-color: #FFFFFF !important;
-    margin-top: 3px;
-}
-
-.page-title {
-    display: inline-block;
-    padding: 5px 10px;
-    cursor: pointer;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-.emptyPageMessage {
-    background-color: #FFFFFF;
-    border: 1px solid #B4C4CF;
-    border-radius: 10px 10px 10px 10px;
-    box-shadow: 1px 1px 0 #D9DADC;
-    font-weight: bold;
-    margin: 20px auto;
-    padding: 20px;
-    text-align: center;
-    width: 300px;
-    font-size: 1.25em;
-}
-
-.emptyPageMessageWrapper {
-    padding-top: 20px;
-}
-
-/* page menu related styles */
-#pageMenuWrapper {
-    position: relative;
-    display: inline-block;
-    vertical-align: middle;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-.page-menu {
-    border: 1px solid black;
-    position: absolute;
-    display: none;
-    left: 18px;
-    top: 0;
-    width: 80px;
-    background-color: #FFFFFF;
-    z-index: 1000;
-    cursor: pointer;
-}
-
-.page-menu-item {
-    padding: 3px;
-}
-
-.page-menu-item:hover {
-    background-color: #B4C4CF;
-}
-
-.page-menu-item-disabled {
-    color: #D3D3D3;
-}
-
-#pageMenuButton {
-    cursor: pointer;
-    margin-right: 10px;
-}
-
-/* widget menu related styles */
-.widget-menu-wrapper {
-    position: relative;
-    display: inline-block;
-    vertical-align: middle;
-    /* IE 7 hacks for inline-block */
-    zoom: 1;
-    *display: inline;
-}
-
-.widget-menu {
-    border: 1px solid black;
-    position: absolute;
-    display: none;
-    left: 18px;
-    top: 0;
-    width: 100px;
-    background-color: #FFFFFF;
-    z-index: 1000;
-    cursor: pointer;
-}
-
-.widget-menu-item {
-    padding: 3px;
-    color: #000000;
-}
-
-.widget-menu-item:hover {
-    background-color: #B4C4CF;
-}
-
-.widget-menu-item-disabled {
-    color: #D3D3D3;
-}
-
-.widget-menu-item-divider {
-    border-top: 1px solid #000000;
-}
-
-.widget-menu-button {
-    cursor: pointer;
-}
-
-.widget-tags-select {
-
-    font-family: Arial, Helvetica, sans-serif;
-    font-size: 11px;
-}
-
-#errorStack {
-    display: none;
-    width: 90%;
-    margin: auto;
-}
-
-.errorMessage {
-    text-align: center;
-    font-size: 150%;
-}
-
-.errorLogo {
-    text-align: center;
-}
-
-/** Admin interface **/
-.admincontent {
-    margin: 0 auto;
-    width: 80%;
-    padding: 1em 20px;
-    font-size: 1.1em;
-}
-
-.admincontent p {
-    margin: 1em 0;
-}
-
-.admincontent .searchbox {
-    float: right;
-    margin-top: 1em;
-}
-
-.admincontent .goback {
-    padding-top: 1em;
-}
-
-.searchbox form, .searchbox fieldset {
-    display: inline;
-    height: 1em;
-    margin: 0;
-    padding: 0;
-}
-
-.admincontent h2 {
-    margin-top: 0;
-    padding-top: 1em;
-    border: none;
-}
-
-.admincontent table {
-    margin: 1.5em 0;
-    padding: 0;
-    border-collapse: collapse;
-    font-size: 13px;
-    border: 1px solid #ddd;
-    -webkit-border-radius: 4px;
-    -moz-border-radius: 4px;
-    border-radius: 4px;
-}
-
-.admincontent table th, .admincontent table td {
-    padding: 5px 5px 4px;
-    line-height: 1.5em;
-    text-align: left;
-}
-
-.admincontent table th {
-    padding-top: 4px;
-    font-weight: bold;
-    vertical-align: middle;
-    border-bottom: 1px solid #ddd;
-    background-color: #000000;
-    color: #ffffff;
-}
-
-.admincontent table td {
-    vertical-align: top;
-}
-
-.admincontent table th+th, .admincontent table td+td {
-    border-left: 1px solid #ddd;
-}
-
-.admincontent table tr+tr td {
-    border-top: 1px solid #ddd;
-}
-
-.admincontent table tbody tr:first-child td:first-child {
-    -webkit-border-radius: 4px 0 0 0;
-    -moz-border-radius: 4px 0 0 0;
-    border-radius: 4px 0 0 0;
-}
-
-.admincontent table tbody tr:first-child td:last-child {
-    -webkit-border-radius: 0 4px 0 0;
-    -moz-border-radius: 0 4px 0 0;
-    border-radius: 0 4px 0 0;
-}
-
-.admincontent table tbody tr:last-child td:first-child {
-    -webkit-border-radius: 0 0 0 4px;
-    -moz-border-radius: 0 0 0 4px;
-    border-radius: 0 0 0 4px;
-}
-
-.admincontent table tbody tr:last-child td:last-child {
-    -webkit-border-radius: 0 0 4px 0;
-    -moz-border-radius: 0 0 4px 0;
-    border-radius: 0 0 4px 0;
-}
-
-.admincontent tbody tr:nth-child(odd) {
-    background-color: #D3D3D3;
-}
-
-.admincontent tbody tr:hover {
-    background-color: #B4C4CF;
-}
-
-.admincontent th a, .admincontent th a:visited {
-    color: #FFFFFF;
-    text-decoration: none;
-}
-
-.admincontent td a, .admincontent td a:visited {
-    color: #000000;
-    text-decoration: none;
-}
-
-.admincontent tbody tr:hover a, .admincontent table a:hover {
-    background-color: transparent;
-    text-decoration: underline;
-}
-
-.admincontent .leftcolumn {
-    float: left;
-    width: 70%;
-}
-
-.admincontent .rightcolumn {
-    float: right;
-    width: 30%;
-}
-
-.admincontent figure {
-    display: block;
-    margin: 1em 0;
-    width: 100%;
-}
-
-.admincontent figure.screenshot img {
-    max-width: 100%;
-}
-
-.admincontent figcaption {
-    display: block;
-    margin: 0 0 1em 0;
-    padding: 0;
-    font-style: italic;
-}
-
-.datatable tbody tr {
-    cursor: pointer;
-}
-
-.formbox {
-    border: 1px solid #B4C4CF;
-    margin: 1em 10px;
-    padding: 0 10px;
-}
-
-.booleancell {
-    width: 50px;
-}
-
-.textcell {
-    width: 150px;
-}
-
-.largetextcell {
-    width: 300px
-}
-
-.alert-message {
-    color: #FFFFFF;
-    position: relative;
-    padding: 7px 15px;
-    margin-top: 1em;
-    margin-bottom: 1em;
-    background-color: #eedc94;
-    background-repeat: repeat-x;
-    background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
-    background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));
-    background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
-    background-image: linear-gradient(top, #fceec1, #eedc94);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#fceec1', endColorstr = '#eedc94', GradientType = 0);
-    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-    border-color: #eedc94 #eedc94 #e4c652;
-    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-    border-width: 1px;
-    border-style: solid;
-    -webkit-border-radius: 4px;
-    -moz-border-radius: 4px;
-    border-radius: 4px;
-    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
-}
-
-.alert-message p, #content .alert-message p {
-    margin: 0;
-}
-
-.alert-message div, #content .alert-message div {
-    margin-top: 5px;
-    margin-bottom: 2px;
-    line-height: 28px;
-}
-
-.alert-message.success {
-    background-color: #57a957;
-    background-repeat: repeat-x;
-    background-image: -moz-linear-gradient(top, #62c462, #57a957);
-    background-image: -ms-linear-gradient(top, #62c462, #57a957);
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
-    background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-    background-image: -o-linear-gradient(top, #62c462, #57a957);
-    background-image: linear-gradient(top, #62c462, #57a957);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#62c462', endColorstr = '#57a957', GradientType = 0);
-    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-    border-color: #57a957 #57a957 #3d773d;
-    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-}
-
-.alert-message.info {
-    background-color: #767676;
-    background-repeat: repeat-x;
-    background-image: -moz-linear-gradient(top, #999999, #666666);
-    background-image: -ms-linear-gradient(top, #999999, #666666);
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #999999), color-stop(100%, #666666));
-    background-image: -webkit-linear-gradient(top, #999999, #666666);
-    background-image: -o-linear-gradient(top, #999999, #666666);
-    background-image: linear-gradient(top, #999999, #666666);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#999999', endColorstr = '#666666', GradientType = 0);
-    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-    border-color: #767676 #767676 #3d773d;
-    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-}
-
-.topbar-message {
-    position: relative;
-    top: 0;
-    left: 0;
-    background-color: #57a957;
-    line-height: 28px;
-    width: 100%;
-    padding-top: 8px;
-    text-align: center;
-    font-size: 14px;
-}
-
-/*CSS style for user profile tabs*/
-.profile-submenu ul {
-	height: 2.5em;
-	background-color: #41627E;
-	text-align: center;
-}
-
-.profile-submenu li {
-	display: inline;
-    list-style: none;
-    padding: 0 10px;
-    color: #FFFFFF;
-    font-size: 1.5em;
-}
-
-.profile-tag {
-	display: inline;
-}
-
-.profile-tag:hover {
-	background:#A9BCF5;
-	color:#000000;
-	cursor:pointer;
-}
-
-.profile-tag-page {
-	display: none;
-}
-
-.profile-info-hidden {
-    display: none;
-}
-
-.profile-info-visible {
-	display: inline;
-}
-
-table.profile-table {
-	width: 100%;
-}
-td.profile-body-column {
-	width: 100%;
-	vertical-align: top;
-}
-
-@media all and (max-width: 900px) {
-    .storeSearch {
-        width: 100%;
-        float: none;
-    }
-
-    .storeBox {
-        margin: 0;
-    }
-}
-
-@media all and (max-width: 550px) {
-
-    body {
-        font-size: 0.75em;
-    }
-
-    header {
-        height: auto;
-    }
-
-    header h1 {
-        width: 100%;
-        clear: both;
-    }
-
-    .topnav {
-        float: none;
-        display: block;
-    }
-
-    #content {
-        width: 100%;
-        padding: 0;
-    }
-
-    h2, h3, h4, h5, h6 {
-        margin: 0 0 1em 0;
-        padding: 0;
-    }
-
-    .admincontent {
-        width: auto;
-    }
-
-    .storeSearch, .storeBox {
-        float: none;
-        width: 98%;
-        padding: 1em 1%;
-    }
-
-    .storeItem {
-        box-shadow: none;
-        padding: 0 10px;
-    }
-
-    .storeItemLeft, .storeItemCenter {
-        width: 100%;
-        float: none;
-        margin: 1em 0;
-    }
-
-    .widget-content {
-        width: 95%;
-        padding: 1em 10px;
-    }
-
-    .detailWidgetInfo, .detailWidgetPreview, .widgetComments, .widgetTags {
-        width: 98%;
-        padding: 0 1%;
-    }
-
-    .detailWidgetPreview {
-        float: none;
-    }
-
-    .detailWidgetScreenshot {
-        display: none;
-    }
-
-    .detailWidgetThumbnail {
-        display: block;
-    }
-
-    p label, span.label {
-        width: 100%;
-        float: none;
-    }
-
-    input.long, textarea.long {
-        width: 100%;
-    }
-
-    .largetextcell {
-        width: auto;
-    }
-
-    .admincontent .rightcolumn, .admincontent .leftcolumn, .admincontent .searchbox {
-        width: 100%;
-        float: none;
-        margin-top: 0;
-    }
-
-    .region {
-        clear: both;
-        width: 100%;
-        margin: 0;
-        padding: 1em 0;
-    }
-
-    .widget, .widget-title-bar {
-        box-shadow: none;
-        border: 1px solid #767676;
-    }
-
-    .emptyPageMessage {
-        width: 80%;
-        padding: 1em 5px;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+
+
+header, .navbar {
+    line-height: 3em;
+}
+
+ul, ol, table, p {
+    margin: 0;
+    padding: 0;
+}
+
+dt {
+    display: inline;
+    float: left;
+}
+
+
+.hidden {
+    display: none;
+}
+
+.horizontal-list li, .paging li {
+    display: inline;
+    list-style: none;
+    padding: 0 10px;
+}
+
+.horizontal-list li:last-child, .paging li:last-child {
+    padding-right: 0;
+}
+
+.paging li {
+    padding: 0;
+}
+
+.paging li:after {
+    content: "|";
+}
+
+.paging li:last-child:after {
+    margin-right: 0;
+    content: "";
+}
+
+.paging li a, .paging li a:visited {
+    text-decoration: none;
+    padding: 0 10px;
+}
+
+.paging li a:hover {
+    text-decoration: underline;
+}
+
+.paging li .currentPage {
+    padding: 0 10px;
+}
+
+/* Header */
+header{
+    display: block;
+    height: 3em;
+    width: 100%;
+    color: #F2F2F2;
+    background-color: #222222;
+}
+
+header img{
+    max-width: 150px;
+}
+
+header a, header a:visited,
+header a:hover{
+    color: #F2F2F2;
+    text-decoration: none;
+    padding: 2px;
+    font-weight: bold;
+}
+
+header a.brand:hover{
+    cursor: default;
+}
+
+header h1{
+    text-transform: none;
+    font-size: 1.5em;
+    font-weight: bold;
+    margin: 0 auto;
+    padding: 0 0 0 15px;
+    vertical-align: middle;
+    width: 100%;
+    color: #F2F2F2;
+}
+
+.header-mobile {
+    height: auto;
+}
+
+.topnav {
+    float: right;
+    margin-right: 15px;
+    font-size: 1.1em;
+}
+
+/* content */
+#content {
+    background-color: transparent;
+    padding: 0 20px;
+    width: 90%;
+    margin: 1em auto 0;
+    min-height: 800px;
+}
+
+#content p {
+    margin: 1em 0;
+}
+
+#personProfileContent {
+    background-color: transparent;
+    padding: 0 20px;
+    width: 90%;
+    margin: 1em auto 0;
+}
+
+.person-profile-page-content {
+    background: none !important;
+}
+
+#person-profile-left {
+    float: left;
+    width: 65%;
+    margin-right: 5px;
+}
+
+#person-profile-right {
+    float: left;
+    width: 33%;
+}
+
+/* Widgets */
+.widget {
+    padding: 5px;
+    background-color: white;
+    border-radius: 0 0 5px 5px;
+    height: 100%;
+}
+
+.widget-mobile {
+    box-shadow: none;
+    border-radius: 0 0 0 0;
+    padding: 0;
+}
+
+.widget-wrapper-transitional {
+    position: absolute;
+    z-index: 1000;
+    left: 0.25%;
+    top: 51px;
+}
+
+.widget-wrapper-canvas {
+    position: absolute;
+    z-index: 1000;
+    left: 0.25%;
+    top: 72px;
+    width: 99.5%;
+    height: 100%;
+    opacity: 1;
+    vertical-align: top;
+}
+
+.widget-wrapper {
+    vertical-align: top;
+    margin-bottom: 20px;
+    /* prevents adjusting of other gadgets when gadget is being dragged */
+    border: 1px solid #cfcfcf;
+    border-radius: 5px;
+    /*Can be replaced with bootstrap mixin: .box-shadow(1px 1px 3px rgba(0,0,0,.25))*/
+    box-shadow: 1px 1px 3px rgba(0,0,0,.25);
+    -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,.25);
+    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.25);
+}
+
+.widget-wrapper-mobile {
+    margin-bottom: 3px;
+}
+
+.widget-title-bar {
+    color: #333333;
+    text-align: center;
+    vertical-align: middle;
+    background-color: #f5f5f5;
+    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+    background-image: linear-gradient(top, #ffffff, #e6e6e6);
+    background-repeat: repeat-x;
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+    border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+    border-radius: 5px 5px 0 0;
+    padding: 4px 10px 4px;
+
+}
+
+.widget-title-bar:hover {
+    cursor: move;
+}
+
+.widget-title-bar-locked:hover {
+    cursor: default !important;
+}
+
+.widget-title-bar-mobile {
+    border-radius: 0;
+    line-height: 2.5em;
+}
+
+.widget-title-bar-mobile:hover {
+    cursor: pointer;
+}
+
+.widget-title {
+    display: inline;
+}
+
+.widget-title a {
+    background: none;
+    color: #ffffff;
+    text-decoration: none;
+}
+
+.widget-title a:hover {
+    text-decoration: underline;
+}
+
+.widget-disabled-icon {
+    float: right;
+    cursor: default;
+}
+
+.widget-disabled-icon-store {
+    cursor: default;
+    display: inline-block;
+    vertical-align: middle;
+}
+
+/*** various widget preference related classes ***/
+.widget-prefs {
+    border: 1px solid #D3D3D3;
+    background-color: white;
+    display: none;
+}
+
+.widget-prefs-required-text {
+    font-size: 0.8em;
+    margin-top: 5px;
+    margin-bottom: 5px;
+}
+
+.widget-prefs-label {
+    vertical-align: top;
+    font-size: 0.8em;
+    text-align: right;
+}
+
+.widget-prefs-label-required {
+
+}
+
+.widget-prefs-input {
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: 0.8em;
+}
+
+.widget-prefs-input-required {
+
+}
+
+.widget-prefs-input-failed-validation {
+    background-color: yellow;
+}
+
+.regions {
+    width: 98%;
+    margin: 1em auto;
+}
+
+.region {
+    float: left;
+    display: block;
+    padding: 5px 0;
+    margin-right: 20px;
+    width: auto;
+    height: 100%;
+}
+
+.widgetRow {
+    display: inline;
+    margin-bottom: 5px;
+}
+
+.region-mobile {
+    display: block;
+    width: 100%;
+    padding: 0;
+    margin-right: 0;
+    float: none;
+}
+
+.regionDragging {
+    border: 1px solid black;
+}
+
+.region.regionNonDragging{
+	border: 1px solid transparent;
+}
+
+.columns_1_1 {
+    width: 90%;
+}
+
+.columns_2_1, .columns_2_2 {
+    width: 45%;
+}
+
+.columns_2wn_1 {
+    width: 60%;
+}
+
+.columns_2wn_2 {
+    width: 30%;
+}
+
+.columns_3_1, .columns_3_2, .columns_3_3 {
+    width: 30%
+}
+
+.columns_3nwn_1, .columns_3nwn_3 {
+    width: 22%;
+}
+
+.columns_3nwn_2 {
+    width: 45%;
+}
+
+.columns_4_1, .columns_4_2, .columns_4_3, .columns_4_4 {
+    width: 22%;
+}
+
+.columns_3nwn_1_bottom_1, .columns_3nwn_1_bottom_3 {
+    width: 22%;
+}
+
+.columns_3nwn_1_bottom_2 {
+    width: 45%;
+}
+
+.columns_3nwn_1_bottom_4 {
+    width: 93%;
+    clear: both;
+}
+
+.columns_2_2, .columns_3_3, .columns_3nwn_3, .columns_4_4, .columns_3nwn_1_bottom_3, .columns_3nwn_1_bottom_4, .person_profile_2 {
+    margin-right: 0;
+}
+
+.columns_3_newuser_1, .columns_3_newuser_2 {
+    width: 46%;
+}
+
+.columns_3_newuser_3 {
+    width: 93%;
+    clear: both;
+}
+
+.columns_3_newuser_static {
+    float: left;
+    height: 100%;
+    margin-right: 5px;
+    width: 30%;
+}
+
+.columns_3_newuser_static ul {
+    margin-top: 15px;
+}
+
+.columns_3_newuser_static ul li {
+    margin-left: 20px;
+}
+
+.columns_3_newuser_widgets {
+    float: left;
+    width: 65%;
+}
+
+.columns_3_newuser_subtitle {
+    display: inline-block;
+    width: 100%;
+    text-align: center;
+}
+
+.person_profile_1 {
+    width: 97%;
+}
+
+.storeSearch {
+    float: right;
+    width: 225px;
+    padding: 1em;
+}
+
+.storeBox {
+    margin-right: 275px;
+    padding: 1em;
+}
+
+.storeSearch form p {
+    margin: 0;
+}
+
+#storeWidgetDetail {
+    width: 100%;
+}
+
+.storeItem {
+    border: 1px solid #ddd;
+    margin: 1em auto;
+    padding: 10px;
+    background-color: #f9f9f9;
+    color: black;
+    border-radius: 5px;
+    box-shadow: 2px 2px 3px rgba(0,0,0,0.4);
+    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.4);
+    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
+}
+
+.storeItemFeatured {
+    background-color: #D5EAF9;
+}
+
+.widget-users-dialog {
+    height: 200px;
+}
+
+.widget-users {
+    list-style-type: none;
+}
+
+.widget-user {
+
+}
+
+.widget-content {
+    width: 80%;
+    margin: 0 auto;
+    padding: 1em 1%;
+    max-width: 960px;
+}
+
+.detailWidgetInfo {
+    margin: 0 30% 0 0;
+}
+
+.detailWidgetPreview {
+    width: 28%;
+    margin: 0 0 1em 2%;
+    float: right;
+}
+.detail-widget{ padding-top: 20px; }
+
+.detail-widget-preview {
+    text-align: center;
+    float:right;
+}
+.detail-widget-preview img{
+    margin-bottom: 15px;
+}
+.detail-widget-main > .row-fluid{
+    margin-bottom: 20px;
+}
+
+.detail-widget-tags {
+    margin-bottom: 20px;
+}
+.detail-widget-tags .label{
+    width: auto;
+    float: none;
+    display: inline;
+}
+.detailWidgetScreenshot img, .detailWidgetThumbnail img {
+    max-width: 100%;
+    margin-bottom: 1em;
+}
+.widgetTags .form-inline label{
+    display:block;
+    font-weight: bold;
+}
+.detailWidgetThumbnail {
+    display: none;
+}
+
+.new-comment {
+    margin: 1em 0;
+}
+
+.new-comment textarea {
+    max-width: 95%;
+}
+#editComment-dialog textarea{ width: 98%;}
+ul.comments{
+    margin-left: 0;
+}
+.comment {
+    margin: 1em 0 2em 0;
+}
+
+ul.comments li {
+    list-style: none;
+    border-bottom: 1px solid #ddd;
+}
+ul.comments li:last-child{
+    border-bottom: none;
+}
+.comment-heading{
+    font-size: 1.25em;
+}
+.comment-heading span + .btn{
+    margin-left: 20px;
+}
+.commenter {
+    font-weight: bold;
+}
+ul.storeItems {
+    padding: 0;
+    margin: 1em auto;
+}
+
+ul.storeItems li {
+    list-style: none;
+}
+
+.storeItemLeft, .storeItemCenter {
+    vertical-align: top;
+}
+
+.storeItemLeft {
+    float: left;
+    width: 120px;
+}
+
+.storeItemCenter {
+    margin-left: 140px;
+}
+
+.storeWidgetThumbnail {
+    margin-bottom: 1em;
+}
+
+.storeWidgetDesc {
+    margin: 1em 0;
+}
+
+.storeWidgetDisabled {
+    background-color: #FCE8D7;
+    border: 1px solid #B3C4CF;
+    margin: 3px;
+    padding: 3px;
+}
+
+.widgetRating {
+    margin: 1em 0;
+}
+
+.widgetDislikeCount {
+    padding: 0 10px;
+}
+
+.widgetUserCount {
+    float: right;
+}
+
+.secondaryPageItemTitle {
+    font-size: 1.2em;
+}
+
+.ui-sortable-placeholder {
+    background-color: #DDDDDD;
+    border: 1px dashed #767676;
+    visibility: visible !important;
+
+}
+
+.ui-sortable-placeholder * {
+    visibility: hidden;
+}
+
+.widget-toolbar {
+    float: right;
+    cursor: pointer;
+}
+
+.widget-toolbar-btn-min {
+    display: none;
+}
+
+.widget-toolbar-toggle-collapse {
+    float: left;
+    cursor: pointer;
+}
+
+/* Form fields */
+
+fieldset {
+    margin: 0;
+    padding: 0;
+    border: none;
+}
+
+p label, span.label {
+    width: 120px;
+    float: left;
+    display: block;
+    position: relative;
+}
+
+label.formradio {
+    float: none;
+    left: 0;
+    margin-left: 120px;
+    margin-bottom: 0.4em;
+    margin-right: 0;
+    position: static;
+    top: auto;
+    width: auto;
+}
+
+input.long, textarea.long {
+    width: 400px;
+}
+
+.checkboxlist {
+    float: left;
+    list-style: none;
+}
+
+/* Associated with JQuery validation CSS */
+.error {
+    color: #ff0000;
+}
+
+span.error, label.error {
+    font-size: 10px;
+    display: block;
+    float: none;
+    margin: 0.5em 0 auto 120px;
+}
+
+.warn {
+    font-weight: bold;
+}
+
+/* End of form fields */
+
+#tabsHeader {
+    background-color: #FFFFFF;
+}
+
+#tabs {
+    border-bottom: 1px solid #B4C4CF;
+    margin: 0;
+    padding: 10px 15px 0 13px;
+    white-space: nowrap;
+}
+
+.rave-ui-tab {
+    background-color: #FFFFFF;
+    border: 1px solid #B4C4CF;
+    color: #767676;
+    display: inline-block;
+    font-style: italic;
+    font-weight: normal;
+    height: 25px;
+    position: relative;
+    top: 1px;
+    /* IE 7 hacks for inline-block */
+    zoom: 1;
+    *display: inline;
+}
+
+.rave-ui-tab a, .rave-ui-tab a:visited {
+    color: #767676;
+    text-decoration: none;
+}
+
+.rave-ui-tab:hover, .rave-ui-tab a:hover {
+    background-color: #D7D7D3;
+    color: #000000;
+}
+
+.rave-ui-tab-selected, .rave-ui-tab-selected:hover {
+    background-color: #D7D7D3;
+    border-bottom: 1px solid #D7D7D3;
+    color: #000000;
+    font-style: normal;
+    font-weight: bold;
+}
+
+.rave-ui-tab-mobile {
+    border: none;
+    background-color: #FFFFFF;
+    color: #767676;
+    font-weight: normal;
+    font-style: normal;
+}
+
+.rave-ui-tab-mobile a, .rave-ui-tab-mobile a:visited {
+    color: #767676;
+    text-decoration: none;
+}
+
+.rave-ui-tab-mobile:hover, .rave-ui-tab-mobile a:hover {
+    color: #000000;
+    border: none;
+    background-color: #FFFFFF;
+}
+
+.rave-ui-tab-selected-mobile, .rave-ui-tab-selected-mobile:hover {
+    border: 1px solid #B4C4CF;
+    border-bottom: 1px solid #FFFFFF;
+    background-color: #FFFFFF;
+    color: #000000;
+    font-style: normal;
+    font-weight: bold;
+}
+
+#dialog {
+    width: 400px;
+    display: none;
+}
+
+#dialog label {
+    display: block;
+}
+
+#dialog input {
+    display: block;
+}
+
+#dialog label {
+    margin-top: 0.5em;
+}
+
+#dialog input {
+    width: 95%;
+}
+
+#dialog textarea {
+    width: 95%;
+}
+
+#add_page {
+    cursor: pointer;
+    width: 18px;
+    display: inline-block;
+    vertical-align: middle;
+    margin-left: 10px;
+    padding-bottom: 4px;
+    padding-top: 3px;
+    /* IE 7 hacks for inline-block */
+    zoom: 1;
+    *display: inline;
+}
+
+#pageContent, .pageContent {
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = "#D7D7D3", endColorstr = "#EBEBEB");
+    background: -moz-linear-gradient(center top, #D7D7D3 0%, #EBEBEB 50%) repeat scroll 0 0 transparent;
+    background: -webkit-gradient(linear, left top, left bottom, from(#D7D7D3), to(#EBEBEB));
+    font-size: 1.1em;
+}
+
+.pageContent-mobile {
+    background: none !important;
+    background-color: #FFFFFF !important;
+    margin-top: 3px;
+}
+
+.page-title {
+    display: inline-block;
+    padding: 5px 10px;
+    cursor: pointer;
+    /* IE 7 hacks for inline-block */
+    zoom: 1;
+    *display: inline;
+}
+
+.emptyPageMessage {
+    background-color: #FFFFFF;
+    border: 1px solid #B4C4CF;
+    border-radius: 10px 10px 10px 10px;
+    box-shadow: 1px 1px 0 #D9DADC;
+    font-weight: bold;
+    margin: 20px auto;
+    padding: 20px;
+    text-align: center;
+    width: 300px;
+    font-size: 1.25em;
+}
+
+.emptyPageMessageWrapper {
+    padding-top: 20px;
+}
+
+.widget-tags-select {
+
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: 11px;
+}
+
+#errorStack {
+    display: none;
+    width: 90%;
+    margin: auto;
+}
+
+.errorMessage {
+    text-align: center;
+    font-size: 150%;
+}
+
+
+/** Admin interface **/
+.admincontent {
+    margin: 0 auto;
+    width: 80%;
+    padding: 1em 20px;
+    font-size: 1.1em;
+}
+
+.admincontent p {
+    margin: 1em 0;
+}
+
+.admincontent .searchbox {
+    float: right;
+    margin-top: 1em;
+}
+
+.admincontent .goback {
+    padding-top: 1em;
+}
+
+.searchbox form, .searchbox fieldset {
+    display: inline;
+    height: 1em;
+    margin: 0;
+    padding: 0;
+}
+
+
+.admincontent .leftcolumn {
+    float: left;
+    width: 70%;
+}
+
+.admincontent .rightcolumn {
+    float: right;
+    width: 30%;
+}
+
+.admincontent figure {
+    display: block;
+    margin: 1em 0;
+    width: 100%;
+}
+
+.admincontent figure.screenshot img {
+    max-width: 100%;
+}
+
+
+
+
+.booleancell {
+    width: 50px;
+}
+
+.textcell {
+    width: 150px;
+}
+
+.largetextcell {
+    width: 300px
+}
+
+/*CSS style for user profile tabs*/
+.profile-submenu ul {
+	height: 2.5em;
+	background-color: #41627E;
+	text-align: center;
+}
+
+.profile-submenu li {
+	display: inline;
+    list-style: none;
+    padding: 0 10px;
+    color: #FFFFFF;
+    font-size: 1.5em;
+}
+
+.profile-tag {
+	display: inline;
+}
+
+.profile-tag:hover {
+	background:#A9BCF5;
+	color:#000000;
+	cursor:pointer;
+}
+
+.profile-tag-page {
+	display: none;
+}
+
+.profile-info-hidden,
+ .btn.profile-info-hidden,
+ .btn.primary-btn.profile-info-hidden{
+    display: none;
+}
+
+.profile-info-visible {
+	display: inline;
+}
+
+@media all and (max-width: 900px) {
+    .storeSearch {
+        width: 100%;
+        float: none;
+    }
+
+    .storeBox {
+        margin: 0;
+    }
+}
+
+@media all and (max-width: 550px) {
+
+
+    header {
+        height: auto;
+    }
+
+    header h1 {
+        width: 100%;
+        clear: both;
+    }
+
+    .topnav {
+        float: none;
+        display: block;
+    }
+
+    #content {
+        width: 100%;
+        padding: 0;
+    }
+
+    h2, h3, h4, h5, h6 {
+        margin: 0 0 1em 0;
+        padding: 0;
+    }
+
+    .admincontent {
+        width: auto;
+    }
+
+    .storeSearch, .storeBox {
+        float: none;
+        width: 98%;
+        padding: 1em 1%;
+    }
+
+    .storeItem {
+        box-shadow: none;
+        padding: 0 10px;
+    }
+
+    .storeItemLeft, .storeItemCenter {
+        width: 100%;
+        float: none;
+        margin: 1em 0;
+    }
+
+    .widget-content {
+        width: 95%;
+        padding: 1em 10px;
+    }
+
+    .detailWidgetInfo, .detailWidgetPreview, .widgetComments, .widgetTags {
+        width: 98%;
+        padding: 0 1%;
+    }
+
+    .detailWidgetPreview {
+        float: none;
+    }
+
+    .detailWidgetScreenshot {
+        display: none;
+    }
+
+    .detailWidgetThumbnail {
+        display: block;
+    }
+
+    p label, span.label {
+        width: 100%;
+        float: none;
+    }
+
+    input.long, textarea.long {
+        width: 100%;
+    }
+
+    .largetextcell {
+        width: auto;
+    }
+
+    .admincontent .rightcolumn, .admincontent .leftcolumn, .admincontent .searchbox {
+        width: 100%;
+        float: none;
+        margin-top: 0;
+    }
+
+    .region {
+        clear: both;
+        width: 100%;
+        margin: 0;
+        padding: 1em 0;
+    }
+
+    .widget, .widget-title-bar {
+        box-shadow: none;
+        border: 1px solid #767676;
+    }
+
+    .emptyPageMessage {
+        width: 80%;
+        padding: 1em 5px;
+    }
+}

Modified: rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/script/rave.js Mon Apr 23 13:51:02 2012
@@ -50,6 +50,9 @@ var rave = rave || (function () {
         var CLASS_REGEX = /{class}/g;
         var BUTTON_TEXT_REGEX = /{buttonText}/g;
 
+        var WIDGET_TOGGLE_DISPLAY_COLLAPSED_HTML = '<i class="icon-chevron-down"></i>';
+        var WIDGET_TOGGLE_DISPLAY_NORMAL_HTML = '<i class="icon-chevron-up"></i>';
+        
         var WIDGET_PREFS_LABEL_CLASS = "widget-prefs-label";
         var WIDGET_PREFS_LABEL_REQUIRED_CLASS = "widget-prefs-label-required";
         var WIDGET_PREFS_INPUT_CLASS = "widget-prefs-input";
@@ -101,7 +104,7 @@ var rave = rave || (function () {
                     var cfg = {
                         stack:true,
                         dialogClass:'raveDialog'
-                    }
+                    };
                     element.dialog(cfg);
                 },
                 cleanup:function (element) {
@@ -122,7 +125,7 @@ var rave = rave || (function () {
                     var cfg = {
                         modal:true,
                         dialogClass:'raveModal'
-                    }
+                    };
                     element.dialog(cfg);
                 },
                 cleanup:function (element) {
@@ -133,10 +136,10 @@ var rave = rave || (function () {
                 styleMap:{
 
                 },
-                float:false,
+                'float':false,
                 tab:false
             }
-        }
+        };
 
         // variable to store whether or not the
         // client is a mobile device
@@ -483,7 +486,7 @@ var rave = rave || (function () {
             rave.getRegionWidgetById(args.regionWidgetId).collapsed = args.collapsed;
 
             // toggle the collapse/restore icon
-            rave.toggleCollapseWidgetIcon(args.regionWidgetId);
+            rave.toggleCollapseWidgetIcon(args.regionWidgetId, args.collapsed);
 
             // if the widget has supplied a collapse or restore
             // function, invoke it so each widget provider
@@ -737,40 +740,36 @@ var rave = rave || (function () {
 
             // init the widget minimize button which is hidden by default
             // and only renders when widget is in maximized view
-            $("#widget-" + widgetId + "-min").button({
-                text:false,
-                icons:{
-                    primary:WIDGET_BTN_MINIMIZE_CLASS
-                }
-            }).click({id:widgetId}, rave.minimizeWidget);
+            $("#widget-" + widgetId + "-min").click({id: widgetId}, rave.minimizeWidget);
 
             // init the collapse/restore toggle
             // conditionally style the icon and setup the event handlers
             var $toggleCollapseIcon = $("#widget-" + widgetId + "-collapse");
-            $toggleCollapseIcon.hide();
-            $toggleCollapseIcon.addClass(WIDGET_ICON_BASE_CLASS);
-            $toggleCollapseIcon.addClass((widget.collapsed) ? WIDGET_TOGGLE_DISPLAY_COLLAPSED : WIDGET_TOGGLE_DISPLAY_NORMAL);
+            $toggleCollapseIcon.html((widget.collapsed) ? WIDGET_TOGGLE_DISPLAY_COLLAPSED_HTML : WIDGET_TOGGLE_DISPLAY_NORMAL_HTML);
             $toggleCollapseIcon
                 .click({id:widgetId}, toggleCollapseAction)
                 .mousedown(function (event) {
                     // don't allow drag and drop when this item is clicked
                     event.stopPropagation();
                 });
-            $toggleCollapseIcon.show();
+
+
+            $('#widget-' + widgetId + '-toolbar').mousedown(function(event) {
+                 // don't allow drag and drop when this item is clicked
+                event.stopPropagation();
+            });
         }
 
         /**
          * Toggles the display of the widget collapse/restore icon.
          * @param widgetId the widgetId of the rendered widget to toggle the icon for
          */
-        function toggleCollapseWidgetIcon(widgetId) {
+        function toggleCollapseWidgetIcon(widgetId, collapsed) {
             var $toggleIcon = $("#widget-" + widgetId + "-collapse");
-            if ($toggleIcon.hasClass(WIDGET_TOGGLE_DISPLAY_COLLAPSED)) {
-                $toggleIcon.removeClass(WIDGET_TOGGLE_DISPLAY_COLLAPSED);
-                $toggleIcon.addClass(WIDGET_TOGGLE_DISPLAY_NORMAL);
+            if (collapsed) {
+                $toggleIcon.html(WIDGET_TOGGLE_DISPLAY_COLLAPSED_HTML);
             } else {
-                $toggleIcon.removeClass(WIDGET_TOGGLE_DISPLAY_NORMAL);
-                $toggleIcon.addClass(WIDGET_TOGGLE_DISPLAY_COLLAPSED);
+                $toggleIcon.html(WIDGET_TOGGLE_DISPLAY_NORMAL_HTML);
             }
         }
 
@@ -805,13 +804,13 @@ var rave = rave || (function () {
         }
 
         function showInfoMessage(message) {
-            $("<div />", {'class':'topbar-message', 'text':message})
-                .hide()
-                .prependTo("body")
-                .slideDown('fast').delay(5000)
-                .slideUp(function () {
-                    $(this).remove();
-                });
+            $("<div />", {'class':'alert alert-success navbar-spacer', 'text':message})
+                    .hide()
+                    .prependTo("body")
+                    .slideDown('fast').delay(5000)
+                    .slideUp(function () {
+                        $(this).remove();
+                    });
         }
 
         function getNonLockedRegions() {

Modified: rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/script/rave_layout.js Mon Apr 23 13:51:02 2012
@@ -20,33 +20,20 @@
 var rave = rave || {};
 rave.layout = rave.layout || (function() {
     var MOVE_PAGE_DEFAULT_POSITION_IDX = -1;
-    var $dialog;
-    var $movePageDialog;
     var $moveWidgetDialog;
-    
+    var $movePageDialog = $("#movePageDialog");
+    var $pageForm = $("#pageForm");
     var $tab_title_input = $("#tab_title"),
         $tab_id = $("#tab_id"),
         $page_layout_input = $("#pageLayout");
 
-    // define the form object    
-    var $form = $("#pageForm", $dialog);  
-    
     // page menu related functions
     var pageMenu = (function() {
-        var $button = $("#pageMenuButton");
-        var $menu = $("#pageMenu");
+        var $addPageButton = $("#addPageButton");
         var $menuItemEdit = $("#pageMenuEdit");
         var $menuItemDelete = $("#pageMenuDelete");
         var $menuItemMove = $("#pageMenuMove");
-                        
-        function hideMenu() {
-            $menu.hide();
-        }
-        
-        function showMenu() {
-            $menu.show();
-        }
-        
+
         /**
          * Initializes the private pageMenu closure
          * - binds click event handler to menu button
@@ -54,122 +41,34 @@ rave.layout = rave.layout || (function()
          * - binds body click event handler to close the menu
          */
         function init() {
-            // modal dialog init: custom buttons and a "close" callback reseting the form inside
-            $dialog = $( "#dialog" ).dialog({
-                autoOpen: false,
-                modal: true,
-                buttons: [
-                    {
-                        text: rave.getClientMessage("common.add"),
-                        id: "AddPageBtn",
-                        click: function() {
-                            addPage();
-                        }
-                    },
-                    {
-                        text: rave.getClientMessage("common.update"),
-                        id: "UpdatePageBtn",
-                        click: function() {
-                            updatePage();
-                        }
-                    },
-                    {
-                        text: rave.getClientMessage("common.cancel"),
-                        id: "CancelPageBtn",
-                        click: function() {
-                            $(this).dialog("close");
-                        }
-                    }
-                ],
-                open: function(event, ui) {
-                    $dialog.unbind("submit");
-                    if ($tab_id.val() == '') {
-                        $("#"+this.id).dialog("option", "title", rave.getClientMessage("page.add"));
-                        $("#UpdatePageBtn").hide();
-                        $("#AddPageBtn").show();
-                        $dialog.submit(function() {
-                            $("#AddPageBtn").click();
-                            return false;
-                        });
-                    }
-                    else {
-                        $("#"+this.id).dialog("option", "title", rave.getClientMessage("page.update"));
-                        $("#UpdatePageBtn").show();
-                        $("#AddPageBtn").hide();
-                        $dialog.submit(function() {
-                            $("#UpdatePageBtn").click();
-                            return false;
-                        });
-
-                    }
+            // initialize the page form validator overriding the
+            // styles to wire in bootstrap styles
+            $pageForm.validate({
+                errorElement: 'span',
+                errorClass: 'help-inline',
+                highlight: function (element, errorClass) {
+                    $(element).parent().parent().addClass('error');
                 },
-                close: function() {
-                    $form[ 0 ].reset();
-                    $tab_id.val('');
-                    $("#pageFormErrors").html("");
+                unhighlight: function (element, errorClass) {
+                    $(element).parent().parent().removeClass('error');
                 }
             });
 
-            // the modal dialog for moving a page
-            $movePageDialog = $("#movePageDialog").dialog({
-                autoOpen: false,
-                modal: true,
-                buttons: [
-                    {
-                        text: rave.getClientMessage("common.move"),
-                        click: function() {
-                            movePage();
-                        }
-                    },
-                    {
-                        text: rave.getClientMessage("common.cancel"),
-                        click: function() {
-                            $( this ).dialog( "close" );
-                        }
-                    }
-                ],
-                open: function() {
-                    $("#moveAfterPageId").focus();
-                },
-                close: function() {
-                    $("#movePageForm")[0].reset();
-                }
-            });
+            // initialize the close button in the page menu dialog
+            $("#pageMenuCloseButton").click(rave.layout.closePageDialog);
 
-            // the modal dialog for moving a widget
-            $moveWidgetDialog = $("#moveWidgetDialog").dialog({
-                autoOpen: false,
-                modal: true,
-                buttons: [
-                    {
-                        text: rave.getClientMessage("common.move"),
-                        click: function() {
-                            moveWidgetToPage($(this).data('regionWidgetId'));
-                        }
-                    },
-                    {
-                        text: rave.getClientMessage("common.cancel"),
-                        click: function() {
-                            $(this).dialog("close");
-                        }
-                    }
-                ],
-                open: function() {
-                    $("#moveToPageId").focus();
-                },
-                close: function() {
-                    $("#moveWidgetForm")[0].reset();
-                }
+            // setup the edit page menu item
+            $addPageButton.bind('click', function(event) {
+                $("#pageMenuDialogHeader").html(rave.getClientMessage("page.add"));
+                var $pageMenuUpdateButton = $("#pageMenuUpdateButton");
+                $pageMenuUpdateButton.html(rave.getClientMessage("common.add"));
+                // unbind the previous click event since we are sharing the
+                // dialog between separate add/edit page actions
+                $pageMenuUpdateButton.unbind('click');
+                $pageMenuUpdateButton.click(rave.layout.addPage);
+                $("#pageMenuDialog").modal('show');
             });
 
-            // initialize the page menu and button
-            $button.bind('click', function(event) {  
-                $menu.toggle();
-                // prevent the menu button click event from bubbling up to parent 
-                // DOM object event handlers such as the page tab click event
-                event.stopPropagation();
-            });         
-
             // setup the edit page menu item
             $menuItemEdit.bind('click', function(event) {
                  rave.api.rpc.getPagePrefs({pageId: getCurrentPageId(),
@@ -177,47 +76,36 @@ rave.layout = rave.layout || (function()
                                             $tab_title_input.val(result.result.name);
                                             $tab_id.val(result.result.entityId);
                                             $page_layout_input.val(result.result.pageLayout.code);
-                                            $dialog.dialog( "open" );
+                                            $("#pageMenuDialogHeader").html(rave.getClientMessage("page.update"));
+                                            var $pageMenuUpdateButton = $("#pageMenuUpdateButton");
+                                            $pageMenuUpdateButton.html(rave.getClientMessage("common.save"));
+                                            // unbind the previous click event since we are sharing the
+                                            // dialog between separate add/edit page actions
+                                            $pageMenuUpdateButton.unbind('click');
+                                            $pageMenuUpdateButton.click(rave.layout.updatePage);
+                                            $("#pageMenuDialog").modal('show');
                                         }
                 });
-
-                pageMenu.hide();
-                // prevent the menu button click event from bubbling up to parent 
-                // DOM object event handlers such as the page tab click event
-                event.stopPropagation();
             });
 
             // setup the delete page menu item if it is not disabled
-            if (!$menuItemDelete.hasClass("page-menu-item-disabled")) {                            
+            if (!$menuItemDelete.hasClass("menu-item-disabled")) {
                 $menuItemDelete.bind('click', function(event) {
                     // send the rpc request to delete the page
                     rave.api.rest.deletePage({pageId: getCurrentPageId(), successCallback: rave.viewPage});
-                    pageMenu.hide();
-                    // prevent the menu button click event from bubbling up to parent 
-                    // DOM object event handlers such as the page tab click event
-                    event.stopPropagation();
                 });
             }
 
-            // setup the edit page menu item if it is not disabled
-            if (!$menuItemDelete.hasClass("page-menu-item-disabled")) {
+            // setup the move page menu item if it is not disabled
+            if (!$menuItemMove.hasClass("menu-item-disabled")) {
                 $menuItemMove.bind('click', function(event) {
-                    pageMenu.hide();                 
-                    $movePageDialog.dialog("open");
-                    // prevent the menu button click event from bubbling up to parent 
-                    // DOM object event handlers such as the page tab click event
-                    event.stopPropagation();
-                });      
+                    $movePageDialog.modal('show');
+                });
             }
-
-            // close the page menu if the user clicks outside of it           
-            $("html").click(pageMenu.hide);
         }
-        
+
         return {
-            init: init,
-            hide: hideMenu,
-            show: showMenu
+            init: init
         }
     })();
 
@@ -234,13 +122,13 @@ rave.layout = rave.layout || (function()
          */
         function hideMenu(widgetId) {
             $("#widget-" + widgetId + "-menu").hide();
-        }        
+        }
         /**
-         * Hides all widget menus     
+         * Hides all widget menus
          */
         function hideAllMenus() {
             $(".widget-menu").hide();
-        }        
+        }
         /**
          * Shows the widget menu for a specific widget
          * @param widgetId the id of the widget to show the menu for
@@ -256,70 +144,54 @@ rave.layout = rave.layout || (function()
          * - binds body click event handler to close the menu
          */
         function init() {
-            // initialize the widget menu and button
-            $(".widget-menu-button").each(function(index, element) {
-                if (!$(element).hasClass("widget-menu-item-disabled")) {
-                    $(element).bind('click', function(event) {
-                        $menu = $("#widget-" + rave.getObjectIdFromDomId(this.id) + "-menu");                        
-                        $menu.toggle();
-                        // prevent the menu button click event from bubbling up to parent
-                        // DOM object event handlers such as the page tab click event
-                        event.stopPropagation();
-                    });
-                }
-            });
-
             // loop over each widget-menu and initialize the menu items
             // note: the edit prefs menu item is by default rendered disabled
-            //       and it is up to the provider code for that widget to 
+            //       and it is up to the provider code for that widget to
             //       determine if the widget has preferences, and to enable
             //       the menu item
             $(".widget-menu").each(function(index, element){
                 var widgetId = rave.getObjectIdFromDomId(element.id);
-                                
+
                 // setup the move to page menu item
                 $menuItemMove = $("#widget-" + widgetId + "-menu-move-item");
-                if (!$menuItemMove.hasClass("widget-menu-item-disabled")) {
-                    $menuItemMove.bind('click', function(event) {                       
+                if (!$menuItemMove.hasClass("menu-item-disabled")) {
+                    $menuItemMove.bind('click', function(event) {
                         var regionWidgetId = rave.getObjectIdFromDomId(this.id);
-                        $moveWidgetDialog
-                            .data('regionWidgetId', regionWidgetId)
-                            .dialog("open");
-                            
-                        // hide the widget menu
-                        rave.layout.hideWidgetMenu(regionWidgetId);                       
-                            
+                        // Clear the dropdown box; needing to do this may be a bug?
+                        $('.dropdown').removeClass('open');
+                        // Open the modal
+                        $("#moveWidgetModal").data('regionWidgetId', regionWidgetId);
+                        $("#moveWidgetModal").modal('show');
+
                         // prevent the menu button click event from bubbling up to parent
                         // DOM object event handlers such as the page tab click event
                         event.stopPropagation();
                     });
-                }    
-                
+                }
+
                 // setup the delete widget menu item
                 $menuItemDelete  = $("#widget-" + widgetId + "-menu-delete-item");
-                if (!$menuItemDelete.hasClass("widget-menu-item-disabled")) {
-                    $menuItemDelete.bind('click', function(event) {                       
-                        var regionWidgetId = rave.getObjectIdFromDomId(this.id); 
-                         // hide the widget menu
-                        rave.layout.hideWidgetMenu(regionWidgetId);                                         
+                if (!$menuItemDelete.hasClass("menu-item-disabled")) {
+                    $menuItemDelete.bind('click', function(event) {
+                        var regionWidgetId = rave.getObjectIdFromDomId(this.id);
+
                         // invoke the rpc call to remove the widget from the page
                         rave.layout.deleteRegionWidget(regionWidgetId);
-                                                                                                                                                     
+
                         // prevent the menu button click event from bubbling up to parent
                         // DOM object event handlers such as the page tab click event
                         event.stopPropagation();
                     });
-                }    
-                
+                }
+
                 // setup the maximize widget menu item
                 $menuItemMaximize  = $("#widget-" + widgetId + "-menu-maximize-item");
-                if (!$menuItemMaximize.hasClass("widget-menu-item-disabled")) {
-                    $menuItemMaximize.bind('click', function(event) {                       
-                        var regionWidgetId = rave.getObjectIdFromDomId(this.id); 
-                         // hide the widget menu
-                        rave.layout.hideWidgetMenu(regionWidgetId);                                         
+                if (!$menuItemMaximize.hasClass("menu-item-disabled")) {
+                    $menuItemMaximize.bind('click', function(event) {
+                        var regionWidgetId = rave.getObjectIdFromDomId(this.id);
+
                         // maximize the widget
-                        rave.maximizeWidget({data: {id: regionWidgetId}});                                                                                                                                                     
+                        rave.maximizeWidget({data: {id: regionWidgetId}});
                         // prevent the menu button click event from bubbling up to parent
                         // DOM object event handlers such as the page tab click event
                         event.stopPropagation();
@@ -328,11 +200,10 @@ rave.layout = rave.layout || (function()
 
                 // setup the about this widget menu item
                 $menuItemAbout  = $("#widget-" + widgetId + "-menu-about-item");
-                if (!$menuItemAbout.hasClass("widget-menu-item-disabled")) {
+                if (!$menuItemAbout.hasClass("menu-item-disabled")) {
                     $menuItemAbout.bind('click', function(event) {
                         var regionWidget = rave.getRegionWidgetById(rave.getObjectIdFromDomId(this.id));
-                        // hide the widget menu
-                        rave.layout.hideWidgetMenu(regionWidget.regionWidgetId);
+
                         // go to the widget detail page
                         rave.viewWidgetDetail(regionWidget.widgetId, getCurrentPageId());
                         // prevent the menu button click event from bubbling up to parent
@@ -341,28 +212,24 @@ rave.layout = rave.layout || (function()
                     });
                 }
             });
-
-            // close the widget menu if the user clicks outside of it
-            $("html").click(widgetMenu.hideAll);
         }
-        
+
         /**
          * Enables the Edit Prefs including the Preferences view (Custom Edit Prefs)
          * menu item in the widget menu to be clicked.
          * Widget providers should use this function when initializing their
          * widgets after determining if the widget has preferences to modify.
-         * 
+         *
          * @param regionWidgetId the regionWidgetId of the regionWidget menu to enable
          * @param isPreferencesView boolean to indicate whether "preferences" view or the default prefs view
          */
         function enableEditPrefsMenuItem(regionWidgetId, isPreferencesView) {
             // setup the edit prefs widget menu item
             var $menuItemEditPrefs  = $("#widget-" + regionWidgetId + "-menu-editprefs-item");
-            $menuItemEditPrefs.removeClass("widget-menu-item-disabled");           
-            $menuItemEditPrefs.bind('click', function(event) {                       
-                var regionWidgetId = rave.getObjectIdFromDomId(this.id); 
-                 // hide the widget menu
-                rave.layout.hideWidgetMenu(regionWidgetId);
+            $menuItemEditPrefs.removeClass("menu-item-disabled");
+            $menuItemEditPrefs.bind('click', function(event) {
+                var regionWidgetId = rave.getObjectIdFromDomId(this.id);
+
                 // show the regular edit prefs or the Custom Edit Prefs(preferences) region
                 if ( isPreferencesView )
                     rave.editCustomPrefs({data: {id: regionWidgetId}});
@@ -371,13 +238,13 @@ rave.layout = rave.layout || (function()
                 // prevent the menu button click event from bubbling up to parent
                 // DOM object event handlers such as the page tab click event
                 event.stopPropagation();
-            });                
+            });
         }
 
         return {
             init: init,
             hideAll: hideAllMenus,
-            hide: hideMenu,            
+            hide: hideMenu,
             show: showMenu,
             enableEditPrefsMenuItem: enableEditPrefsMenuItem
         }
@@ -398,42 +265,42 @@ rave.layout = rave.layout || (function()
 
     /**
      * Submits the RPC call to add a new page if form validation passes
-     */        
+     */
     function addPage() {
         // if the form has passed validation submit the request
-        if ($("#pageForm").valid()) {        
+        if ($pageForm.valid()) {
             var newPageTitle = $tab_title_input.val();
             var newPageLayoutCode = $page_layout_input.val();
 
             // send the rpc request to create the new page
-            rave.api.rpc.addPage({pageName: newPageTitle, 
+            rave.api.rpc.addPage({pageName: newPageTitle,
                                   pageLayoutCode: newPageLayoutCode,
-                                  successCallback: function(result) {                                      
-                                      rave.viewPage(result.result.entityId); 
-                                  } 
-            });      
+                                  successCallback: function(result) {
+                                      rave.viewPage(result.result.entityId);
+                                  }
+            });
         }
-    }      
+    }
 
     /**
      * Submits the RPC call to move the page to a new render sequence
-     */        
+     */
     function movePage() {
         var moveAfterPageId = $("#moveAfterPageId").val();
         var args = { pageId: $("#currentPageId").val(),
                      successCallback: function(result) { rave.viewPage(result.result.entityId); }
                    };
-       
+
         if (moveAfterPageId != MOVE_PAGE_DEFAULT_POSITION_IDX) {
             args["moveAfterPageId"] = moveAfterPageId;
         }
-                          
+
         // send the rpc request to move the new page
-        rave.api.rpc.movePage(args);              
+        rave.api.rpc.movePage(args);
     }
 
     function updatePage() {
-        if ($("#pageForm").valid()) {
+        if ($pageForm.valid()) {
             // send the rpc request to update the page
             rave.api.rpc.updatePagePrefs({pageId: $tab_id.val(),
                                             title: $tab_title_input.val(),
@@ -443,7 +310,13 @@ rave.layout = rave.layout || (function()
                                             }});
         }
     }
-    
+
+    function closePageDialog() {
+        $pageForm[0].reset();
+        $tab_id.val('');
+        $("#pageMenuDialog").modal("hide");
+    }
+
     /**
      * Invokes the RPC call to delete a regionWidget from a page
      *
@@ -455,7 +328,7 @@ rave.layout = rave.layout || (function()
                 regionWidgetId: regionWidgetId,
                 successCallback: function() {
                     // remove the widget from the dom and the internal memory map
-                    $("#widget-" + this.regionWidgetId + "-wrapper").remove();                    
+                    $("#widget-" + this.regionWidgetId + "-wrapper").remove();
                     rave.removeWidgetFromMap(this.regionWidgetId);
                     if (rave.isPageEmpty()) {
                         rave.displayEmptyPageMessage();
@@ -464,39 +337,35 @@ rave.layout = rave.layout || (function()
             });
         }
     }
-    
+
     /**
      * Returns the pageId of the currently viewed page
      */
     function getCurrentPageId() {
         return $("#currentPageId").val();
     }
-       
+
    /***
     * initializes the rave.layout namespace code
     */
     function init() {
-        // add_page button to open the dialog for creating a new page
-        $( "#add_page" )
-                .button({ 
-                    text: false,
-                    icons: {primary:'ui-icon-plusthick'} 
-                })
-                .click(function() {
-                    $dialog.dialog( "open" );
-                })
-                .show();
-
         pageMenu.init();
         widgetMenu.init();
+        // initialize the bootstrap dropdowns
+        $(".dropdown-toggle").dropdown();
     }
-   
+
     // public rave.layout API
     return {
         init: init,
         getCurrentPageId: getCurrentPageId,
         hideWidgetMenu: widgetMenu.hide,
         deleteRegionWidget: deleteRegionWidget,
-        enableEditPrefsMenuItem: widgetMenu.enableEditPrefsMenuItem
-    };    
+        enableEditPrefsMenuItem: widgetMenu.enableEditPrefsMenuItem,
+        addPage: addPage,
+        updatePage: updatePage,
+        movePage: movePage,
+        closePageDialog: closePageDialog,
+        moveWidgetToPage: moveWidgetToPage
+    };
 })();

Modified: rave/trunk/rave-portal-resources/src/main/webapp/script/rave_person_profile.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_person_profile.js?rev=1329241&r1=1329240&r2=1329241&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/script/rave_person_profile.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/script/rave_person_profile.js Mon Apr 23 13:51:02 2012
@@ -21,31 +21,27 @@ var rave = rave || {};
 rave.personprofile = rave.personprofile || (function() {
     // map of [subpage id, boolean] tracking whether or not a sub page has been viewed at least once
     var subPagesViewedStatus = {};
-
-    function initSubPages() {
-        // setup the sub page tabs
-        $("#personProfileSubPages").tabs({
-                select: function(event, ui) {
-                    // refresh the widgets on the sub page when selected to ensure proper sizing
-                    var subPageId = ui.panel.id;
-                    if (subPagesViewedStatus[subPageId] == false) {
-                        $("#" + subPageId + " .widget-wrapper").each(function(){
-                            var regionWidget = rave.getRegionWidgetById(rave.getObjectIdFromDomId(this.id));
-                            regionWidget.restore();
-                        });
-                        // mark that this sub page has been viewed at least once and there is no need to refresh
-                        // the widgets in future views
-                        subPagesViewedStatus[subPageId] = true;
-                    }
-                }
+     function initSubPages() {
+        //Make first tab active (Twitter Bootstrap)
+        $('.nav-tabs a:first').tab('show');
+        $('#personProfileSubPages a[data-toggle="tab"]').on('shown', function(event, ui) {
+            // refresh the widgets on the sub page when selected to ensure proper sizing
+            var subPageId = $( $(this).attr("href") ).attr("id");
+            if (subPagesViewedStatus[subPageId] == false) {
+                $("#" + subPageId + " .widget-wrapper").each(function(){
+                    var regionWidget = rave.getRegionWidgetById(rave.getObjectIdFromDomId(this.id));
+                    regionWidget.restore();
+                });
+                // mark that this sub page has been viewed at least once and there is no need to refresh
+                // the widgets in future views
+                subPagesViewedStatus[subPageId] = true;
             }
-        );
-
+        });
         // build the subPageViewedStatus map to track if a given sub page has been viewed yet to determine if we need
         // to refresh the widgets upon first viewing to ensure they are sized properly.  Set the default active tab to
         // true since it will be rendered and sized properly as part of the initial page load
-        var activeSubPageId = $("#personProfileSubPages .ui-tabs-panel:not(.ui-tabs-hide)")[0].id;
-        $("#personProfileSubPages .ui-tabs-panel").each(function(){
+        var activeSubPageId = $("#personProfileSubPages .tab-pane.active")[0].id;
+        $("#personProfileSubPages .tab-pane").each(function(){
             subPagesViewedStatus[this.id] = (this.id == activeSubPageId);
         });
     }