first commit

This commit is contained in:
Victor Bodinaud
2025-03-03 13:59:05 +01:00
commit 954e43aa2f
166 changed files with 15834 additions and 0 deletions

BIN
Cydia.app/menes/chevron.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

575
Cydia.app/menes/menes.js Normal file
View File

@@ -0,0 +1,575 @@
/* XXX: this message is ultra-lame */
var _assert = function (expr, value) {
if (!expr) {
var message = "_assert(" + value + ")";
console.log(message);
throw message;
}
}
// Compatibility {{{
if (typeof Array.prototype.push != "function")
Array.prototype.push = function (value) {
this[this.length] = value;
};
// }}}
var $ = function (arg, doc) {
if (this.magic_ != $.prototype.magic_)
return new $(arg);
if (arg == null)
arg = [];
var type = $.type(arg);
if (type == "function")
$.ready(arg);
else if (type == "string") {
if (typeof doc == 'undefined')
doc = document;
if (arg.charAt(0) == '#') {
/* XXX: this is somewhat incorrect-a-porter */
var element = doc.getElementById(arg.substring(1));
return $(element == null ? [] : [element]);
} else if (arg.charAt(0) == '.')
return $(doc.getElementsByClassName(arg.substring(1)));
else
return $([doc]).descendants(arg);
} else if (typeof arg.length != 'undefined') {
_assert(typeof doc == 'undefined', "non-query with document to $");
this.set(arg);
return this;
} else _assert(false, "unknown argument to $: " + typeof arg);
};
$.xml = function (value) {
return value
.replace(/&/, "&")
.replace(/</, "&lt;")
.replace(/>/, "&gt;")
.replace(/"/, "&quot;")
.replace(/'/, "&apos;")
;
}
$.type = function (value) {
var type = typeof value;
if ((type == "function" || type == "object") && value.toString != null) {
var string = value.toString();
if (string.substring(0, 8) == "[object ")
return string.substring(8, string.length - 1);
}
return type;
};
(function () {
var ready_ = null;
$.ready = function (_function) {
if (ready_ == null) {
ready_ = [];
document.addEventListener("DOMContentLoaded", function () {
for (var i = 0; i != ready_.length; ++i)
ready_[i]();
}, false);
}
ready_.push(_function);
};
})();
/* XXX: verify arg3 overflow */
$.each = function (values, _function, arg0, arg1, arg2) {
for (var i = 0, e = values.length; i != e; ++i)
_function(values[i], arg0, arg1, arg2);
};
/* XXX: verify arg3 overflow */
$.map = function (values, _function, arg0, arg1, arg2) {
var mapped = [];
for (var i = 0, e = values.length; i != e; ++i)
mapped.push(_function(values[i], arg0, arg1, arg2));
return mapped;
};
$.array = function (values) {
if (values.constructor == Array)
return values;
_assert(typeof values.length != 'undefined', "$.array on underlying non-array");
var array = [];
for (var i = 0; i != values.length; ++i)
array.push(values[i]);
return array;
};
$.document = function (node) {
for (;;) {
var parent = node.parentNode;
if (parent == null)
return node;
node = parent;
}
};
$.reclass = function (_class) {
return new RegExp('(\\s|^)' + _class + '(\\s|$)');
};
$.prototype = {
magic_: 2041085062,
add: function (nodes) {
Array.prototype.push.apply(this, $.array(nodes));
},
at: function (name, value) {
if (typeof value == 'undefined')
return $.map(this, function (node) {
return node.getAttribute(name);
});
else if (value == null)
$.each(this, function (node) {
node.removeAttribute();
});
else
$.each(this, function (node) {
node.setAttribute(name, value);
});
},
set: function (nodes) {
this.length = 0;
this.add(nodes);
},
/* XXX: verify arg3 overflow */
each: function (_function, arg0, arg1, arg2) {
$.each(this, function (node) {
_function($([node]), arg0, arg1, arg2);
});
},
css: function (name, value) {
$.each(this, function (node) {
node.style[name] = value;
});
},
addClass: function (_class) {
$.each(this, function (node) {
if (!$([node]).hasClass(_class)[0])
node.className += " " + _class;
});
},
blur: function () {
$.each(this, function (node) {
node.blur();
});
},
focus: function () {
$.each(this, function (node) {
node.focus();
});
},
removeClass: function (_class) {
$.each(this, function (node) {
node.className = node.className.replace($.reclass(_class), ' ');
});
},
hasClass: function (_class) {
return $.map(this, function (node) {
return node.className.match($.reclass(_class));
});
},
append: function (children) {
if ($.type(children) == "string")
$.each(this, function (node) {
var doc = $.document(node);
// XXX: implement wrapper system
var div = doc.createElement("div");
div.innerHTML = children;
while (div.childNodes.length != 0) {
var child = div.childNodes[0];
node.appendChild(child);
}
});
else
$.each(this, function (node) {
$.each(children, function (child) {
node.appendChild(child);
});
});
},
xpath: function (expression) {
var value = $([]);
$.each(this, function (node) {
var doc = $.document(node);
var results = doc.evaluate(expression, node, null, XPathResult.ANY_TYPE, null);
var result;
while (result = results.iterateNext())
value.add([result]);
});
return value;
},
clone: function (deep) {
return $($.map(this, function (node) {
return node.cloneNode(deep);
}));
},
descendants: function (expression) {
var descendants = $([]);
$.each(this, function (node) {
var nodes = node.getElementsByTagName(expression);
descendants.add(nodes);
});
return descendants;
},
remove: function () {
$.each(this, function (node) {
node.parentNode.removeChild(node);
});
}
};
$.scroll = function (x, y) {
window.scrollTo(x, y);
};
// XXX: document.all?
$.all = function (doc) {
if (typeof doc == 'undefined')
doc = document;
return $(doc.getElementsByTagName("*"));
};
$.inject = function (a, b) {
if ($.type(a) == "string") {
$.prototype[a] = function (value) {
if (typeof value == 'undefined')
return $.map(this, function (node) {
return b.get(node);
});
else
$.each(this, function (node, value) {
b.set(node, value);
}, value);
};
} else for (var name in a)
$.inject(name, a[name]);
};
$.inject({
_default: {
get: function (node) {
return node.style.defaultValue;
},
set: function (node, value) {
node.style.defaultValue = value;
}
},
height: {
get: function (node) {
return node.height;
},
set: function (node, value) {
node.height = value;
}
},
html: {
get: function (node) {
return node.innerHTML;
},
set: function (node, value) {
node.innerHTML = value;
}
},
href: {
get: function (node) {
return node.href;
},
set: function (node, value) {
node.href = value;
}
},
name: {
get: function (node) {
return node.name;
},
set: function (node, value) {
node.name = value;
}
},
parent: {
get: function (node) {
return node.parentNode;
}
},
src: {
get: function (node) {
return node.src;
},
set: function (node, value) {
node.src = value;
}
},
type: {
get: function (node) {
return node.localName;
}
},
value: {
get: function (node) {
return node.value;
},
set: function (node, value) {
// XXX: do I really need this?
if (true || node.localName != "select")
node.value = value;
else {
var options = node.options;
for (var i = 0, e = options.length; i != e; ++i)
if (options[i].value == value) {
if (node.selectedIndex != i)
node.selectedIndex = i;
break;
}
}
}
},
width: {
get: function (node) {
return node.offsetWidth;
}
}
});
// Query String Parsing {{{
$.query = function () {
var args = {};
var search = location.search;
if (search != null) {
_assert(search[0] == "?", "query string without ?");
var values = search.substring(1).split("&");
for (var index in values) {
var value = values[index]
var equal = value.indexOf("=");
var name;
if (equal == -1) {
name = value;
value = null;
} else {
name = value.substring(0, equal);
value = value.substring(equal + 1);
value = decodeURIComponent(value);
}
name = decodeURIComponent(name);
if (typeof args[name] == "undefined")
args[name] = [];
if (value != null)
args[name].push(value);
}
}
return args;
};
// }}}
// Event Registration {{{
// XXX: unable to remove registration
$.prototype.event = function (event, _function) {
$.each(this, function (node) {
// XXX: smooth over this pointer ugliness
if (node.addEventListener)
node.addEventListener(event, _function, false);
else if (node.attachEvent)
node.attachEvent("on" + event, _function);
else
// XXX: multiple registration SNAFU
node["on" + event] = _function;
});
};
$.each([
"click", "load", "submit"
], function (event) {
$.prototype[event] = function (_function) {
if (typeof _function == 'undefined')
_assert(false, "undefined function to $.[event]");
else
this.event(event, _function);
};
});
// }}}
// Timed Animation {{{
$.interpolate = function (duration, event) {
var start = new Date();
var next = function () {
setTimeout(update, 0);
};
var update = function () {
var time = new Date() - start;
if (time >= duration)
event(1);
else {
event(time / duration);
next();
}
};
next();
};
// }}}
// AJAX Requests {{{
// XXX: abstract and implement other cases
$.xhr = function (url, method, headers, data, events) {
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
for (var name in headers)
xhr.setRequestHeader(name.replace(/_/, "-"), headers[name]);
if (events == null)
events = {};
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
var status = xhr.status;
var text = xhr.responseText;
if (events.response != null)
events.response(status, text);
if (status == 200) {
if (events.success != null)
events.success(text);
} else {
if (events.failure != null)
events.failure(status);
}
}
};
xhr.send(data);
};
$.call = function (url, post, onsuccess) {
var events = {};
if (onsuccess != null)
events.complete = function (text) {
onsuccess(eval(text));
};
if (post == null)
$.xhr(url, "POST", null, null, events);
else
$.xhr(url, "POST", {
Content_Type: "application/json"
}, $.json(post), events);
};
// }}}
// WWW Form URL Encoder {{{
$.form = function (parameters) {
var data = "";
var ampersand = false;
for (var name in parameters) {
if (!ampersand)
ampersand = true;
else
data += "&";
var value = parameters[name];
data += escape(name);
data += "=";
data += escape(value);
}
return data;
};
// }}}
// JSON Serializer {{{
$.json = function (value) {
if (value == null)
return "null";
var type = $.type(value);
if (type == "number")
return value;
else if (type == "string")
return "\"" + value
.replace(/\\/, "\\\\")
.replace(/\t/, "\\t")
.replace(/\r/, "\\r")
.replace(/\n/, "\\n")
.replace(/"/, "\\\"")
+ "\"";
else if (value.constructor == Array) {
var json = "[";
var comma = false;
for (var i = 0; i != value.length; ++i) {
if (!comma)
comma = true;
else
json += ",";
json += $.json(value[i]);
}
return json + "]";
} else if (
value.constructor == Object &&
value.toString() == "[object Object]"
) {
var json = "{";
var comma = false;
for (var name in value) {
if (!comma)
comma = true;
else
json += ",";
json += name + ":" + $.json(value[name]);
}
return json + "}";
} else {
return value;
}
};
// }}}

885
Cydia.app/menes/style.css Normal file
View File

@@ -0,0 +1,885 @@
/* iPhone.css - iPhone Interface Cascading Style Sheet
* Copyright (C) 2007-2008 Jay Freeman (saurik)
*/
/*
* Redistribution and use in source and binary
* forms, with or without modification, are permitted
* provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the
* above copyright notice, this list of conditions
* and the following disclaimer.
* 2. Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions
* and the following disclaimer in the documentation
* and/or other materials provided with the
* distribution.
* 3. The name of the author may not be used to endorse
* or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* .clearfix {{{ */
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: block;
}
/* }}} */
* {
border: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
/*font-family: inherit;*/
font-size: 100%;
font-style: inherit;
font-weight: inherit;
margin: 0;
outline: 0;
padding: 0;
text-decoration: none;
vertical-align: baseline;
}
a {
color: inherit;
}
sup {
font-size: smaller;
margin-top: -6px;
position: relative;
top: -6px;
}
select {
border: 1px solid #999999;
}
panel {
display: block;
width: 320px;
}
body {
font-family: Helvetica, Arial;
-webkit-text-size-adjust: none;
-webkit-user-select: none;
margin: 0 auto;
width: 320px;
}
body.white {
background-color: #ffffff;
}
body.pinstripe {
background: #c7ced5 url(cydia://uikit-image/UIPinstripe.png);
background-size: 7px 1px;
}
dialog {
display: block;
position: absolute;
width: 100%;
}
dialog > panel {
display: block;
}
a {
color: blue;
text-underline-style: dotted;
}
strong {
font-weight: bold
}
pre, tt {
font-family: monospace;
}
pre {
letter-spacing: -2px;
}
em {
font-style: italic;
}
.default {
color: #aaaabb;
}
.deleted {
display: none;
}
/* #toolbar {{{ */
dialog > toolbar {
background: url(toolbar.png) #6d84a2 repeat-x;
border-bottom: 1px solid #2d3642;
height: 45px;
padding: 10px;
}
dialog > toolbar > h1 {
color: #ffffff;
font-size: 20px;
font-weight: bold;
height: 100%;
margin: 1px auto 0 auto;
text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
text-align: center;
white-space: nowrap;
}
/* }}} */
/* (back|forward)-button {{{ */
dialog > toolbar > a.back-button,
dialog > toolbar > a.forward-button {
color: #ffffff;
font-size: 12px;
font-weight: bold;
height: 30px;
line-height: 30px;
margin-top: -28px;
padding: 0 3px;
text-decoration: none;
text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0;
white-space: nowrap;
}
dialog > toolbar > a.back-button {
-webkit-border-image: url(backButton.png) 0 8 0 14;
border-width: 0 8px 0 14px;
float: left;
}
dialog > toolbar > a.forward-button {
-webkit-border-image: url(toolButton.png) 0 5 0 5;
border-width: 0 5px;
float: right;
}
/* }}} */
panel > block {
/*background-color: #ccd1d5;*/
/*background-color: white;*/
/*background-color: #c7ced5;*/
background-color: transparent;
//background-color: #ffffff;
border-bottom: 1px solid #999999;
border-top: 1px solid #999999;
border-left: 1px dotted #999999;
border-right: 1px dotted #999999;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
//border: 1px solid #999999;
display: block;
font-size: 16px;
margin: 9px;
padding: 0 10px;
}
panel > fieldset > div > hr,
panel > block > hr {
border-top: 1px dashed #999999;
}
panel > fieldset {
background-color: #ffffff;
border: 1px solid #999999;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
font-size: 16px;
margin: 9px;
}
panel > input[type="submit"] {
/*-webkit-border-image: url(whiteButton.png) 0 12 0 12;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-width: 0px 12px;*/
border: none;
color: #000000;
display: block;
font-size: 20px;
font-weight: bold;
margin: 9px;
height: 44px;
padding: 10px;
text-align: center;
width: 302px;
}
list > label {
background: #a7b3bc url(cydia://uikit-image/UISectionListHeaderBackground.png);
background-repeat: repeat-x no-repeat-y;
margin-bottom: 0px;
padding: 4px 15px 1px 15px;
display: block;
color: white;
font-size: inherit;
font-weight: bold;
text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 0;
}
panel > label {
display: block;
margin: 13px 0 -4px 24px;
line-height: 24px;
font-size: inherit;
font-weight: bold;
color: #4d4d70;
text-shadow: rgba(255, 255, 255, 0.75) 1px 1px 0;
}
panel > fieldset > a,
panel > fieldset > div,
panel > fieldset > textarea {
border-top: 1px solid #999999;
}
/* XXX: should be a.left:nth-last-child(2) */
panel > fieldset > a.left,
panel > fieldset > a.middle,
panel > fieldset > a:first-child,
panel > fieldset > div:first-child,
panel > fieldset > textarea:first-child {
border-top: 0;
}
list > fieldset > a,
list > fieldset > div,
list > fieldset > textarea {
border-bottom: 1px solid #e0e0e0;
}
fieldset > a:not([type="ad"]),
fieldset > div,
fieldset > textarea {
/* XXX: small differences due to font bugs */
padding: 12px 14px 10px 14px;
}
/*fieldset > a:not([type="ad"]):last-child,
fieldset > div:last-child {
padding-bottom: 10px;
}*/
fieldset > a[type="ad"] {
/* XXX: small differences due to font bugs */
padding: 4px 4px 2px 5px;
}
panel > fieldset > a[type="ad"]:first-child > div:first-child,
panel > fieldset > a[type="comment"]:first-child > div:first-child,
panel > fieldset > a[type="profile"]:first-child > div:first-child,
panel > fieldset > a[type="thumb"]:first-child > div:first-child {
-moz-border-radius-topleft: 9px;
-webkit-border-top-left-radius: 9px;
}
panel > fieldset > a[type="ad"]:last-child > div:first-child,
panel > fieldset > a[type="comment"]:last-child > div:first-child,
panel > fieldset > a[type="profile"]:last-child > div:first-child,
panel > fieldset > a[type="thumb"]:last-child > div:first-child {
-moz-border-radius-bottomleft: 9px;
-webkit-border-bottom-left-radius: 9px;
}
fieldset > a[type="ad"] > div:first-child {
border: 1px solid #999999;
}
list > fieldset > a[type="comment"] > div:first-child,
list > fieldset > a[type="profile"] > div:first-child,
list > fieldset > a[type="thumb"] > div:first-child {
border: 1px solid #e0e0e0;
}
panel > fieldset > a[type="comment"] > div:first-child {
border: 1px solid #999999;
border-bottom-style: dashed;
}
panel > fieldset > a[type="profile"] > div:first-child,
panel > fieldset:not(.header) > a[type="thumb"] > div:first-child {
border: 1px solid #999999;
}
div[tile] {
float: right;
height: 30px;
width: 30px;
}
div[tile="app"] { background-image: url(http://cache.saurik.com/cydia/tile/app.png); }
div[tile="call"] { background-image: url(http://cache.saurik.com/cydia/tile/call.png); }
div[tile="map"] { background-image: url(http://cache.saurik.com/cydia/tile/map.png); }
div[tile="media"] { background-image: url(http://cache.saurik.com/cydia/tile/media.png); }
div[tile="music"] { background-image: url(http://cache.saurik.com/cydia/tile/video.png); }
div[tile="site"] { background-image: url(http://cache.saurik.com/cydia/tile/site.png); }
fieldset > a[type="ad"] > div:first-child {
background-repeat: no-repeat;
background-position: center center;
border-right: none;
display: inline-block;
height: 40px;
line-height: 38px;
/* XXX: small differences due to font bugs */
/* XXX: 1px difference due to border stupidity */
margin: -5px 5px -3px -6px;
width: 40px;
}
panel > fieldset > a[type="comment"] {
border-bottom-style: dashed;
}
fieldset > a[type="comment"] > div:first-child {
-webkit-background-size: 44px;
height: 44px;
width: 44px;
}
fieldset > a[type="header"] > div:first-child {
height: 64px;
width: 64px;
}
fieldset > a[type="profile"] > div:first-child {
-webkit-background-size: 50px;
height: 50px;
width: 50px;
}
fieldset > a[type="thumb"] > div:first-child {
height: 64px;
width: 64px;
}
fieldset > a[type="comment"] > div:first-child,
fieldset > a[type="header"] > div:first-child,
fieldset > a[type="profile"] > div:first-child,
fieldset > a[type="thumb"] > div:first-child {
background-repeat: no-repeat;
background-position: center center;
display: inline-block;
/* XXX: small differences due to font bugs */
/* XXX: 1px difference due to border stupidity */
margin: -13px 7px -11px -15px;
}
fieldset > a > img.icon,
fieldset > div > img.icon {
height: auto;
/* XXX: small differences due to font bugs */
margin: -7px 6px -9px -8px;
max-height: 30px;
min-width: 30px;
width: 30px;
}
fieldset > a.sixth > img.icon {
position: relative;
left: 7px;
}
panel > block > p,
fieldset > div > p,
panel > block > ul,
fieldset > div > ul {
margin: 10px 0;
}
panel > block > ul,
fieldset > div > ul {
margin-left: 13px;
}
panel > block > p,
fieldset > div > p {
text-align: center;
}
fieldset > div > p:first-child,
fieldset > div > ul:first-child {
margin-top: 0;
}
fieldset > div > p:last-child,
fieldset > div > ul:last-child {
margin-bottom: 0;
}
fieldset > a {
color: inherit;
display: block;
}
fieldset > textarea,
fieldset > div > input:not([type="checkbox"]),
fieldset > div > select,
fieldset > div > div > select {
background: none;
-webkit-box-shadow: none;
-webkit-appearance: none;
}
/* Chevrons {{{ */
fieldset > a[href]:not([type="ad"]),
fieldset > div > select,
fieldset > div > div > select {
background-repeat: no-repeat;
background-image: url(chevron.png);
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
fieldset > a[href]:not([type="ad"]),
fieldset > div > select,
fieldset > div > div > select {
background-image: url(chevron@2x.png);
background-size: 10px 13px;
} }
/* Horizontal */
list > fieldset > a[href] {
background-position: 295px center;
}
panel > fieldset > a[href] {
background-position: 275px center;
}
panel > fieldset > a[href].half {
background-position: 125px center;
}
panel > fieldset > a[href].third {
background-position: 75px center;
}
panel > fieldset > a[href].sixth {
background: none;
}
list > fieldset > a:not([href]) > select,
list > fieldset > div > select,
list > fieldset > div > div > select {
background-position: 183px center;
}
panel > fieldset > a:not([href]) > select,
panel > fieldset > div > select,
panel > fieldset > div > div > select {
background-position: 163px center;
}
/* }}} */
fieldset > textarea,
fieldset > div > input,
fieldset > div > select,
fieldset > div > div > select,
fieldset > a > div > label + label,
fieldset > div > div > label + label {
color: #193250;
}
fieldset > textarea,
fieldset > div > input,
fieldset > div > select,
fieldset > div > div > select {
font-size: 16px;
}
fieldset > div > input {
padding-left: 7px;
padding-right: 14px;
}
fieldset > div > input[type="checkbox"] {
border: 1px solid #999999;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
float: right;
margin: -7px -8px;
height: 30px;
width: 30px;
}
fieldset > div > select,
fieldset > div > div > select,
fieldset > div > input:not([type="checkbox"]) {
border: none;
float: right;
height: 40px;
margin: -11px -13px -11px -14px;
}
panel > fieldset > div > select,
panel > fieldset > div > div > select,
panel > fieldset > div > input:not([type="checkbox"]) {
width: 187px;
}
list > fieldset > div > select,
list > fieldset > div > div > select,
list > fieldset > div > input:not([type="checkbox"]) {
width: 207px;
}
fieldset > textarea {
padding: 10px;
width: 320px;
}
fieldset > div > div,
fieldset > a > div {
display: inline-block;
}
fieldset > div > div {
width: 273px;
}
fieldset > a[type="ad"] > div:nth-child(2) {
width: 218px;
}
fieldset > a:not([type]) > div {
width: 250px;
}
fieldset > a:not([href]) > img.icon + div,
fieldset > div > img.icon + div {
width: 244px;
}
fieldset > a[href] > img.icon + div {
width: 221px;
}
fieldset > a[type="profile"] > div:nth-child(2) > label:nth-child(1).unknown {
color: #aaaabb;
}
fieldset > a[type="profile"] > div:nth-child(2) > label:only-child {
left: 4px;
position: relative;
top: 3px;
}
fieldset > a[type="thumb"] > div:nth-child(2) > label:only-child {
position: relative;
top: 10px;
}
fieldset > a[type="profile"] > div:nth-child(2) > label + label {
display: block;
font-size: 13px;
margin-top: 2px;
}
fieldset > a[type="thumb"] > div:nth-child(2) > label + label {
display: block;
margin-top: 2px;
}
fieldset > a[type="profile"] > div:nth-child(2) {
width: 207px;
}
fieldset > a[type="thumb"] > div:nth-child(2) {
width: 193px;
}
fieldset > a[type="profile"] > div:nth-child(2) {
margin: -5px 0;
}
fieldset > a[type="profile"] > div:nth-child(2),
fieldset > a[type="thumb"] > div:nth-child(2) {
vertical-align: top;
}
fieldset > a > label:first-child,
fieldset > a > div > label:first-child,
fieldset > div > label:first-child,
fieldset > div > div > label:first-child {
font-weight: bold;
}
/* XXX: this doesn't handle icon offsets */
list > fieldset > a:not([type]) > div > label + label,
list > fieldset > div > div > label + label {
margin-left: 94px;
}
panel > fieldset > a:not([type]) > div > label + label,
panel > fieldset > div > div > label + label {
float: right;
text-align: right;
}
panel > img {
display: block;
margin: 9px auto 4px auto;
height: auto;
width: 300px;
}
fieldset > a[type="ad"] {
}
fieldset > a[type="ad"] > div:nth-child(2) {
position: relative;
vertical-align: top;
}
fieldset > a[type="ad"] > div > label:first-child {
color: #2d2d50;
font-size: 13px;
font-weight: bold;
line-height: 15px;
}
fieldset > a[type="ad"] > div > label + label {
position: absolute;
top: 17px;
left: 156px;
font-size: 9.5px;
font-weight: normal;
}
panel > fieldset > a.middle,
panel > fieldset > a.right {
border-left: 1px solid #999999;
}
panel > fieldset > a.half {
display: inline-block;
width: 150px;
}
panel > fieldset > a.third {
display: inline-block;
width: 100px;
}
panel > fieldset > a.sixth {
display: inline-block;
width: 50px;
}
fieldset.half > a {
background: none;
background-position: 120px center;
}
fieldset.half > a > img.icon + div {
width: 65px;
}
fieldset.right {
float: right;
margin-left: 10px;
}
block + fieldset.right,
fieldset + fieldset.right {
margin-top: 0;
}
fieldset.half {
width: 146px;
}
panel > fieldset.dashed > a,
panel > fieldset.dashed > div,
panel > fieldset.dashed > textarea,
list > fieldset.dashed > a,
list > fieldset.dashed > div,
list > fieldset.dashed > textarea {
border-style: dashed;
}
fieldset > a[type="thumb"]:first-child > back {
-moz-border-radius-topright: 9px;
-webkit-border-top-right-radius: 9px;
}
fieldset > a[type="thumb"]:last-child > back {
-moz-border-radius-bottomright: 9px;
-webkit-border-bottom-right-radius: 9px;
}
fieldset > a[type="thumb"] > back {
background-repeat: no-repeat;
border: 1px solid #999999;
display: block;
height: 64px;
left: 62px;
position: absolute;
opacity: 0.2;
top: -1px;
width: 237px;
}
.mm {
border: 1px solid #999999;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
}
a.mm {
display: block;
margin: 9px;
}
div.mm img {
height: auto;
width: 300px;
}
fieldset > a.small {
font-size: 12px;
padding-top: 9px;
}
fieldset > a.small label {
display: inline-block;
position: relative;
top: 1px;
}
fieldset > a.small > img.icon {
max-height: 22px;
min-width: 22px;
width: 22px;
}
fieldset > a.small.half > img.icon + div {
width: 79px;
}
fieldset > a.small.third > img.icon + div {
width: 50px;
}
fieldset > a.small.sixth > img.icon + div {
width: 0px;
}
panel.centered > label {
margin-left: 0px;
margin-right: 0px;
text-align: center;
}
panel > iframe {
margin: -9px 0;
}
panel > iframe:first-child,
panel > iframe + iframe {
margin-top: 0;
}
/* Rating Stars {{{ */
.ratings {
margin: -2px 0;
text-align: center;
}
.rated {
display: inline-block;
}
.rated.left {
margin-right: 9px;
}
.rated label {
font-weight: bold;
margin-right: 3px;
position: relative;
top: -3px;
}
.rating {
display: inline-block;
width: 80px;
}
.rating .back,
.rating .fore,
.rating .star {
background: url(http://cache.saurik.com/crystal/16x16/actions/knewstuff.png);
height: 16px;
}
.rating .back,
.rating .fore {
width: 80px;
}
.rating .star {
display: inline-block;
width: 16px;
}
.rating .back {
opacity: 0.2;
}
.rating .fore {
/*border-right: 1px solid #999999;*/
position: absolute;
}
/* }}} */
panel > fieldset.header {
background-color: transparent;
border: none;
margin: -5px 9px -11px 9px;
}
panel > fieldset.header > a > div > label {
color: #4d4d70;
text-shadow: rgba(255, 255, 255, 0.75) 1px 1px 0;
}