basic interaction with fake outfits

This commit is contained in:
Emi Matchu 2010-11-08 20:40:03 -05:00
parent b44cb4b09e
commit 1fd98fb191
15 changed files with 1478 additions and 166 deletions

View file

@ -1,8 +1,4 @@
class OutfitsController < ApplicationController class OutfitsController < ApplicationController
def edit
render :layout => false
end
def new def new
@colors = Color.all @colors = Color.all
@species = Species.all @species = Species.all

View file

@ -1,4 +1,9 @@
module ApplicationHelper module ApplicationHelper
def add_body_class(class_name)
@body_class ||= ''
@body_class << " #{class_name}"
end
def auth_server_icon_url def auth_server_icon_url
# TODO: if auth servers expand, don't hardcode path # TODO: if auth servers expand, don't hardcode path
URI::HTTP.build( URI::HTTP.build(
@ -8,7 +13,9 @@ module ApplicationHelper
end end
def body_class def body_class
"#{params[:controller]} #{params[:controller]}-#{params[:action]}" "#{params[:controller]} #{params[:controller]}-#{params[:action]}".tap do |output|
output << @body_class if @body_class
end
end end
def flashes def flashes

View file

@ -19,6 +19,7 @@ html, body
height: 100% height: 100%
body body
background: $background-color
color: $text-color color: $text-color
font: font:
family: $main-font family: $main-font

View file

@ -0,0 +1,362 @@
@import ../shared/jquery.jgrowl
$object-padding: 6px
$nc-icon-size: 16px
$preview-dimension: 400px
$sidebar-margin: 20px
$sidebar-width: 400px
$sidebar-unit-horizontal-padding: 24px
$sidebar-unit-inner-width: $sidebar-width - $sidebar-unit-horizontal-padding * 2
body.outfits-edit
#preview-toolbar
margin-bottom: .5em
text-align: left
form
display: inline
margin-right: 2em
#pet-info form
display: inline
#pet-state-form
ul
list-style: none
&, li
display: inline
input
display: none
label
+awesome-button
margin: 0 .25em
li.selected label
+awesome-button-color($marked_button_color)
#sharing
float: right
position: relative
#short-url-response
font-size: 87.5%
display: none
position: absolute
right: 0
top: -2em
width: 20em
#share-button-wrapper
display: inline
#share-button
img
margin:
bottom: -0.25em
right: .25em
height: 16px
width: 16px
&:active
top: 1px
#preview
clear: both
#preview-swf
float: left
height: $preview-dimension
margin-bottom: 1em
position: relative
width: $preview-dimension
#preview-swf-overlay
+opacity(0)
background: black
height: 100%
left: 0
position: absolute
top: 0
width: 100%
#preview-sidebar
float: left
height: $preview-dimension
margin-left: $sidebar-margin
margin-bottom: 1em
width: $container_width - $preview-dimension - $sidebar-margin
&.viewing-outfits
#preview-closet
display: none
#preview-outfits
display: block
#preview-closet
h2
margin: 0
.object
background: $module-bg-color
img
+opacity(0.5)
&.worn
background: transparent
img
+opacity(1)
&.no-assets
background: $error-bg-color
color: $error-color
padding-bottom: 1.25em
.no-assets-message
display: block
.no-assets-message
background: $error-bg-color - #080808
bottom: 0
color: $error-color - #080808
cursor: pointer
display: none
font-size: 75%
left: 0
position: absolute
width: 100%
#no-assets-full-message
+border-radius(5px)
background: $error-bg-color + #111111
border: 1px solid $error-border-color + #111111
color: $error-color + #111111
font-size: 75%
left: -9999px
padding: .25em
position: absolute
top: -9999px
width: 30em
#preview-search-form
clear: both
text-align: left
h2
+inline-block
margin: 0 1em 0 0
input
+inline-block
#preview-search-form-pagination
+inline-block
margin-left: 2em
a, span
margin: 0 .25em
.current
font-weight: bold
#preview-search-form-clear
display: none
font-size: 87.5%
margin-left: 2em
#preview-search-form-loading
display: none
font:
size: 75%
style: italic
margin-left: 2em
#preview-search-form-no-results
display: none
#preview-search-form-help
font-size: 87.5%
margin-left: 2em
.search-helper
font-family: inherit
.possible-error
@extend .error
display: none
#fullscreen-copyright
display: none
&.fullscreen
$fullscreen-search-border: 1px 1px 0
height: 100%
#container
+box-sizing(border-box)
height: 100%
margin: 0 auto
min-width: 800px
padding-top: 2.5em
position: relative
width: 80%
h1
display: none
#short-url-response
position: static
#preview
width: 100%
#preview-sidebar
+border-radius(10px)
border: 1px solid $soft-border-color
float: right
height: 100%
margin: 0
overflow: auto
position: relative
width: $sidebar-width
> div
padding:
left: $sidebar-unit-horizontal-padding
right: $sidebar-unit-horizontal-padding
#preview-search-form
bottom: 1em
left: 0
overflow: auto
padding: .5em 1em
position: absolute
width: 100%
#preview-search-form-help
div
+inline-block
width: 48%
#footer
bottom: 0
left: 0
position: absolute
width: 100%
ul, p, li
display: inline
ul
margin-right: 2em
.object
padding: $object-padding
position: relative
ul
display: none
left: 0
list-style: none
position: absolute
top: 0
li
margin-bottom: .25em
a
+awesome-button
+awesome-button-color(#aaaaaa)
+opacity(0.9)
font-size: 80%
&:hover
ul, .object-info
display: block
// the difference between the horizontal edge of the object element and the
// image edge
$object-img-diff: ($object-width - $object-img-size) / 2 + $object-padding
.nc-icon
background: url(/assets/images/nc.png) no-repeat
height: $nc-icon-size
position: absolute
right: $object-img-diff
text-indent: -9999px
top: $object-img-size - $nc-icon-size
width: $nc-icon-size
&:hover
+opacity(0.5)
.object-info
+border-radius(12px)
+opacity(0.75)
background: #aaa
color: #fff
display: none
height: 16px
position: absolute
right: $object-img-diff / 2
top: 0
width: 16px
span
font:
family: $text-font
weight: bold
position: relative
top: -2px
&:hover
+opacity(1)
$outfit-thumbnail-size: 50px
$outfit-thumbnail-original-size: 100px
$outfit-thumbnail-margin: 12px
$outfit-header-padding: 24px
$outfit-content-width: $sidebar-unit-inner-width - $outfit-thumbnail-size - $outfit-thumbnail-margin - 32px
$outfit-content-inner-width: $outfit-content-width - $outfit-header-padding
#preview-outfits
display: none
text-align: left
h2
margin-bottom: .25em
h3
margin-bottom: .5em
> ul
display: block
font-family: $main-font
list-style: none
margin-bottom: 1em
> li
+clearfix
font-size: 75%
margin-bottom: .5em
.outfit-thumbnail
float: left
height: $outfit-thumbnail-size
margin-right: $outfit-thumbnail-margin
overflow: hidden
position: relative
width: $outfit-thumbnail-size
img
height: $outfit-thumbnail-original-size
left: -$outfit-thumbnail-original-size / 4
position: absolute
top: -$outfit-thumbnail-original-size / 4
width: $outfit-thumbnail-original-size
> div
float: left
width: $outfit-content-width
button
+reset-awesome-button
+opacity(.5)
font-size: 150%
float: right
line-height: 1
margin-top: -.125em
padding: .125em .25em
&:hover
+opacity(1)
background: $module-bg-color
header
display: block
padding-left: $outfit-header-padding
.outfit-star
background:
image: url(/images/unstarred.png)
position: left top
repeat: no-repeat
bottom: -2px
/* margin-bottom doesn't work here
cursor: pointer
display: block
float: left
height: 16px
margin-left: -24px
/* makes it not take up inline space
position: relative
width: 16px
h4
cursor: pointer
font-size: 150%
&:hover
text-decoration: underline
input
+opacity(.5)
border-color: $background-color
width: $outfit-content-inner-width
&:hover
+opacity(1)
border-color: $input-border-color
.outfit-delete-confirmation
display: none
span
color: red
a
margin: 0 .25em
&.confirming-deletion
.outfit-delete
visibility: hidden
.outfit-url
display: none
.outfit-delete-confirmation
display: block
&.starred
.outfit-star
background-image: url(/images/star.png)
.preview-sidebar-nav
float: right
font-size: 85%
margin-top: 1em

View file

@ -0,0 +1,98 @@
div
&.jGrowl
padding: 10px
z-index: 9999
color: #fff
font-size: 12px
&.ie6
position: absolute
&.top-right
right: auto
bottom: auto
left: expression(( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' )
top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )
&.top-left
left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' )
top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )
&.bottom-right
left: expression(( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' )
top: expression(( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )
&.bottom-left
left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' )
top: expression(( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )
&.center
left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' )
top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )
width: 100%
/** Special IE6 Style Positioning *
/** Normal Style Positions *
body > div.jGrowl
position: fixed
&.top-left
left: 0px
top: 0px
&.top-right
right: 0px
top: 0px
&.bottom-left
left: 0px
bottom: 0px
&.bottom-right
right: 0px
bottom: 0px
&.center
top: 0px
width: 50%
left: 25%
/** Cross Browser Styling *
div
&.center div
&.jGrowl-notification, &.jGrowl-closer
margin-left: auto
margin-right: auto
&.jGrowl div
&.jGrowl-notification, &.jGrowl-closer
background-color: #000
opacity: .85
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85)
zoom: 1
width: 235px
padding: 10px
margin-top: 5px
margin-bottom: 5px
font-family: Tahoma, Arial, Helvetica, sans-serif
font-size: 1em
text-align: left
display: none
-moz-border-radius: 5px
-webkit-border-radius: 5px
&.jGrowl-notification
min-height: 40px
div
&.header
font-weight: bold
font-size: .85em
&.close
z-index: 99
float: right
font-weight: bold
font-size: 1em
cursor: pointer
&.jGrowl-closer
padding-top: 4px
padding-bottom: 4px
cursor: pointer
font-size: .9em
font-weight: bold
text-align: center
/** Hide jGrowl when printing *
@media print
div.jGrowl
display: none

View file

@ -1,3 +1,4 @@
$background-color: #fff
$text-color: #040 $text-color: #040
$soft-text-color: $text-color + #444 $soft-text-color: $text-color + #444
$link-color: $text-color + #222 $link-color: $text-color + #222

View file

@ -55,6 +55,26 @@
&:active &:active
top: 1px top: 1px
=reset-awesome-button
+border-radius(0)
background: transparent
display: inline
padding: 0
color: inherit
-moz-box-shadow: none
-webkit-box-shadow: none
text-shadow: none
border-bottom: 0
position: static
font-weight: normal
line-height: inherit
&:hover
background: transparent
color: inherit
&:active
top: auto
=loud-awesome-button-color =loud-awesome-button-color
+awesome-button-color(#ff5c00) +awesome-button-color(#ff5c00)

View file

@ -8,6 +8,7 @@
@import items @import items
@import items/index @import items/index
@import items/show @import items/show
@import outfits/edit
@import outfits/new @import outfits/new
@import pets/bulk @import pets/bulk
@import static/terms @import static/terms

View file

@ -1,12 +1,4 @@
!!! - add_body_class 'fullscreen'
%html
%head
%title Dress to Impress - Planning an outfit
/[if lt IE 9]
= javascript_include_tag "http://html5shiv.googlecode.com/svn/trunk/html5.js"
= stylesheet_link_tag "http://#{RemoteImpressHost}/assets/css/clean.css"
%body.standard.outfits-edit.fullscreen
#container
%a#home-link{:href => "/"} %a#home-link{:href => "/"}
%span Dress to Impress %span Dress to Impress
%h1#title Planning an outfit %h1#title Planning an outfit
@ -31,14 +23,78 @@
Share Share
#preview #preview
#preview-swf #preview-swf
#preview-swf-container
%p Flash and Javascript (but not Java!) are required to preview outfits. %p Flash and Javascript (but not Java!) are required to preview outfits.
%p If this message stays after the page is done loading, check those first. %p If this message stays after the page is done loading, check those first.
#preview-swf-overlay
#preview-sidebar
#preview-closet #preview-closet
%a#preview-sidebar-nav-outfits.preview-sidebar-nav{:href => '#'} Your outfits
%h2 Closet %h2 Closet
%ul %ul
%p#fullscreen-copyright %p#fullscreen-copyright
Images © 2000-2010 Neopets, Inc. All Rights Reserved. Images © 2000-2010 Neopets, Inc. All Rights Reserved.
Used With Permission Used With Permission
#preview-outfits
%a#preview-sidebar-nav-closet.preview-sidebar-nav{:href => "#"} &larr; Back to Closet
%h2 Your outfits
%ul
%li.starred
%span.outfit-thumbnail
%img{:src => "http://pets.neopets.com/cp/qw2l4ocw/1/2.png"}/
%div
%header
%button.outfit-delete &times;
.outfit-star
%h4 Pretty in Pink
%input.outfit-url{:type => 'text', :value => 'http://impress.openneo.net/outfits/qW2l4o'}
.outfit-delete-confirmation
%span Delete forever?
%a.outfit-delete-confirmation-yes{:href => '#'} yes
\/
%a.outfit-delete-confirmation-no{:href => '#'} no, thanks
%li.starred
%span.outfit-thumbnail
%img{:src => "http://pets.neopets.com/cp/wgvw75n8/1/2.png"}/
%div
%header
%button.outfit-delete &times;
.outfit-star
%h4 The Little Mermaid
%input.outfit-url{:type => 'text', :value => 'http://impress.openneo.net/outfits/qW2l4o'}
.outfit-delete-confirmation
%span Delete forever?
%a.outfit-delete-confirmation-yes{:href => '#'} yes
\/
%a.outfit-delete-confirmation-no{:href => '#'} no, thanks
%li
%span.outfit-thumbnail
%img{:src => "http://pets.neopets.com/cp/qb98jrng/1/2.png"}/
%div
%header
%button.outfit-delete &times;
.outfit-star
%h4 Autumn is Here
%input.outfit-url{:type => 'text', :value => 'http://impress.openneo.net/outfits/qW2l4o'}
.outfit-delete-confirmation
%span Delete forever?
%a.outfit-delete-confirmation-yes{:href => '#'} yes
\/
%a.outfit-delete-confirmation-no{:href => '#'} no, thanks
%li
%span.outfit-thumbnail
%img{:src => "http://pets.neopets.com/cp/84l7xx9t/1/2.png"}/
%div
%header
%button.outfit-delete &times;
.outfit-star
%h4 Super Mysterious Secret Agent
%input.outfit-url{:type => 'text', :value => 'http://impress.openneo.net/outfits/qW2l4o'}
.outfit-delete-confirmation
%span Delete forever?
%a.outfit-delete-confirmation-yes{:href => '#'} yes
\/
%a.outfit-delete-confirmation-no{:href => '#'} no, thanks
%form#preview-search-form %form#preview-search-form
%header %header
%h2 Add an item %h2 Add an item
@ -80,37 +136,8 @@
%ul %ul
#no-assets-full-message #no-assets-full-message
We haven't seen this item on this body type before. Have you? Submit its name on the home page if you have! We haven't seen this item on this body type before. Have you? Submit its name on the home page if you have!
- content_for :javascripts do
/[if IE] /[if IE]
= include_javascript_libraries :html5 = include_javascript_libraries :html5
= include_javascript_libraries :jquery, :swfobject, :bitly, :addthis = include_javascript_libraries :jquery, :swfobject, :bitly, :addthis
%script{:src => "http://#{RemoteImpressHost}/assets/timestamped/js/jquery.jgrowl-v1278204174.js", :type => "text/javascript"}
= include_javascripts :edit_outfit_package = include_javascripts :edit_outfit_package
#userbar
#userbar-login-with Login with:
%ul#userbar-auth-servers
%li
%a{:href => "http://id.openneo.net/?app=impress&path=%2Fwardrobe&session_id=a9ddeffb83a923447e2f40a2fe8387dc"}
%img{:src => "http://id.openneo.net/favicon.png"}/
%span OpenNeo ID
#footer
%ul
%li
%a{:href => "http://openneo.net/", :target => "_blank"} OpenNeo
%li
%a{:href => "http://blog.openneo.net/", :target => "_blank"} Blog
%li
%a{:href => "http://forum.openneo.net/", :target => "_blank"} Forum
%li
%a{:href => "http://github.com/matchu/openneo-impress"} The Source Code
%li
%a{:href => "/terms.html"} Terms of Use
%div
Contact:
%ul
%li
%a{:href => "http://openneo.uservoice.com/forums/40720-dress-to-impress"} Feedback
%li
%a{:href => "mailto:webmaster@openneo.net"} Questions, comments, bug reports
%p
Images &copy; 2000-2010 Neopets, Inc. All Rights Reserved.
Used With Permission

View file

@ -6,6 +6,7 @@ javascripts:
- public/javascripts/pets/bulk.js - public/javascripts/pets/bulk.js
edit_outfit_package: edit_outfit_package:
- public/javascripts/jquery.jgrowl.js
- public/javascripts/wardrobe.js - public/javascripts/wardrobe.js
- public/javascripts/outfits/edit.js - public/javascripts/outfits/edit.js

BIN
public/images/star.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

BIN
public/images/unstarred.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

View file

@ -0,0 +1,120 @@
(function($){
$.jGrowl=function(m,o){
if($("#jGrowl").size()==0){
$("<div id=\"jGrowl\"></div>").addClass($.jGrowl.defaults.position).appendTo("body");
}
$("#jGrowl").jGrowl(m,o);
};
$.fn.jGrowl=function(m,o){
if($.isFunction(this.each)){
var _6=arguments;
return this.each(function(){
var _7=this;
if($(this).data("jGrowl.instance")==undefined){
$(this).data("jGrowl.instance",$.extend(new $.fn.jGrowl(),{notifications:[],element:null,interval:null}));
$(this).data("jGrowl.instance").startup(this);
}
if($.isFunction($(this).data("jGrowl.instance")[m])){
$(this).data("jGrowl.instance")[m].apply($(this).data("jGrowl.instance"),$.makeArray(_6).slice(1));
}else{
$(this).data("jGrowl.instance").create(m,o);
}
});
}
};
$.extend($.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:false,position:"top-right",glue:"after",theme:"default",corners:"10px",check:250,life:3000,speed:"normal",easing:"swing",closer:true,closeTemplate:"&times;",closerTemplate:"<div>[ close all ]</div>",log:function(e,m,o){
},beforeOpen:function(e,m,o){
},open:function(e,m,o){
},beforeClose:function(e,m,o){
},close:function(e,m,o){
},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(_17,o){
var o=$.extend({},this.defaults,o);
this.notifications.push({message:_17,options:o});
o.log.apply(this.element,[this.element,_17,o]);
},render:function(_19){
var _1a=this;
var _1b=_19.message;
var o=_19.options;
var _19=$("<div class=\"jGrowl-notification ui-state-highlight ui-corner-all"+((o.group!=undefined&&o.group!="")?" "+o.group:"")+"\">"+"<div class=\"close\">"+o.closeTemplate+"</div>"+"<div class=\"header\">"+o.header+"</div>"+"<div class=\"message\">"+_1b+"</div></div>").data("jGrowl",o).addClass(o.theme).children("div.close").bind("click.jGrowl",function(){
$(this).parent().trigger("jGrowl.close");
}).parent();
$(_19).bind("mouseover.jGrowl",function(){
$("div.jGrowl-notification",_1a.element).data("jGrowl.pause",true);
}).bind("mouseout.jGrowl",function(){
$("div.jGrowl-notification",_1a.element).data("jGrowl.pause",false);
}).bind("jGrowl.beforeOpen",function(){
if(o.beforeOpen.apply(_19,[_19,_1b,o,_1a.element])!=false){
$(this).trigger("jGrowl.open");
}
}).bind("jGrowl.open",function(){
if(o.open.apply(_19,[_19,_1b,o,_1a.element])!=false){
if(o.glue=="after"){
$("div.jGrowl-notification:last",_1a.element).after(_19);
}else{
$("div.jGrowl-notification:first",_1a.element).before(_19);
}
$(this).animate(o.animateOpen,o.speed,o.easing,function(){
if($.browser.msie&&(parseInt($(this).css("opacity"),10)===1||parseInt($(this).css("opacity"),10)===0)){
this.style.removeAttribute("filter");
}
$(this).data("jGrowl").created=new Date();
});
}
}).bind("jGrowl.beforeClose",function(){
if(o.beforeClose.apply(_19,[_19,_1b,o,_1a.element])!=false){
$(this).trigger("jGrowl.close");
}
}).bind("jGrowl.close",function(){
$(this).data("jGrowl.pause",true);
$(this).animate(o.animateClose,o.speed,o.easing,function(){
$(this).remove();
var _1d=o.close.apply(_19,[_19,_1b,o,_1a.element]);
if($.isFunction(_1d)){
_1d.apply(_19,[_19,_1b,o,_1a.element]);
}
});
}).trigger("jGrowl.beforeOpen");
if($.fn.corner!=undefined){
$(_19).corner(o.corners);
}
if($("div.jGrowl-notification:parent",_1a.element).size()>1&&$("div.jGrowl-closer",_1a.element).size()==0&&this.defaults.closer!=false){
$(this.defaults.closerTemplate).addClass("jGrowl-closer ui-state-highlight ui-corner-all").addClass(this.defaults.theme).appendTo(_1a.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){
$(this).siblings().children("div.close").trigger("click.jGrowl");
if($.isFunction(_1a.defaults.closer)){
_1a.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]]);
}
});
}
},update:function(){
$(this.element).find("div.jGrowl-notification:parent").each(function(){
if($(this).data("jGrowl")!=undefined&&$(this).data("jGrowl").created!=undefined&&($(this).data("jGrowl").created.getTime()+$(this).data("jGrowl").life)<(new Date()).getTime()&&$(this).data("jGrowl").sticky!=true&&($(this).data("jGrowl.pause")==undefined||$(this).data("jGrowl.pause")!=true)){
$(this).trigger("jGrowl.beforeClose");
}
});
if(this.notifications.length>0&&(this.defaults.pool==0||$(this.element).find("div.jGrowl-notification:parent").size()<this.defaults.pool)){
this.render(this.notifications.shift());
}
if($(this.element).find("div.jGrowl-notification:parent").size()<2){
$(this.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){
$(this).remove();
});
}
},startup:function(e){
this.element=$(e).addClass("jGrowl").append("<div class=\"jGrowl-notification\"></div>");
this.interval=setInterval(function(){
$(e).data("jGrowl.instance").update();
},this.defaults.check);
if($.browser.msie&&parseInt($.browser.version)<7&&!window["XMLHttpRequest"]){
$(this.element).addClass("ie6");
}
},shutdown:function(){
$(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove();
clearInterval(this.interval);
},close:function(){
$(this.element).find("div.jGrowl-notification").each(function(){
$(this).trigger("jGrowl.beforeClose");
});
}});
$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults;
})(jQuery);

View file

@ -1,9 +1,11 @@
// TODO: remove code associated with Short URL, Share
var Partial = {}, main_wardrobe, var Partial = {}, main_wardrobe,
View = Wardrobe.getStandardView({ View = Wardrobe.getStandardView({
Preview: { Preview: {
swf_url: '/swfs/preview.swf?v=0.12', swf_url: '/swfs/preview.swf?v=0.12',
wrapper: $('#preview'), wrapper: $('#preview'),
placeholder: $('#preview-swf') placeholder: $('#preview-swf-container')
} }
}); });
@ -147,7 +149,7 @@ View.Closet = function (wardrobe) {
View.Fullscreen = function (wardrobe) { View.Fullscreen = function (wardrobe) {
var full = $(document.body).hasClass('fullscreen'), win = $(window), var full = $(document.body).hasClass('fullscreen'), win = $(window),
preview_el = $('#preview'), search_el = $('#preview-search-form'), preview_el = $('#preview'), search_el = $('#preview-search-form'),
preview_swf = $('#preview-swf'), closet_el = $('#preview-closet'), preview_swf = $('#preview-swf'), sidebar_el = $('#preview-sidebar'),
footer = $('#footer'); footer = $('#footer');
function fit() { function fit() {
@ -155,7 +157,7 @@ View.Fullscreen = function (wardrobe) {
preview_swf = $('#preview-swf'); // swf replaced preview_swf = $('#preview-swf'); // swf replaced
var available = { var available = {
height: search_el.offset().top - preview_el.offset().top, height: search_el.offset().top - preview_el.offset().top,
width: preview_el.innerWidth() - closet_el.outerWidth() - 12 // 12px margin width: preview_el.innerWidth() - sidebar_el.outerWidth() - 12 // 12px margin
}, dim = {}, margin = {}, size = { }, dim = {}, margin = {}, size = {
old: {height: preview_swf.height(), width: preview_swf.width()}, old: {height: preview_swf.height(), width: preview_swf.width()},
next: {} next: {}
@ -408,6 +410,39 @@ View.Hash = function (wardrobe) {
})(); })();
} }
View.Outfits = function (wardrobe) {
var outfits_el = $('#preview-outfits'), sidebar_el = $('#preview-sidebar'),
overlay_el = $('#preview-swf-overlay');
$('input.outfit-url').live('mouseover', function () {
this.focus();
}).live('mouseout', function () {
this.blur();
});
$('button.outfit-delete').live('click', function (e) {
e.preventDefault();
$(this).closest('li').addClass('confirming-deletion');
});
$('a.outfit-delete-confirmation-no').live('click', function (e) {
e.preventDefault();
$(this).closest('li').removeClass('confirming-deletion');
});
$('#preview-sidebar-nav-outfits').click(function (e) {
e.preventDefault();
sidebar_el.addClass('viewing-outfits');
overlay_el.fadeTo('slow', .75)
});
$('#preview-sidebar-nav-closet').click(function (e) {
e.preventDefault();
sidebar_el.removeClass('viewing-outfits');
overlay_el.fadeTo('fast', 0);
});
}
View.PetStateForm = function (wardrobe) { View.PetStateForm = function (wardrobe) {
var INPUT_NAME = 'pet_state_id', form_query = '#pet-state-form', var INPUT_NAME = 'pet_state_id', form_query = '#pet-state-form',
form = $(form_query), form = $(form_query),

View file

@ -22,66 +22,67 @@ html, body {
/* line 21, ../../../app/stylesheets/_layout.sass */ /* line 21, ../../../app/stylesheets/_layout.sass */
body { body {
background: white;
color: #004400; color: #004400;
font-family: "Droid Sans", Helvetica, Arial, Verdana, sans-serif; font-family: "Droid Sans", Helvetica, Arial, Verdana, sans-serif;
font-size: 90%; font-size: 90%;
line-height: 1.5; line-height: 1.5;
} }
/* line 28, ../../../app/stylesheets/_layout.sass */ /* line 29, ../../../app/stylesheets/_layout.sass */
a { a {
color: #226622; color: #226622;
} }
/* line 31, ../../../app/stylesheets/_layout.sass */ /* line 32, ../../../app/stylesheets/_layout.sass */
p { p {
font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif; font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
} }
/* line 34, ../../../app/stylesheets/_layout.sass */ /* line 35, ../../../app/stylesheets/_layout.sass */
input, button, select { input, button, select {
font-family: inherit; font-family: inherit;
font-size: 100%; font-size: 100%;
} }
/* line 39, ../../../app/stylesheets/_layout.sass */ /* line 40, ../../../app/stylesheets/_layout.sass */
p { p {
margin-bottom: 1em; margin-bottom: 1em;
} }
/* line 42, ../../../app/stylesheets/_layout.sass */ /* line 43, ../../../app/stylesheets/_layout.sass */
h1, h2, h3 { h1, h2, h3 {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif; font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
} }
/* line 45, ../../../app/stylesheets/_layout.sass */ /* line 46, ../../../app/stylesheets/_layout.sass */
h1 { h1 {
font-size: 3em; font-size: 3em;
line-height: 1; line-height: 1;
margin-bottom: 0.5em; margin-bottom: 0.5em;
} }
/* line 50, ../../../app/stylesheets/_layout.sass */ /* line 51, ../../../app/stylesheets/_layout.sass */
h2 { h2 {
font-size: 2em; font-size: 2em;
margin-bottom: 0.75em; margin-bottom: 0.75em;
} }
/* line 54, ../../../app/stylesheets/_layout.sass */ /* line 55, ../../../app/stylesheets/_layout.sass */
h3 { h3 {
font-size: 1.5em; font-size: 1.5em;
line-height: 1; line-height: 1;
margin-bottom: 1em; margin-bottom: 1em;
} }
/* line 59, ../../../app/stylesheets/_layout.sass */ /* line 60, ../../../app/stylesheets/_layout.sass */
.inline-image, body.pets-bulk #bulk-pets-form ul img { .inline-image, body.pets-bulk #bulk-pets-form ul img {
margin-right: 1em; margin-right: 1em;
vertical-align: middle; vertical-align: middle;
} }
/* Main */ /* Main */
/* line 67, ../../../app/stylesheets/_layout.sass */ /* line 68, ../../../app/stylesheets/_layout.sass */
#container { #container {
margin: 1em auto; margin: 1em auto;
padding-top: 3em; padding-top: 3em;
@ -89,12 +90,12 @@ h3 {
width: 800px; width: 800px;
} }
/* line 73, ../../../app/stylesheets/_layout.sass */ /* line 74, ../../../app/stylesheets/_layout.sass */
input, button, select, label { input, button, select, label {
cursor: pointer; cursor: pointer;
} }
/* line 76, ../../../app/stylesheets/_layout.sass */ /* line 77, ../../../app/stylesheets/_layout.sass */
input[type=text], body.pets-bulk #bulk-pets-form textarea, input[type=password], input[type=search], select { input[type=text], body.pets-bulk #bulk-pets-form textarea, input[type=password], input[type=search], select {
-moz-border-radius: 3px; -moz-border-radius: 3px;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
@ -103,12 +104,12 @@ input[type=text], body.pets-bulk #bulk-pets-form textarea, input[type=password],
color: #448844; color: #448844;
padding: 0.25em; padding: 0.25em;
} }
/* line 82, ../../../app/stylesheets/_layout.sass */ /* line 83, ../../../app/stylesheets/_layout.sass */
input[type=text]:focus, body.pets-bulk #bulk-pets-form textarea:focus, input[type=text]:active, body.pets-bulk #bulk-pets-form textarea:active, input[type=password]:focus, input[type=password]:active, input[type=search]:focus, input[type=search]:active, select:focus, select:active { input[type=text]:focus, body.pets-bulk #bulk-pets-form textarea:focus, input[type=text]:active, body.pets-bulk #bulk-pets-form textarea:active, input[type=password]:focus, input[type=password]:active, input[type=search]:focus, input[type=search]:active, select:focus, select:active {
color: inherit; color: inherit;
} }
/* line 85, ../../../app/stylesheets/_layout.sass */ /* line 86, ../../../app/stylesheets/_layout.sass */
a.button, input[type=submit], button { a.button, input[type=submit], button {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */ /* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px; -moz-border-radius: 5px;
@ -139,7 +140,7 @@ a.button:hover, input[type=submit]:hover, button:hover {
a.button:active, input[type=submit]:active, button:active { a.button:active, input[type=submit]:active, button:active {
top: 1px; top: 1px;
} }
/* line 87, ../../../app/stylesheets/_layout.sass */ /* line 88, ../../../app/stylesheets/_layout.sass */
a.button.loud, input[type=submit].loud, button.loud { a.button.loud, input[type=submit].loud, button.loud {
background: #ff5c00 url(/images/alert-overlay.png) repeat-x; background: #ff5c00 url(/images/alert-overlay.png) repeat-x;
font-size: 125%; font-size: 125%;
@ -150,26 +151,26 @@ a.button.loud:hover, input[type=submit].loud:hover, button.loud:hover {
background-color: #ee4b00; background-color: #ee4b00;
} }
/* line 67, ../../../app/stylesheets/partials/clean/_mixins.sass */ /* line 87, ../../../app/stylesheets/partials/clean/_mixins.sass */
a.button:after { a.button:after {
content: " >>"; content: " >>";
} }
/* line 93, ../../../app/stylesheets/_layout.sass */ /* line 94, ../../../app/stylesheets/_layout.sass */
ul.buttons { ul.buttons {
margin-bottom: 1em; margin-bottom: 1em;
} }
/* line 95, ../../../app/stylesheets/_layout.sass */ /* line 96, ../../../app/stylesheets/_layout.sass */
ul.buttons li { ul.buttons li {
list-style: none; list-style: none;
margin: 0 0.5em; margin: 0 0.5em;
} }
/* line 98, ../../../app/stylesheets/_layout.sass */ /* line 99, ../../../app/stylesheets/_layout.sass */
ul.buttons li, ul.buttons li form { ul.buttons li, ul.buttons li form {
display: inline; display: inline;
} }
/* line 101, ../../../app/stylesheets/_layout.sass */ /* line 102, ../../../app/stylesheets/_layout.sass */
#footer { #footer {
clear: both; clear: both;
font-size: 75%; font-size: 75%;
@ -177,77 +178,77 @@ ul.buttons li, ul.buttons li form {
padding-top: 2em; padding-top: 2em;
text-align: center; text-align: center;
} }
/* line 107, ../../../app/stylesheets/_layout.sass */ /* line 108, ../../../app/stylesheets/_layout.sass */
#footer ul, #footer div { #footer ul, #footer div {
display: inline; display: inline;
margin: 0 1em; margin: 0 1em;
} }
/* line 110, ../../../app/stylesheets/_layout.sass */ /* line 111, ../../../app/stylesheets/_layout.sass */
#footer li, #footer div ul { #footer li, #footer div ul {
display: inline; display: inline;
margin: 0 0.5em; margin: 0 0.5em;
} }
/* line 114, ../../../app/stylesheets/_layout.sass */ /* line 115, ../../../app/stylesheets/_layout.sass */
.success, .alert, .warning { .success, .alert, .warning {
margin-bottom: 1em; margin-bottom: 1em;
padding: 0.25em 0.5em; padding: 0.25em 0.5em;
text-align: center; text-align: center;
} }
/* line 119, ../../../app/stylesheets/_layout.sass */ /* line 120, ../../../app/stylesheets/_layout.sass */
.success { .success {
background: #e6efc2; background: #e6efc2;
border: 1px solid #c6d880; border: 1px solid #c6d880;
color: #264409; color: #264409;
} }
/* line 124, ../../../app/stylesheets/_layout.sass */ /* line 125, ../../../app/stylesheets/_layout.sass */
.alert { .alert {
background: #fbe3e4; background: #fbe3e4;
border: 1px solid #fbc2c4; border: 1px solid #fbc2c4;
color: #8a1f11; color: #8a1f11;
} }
/* line 129, ../../../app/stylesheets/_layout.sass */ /* line 130, ../../../app/stylesheets/_layout.sass */
.warning { .warning {
background: #fff6bf; background: #fff6bf;
border: 1px solid #ffd324; border: 1px solid #ffd324;
color: #514721; color: #514721;
} }
/* line 134, ../../../app/stylesheets/_layout.sass */ /* line 135, ../../../app/stylesheets/_layout.sass */
#userbar { #userbar {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif; font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
} }
/* line 139, ../../../app/stylesheets/_layout.sass */ /* line 140, ../../../app/stylesheets/_layout.sass */
#userbar > * { #userbar > * {
display: inline; display: inline;
margin: 0 0.25em; margin: 0 0.25em;
} }
/* line 143, ../../../app/stylesheets/_layout.sass */ /* line 144, ../../../app/stylesheets/_layout.sass */
#userbar-log-in { #userbar-log-in {
text-decoration: none; text-decoration: none;
} }
/* line 145, ../../../app/stylesheets/_layout.sass */ /* line 146, ../../../app/stylesheets/_layout.sass */
#userbar-log-in img { #userbar-log-in img {
margin-bottom: -4px; margin-bottom: -4px;
margin-right: 0.25em; margin-right: 0.25em;
} }
/* line 149, ../../../app/stylesheets/_layout.sass */ /* line 150, ../../../app/stylesheets/_layout.sass */
#userbar-log-in span { #userbar-log-in span {
text-decoration: underline; text-decoration: underline;
} }
/* line 151, ../../../app/stylesheets/_layout.sass */ /* line 152, ../../../app/stylesheets/_layout.sass */
#userbar-log-in:hover span { #userbar-log-in:hover span {
text-decoration: none; text-decoration: none;
} }
/* line 154, ../../../app/stylesheets/_layout.sass */ /* line 155, ../../../app/stylesheets/_layout.sass */
.object { .object {
display: -moz-inline-box; display: -moz-inline-box;
-moz-box-orient: vertical; -moz-box-orient: vertical;
@ -261,25 +262,25 @@ ul.buttons li, ul.buttons li form {
vertical-align: top; vertical-align: top;
width: 100px; width: 100px;
} }
/* line 161, ../../../app/stylesheets/_layout.sass */ /* line 162, ../../../app/stylesheets/_layout.sass */
.object a { .object a {
text-decoration: none; text-decoration: none;
} }
/* line 163, ../../../app/stylesheets/_layout.sass */ /* line 164, ../../../app/stylesheets/_layout.sass */
.object a img { .object a img {
-moz-opacity: 0.75; -moz-opacity: 0.75;
-webkit-opacity: 0.75; -webkit-opacity: 0.75;
-o-opacity: 0.75; -o-opacity: 0.75;
-khtml-opacity: 0.75; -khtml-opacity: 0.75;
} }
/* line 165, ../../../app/stylesheets/_layout.sass */ /* line 166, ../../../app/stylesheets/_layout.sass */
.object a:hover img { .object a:hover img {
-moz-opacity: 1; -moz-opacity: 1;
-webkit-opacity: 1; -webkit-opacity: 1;
-o-opacity: 1; -o-opacity: 1;
-khtml-opacity: 1; -khtml-opacity: 1;
} }
/* line 167, ../../../app/stylesheets/_layout.sass */ /* line 168, ../../../app/stylesheets/_layout.sass */
.object img { .object img {
display: block; display: block;
height: 80px; height: 80px;
@ -287,17 +288,17 @@ ul.buttons li, ul.buttons li form {
width: 80px; width: 80px;
} }
/* line 173, ../../../app/stylesheets/_layout.sass */ /* line 174, ../../../app/stylesheets/_layout.sass */
dt { dt {
font-weight: bold; font-weight: bold;
} }
/* line 176, ../../../app/stylesheets/_layout.sass */ /* line 177, ../../../app/stylesheets/_layout.sass */
dd { dd {
margin: 0 0 1.5em 1em; margin: 0 0 1.5em 1em;
} }
/* line 179, ../../../app/stylesheets/_layout.sass */ /* line 180, ../../../app/stylesheets/_layout.sass */
#home-link { #home-link {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif; font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
font-size: 175%; font-size: 175%;
@ -308,26 +309,26 @@ dd {
position: absolute; position: absolute;
top: 0; top: 0;
} }
/* line 189, ../../../app/stylesheets/_layout.sass */ /* line 190, ../../../app/stylesheets/_layout.sass */
#home-link:hover { #home-link:hover {
background: #eeffee; background: #eeffee;
text-decoration: none; text-decoration: none;
} }
/* line 192, ../../../app/stylesheets/_layout.sass */ /* line 193, ../../../app/stylesheets/_layout.sass */
#home-link span:before { #home-link span:before {
content: "<< "; content: "<< ";
} }
/* line 196, ../../../app/stylesheets/_layout.sass */ /* line 197, ../../../app/stylesheets/_layout.sass */
.pagination a, .pagination span { .pagination a, .pagination span {
margin: 0 0.5em; margin: 0 0.5em;
} }
/* line 198, ../../../app/stylesheets/_layout.sass */ /* line 199, ../../../app/stylesheets/_layout.sass */
.pagination .current { .pagination .current {
font-weight: bold; font-weight: bold;
} }
/* line 201, ../../../app/stylesheets/_layout.sass */ /* line 202, ../../../app/stylesheets/_layout.sass */
.object .nc-icon { .object .nc-icon {
height: 16px; height: 16px;
position: absolute; position: absolute;
@ -335,7 +336,7 @@ dd {
top: 64px; top: 64px;
width: 16px; width: 16px;
} }
/* line 207, ../../../app/stylesheets/_layout.sass */ /* line 208, ../../../app/stylesheets/_layout.sass */
.object .nc-icon:hover { .object .nc-icon:hover {
-moz-opacity: 0.5; -moz-opacity: 0.5;
-webkit-opacity: 0.5; -webkit-opacity: 0.5;
@ -626,6 +627,648 @@ body.items-show .nc-icon {
width: 16px; width: 16px;
} }
@import url(../shared/jquery.jgrowl.css);
/* line 13, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-toolbar {
margin-bottom: 0.5em;
text-align: left;
}
/* line 16, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-toolbar form {
display: inline;
margin-right: 2em;
}
/* line 19, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-info form {
display: inline;
}
/* line 22, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form ul {
list-style: none;
}
/* line 24, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form ul, body.outfits-edit #pet-state-form ul li {
display: inline;
}
/* line 26, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form input {
display: none;
}
/* line 28, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form label {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #006400 url(/images/alert-overlay.png) repeat-x;
border: 0;
display: inline-block;
padding: 0.5em 0.75em 0.45em;
color: white;
text-decoration: none;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
position: relative;
font-weight: bold;
line-height: 1;
margin: 0 0.25em;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #pet-state-form label:hover {
background-color: #005300;
}
/* line 53, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #pet-state-form label:hover {
color: white;
}
/* line 55, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #pet-state-form label:active {
top: 1px;
}
/* line 31, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #pet-state-form li.selected label {
background: #0b61a4 url(/images/alert-overlay.png) repeat-x;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #pet-state-form li.selected label:hover {
background-color: #005093;
}
/* line 33, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #sharing {
float: right;
position: relative;
}
/* line 36, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #short-url-response {
font-size: 87.5%;
display: none;
position: absolute;
right: 0;
top: -2em;
width: 20em;
}
/* line 43, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #share-button-wrapper {
display: inline;
}
/* line 46, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #share-button img {
margin-bottom: -0.25em;
margin-right: 0.25em;
height: 16px;
width: 16px;
}
/* line 52, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #share-button:active {
top: 1px;
}
/* line 54, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview {
clear: both;
}
/* line 56, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-swf {
float: left;
height: 400px;
margin-bottom: 1em;
position: relative;
width: 400px;
}
/* line 62, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-swf-overlay {
-moz-opacity: 0;
-webkit-opacity: 0;
-o-opacity: 0;
-khtml-opacity: 0;
background: black;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
/* line 70, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar {
float: left;
height: 400px;
margin-left: 20px;
margin-bottom: 1em;
width: 380px;
}
/* line 77, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-outfits #preview-closet {
display: none;
}
/* line 79, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-sidebar.viewing-outfits #preview-outfits {
display: block;
}
/* line 82, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet h2 {
margin: 0;
}
/* line 84, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object {
background: #eeffee;
}
/* line 86, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object img {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
}
/* line 88, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.worn {
background: transparent;
}
/* line 90, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.worn img {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
}
/* line 92, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.no-assets {
background: #fbe3e4;
color: #8a1f11;
padding-bottom: 1.25em;
}
/* line 96, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-closet .object.no-assets .no-assets-message {
display: block;
}
/* line 98, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .no-assets-message {
background: #f3dbdc;
bottom: 0;
color: #821709;
cursor: pointer;
display: none;
font-size: 75%;
left: 0;
position: absolute;
width: 100%;
}
/* line 108, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #no-assets-full-message {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #fff4f5;
border: 1px solid #ffd3d5;
color: #9b3022;
font-size: 75%;
left: -9999px;
padding: 0.25em;
position: absolute;
top: -9999px;
width: 30em;
}
/* line 119, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form {
clear: both;
text-align: left;
}
/* line 122, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form h2 {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
margin: 0 1em 0 0;
}
/* line 125, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form input {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
}
/* line 127, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
margin-left: 2em;
}
/* line 130, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination a, body.outfits-edit #preview-search-form-pagination span {
margin: 0 0.25em;
}
/* line 132, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-pagination .current {
font-weight: bold;
}
/* line 134, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-clear {
display: none;
font-size: 87.5%;
margin-left: 2em;
}
/* line 138, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-loading {
display: none;
font-size: 75%;
font-style: italic;
margin-left: 2em;
}
/* line 144, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-no-results {
display: none;
}
/* line 146, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-search-form-help {
font-size: 87.5%;
margin-left: 2em;
}
/* line 149, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .search-helper {
font-family: inherit;
}
/* line 151, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .possible-error {
display: none;
}
/* line 154, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #fullscreen-copyright {
display: none;
}
/* line 156, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen {
height: 100%;
}
/* line 159, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #container {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
height: 100%;
margin: 0 auto;
min-width: 800px;
padding-top: 2.5em;
position: relative;
width: 80%;
}
/* line 167, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen h1 {
display: none;
}
/* line 169, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #short-url-response {
position: static;
}
/* line 171, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview {
width: 100%;
}
/* line 173, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border: 1px solid #aaddaa;
float: right;
height: 100%;
margin: 0;
overflow: auto;
position: relative;
width: 400px;
}
/* line 182, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-sidebar > div {
padding-left: 24px;
padding-right: 24px;
}
/* line 186, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-search-form {
bottom: 1em;
left: 0;
overflow: auto;
padding: 0.5em 1em;
position: absolute;
width: 100%;
}
/* line 194, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #preview-search-form-help div {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: middle;
*display: inline;
*vertical-align: auto;
width: 48%;
}
/* line 197, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer {
bottom: 0;
left: 0;
position: absolute;
width: 100%;
}
/* line 202, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer ul, body.outfits-edit.fullscreen #footer p, body.outfits-edit.fullscreen #footer li {
display: inline;
}
/* line 204, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit.fullscreen #footer ul {
margin-right: 2em;
}
/* line 207, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object {
padding: 6px;
position: relative;
}
/* line 210, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul {
display: none;
left: 0;
list-style: none;
position: absolute;
top: 0;
}
/* line 216, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul li {
margin-bottom: 0.25em;
}
/* line 218, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object ul li a {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #006400 url(/images/alert-overlay.png) repeat-x;
border: 0;
display: inline-block;
padding: 0.5em 0.75em 0.45em;
color: white;
text-decoration: none;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
position: relative;
font-weight: bold;
line-height: 1;
background: #aaaaaa url(/images/alert-overlay.png) repeat-x;
-moz-opacity: 0.9;
-webkit-opacity: 0.9;
-o-opacity: 0.9;
-khtml-opacity: 0.9;
font-size: 80%;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit .object ul li a:hover {
background-color: #005300;
}
/* line 53, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit .object ul li a:hover {
color: white;
}
/* line 55, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit .object ul li a:active {
top: 1px;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit .object ul li a:hover {
background-color: #999999;
}
/* line 224, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object:hover ul, body.outfits-edit .object:hover .object-info {
display: block;
}
/* line 231, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .nc-icon {
background: url(/assets/images/nc.png) no-repeat;
height: 16px;
position: absolute;
right: 16px;
text-indent: -9999px;
top: 64px;
width: 16px;
}
/* line 239, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .nc-icon:hover {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
}
/* line 242, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info {
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
-o-opacity: 0.75;
-khtml-opacity: 0.75;
background: #aaaaaa;
color: white;
display: none;
height: 16px;
position: absolute;
right: 8px;
top: 0;
width: 16px;
}
/* line 253, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info span {
font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
font-weight: bold;
position: relative;
top: -2px;
}
/* line 259, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .object-info:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
}
/* line 269, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits {
display: none;
text-align: left;
}
/* line 272, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits h2 {
margin-bottom: 0.25em;
}
/* line 274, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits h3 {
margin-bottom: 0.5em;
}
/* line 276, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul {
display: block;
font-family: "Droid Sans", Helvetica, Arial, Verdana, sans-serif;
list-style: none;
margin-bottom: 1em;
}
/* line 281, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li {
overflow: hidden;
display: inline-block;
font-size: 75%;
margin-bottom: 0.5em;
}
/* line 8, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #preview-outfits > ul > li {
display: block;
}
/* line 285, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-thumbnail {
float: left;
height: 50px;
margin-right: 12px;
overflow: hidden;
position: relative;
width: 50px;
}
/* line 292, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li img {
height: 100px;
left: -25px;
position: absolute;
top: -25px;
width: 100px;
}
/* line 298, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li > div {
float: left;
width: 258px;
}
/* line 301, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li button {
-moz-border-radius: 0;
-webkit-border-radius: 0;
background: transparent;
display: inline;
padding: 0;
color: inherit;
-moz-box-shadow: none;
-webkit-box-shadow: none;
text-shadow: none;
border-bottom: 0;
position: static;
font-weight: normal;
line-height: inherit;
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
font-size: 150%;
float: right;
line-height: 1;
margin-top: -0.125em;
padding: 0.125em 0.25em;
}
/* line 72, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #preview-outfits > ul > li button:hover {
background: transparent;
color: inherit;
}
/* line 75, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.outfits-edit #preview-outfits > ul > li button:active {
top: auto;
}
/* line 309, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li button:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
background: #eeffee;
}
/* line 312, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li header {
display: block;
padding-left: 24px;
}
/* line 315, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-star {
background-image: url(/images/unstarred.png);
background-position: left top;
background-repeat: no-repeat;
bottom: -2px;
/* margin-bottom doesn't work here */
cursor: pointer;
display: block;
float: left;
height: 16px;
margin-left: -24px;
/* makes it not take up inline space */
position: relative;
width: 16px;
}
/* line 330, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li h4 {
cursor: pointer;
font-size: 150%;
}
/* line 333, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li h4:hover {
text-decoration: underline;
}
/* line 335, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li input {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
-o-opacity: 0.5;
-khtml-opacity: 0.5;
border-color: white;
width: 234px;
}
/* line 339, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li input:hover {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
border-color: #cceecc;
}
/* line 342, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation {
display: none;
}
/* line 344, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation span {
color: red;
}
/* line 346, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li .outfit-delete-confirmation a {
margin: 0 0.25em;
}
/* line 349, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-delete {
visibility: hidden;
}
/* line 351, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-url {
display: none;
}
/* line 353, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.confirming-deletion .outfit-delete-confirmation {
display: block;
}
/* line 356, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit #preview-outfits > ul > li.starred .outfit-star {
background-image: url(/images/star.png);
}
/* line 359, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .preview-sidebar-nav {
float: right;
font-size: 85%;
margin-top: 1em;
}
/* line 2, ../../../app/stylesheets/outfits/_new.sass */ /* line 2, ../../../app/stylesheets/outfits/_new.sass */
body.outfits-new #outfit-forms { body.outfits-new #outfit-forms {
overflow: hidden; overflow: hidden;