total cleanup
@@ -1 +0,0 @@
|
||||
/Users/chez/Sites/Progress/
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 0 B |
|
Before Width: | Height: | Size: 7.5 KiB |
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg width="1000" height="1000" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="400" y="0" width="200" height="1000" style="fill:rgb(220,220,220);"/>
|
||||
<rect x="0" y="400" width="1000" height="200" style="fill:rgb(220,220,220);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 286 B |
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="1000" height="1000" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<polygon points="0,250 500,500 0,750" style="fill:rgb(200,200,200);"/>
|
||||
<polygon points="500,250 1000,500 500,750" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 374 B |
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg width="1000" height="1000" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="50" width="400" height="1000" style="fill:rgb(200,200,200);"/>
|
||||
<rect x="600" width="400" height="1000" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 273 B |
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="1000" height="1000" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<polygon points="0,0 1000,500 0,1000" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 297 B |
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg width="700" height="900" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="50" y="50" rx="50" ry="50" width="600" height="800" style="stroke:rgb(200,200,200);stroke-width:50;"/>
|
||||
<rect x="150" y="150" width="400" height="70" style="fill:rgb(200,200,200);"/>
|
||||
<rect x="150" y="282" width="400" height="70" style="fill:rgb(200,200,200);"/>
|
||||
<rect x="150" y="415" width="400" height="70" style="fill:rgb(200,200,200);"/>
|
||||
<rect x="150" y="548" width="400" height="70" style="fill:rgb(200,200,200);"/>
|
||||
<rect x="150" y="680" width="400" height="70" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 637 B |
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="1000" height="1000" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<polygon points="0,500 500,250 500,750" style="fill:rgb(200,200,200);"/>
|
||||
<polygon points="500,500 1000,250 1000,750" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 377 B |
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg width="700" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M250 400 L150 400 C125 400 100 375 100 350 L100 150 C100 125 125 100 150 100 L550 100 C575 100 600 125 600 150 L600 350 C600 375 575 400 550 400 L440 400" style="stroke:rgb(200,200,200);stroke-width:70;" />
|
||||
<polygon points="249,300 369,400 249,500" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 417 B |
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<svg width="700" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M100 400
|
||||
|
||||
L250 400
|
||||
|
||||
C300 400
|
||||
325 375
|
||||
350 325
|
||||
|
||||
L400 225
|
||||
|
||||
C425 175
|
||||
450 150
|
||||
500 150
|
||||
|
||||
L560 150
|
||||
|
||||
|
||||
M100 150
|
||||
|
||||
L250 150
|
||||
|
||||
C300 150
|
||||
325 175
|
||||
350 225
|
||||
|
||||
L400 325
|
||||
|
||||
C425 375
|
||||
450 400
|
||||
500 400
|
||||
|
||||
L560 400
|
||||
" style="stroke:rgb(200,200,200);stroke-width:70;" />
|
||||
|
||||
<path d="M295 300 L371 150" style="stroke:rgb(0,0,0);stroke-width:50;" />
|
||||
<path d="M379 400 L455 250" style="stroke:rgb(0,0,0);stroke-width:50;" />
|
||||
<polygon points="559,50 680,150 559,210" style="fill:rgb(200,200,200);"/>
|
||||
<polygon points="559,300 680,400 559,500" style="fill:rgb(200,200,200);"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 757 B |
|
Before Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,239 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Ruby on Rails: Welcome aboard</title>
|
||||
<style type="text/css" media="screen">
|
||||
body {
|
||||
margin: 0;
|
||||
margin-bottom: 25px;
|
||||
padding: 0;
|
||||
background-color: #f0f0f0;
|
||||
font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
|
||||
font-size: 13px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 28px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
a {color: #03c}
|
||||
a:hover {
|
||||
background-color: #03c;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
#page {
|
||||
background-color: #f0f0f0;
|
||||
width: 750px;
|
||||
margin: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#content {
|
||||
float: left;
|
||||
background-color: white;
|
||||
border: 3px solid #aaa;
|
||||
border-top: none;
|
||||
padding: 25px;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
float: right;
|
||||
width: 175px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
#header, #about, #getting-started {
|
||||
padding-left: 75px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
|
||||
#header {
|
||||
background-image: url("images/rails.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: top left;
|
||||
height: 64px;
|
||||
}
|
||||
#header h1, #header h2 {margin: 0}
|
||||
#header h2 {
|
||||
color: #888;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
||||
#about h3 {
|
||||
margin: 0;
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#about-content {
|
||||
background-color: #ffd;
|
||||
border: 1px solid #fc0;
|
||||
margin-left: -55px;
|
||||
margin-right: -10px;
|
||||
}
|
||||
#about-content table {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 11px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
#about-content td {
|
||||
padding: 10px;
|
||||
padding-top: 3px;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
#about-content td.name {color: #555}
|
||||
#about-content td.value {color: #000}
|
||||
|
||||
#about-content ul {
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#about-content.failure {
|
||||
background-color: #fcc;
|
||||
border: 1px solid #f00;
|
||||
}
|
||||
#about-content.failure p {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
#getting-started {
|
||||
border-top: 1px solid #ccc;
|
||||
margin-top: 25px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
#getting-started h1 {
|
||||
margin: 0;
|
||||
font-size: 20px;
|
||||
}
|
||||
#getting-started h2 {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
color: #333;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
#getting-started ol {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
#getting-started li {
|
||||
font-size: 18px;
|
||||
color: #888;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
#getting-started li h2 {
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
font-size: 18px;
|
||||
color: #333;
|
||||
}
|
||||
#getting-started li p {
|
||||
color: #555;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
#sidebar ul {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
#sidebar ul h3 {
|
||||
margin-top: 25px;
|
||||
font-size: 16px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
#sidebar li {
|
||||
list-style-type: none;
|
||||
}
|
||||
#sidebar ul.links li {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function about() {
|
||||
info = document.getElementById('about-content');
|
||||
if (window.XMLHttpRequest)
|
||||
{ xhr = new XMLHttpRequest(); }
|
||||
else
|
||||
{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
|
||||
xhr.open("GET","rails/info/properties",false);
|
||||
xhr.send("");
|
||||
info.innerHTML = xhr.responseText;
|
||||
info.style.display = 'block'
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="page">
|
||||
<div id="sidebar">
|
||||
<ul id="sidebar-items">
|
||||
<li>
|
||||
<h3>Browse the documentation</h3>
|
||||
<ul class="links">
|
||||
<li><a href="http://api.rubyonrails.org/">Rails API</a></li>
|
||||
<li><a href="http://stdlib.rubyonrails.org/">Ruby standard library</a></li>
|
||||
<li><a href="http://corelib.rubyonrails.org/">Ruby core</a></li>
|
||||
<li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="content">
|
||||
<div id="header">
|
||||
<h1>Welcome aboard</h1>
|
||||
<h2>You’re riding Ruby on Rails!</h2>
|
||||
</div>
|
||||
|
||||
<div id="about">
|
||||
<h3><a href="rails/info/properties" onclick="about(); return false">About your application’s environment</a></h3>
|
||||
<div id="about-content" style="display: none"></div>
|
||||
</div>
|
||||
|
||||
<div id="getting-started">
|
||||
<h1>Getting started</h1>
|
||||
<h2>Here’s how to get rolling:</h2>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<h2>Use <code>rails generate</code> to create your models and controllers</h2>
|
||||
<p>To see all available options, run it without parameters.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<h2>Set up a default route and remove or rename this file</h2>
|
||||
<p>Routes are set up in config/routes.rb.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<h2>Create your database</h2>
|
||||
<p>Run <code>rake db:migrate</code> to create your database. If you're not using SQLite (the default), edit <code>config/database.yml</code> with your username and password.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="footer"> </div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* jQuery.fn.rand();
|
||||
*
|
||||
* Return a random, but defined numbers of elements from a jQuery Object.
|
||||
* $('element').rand(); // returns one element from the jQuery Object.
|
||||
* $('element').rand(4); // returns four elements from the jQuery Object.
|
||||
*
|
||||
* Version 0.8.5
|
||||
* www.labs.skengdon.com/rand
|
||||
* www.labs.skengdon.com/rand/js/rand.min.js
|
||||
*
|
||||
* And:
|
||||
* http://phpjs.org/functions/array_rand:332
|
||||
*/
|
||||
;(function($){$.fn.rand=function(number){var array_rand=function(input,num_req){var indexes=[];var ticks=num_req||1;var checkDuplicate=function(input,value){var exist=false,index=0;while(index<input.length){if(input[index]===value){exist=true;break;};index++;};return exist;};while(true){var rand=Math.floor((Math.random()*input.length));if(indexes.length===ticks){break;};if(!checkDuplicate(indexes,rand)){indexes.push(rand);}};return((ticks==1)?indexes.join():indexes);};if(typeof number!=='number')var number=1;if(number>this.length)number=this.length;var numbers=array_rand(this,number);var $return=[];for(var i=0;i<number;i++){$return[i]=this.get(numbers[i]);};return $($return);};}(jQuery));
|
||||
@@ -1,390 +0,0 @@
|
||||
/**
|
||||
* Ajax Autocomplete for jQuery, version 1.1.3
|
||||
* (c) 2010 Tomas Kirda
|
||||
*
|
||||
* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
|
||||
* For details, see the web site: http://www.devbridge.com/projects/autocomplete/jquery/
|
||||
*
|
||||
* Last Review: 04/19/2010
|
||||
*/
|
||||
|
||||
/*jslint onevar: true, evil: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */
|
||||
/*global window: true, document: true, clearInterval: true, setInterval: true, jQuery: true */
|
||||
|
||||
(function($) {
|
||||
|
||||
var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g');
|
||||
|
||||
function fnFormatResult(value, data, currentValue) {
|
||||
var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')';
|
||||
return value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>');
|
||||
}
|
||||
|
||||
function Autocomplete(el, options) {
|
||||
this.el = $(el);
|
||||
this.el.attr('autocomplete', 'off');
|
||||
this.suggestions = [];
|
||||
this.data = [];
|
||||
this.badQueries = [];
|
||||
this.selectedIndex = -1;
|
||||
this.currentValue = this.el.val();
|
||||
this.intervalId = 0;
|
||||
this.cachedResponse = [];
|
||||
this.onChangeInterval = null;
|
||||
this.ignoreValueChange = false;
|
||||
this.serviceUrl = options.serviceUrl;
|
||||
this.isLocal = false;
|
||||
this.options = {
|
||||
autoSubmit: false,
|
||||
minChars: 1,
|
||||
maxHeight: 300,
|
||||
deferRequestBy: 0,
|
||||
width: 0,
|
||||
highlight: true,
|
||||
params: {},
|
||||
fnFormatResult: fnFormatResult,
|
||||
delimiter: null,
|
||||
zIndex: 9999
|
||||
};
|
||||
this.initialize();
|
||||
this.setOptions(options);
|
||||
}
|
||||
|
||||
$.fn.autocomplete = function(options) {
|
||||
return new Autocomplete(this.get(0)||$('<input />'), options);
|
||||
};
|
||||
|
||||
|
||||
Autocomplete.prototype = {
|
||||
|
||||
killerFn: null,
|
||||
|
||||
initialize: function() {
|
||||
|
||||
var me, uid, autocompleteElId;
|
||||
me = this;
|
||||
uid = Math.floor(Math.random()*0x100000).toString(16);
|
||||
autocompleteElId = 'Autocomplete_' + uid;
|
||||
|
||||
this.killerFn = function(e) {
|
||||
if ($(e.target).parents('.autocomplete').size() === 0) {
|
||||
me.killSuggestions();
|
||||
me.disableKillerFn();
|
||||
}
|
||||
};
|
||||
|
||||
if (!this.options.width) { this.options.width = this.el.width(); }
|
||||
this.mainContainerId = 'AutocompleteContainter_' + uid;
|
||||
|
||||
$('<div id="' + this.mainContainerId + '" style="position:absolute;z-index:9999;"><div class="autocomplete-w1"><div class="autocomplete" id="' + autocompleteElId + '" style="display:none; width:300px;"></div></div></div>').appendTo('body');
|
||||
|
||||
this.container = $('#' + autocompleteElId);
|
||||
this.fixPosition();
|
||||
if (window.opera) {
|
||||
this.el.keypress(function(e) { me.onKeyPress(e); });
|
||||
} else {
|
||||
this.el.keydown(function(e) { me.onKeyPress(e); });
|
||||
}
|
||||
this.el.keyup(function(e) { me.onKeyUp(e); });
|
||||
this.el.blur(function() { me.enableKillerFn(); });
|
||||
this.el.focus(function() { me.fixPosition(); });
|
||||
},
|
||||
|
||||
setOptions: function(options){
|
||||
var o = this.options;
|
||||
$.extend(o, options);
|
||||
if(o.lookup){
|
||||
this.isLocal = true;
|
||||
if($.isArray(o.lookup)){ o.lookup = { suggestions:o.lookup, data:[] }; }
|
||||
}
|
||||
$('#'+this.mainContainerId).css({ zIndex:o.zIndex });
|
||||
this.container.css({ maxHeight: o.maxHeight + 'px', width:o.width });
|
||||
},
|
||||
|
||||
clearCache: function(){
|
||||
this.cachedResponse = [];
|
||||
this.badQueries = [];
|
||||
},
|
||||
|
||||
disable: function(){
|
||||
this.disabled = true;
|
||||
},
|
||||
|
||||
enable: function(){
|
||||
this.disabled = false;
|
||||
},
|
||||
|
||||
fixPosition: function() {
|
||||
var offset = this.el.offset();
|
||||
$('#' + this.mainContainerId).css({ top: (offset.top + this.el.innerHeight()) + 'px', left: offset.left + 'px' });
|
||||
},
|
||||
|
||||
enableKillerFn: function() {
|
||||
var me = this;
|
||||
$(document).bind('click', me.killerFn);
|
||||
},
|
||||
|
||||
disableKillerFn: function() {
|
||||
var me = this;
|
||||
$(document).unbind('click', me.killerFn);
|
||||
},
|
||||
|
||||
killSuggestions: function() {
|
||||
var me = this;
|
||||
this.stopKillSuggestions();
|
||||
this.intervalId = window.setInterval(function() { me.hide(); me.stopKillSuggestions(); }, 300);
|
||||
},
|
||||
|
||||
stopKillSuggestions: function() {
|
||||
window.clearInterval(this.intervalId);
|
||||
},
|
||||
|
||||
onKeyPress: function(e) {
|
||||
if (this.disabled || !this.enabled) { return; }
|
||||
// return will exit the function
|
||||
// and event will not be prevented
|
||||
switch (e.keyCode) {
|
||||
case 27: //KEY_ESC:
|
||||
this.el.val(this.currentValue);
|
||||
this.hide();
|
||||
break;
|
||||
case 9: //KEY_TAB:
|
||||
case 13: //KEY_RETURN:
|
||||
if (this.selectedIndex === -1) {
|
||||
this.hide();
|
||||
return;
|
||||
}
|
||||
this.select(this.selectedIndex);
|
||||
if(e.keyCode === 9){ return; }
|
||||
break;
|
||||
case 38: //KEY_UP:
|
||||
this.moveUp();
|
||||
break;
|
||||
case 40: //KEY_DOWN:
|
||||
this.moveDown();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
},
|
||||
|
||||
onKeyUp: function(e) {
|
||||
if(this.disabled){ return; }
|
||||
switch (e.keyCode) {
|
||||
case 38: //KEY_UP:
|
||||
case 40: //KEY_DOWN:
|
||||
return;
|
||||
}
|
||||
clearInterval(this.onChangeInterval);
|
||||
if (this.currentValue !== this.el.val()) {
|
||||
if (this.options.deferRequestBy > 0) {
|
||||
// Defer lookup in case when value changes very quickly:
|
||||
var me = this;
|
||||
this.onChangeInterval = setInterval(function() { me.onValueChange(); }, this.options.deferRequestBy);
|
||||
} else {
|
||||
this.onValueChange();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onValueChange: function() {
|
||||
clearInterval(this.onChangeInterval);
|
||||
this.currentValue = this.el.val();
|
||||
var q = this.getQuery(this.currentValue);
|
||||
this.selectedIndex = -1;
|
||||
if (this.ignoreValueChange) {
|
||||
this.ignoreValueChange = false;
|
||||
return;
|
||||
}
|
||||
if (q === '' || q.length < this.options.minChars) {
|
||||
this.hide();
|
||||
} else {
|
||||
this.getSuggestions(q);
|
||||
}
|
||||
},
|
||||
|
||||
getQuery: function(val) {
|
||||
var d, arr;
|
||||
d = this.options.delimiter;
|
||||
if (!d) { return $.trim(val); }
|
||||
arr = val.split(d);
|
||||
return $.trim(arr[arr.length - 1]);
|
||||
},
|
||||
|
||||
getSuggestionsLocal: function(q) {
|
||||
var ret, arr, len, val, i;
|
||||
arr = this.options.lookup;
|
||||
len = arr.suggestions.length;
|
||||
ret = { suggestions:[], data:[] };
|
||||
q = q.toLowerCase();
|
||||
for(i=0; i< len; i++){
|
||||
val = arr.suggestions[i];
|
||||
if(val.toLowerCase().indexOf(q) === 0){
|
||||
ret.suggestions.push(val);
|
||||
ret.data.push(arr.data[i]);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
|
||||
getSuggestions: function(q) {
|
||||
var cr, me;
|
||||
cr = this.isLocal ? this.getSuggestionsLocal(q) : this.cachedResponse[q];
|
||||
if (cr && $.isArray(cr.suggestions)) {
|
||||
this.suggestions = cr.suggestions;
|
||||
this.data = cr.data;
|
||||
this.suggest();
|
||||
} else if (!this.isBadQuery(q)) {
|
||||
me = this;
|
||||
me.options.params.query = q;
|
||||
$.get(this.serviceUrl, me.options.params, function(txt) { me.processResponse(txt); }, 'text');
|
||||
}
|
||||
},
|
||||
|
||||
isBadQuery: function(q) {
|
||||
var i = this.badQueries.length;
|
||||
while (i--) {
|
||||
if (q.indexOf(this.badQueries[i]) === 0) { return true; }
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.enabled = false;
|
||||
this.selectedIndex = -1;
|
||||
this.container.hide();
|
||||
},
|
||||
|
||||
suggest: function() {
|
||||
if (this.suggestions.length === 0) {
|
||||
this.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
var me, len, div, f, v, i, s, mOver, mClick;
|
||||
me = this;
|
||||
len = this.suggestions.length;
|
||||
f = this.options.fnFormatResult;
|
||||
v = this.getQuery(this.currentValue);
|
||||
mOver = function(xi) { return function() { me.activate(xi); }; };
|
||||
mClick = function(xi) { return function() { me.select(xi); }; };
|
||||
this.container.hide().empty();
|
||||
for (i = 0; i < len; i++) {
|
||||
s = this.suggestions[i];
|
||||
div = $((me.selectedIndex === i ? '<div class="selected"' : '<div') + ' title="' + s + '">' + f(s, this.data[i], v) + '</div>');
|
||||
div.mouseover(mOver(i));
|
||||
div.click(mClick(i));
|
||||
this.container.append(div);
|
||||
}
|
||||
this.enabled = true;
|
||||
this.container.show();
|
||||
},
|
||||
|
||||
processResponse: function(text) {
|
||||
var response;
|
||||
try {
|
||||
response = eval('(' + text + ')');
|
||||
} catch (err) { return; }
|
||||
if (!$.isArray(response.data)) { response.data = []; }
|
||||
if(!this.options.noCache){
|
||||
this.cachedResponse[response.query] = response;
|
||||
if (response.suggestions.length === 0) { this.badQueries.push(response.query); }
|
||||
}
|
||||
if (response.query === this.getQuery(this.currentValue)) {
|
||||
this.suggestions = response.suggestions;
|
||||
this.data = response.data;
|
||||
this.suggest();
|
||||
}
|
||||
},
|
||||
|
||||
activate: function(index) {
|
||||
var divs, activeItem;
|
||||
divs = this.container.children();
|
||||
// Clear previous selection:
|
||||
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
|
||||
$(divs.get(this.selectedIndex)).removeClass();
|
||||
}
|
||||
this.selectedIndex = index;
|
||||
if (this.selectedIndex !== -1 && divs.length > this.selectedIndex) {
|
||||
activeItem = divs.get(this.selectedIndex);
|
||||
$(activeItem).addClass('selected');
|
||||
}
|
||||
return activeItem;
|
||||
},
|
||||
|
||||
deactivate: function(div, index) {
|
||||
div.className = '';
|
||||
if (this.selectedIndex === index) { this.selectedIndex = -1; }
|
||||
},
|
||||
|
||||
select: function(i) {
|
||||
var selectedValue, f;
|
||||
selectedValue = this.suggestions[i];
|
||||
if (selectedValue) {
|
||||
this.el.val(selectedValue);
|
||||
if (this.options.autoSubmit) {
|
||||
f = this.el.parents('form');
|
||||
if (f.length > 0) { f.get(0).submit(); }
|
||||
}
|
||||
this.ignoreValueChange = true;
|
||||
this.hide();
|
||||
this.onSelect(i);
|
||||
}
|
||||
},
|
||||
|
||||
moveUp: function() {
|
||||
if (this.selectedIndex === -1) { return; }
|
||||
if (this.selectedIndex === 0) {
|
||||
this.container.children().get(0).className = '';
|
||||
this.selectedIndex = -1;
|
||||
this.el.val(this.currentValue);
|
||||
return;
|
||||
}
|
||||
this.adjustScroll(this.selectedIndex - 1);
|
||||
},
|
||||
|
||||
moveDown: function() {
|
||||
if (this.selectedIndex === (this.suggestions.length - 1)) { return; }
|
||||
this.adjustScroll(this.selectedIndex + 1);
|
||||
},
|
||||
|
||||
adjustScroll: function(i) {
|
||||
var activeItem, offsetTop, upperBound, lowerBound;
|
||||
activeItem = this.activate(i);
|
||||
offsetTop = activeItem.offsetTop;
|
||||
upperBound = this.container.scrollTop();
|
||||
lowerBound = upperBound + this.options.maxHeight - 25;
|
||||
if (offsetTop < upperBound) {
|
||||
this.container.scrollTop(offsetTop);
|
||||
} else if (offsetTop > lowerBound) {
|
||||
this.container.scrollTop(offsetTop - this.options.maxHeight + 25);
|
||||
}
|
||||
this.el.val(this.getValue(this.suggestions[i]));
|
||||
},
|
||||
|
||||
onSelect: function(i) {
|
||||
var me, fn, s, d;
|
||||
me = this;
|
||||
fn = me.options.onSelect;
|
||||
s = me.suggestions[i];
|
||||
d = me.data[i];
|
||||
me.el.val(me.getValue(s));
|
||||
if ($.isFunction(fn)) { fn(s, d, me.el); }
|
||||
},
|
||||
|
||||
getValue: function(value){
|
||||
var del, currVal, arr, me;
|
||||
me = this;
|
||||
del = me.options.delimiter;
|
||||
if (!del) { return value; }
|
||||
currVal = me.currentValue;
|
||||
arr = currVal.split(del);
|
||||
if (arr.length === 1) { return value; }
|
||||
return currVal.substr(0, currVal.length - arr[arr.length - 1].length) + value;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}(jQuery));
|
||||
@@ -1,11 +0,0 @@
|
||||
/*
|
||||
* jScrollPane - v2.0.0beta10 - 2011-04-04
|
||||
* http://jscrollpane.kelvinluck.com/
|
||||
*
|
||||
* Copyright (c) 2010 Kelvin Luck
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
(function(b,a,c){b.fn.jScrollPane=function(f){function d(E,P){var aA,R=this,Z,al,w,an,U,aa,z,r,aB,aG,aw,j,J,i,k,ab,V,ar,Y,u,B,at,ag,ao,H,m,av,az,y,ax,aJ,g,M,ak=true,Q=true,aI=false,l=false,aq=E.clone(false,false).empty(),ad=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aJ=E.css("paddingTop")+" "+E.css("paddingRight")+" "+E.css("paddingBottom")+" "+E.css("paddingLeft");g=(parseInt(E.css("paddingLeft"),10)||0)+(parseInt(E.css("paddingRight"),10)||0);function au(aU){var aS,aT,aN,aP,aO,aL,aK,aR,aQ=false,aM=false;aA=aU;if(Z===c){aK=E.scrollTop();aR=E.scrollLeft();E.css({overflow:"hidden",padding:0});al=E.innerWidth()+g;w=E.innerHeight();E.width(al);Z=b('<div class="jspPane" />').css("padding",aJ).append(E.children());an=b('<div class="jspContainer" />').css({width:al+"px",height:w+"px"}).append(Z).appendTo(E)}else{E.css("width","");aQ=aA.stickToBottom&&L();aM=aA.stickToRight&&C();aL=E.innerWidth()+g!=al||E.outerHeight()!=w;if(aL){al=E.innerWidth()+g;w=E.innerHeight();an.css({width:al+"px",height:w+"px"})}if(!aL&&M==U&&Z.outerHeight()==aa){E.width(al);return}M=U;Z.css("width","");E.width(al);an.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}if(aU.contentWidth){U=aU.contentWidth}else{aS=Z.clone(false,false).css("position","absolute");aT=b('<div style="width:1px; position: relative;" />').append(aS);b("body").append(aT);U=Math.max(Z.outerWidth(),aS.outerWidth());aT.remove()}aa=Z.outerHeight();z=U/al;r=aa/w;aB=r>1;aG=z>1;if(!(aG||aB)){E.removeClass("jspScrollable");Z.css({top:0,width:an.width()-g});o();F();S();x();aj()}else{E.addClass("jspScrollable");aN=aA.maintainPosition&&(J||ab);if(aN){aP=aE();aO=aC()}aH();A();G();if(aN){O(aM?(U-al):aP,false);N(aQ?(aa-w):aO,false)}K();ah();ap();if(aA.enableKeyboardNavigation){T()}if(aA.clickOnTrack){q()}D();if(aA.hijackInternalLinks){n()}}if(aA.autoReinitialise&&!ax){ax=setInterval(function(){au(aA)},aA.autoReinitialiseDelay)}else{if(!aA.autoReinitialise&&ax){clearInterval(ax)}}aK&&E.scrollTop(0)&&N(aK,false);aR&&E.scrollLeft(0)&&O(aR,false);E.trigger("jsp-initialised",[aG||aB])}function aH(){if(aB){an.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));V=an.find(">.jspVerticalBar");ar=V.find(">.jspTrack");aw=ar.find(">.jspDrag");if(aA.showArrows){at=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aF(0,-1)).bind("click.jsp",aD);ag=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aF(0,1)).bind("click.jsp",aD);if(aA.arrowScrollOnHover){at.bind("mouseover.jsp",aF(0,-1,at));ag.bind("mouseover.jsp",aF(0,1,ag))}am(ar,aA.verticalArrowPositions,at,ag)}u=w;an.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){u-=b(this).outerHeight()});aw.hover(function(){aw.addClass("jspHover")},function(){aw.removeClass("jspHover")}).bind("mousedown.jsp",function(aK){b("html").bind("dragstart.jsp selectstart.jsp",aD);aw.addClass("jspActive");var s=aK.pageY-aw.position().top;b("html").bind("mousemove.jsp",function(aL){W(aL.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",ay);return false});p()}}function p(){ar.height(u+"px");J=0;Y=aA.verticalGutter+ar.outerWidth();Z.width(al-Y-g);try{if(V.position().left===0){Z.css("margin-left",Y+"px")}}catch(s){}}function A(){if(aG){an.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));ao=an.find(">.jspHorizontalBar");H=ao.find(">.jspTrack");i=H.find(">.jspDrag");if(aA.showArrows){az=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aF(-1,0)).bind("click.jsp",aD);
|
||||
y=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aF(1,0)).bind("click.jsp",aD);if(aA.arrowScrollOnHover){az.bind("mouseover.jsp",aF(-1,0,az));y.bind("mouseover.jsp",aF(1,0,y))}am(H,aA.horizontalArrowPositions,az,y)}i.hover(function(){i.addClass("jspHover")},function(){i.removeClass("jspHover")}).bind("mousedown.jsp",function(aK){b("html").bind("dragstart.jsp selectstart.jsp",aD);i.addClass("jspActive");var s=aK.pageX-i.position().left;b("html").bind("mousemove.jsp",function(aL){X(aL.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",ay);return false});m=an.innerWidth();ai()}}function ai(){an.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){m-=b(this).outerWidth()});H.width(m+"px");ab=0}function G(){if(aG&&aB){var aK=H.outerHeight(),s=ar.outerWidth();u-=aK;b(ao).find(">.jspCap:visible,>.jspArrow").each(function(){m+=b(this).outerWidth()});m-=s;w-=s;al-=aK;H.parent().append(b('<div class="jspCorner" />').css("width",aK+"px"));p();ai()}if(aG){Z.width((an.outerWidth()-g)+"px")}aa=Z.outerHeight();r=aa/w;if(aG){av=Math.ceil(1/z*m);if(av>aA.horizontalDragMaxWidth){av=aA.horizontalDragMaxWidth}else{if(av<aA.horizontalDragMinWidth){av=aA.horizontalDragMinWidth}}i.width(av+"px");k=m-av;af(ab)}if(aB){B=Math.ceil(1/r*u);if(B>aA.verticalDragMaxHeight){B=aA.verticalDragMaxHeight}else{if(B<aA.verticalDragMinHeight){B=aA.verticalDragMinHeight}}aw.height(B+"px");j=u-B;ae(J)}}function am(aL,aN,aK,s){var aP="before",aM="after",aO;if(aN=="os"){aN=/Mac/.test(navigator.platform)?"after":"split"}if(aN==aP){aM=aN}else{if(aN==aM){aP=aN;aO=aK;aK=s;s=aO}}aL[aP](aK)[aM](s)}function aF(aK,s,aL){return function(){I(aK,s,this,aL);this.blur();return false}}function I(aN,aM,aQ,aP){aQ=b(aQ).addClass("jspActive");var aO,aL,aK=true,s=function(){if(aN!==0){R.scrollByX(aN*aA.arrowButtonSpeed)}if(aM!==0){R.scrollByY(aM*aA.arrowButtonSpeed)}aL=setTimeout(s,aK?aA.initialDelay:aA.arrowRepeatFreq);aK=false};s();aO=aP?"mouseout.jsp":"mouseup.jsp";aP=aP||b("html");aP.bind(aO,function(){aQ.removeClass("jspActive");aL&&clearTimeout(aL);aL=null;aP.unbind(aO)})}function q(){x();if(aB){ar.bind("mousedown.jsp",function(aP){if(aP.originalTarget===c||aP.originalTarget==aP.currentTarget){var aN=b(this),aQ=aN.offset(),aO=aP.pageY-aQ.top-J,aL,aK=true,s=function(){var aT=aN.offset(),aU=aP.pageY-aT.top-B/2,aR=w*aA.scrollPagePercent,aS=j*aR/(aa-w);if(aO<0){if(J-aS>aU){R.scrollByY(-aR)}else{W(aU)}}else{if(aO>0){if(J+aS<aU){R.scrollByY(aR)}else{W(aU)}}else{aM();return}}aL=setTimeout(s,aK?aA.initialDelay:aA.trackClickRepeatFreq);aK=false},aM=function(){aL&&clearTimeout(aL);aL=null;b(document).unbind("mouseup.jsp",aM)};s();b(document).bind("mouseup.jsp",aM);return false}})}if(aG){H.bind("mousedown.jsp",function(aP){if(aP.originalTarget===c||aP.originalTarget==aP.currentTarget){var aN=b(this),aQ=aN.offset(),aO=aP.pageX-aQ.left-ab,aL,aK=true,s=function(){var aT=aN.offset(),aU=aP.pageX-aT.left-av/2,aR=al*aA.scrollPagePercent,aS=k*aR/(U-al);if(aO<0){if(ab-aS>aU){R.scrollByX(-aR)}else{X(aU)}}else{if(aO>0){if(ab+aS<aU){R.scrollByX(aR)}else{X(aU)}}else{aM();return}}aL=setTimeout(s,aK?aA.initialDelay:aA.trackClickRepeatFreq);aK=false},aM=function(){aL&&clearTimeout(aL);aL=null;b(document).unbind("mouseup.jsp",aM)};s();b(document).bind("mouseup.jsp",aM);return false}})}}function x(){if(H){H.unbind("mousedown.jsp")}if(ar){ar.unbind("mousedown.jsp")}}function ay(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(aw){aw.removeClass("jspActive")}if(i){i.removeClass("jspActive")}}function W(s,aK){if(!aB){return}if(s<0){s=0}else{if(s>j){s=j}}if(aK===c){aK=aA.animateScroll}if(aK){R.animate(aw,"top",s,ae)}else{aw.css("top",s);ae(s)}}function ae(aK){if(aK===c){aK=aw.position().top}an.scrollTop(0);J=aK;var aN=J===0,aL=J==j,aM=aK/j,s=-aM*(aa-w);if(ak!=aN||aI!=aL){ak=aN;aI=aL;E.trigger("jsp-arrow-change",[ak,aI,Q,l])}v(aN,aL);Z.css("top",s);E.trigger("jsp-scroll-y",[-s,aN,aL]).trigger("scroll")}function X(aK,s){if(!aG){return
|
||||
}if(aK<0){aK=0}else{if(aK>k){aK=k}}if(s===c){s=aA.animateScroll}if(s){R.animate(i,"left",aK,af)}else{i.css("left",aK);af(aK)}}function af(aK){if(aK===c){aK=i.position().left}an.scrollTop(0);ab=aK;var aN=ab===0,aM=ab==k,aL=aK/k,s=-aL*(U-al);if(Q!=aN||l!=aM){Q=aN;l=aM;E.trigger("jsp-arrow-change",[ak,aI,Q,l])}t(aN,aM);Z.css("left",s);E.trigger("jsp-scroll-x",[-s,aN,aM]).trigger("scroll")}function v(aK,s){if(aA.showArrows){at[aK?"addClass":"removeClass"]("jspDisabled");ag[s?"addClass":"removeClass"]("jspDisabled")}}function t(aK,s){if(aA.showArrows){az[aK?"addClass":"removeClass"]("jspDisabled");y[s?"addClass":"removeClass"]("jspDisabled")}}function N(s,aK){var aL=s/(aa-w);W(aL*j,aK)}function O(aK,s){var aL=aK/(U-al);X(aL*k,s)}function ac(aX,aS,aL){var aP,aM,aN,s=0,aW=0,aK,aR,aQ,aU,aT,aV;try{aP=b(aX)}catch(aO){return}aM=aP.outerHeight();aN=aP.outerWidth();an.scrollTop(0);an.scrollLeft(0);while(!aP.is(".jspPane")){s+=aP.position().top;aW+=aP.position().left;aP=aP.offsetParent();if(/^body|html$/i.test(aP[0].nodeName)){return}}aK=aC();aQ=aK+w;if(s<aK||aS){aT=s-aA.verticalGutter}else{if(s+aM>aQ){aT=s-w+aM+aA.verticalGutter}}if(aT){N(aT,aL)}aR=aE();aU=aR+al;if(aW<aR||aS){aV=aW-aA.horizontalGutter}else{if(aW+aN>aU){aV=aW-al+aN+aA.horizontalGutter}}if(aV){O(aV,aL)}}function aE(){return -Z.position().left}function aC(){return -Z.position().top}function L(){var s=aa-w;return(s>20)&&(s-aC()<10)}function C(){var s=U-al;return(s>20)&&(s-aE()<10)}function ah(){an.unbind(ad).bind(ad,function(aN,aO,aM,aK){var aL=ab,s=J;R.scrollBy(aM*aA.mouseWheelSpeed,-aK*aA.mouseWheelSpeed,false);return aL==ab&&s==J})}function o(){an.unbind(ad)}function aD(){return false}function K(){Z.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ac(s.target,false)})}function F(){Z.find(":input,a").unbind("focus.jsp")}function T(){var s,aK,aM=[];aG&&aM.push(ao[0]);aB&&aM.push(V[0]);Z.focus(function(){E.focus()});E.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aP){if(aP.target!==this&&!(aM.length&&b(aP.target).closest(aM).length)){return}var aO=ab,aN=J;switch(aP.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aP.keyCode;aL();break;case 35:N(aa-w);s=null;break;case 36:N(0);s=null;break}aK=aP.keyCode==s&&aO!=ab||aN!=J;return !aK}).bind("keypress.jsp",function(aN){if(aN.keyCode==s){aL()}return !aK});if(aA.hideFocus){E.css("outline","none");if("hideFocus" in an[0]){E.attr("hideFocus",true)}}else{E.css("outline","");if("hideFocus" in an[0]){E.attr("hideFocus",false)}}function aL(){var aO=ab,aN=J;switch(s){case 40:R.scrollByY(aA.keyboardSpeed,false);break;case 38:R.scrollByY(-aA.keyboardSpeed,false);break;case 34:case 32:R.scrollByY(w*aA.scrollPagePercent,false);break;case 33:R.scrollByY(-w*aA.scrollPagePercent,false);break;case 39:R.scrollByX(aA.keyboardSpeed,false);break;case 37:R.scrollByX(-aA.keyboardSpeed,false);break}aK=aO!=ab||aN!=J;return aK}}function S(){E.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function D(){if(location.hash&&location.hash.length>1){var aL,aK;try{aL=b(location.hash)}catch(s){return}if(aL.length&&Z.find(location.hash)){if(an.scrollTop()===0){aK=setInterval(function(){if(an.scrollTop()>0){ac(location.hash,true);b(document).scrollTop(an.position().top);clearInterval(aK)}},50)}else{ac(location.hash,true);b(document).scrollTop(an.position().top)}}}}function aj(){b("a.jspHijack").unbind("click.jsp-hijack").removeClass("jspHijack")}function n(){aj();b("a[href^=#]").addClass("jspHijack").bind("click.jsp-hijack",function(){var s=this.href.split("#"),aK;if(s.length>1){aK=s[1];if(aK.length>0&&Z.find("#"+aK).length>0){ac("#"+aK,true);return false}}})}function ap(){var aL,aK,aN,aM,aO,s=false;an.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aP){var aQ=aP.originalEvent.touches[0];aL=aE();aK=aC();aN=aQ.pageX;aM=aQ.pageY;aO=false;s=true}).bind("touchmove.jsp",function(aS){if(!s){return}var aR=aS.originalEvent.touches[0],aQ=ab,aP=J;
|
||||
R.scrollTo(aL+aN-aR.pageX,aK+aM-aR.pageY);aO=aO||Math.abs(aN-aR.pageX)>5||Math.abs(aM-aR.pageY)>5;return aQ==ab&&aP==J}).bind("touchend.jsp",function(aP){s=false}).bind("click.jsp-touchclick",function(aP){if(aO){aO=false;return false}})}function h(){var s=aC(),aK=aE();E.removeClass("jspScrollable").unbind(".jsp");E.replaceWith(aq.append(Z.children()));aq.scrollTop(s);aq.scrollLeft(aK)}b.extend(R,{reinitialise:function(aK){aK=b.extend({},aA,aK);au(aK)},scrollToElement:function(aL,aK,s){ac(aL,aK,s)},scrollTo:function(aL,s,aK){O(aL,aK);N(s,aK)},scrollToX:function(aK,s){O(aK,s)},scrollToY:function(s,aK){N(s,aK)},scrollToPercentX:function(aK,s){O(aK*(U-al),s)},scrollToPercentY:function(aK,s){N(aK*(aa-w),s)},scrollBy:function(aK,s,aL){R.scrollByX(aK,aL);R.scrollByY(s,aL)},scrollByX:function(s,aL){var aK=aE()+s,aM=aK/(U-al);X(aM*k,aL)},scrollByY:function(s,aL){var aK=aC()+s,aM=aK/(aa-w);W(aM*j,aL)},positionDragX:function(s,aK){X(s,aK)},positionDragY:function(aK,s){X(aK,s)},animate:function(aK,aN,s,aM){var aL={};aL[aN]=s;aK.animate(aL,{duration:aA.animateDuration,ease:aA.animateEase,queue:false,step:aM})},getContentPositionX:function(){return aE()},getContentPositionY:function(){return aC()},getContentWidth:function(){return U},getContentHeight:function(){return aa},getPercentScrolledX:function(){return aE()/(U-al)},getPercentScrolledY:function(){return aC()/(aa-w)},getIsScrollableH:function(){return aG},getIsScrollableV:function(){return aB},getContentPane:function(){return Z},scrollToBottom:function(s){W(j,s)},hijackInternalLinks:function(){n()},destroy:function(){h()}});au(P)}f=b.extend({},b.fn.jScrollPane.defaults,f);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){f[this]=f[this]||f.speed});var e;this.each(function(){var g=b(this),h=g.data("jsp");if(h){h.reinitialise(f)}else{h=new d(g,f);g.data("jsp",h)}e=e?e.add(g):g});return e};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);
|
||||
@@ -1,78 +0,0 @@
|
||||
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||
*
|
||||
* Version: 3.0.4
|
||||
*
|
||||
* Requires: 1.2.2+
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var types = ['DOMMouseScroll', 'mousewheel'];
|
||||
|
||||
$.event.special.mousewheel = {
|
||||
setup: function() {
|
||||
if ( this.addEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.addEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = handler;
|
||||
}
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
if ( this.removeEventListener ) {
|
||||
for ( var i=types.length; i; ) {
|
||||
this.removeEventListener( types[--i], handler, false );
|
||||
}
|
||||
} else {
|
||||
this.onmousewheel = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.extend({
|
||||
mousewheel: function(fn) {
|
||||
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
||||
},
|
||||
|
||||
unmousewheel: function(fn) {
|
||||
return this.unbind("mousewheel", fn);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function handler(event) {
|
||||
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
||||
event = $.event.fix(orgEvent);
|
||||
event.type = "mousewheel";
|
||||
|
||||
// Old school scrollwheel delta
|
||||
if ( event.wheelDelta ) { delta = event.wheelDelta/120; }
|
||||
if ( event.detail ) { delta = -event.detail/3; }
|
||||
|
||||
// New school multidimensional scroll (touchpads) deltas
|
||||
deltaY = delta;
|
||||
|
||||
// Gecko
|
||||
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
||||
deltaY = 0;
|
||||
deltaX = -1*delta;
|
||||
}
|
||||
|
||||
// Webkit
|
||||
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
||||
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
||||
|
||||
// Add event and delta to the front of the arguments
|
||||
args.unshift(event, delta, deltaX, deltaY);
|
||||
|
||||
return $.event.handle.apply(this, args);
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
@@ -1,169 +0,0 @@
|
||||
var audio;
|
||||
var prev_audio;
|
||||
var next_audio;
|
||||
var utid;
|
||||
$(function(){
|
||||
$.extend($.fn.disableTextSelect = function() {
|
||||
return this.each(function(){
|
||||
if ($.browser.mozilla) {//Firefox
|
||||
$(this).css('MozUserSelect','none');
|
||||
} else if ($.browser.msie) {//IE
|
||||
$(this).bind('selectstart',function(){return false;});
|
||||
} else {//Opera, etc.
|
||||
$(this).mousedown(function(){return false;});
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#player .play').click(function(){
|
||||
if (! audio) return;
|
||||
audio.play();
|
||||
utid = window.setTimeout(updatePlayer, 100);
|
||||
$('#player .pause').show();
|
||||
$('#player .play').hide();
|
||||
}).disableTextSelect();
|
||||
$('#player .pause').click(function(){
|
||||
audio.pause();
|
||||
clearTimeout(utid);
|
||||
$('#player .pause').hide();
|
||||
$('#player .play').show();
|
||||
}).disableTextSelect();
|
||||
$('.tracks .play').click(function(){
|
||||
addToPlaylist(
|
||||
$('h1.artist > span > span:first').html(),
|
||||
$(this).parent().find('.track-name').html(),
|
||||
Math.round($(this).parent().find('.duration').attr('data-length') / 1000),
|
||||
$(this).parent().attr('id')
|
||||
);
|
||||
})
|
||||
$('.album > h3.name > span.play').click(function(){
|
||||
$(this).parent().parent().find('ul > li > span.play').click();
|
||||
})
|
||||
$('h1.artist > span > span.play').click(function(){
|
||||
$('.album > ul > li > span.play').click();
|
||||
})
|
||||
$('#player .prev').click(function(){
|
||||
playPrev();
|
||||
}).disableTextSelect();
|
||||
$('#player .next').click(function(){
|
||||
playNext();
|
||||
}).disableTextSelect();
|
||||
$('#player .shuffle, #player .repeat').click(function(){
|
||||
$(this).toggleClass('on');
|
||||
setNext();
|
||||
}).disableTextSelect();
|
||||
$('#player .playlist').click(function(){
|
||||
$('#playlist').toggle();
|
||||
//$('#playlist').data('jsp').reinitialise();
|
||||
})
|
||||
$('#player .progress-bar').click(function(e){
|
||||
if (typeof(audio) !== 'undefined' && typeof(audio.duration) !== 'undefined') {
|
||||
desired_progress = Math.abs(e.pageX - $(this).offset().left) / $('#player .progress-bar').innerWidth();
|
||||
audio.currentTime = Math.round(audio.duration * desired_progress);
|
||||
}
|
||||
})
|
||||
$('#playlist').hide();
|
||||
})
|
||||
function updatePlayer() {
|
||||
duration = audio.duration;
|
||||
cur_time = audio.currentTime;
|
||||
if (cur_time > 0 && cur_time == duration) {
|
||||
playNext();
|
||||
}
|
||||
loaded = 0;
|
||||
if ((audio.buffered != undefined) && (audio.buffered.length != 0)) {
|
||||
loaded = Math.round((audio.buffered.end(0) / audio.duration) * 390);
|
||||
$('#player .time-played').html(formatTime(cur_time));
|
||||
$('#player .time-left').html(formatTime(duration - cur_time));
|
||||
progress = Math.round((cur_time / duration) * 390);
|
||||
$('#player .progress-loaded').css('width', loaded +'px')
|
||||
$('#player .progress-point').css('margin-left', progress - $('#player .progress-point').width() +'px')
|
||||
|
||||
/* Starting buffering next track */
|
||||
if (Math.round(cur_time / duration * 100) > 10) {
|
||||
addAudio(next_audio);
|
||||
}
|
||||
}
|
||||
utid = window.setTimeout(updatePlayer, 100);
|
||||
}
|
||||
function formatTime(sec) {
|
||||
sec = Math.round(sec);
|
||||
m = Math.floor(sec / 60);
|
||||
s = sec - (m * 60);
|
||||
return m +':'+ (s < 10 ? '0' : '') +s;
|
||||
}
|
||||
function playTrack(artist, track, id) {
|
||||
switchAudio(id);
|
||||
setNext();
|
||||
$('#player .track-title').html(artist +' — '+ track);
|
||||
$('#player .time-played').html('0:00');
|
||||
$('#player .time-left').html('0:00');
|
||||
$('#player .progress-loaded').css('width', '0px')
|
||||
$('#player .progress-point').css('margin-left', '-6px')
|
||||
$('#player .play').trigger('click');
|
||||
}
|
||||
function setPrev() {
|
||||
if ($('#playlist ul.list li').length == 0) return false;
|
||||
if (!audio) {
|
||||
prev_audio = $(audio).attr('data-id');
|
||||
}
|
||||
}
|
||||
function setNext() {
|
||||
if ($('#playlist ul.list li').length == 0) return false;
|
||||
if ($('#player .shuffle').hasClass('on')) {
|
||||
next_audio = $('#playlist ul.list li').rand().attr('data-id');
|
||||
}
|
||||
if ($('#playlist ul.list li.now-playing').next().length == 0) {
|
||||
if ($('#player .repeat').hasClass('on')) {
|
||||
next_audio = $('#playlist ul.list li:first').attr('data-id');
|
||||
}
|
||||
} else {
|
||||
next_audio = $('#playlist ul.list li.now-playing').next().attr('data-id');
|
||||
}
|
||||
}
|
||||
function playPrev() {
|
||||
return false;
|
||||
}
|
||||
function playNext() {
|
||||
$('#playlist ul.list li[data-id="'+ next_audio +'"]').dblclick();
|
||||
}
|
||||
function addToPlaylist(artist, track, length, id) {
|
||||
$('#playlist ul.list').append($(
|
||||
'<li data-id="'+ id +'" title="Double-click To Play">'+
|
||||
'<span class="artist">'+ artist +'</span> — '+
|
||||
'<span class="track">'+ track +'</span>'+
|
||||
'<span class="length" data-seconds="'+ length +'">'+ formatTime(length) +'</span>'+
|
||||
'</li>'
|
||||
));
|
||||
$('#playlist ul.list li').disableTextSelect();
|
||||
$('#playlist ul.list li[data-id="'+ id +'"]').dblclick(function(){
|
||||
playTrack(artist, track, id);
|
||||
$('#playlist li').removeClass('now-playing');
|
||||
$(this).addClass('now-playing');
|
||||
setNext();
|
||||
})
|
||||
if ($('#playlist ul.list li').length == 1) {
|
||||
$('#playlist ul.list li:first').dblclick();
|
||||
}
|
||||
if ($('#playlist ul.list li').length > 6) {
|
||||
$('#playlist').jScrollPane();
|
||||
}
|
||||
$('#player .playlist .count').html($('#playlist ul.list li').length);
|
||||
setNext();
|
||||
}
|
||||
function addAudio(id) {
|
||||
if ($('#audio_'+ id).length == 0) {
|
||||
$('#audiobox').append('<audio id="audio_'+ id +'" src="" preload="preload"></audio>');
|
||||
$('#audio_'+ id).attr('src', '/listen/'+ id +'.mp3');
|
||||
}
|
||||
}
|
||||
function switchAudio(id) {
|
||||
if (typeof(audio) != 'undefined' && audio.buffered.length != 0) {
|
||||
console.log(audio, audio.buffered.length);
|
||||
audio.pause();
|
||||
audio.currentTime = 0;
|
||||
}
|
||||
if ($('#audio_'+ id).length == 0) {
|
||||
addAudio(id);
|
||||
}
|
||||
audio = document.getElementById('audio_'+ id);
|
||||
}
|
||||
@@ -1,184 +0,0 @@
|
||||
body, h1, h2, h3, h4, form, ul, li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
#contents {
|
||||
width: 750px;
|
||||
margin: 0 0 0 -375px;
|
||||
left: 50%;
|
||||
position: relative;
|
||||
/* background-color: #EEE;*/
|
||||
}
|
||||
|
||||
.inner-1 {
|
||||
/* margin: 2em;*/
|
||||
}
|
||||
|
||||
h1.artist {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin: 75px 0 0.5em 0;
|
||||
font-size: 3em;
|
||||
}
|
||||
h1.artist > span {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.album {
|
||||
width: 100%;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.album .pic {
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
background-color: #DDD;
|
||||
float: left;
|
||||
margin: 0 20px 1em 0;
|
||||
}
|
||||
|
||||
.album .name {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 480px;
|
||||
font-size: 1.5em;
|
||||
margin: 0 0 0.5em 0;
|
||||
/* background-color: yellowgreen;*/
|
||||
}
|
||||
.album .name span{
|
||||
float: left;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.album .tracks {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 480px;
|
||||
margin-bottom: 1em;
|
||||
/* background-color: lightblue;*/
|
||||
}
|
||||
|
||||
.album .tracks li {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 100%;
|
||||
line-height: 30px;
|
||||
margin: 0 0 0.2em 0;
|
||||
}
|
||||
|
||||
.album .tracks li .duration {
|
||||
font-size: 0.5em;
|
||||
display: block;
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.play {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 20px;
|
||||
background-color: #081;
|
||||
margin: 0.4em 0.3em 0 0;
|
||||
cursor: pointer;
|
||||
line-height: 18px;
|
||||
}
|
||||
span.play img {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
span.play.disabled {
|
||||
background-color: #810;
|
||||
}
|
||||
|
||||
.album h3.name span.play {
|
||||
display: block;
|
||||
width: 20px;
|
||||
line-height: 11px;
|
||||
margin: 0.2em 0 0 0.2em;
|
||||
background-color: #04A;
|
||||
}
|
||||
|
||||
h1.artist > span > span.play {
|
||||
display: inline-block;
|
||||
float: none;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
line-height: 20px;
|
||||
margin: 0;
|
||||
background-color: #04A;
|
||||
}
|
||||
h1.artist > span > span.play img {
|
||||
margin: 10px 0 20px 0;
|
||||
}
|
||||
|
||||
.search {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 200px;
|
||||
}
|
||||
|
||||
.search #name {
|
||||
width: 300px;
|
||||
border: #AAA 3px solid;
|
||||
border-radius: 7px;
|
||||
font-size: 1.5em;
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
|
||||
#nav {
|
||||
position: fixed;
|
||||
z-index: 6;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -375px;
|
||||
width: 750px;
|
||||
height: 25px;
|
||||
background-color: #000;
|
||||
border-bottom: #222 1px solid;
|
||||
}
|
||||
#nav ul {
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
#nav ul li {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
margin: 0 5px;
|
||||
}
|
||||
#nav ul li a {
|
||||
color: #CCC;
|
||||
line-height: 25px;
|
||||
font-size: 12px;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
#nav ul li a:hover {
|
||||
color: #DDD;
|
||||
}
|
||||
|
||||
.corner-fix {
|
||||
position: fixed;
|
||||
z-index: 4;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background-color: #000;
|
||||
top: 25px;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.corner-fix.left {
|
||||
margin-left: -375px;
|
||||
}
|
||||
|
||||
.corner-fix.right {
|
||||
margin-left: 367px;
|
||||
}
|
||||
@@ -1,113 +0,0 @@
|
||||
/*
|
||||
* CSS Styles that are needed by jScrollPane for it to operate correctly.
|
||||
*
|
||||
* Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane
|
||||
* may not operate correctly without them.
|
||||
*/
|
||||
|
||||
.jspContainer
|
||||
{
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jspPane
|
||||
{
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.jspVerticalBar
|
||||
{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.jspHorizontalBar
|
||||
{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 16px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.jspVerticalBar *,
|
||||
.jspHorizontalBar *
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.jspCap
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jspHorizontalBar .jspCap
|
||||
{
|
||||
float: left;
|
||||
}
|
||||
|
||||
.jspTrack
|
||||
{
|
||||
background: #111;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jspDrag
|
||||
{
|
||||
background: #555;
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.jspHorizontalBar .jspTrack,
|
||||
.jspHorizontalBar .jspDrag
|
||||
{
|
||||
float: left;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.jspArrow.jspDisabled
|
||||
{
|
||||
cursor: default;
|
||||
background: #80808d;
|
||||
}
|
||||
|
||||
.jspVerticalBar .jspArrow
|
||||
{
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.jspHorizontalBar .jspArrow
|
||||
{
|
||||
width: 16px;
|
||||
float: left;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.jspVerticalBar .jspArrow:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.jspCorner
|
||||
{
|
||||
background: #eeeef4;
|
||||
float: left;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Yuk! CSS Hack for IE6 3 pixel bug :( */
|
||||
* html .jspCorner
|
||||
{
|
||||
margin: 0 -3px 0 0;
|
||||
}
|
||||
@@ -1,199 +0,0 @@
|
||||
audio {
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
top: -1000px;
|
||||
left: -1000px;
|
||||
}
|
||||
#player {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
width: 750px;
|
||||
height: 50px;
|
||||
left: 50%;
|
||||
top: 25px;
|
||||
margin-left: -375px;
|
||||
background-color: #000;
|
||||
font-size: 12px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
#player .prev, #player .next, #player .play, #player .pause {
|
||||
float: left;
|
||||
color: #AAA;
|
||||
background-color: #222;
|
||||
cursor: pointer;
|
||||
}
|
||||
#player .prev, #player .next {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin: 10px 0;
|
||||
border-radius: 40px;
|
||||
}
|
||||
#player .prev img, #player .next img {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
#player .prev img {
|
||||
margin: 8px 0 0 7px;
|
||||
}
|
||||
#player .next img {
|
||||
margin: 8px 0 0 9px;
|
||||
}
|
||||
#player .play, #player .pause {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin: 5px;
|
||||
border-radius: 40px;
|
||||
}
|
||||
#player .play img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 12px 0 0 14px;
|
||||
}
|
||||
#player .pause img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 12px 0 0 12px;
|
||||
}
|
||||
#player .prev {
|
||||
margin-left: 20px;
|
||||
}
|
||||
#player .next {
|
||||
margin-right: 6px;
|
||||
}
|
||||
#player .time-played, #player .time-left {
|
||||
float: left;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
color: #AAA;
|
||||
margin-right: 2px;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
}
|
||||
#player .progress {
|
||||
float: left;
|
||||
margin-top: 25px;
|
||||
height: 25px;
|
||||
width: 400px;
|
||||
}
|
||||
#player .track-title {
|
||||
float: left;
|
||||
width: 390px;
|
||||
height: 25px;
|
||||
margin-left: 5px;
|
||||
margin-top: -25px;
|
||||
color: #DDD;
|
||||
line-height: 30px;
|
||||
}
|
||||
#player .progress-bar {
|
||||
float: left;
|
||||
margin: 11px 5px;
|
||||
background-color: #013;
|
||||
width: 390px;
|
||||
height: 3px;
|
||||
}
|
||||
#player .progress-bar:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
#player .progress-loaded {
|
||||
float: left;
|
||||
width: 0;
|
||||
height: 3px;
|
||||
background-color: #05A;
|
||||
}
|
||||
#player .progress-point {
|
||||
float: left;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
background-color: #013;
|
||||
margin-top: -4px;
|
||||
margin-left: -6px;
|
||||
border: #FFF 3px solid;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#player .shuffle, #player .repeat, #player .playlist {
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
#player .shuffle {
|
||||
margin: 17px 0 0 0;
|
||||
}
|
||||
#player .shuffle img {
|
||||
width: 20px;
|
||||
}
|
||||
#player .repeat {
|
||||
margin: 17px 0 0 12px;
|
||||
}
|
||||
#player .repeat img {
|
||||
width: 20px;
|
||||
}
|
||||
#player .playlist {
|
||||
margin: 12px 0 0 12px;
|
||||
}
|
||||
#player .playlist img {
|
||||
width: 20px;
|
||||
}
|
||||
#player .playlist .count {
|
||||
color: #DDD;
|
||||
font-size: 9px;
|
||||
width: auto;
|
||||
float: right;
|
||||
margin: -33px 0 0 2px;
|
||||
}
|
||||
#player .shuffle, #player .repeat {
|
||||
opacity: 0.5;
|
||||
-moz-opacity: 0.5;
|
||||
-khtml-opacity: 0.5;
|
||||
-webkit-opacity: 0.5;
|
||||
filter:alpha(opacity=50);
|
||||
}
|
||||
#player .shuffle.on, #player .repeat.on {
|
||||
opacity: 1;
|
||||
-moz-opacity: 1;
|
||||
-khtml-opacity: 1;
|
||||
-webkit-opacity: 1;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
#playlist {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
top: 75px;
|
||||
left: 50%;
|
||||
width: 734px;
|
||||
margin-left: -367px;
|
||||
background-color: #000;
|
||||
opacity: 0.9;
|
||||
-moz-opacity: 0.9;
|
||||
-khtml-opacity: 0.9;
|
||||
-webkit-opacity: 0.9;
|
||||
filter:alpha(opacity=90);
|
||||
overflow-y: auto;
|
||||
max-height: 10em;
|
||||
}
|
||||
|
||||
#playlist ul {
|
||||
margin: 0.2em 0.3em;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
#playlist ul li {
|
||||
margin: 0;
|
||||
padding: 0.4em 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: 0.75em;
|
||||
color: #FFF;
|
||||
}
|
||||
#playlist ul li:hover {
|
||||
background-color: #050505;
|
||||
cursor: default;
|
||||
}
|
||||
#playlist ul li.now-playing {
|
||||
background-color: #013;
|
||||
font-weight: bold;
|
||||
}
|
||||
#playlist ul li .length {
|
||||
margin: 0 0.5em;
|
||||
color: #AAA;
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
#registration {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -145px 0 0 -195px;
|
||||
padding: 20px;
|
||||
width: 350px;
|
||||
height: 250px;
|
||||
background-color: #FFF;
|
||||
}
|
||||
#registration h1 {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 28px;
|
||||
font-weight: normal;
|
||||
margin: 0 0 30px 0;
|
||||
}
|
||||
|
||||
#registration label {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 100px;
|
||||
font-size: 20px;
|
||||
line-height: 35px;
|
||||
}
|
||||
#registration input[type="email"], input[type="password"], input[type="text"] {
|
||||
width: 230px;
|
||||
font-size: 20px;
|
||||
border: #EAEAEA 1px solid;
|
||||
background-color: #FCFCFC;
|
||||
padding: 5px;
|
||||
}
|
||||
#registration input[type="submit"] {
|
||||
color: #FFF;
|
||||
border: #EAEAEA 1px solid;
|
||||
background-color: #05A;
|
||||
font-size: 25px;
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#registration .complete {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
#email_error, #password_error, #password_c_error {
|
||||
float: right;
|
||||
color: #E30;
|
||||
width: 350px;
|
||||
height: 30px;
|
||||
margin: 4px -350px 0 0;
|
||||
line-height: 30px;
|
||||
font-size: 15px;
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
.autocomplete-w1 {
|
||||
background: url(../images/shadow.png) no-repeat bottom right;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
margin: 8px 0 0 6px;
|
||||
/* IE6 fix: */
|
||||
_background: none;
|
||||
_margin: 0;
|
||||
}
|
||||
.autocomplete {
|
||||
border:1px solid #999;
|
||||
background:#FFF;
|
||||
cursor:default;
|
||||
text-align:left;
|
||||
max-height:350px;
|
||||
overflow:auto;
|
||||
margin:-6px 6px 6px -6px;
|
||||
/* IE6 specific: */
|
||||
_height: 350px;
|
||||
_margin: 0;
|
||||
_overflow-x: hidden;
|
||||
}
|
||||
.autocomplete .selected {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
.autocomplete div {
|
||||
padding: 2px 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.autocomplete strong {
|
||||
font-weight: normal;
|
||||
color: #3399FF;
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/Users/chez/Sites/vkapi_test.html
|
||||