aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZaran <zaran.krleza@gmail.com>2012-04-06 21:53:52 -0400
committerZaran <zaran.krleza@gmail.com>2012-04-06 21:53:52 -0400
commit8a83f72870bd4a291fdcf78d5ac17727b0a7618b (patch)
treeeafed45b4ed45f38fa307658ec19a8f33fb96e72
parent05f8a92e9f90f58a637501b38de7b4c8b6b60619 (diff)
downloadalias-8a83f72870bd4a291fdcf78d5ac17727b0a7618b.tar.gz
Basic style for the roster.
Remove JavascriptMVC code in the angular branch
-rw-r--r--alias-angular/app/css/app.css39
-rw-r--r--alias-angular/app/index.html2
-rw-r--r--alias-angular/app/js/controllers.js4
-rw-r--r--webclient/.gitignore3
-rw-r--r--webclient/alias/alias.css29
-rw-r--r--webclient/alias/alias.html21
-rw-r--r--webclient/alias/alias.js27
-rw-r--r--webclient/alias/fixtures/fixtures.js5
-rw-r--r--webclient/alias/funcunit.html15
-rw-r--r--webclient/alias/models/contact.js32
-rw-r--r--webclient/alias/models/models.js2
-rw-r--r--webclient/alias/qunit.html21
-rw-r--r--webclient/alias/scripts/build.html21
-rw-r--r--webclient/alias/scripts/build.js6
-rw-r--r--webclient/alias/scripts/clean.js17
-rw-r--r--webclient/alias/scripts/crawl.js7
-rw-r--r--webclient/alias/scripts/docs.js8
-rw-r--r--webclient/alias/test/funcunit/alias_test.js11
-rw-r--r--webclient/alias/test/funcunit/funcunit.js2
-rw-r--r--webclient/alias/test/qunit/alias_test.js7
-rw-r--r--webclient/alias/test/qunit/contact_test.js51
-rw-r--r--webclient/alias/test/qunit/qunit.js1
-rw-r--r--webclient/config.js.sample4
m---------webclient/documentjs0
-rw-r--r--webclient/favicon.icobin2238 -> 0 bytes
m---------webclient/funcunit0
m---------webclient/jquery0
-rwxr-xr-xwebclient/js57
-rw-r--r--webclient/js.bat65
-rw-r--r--webclient/lib/alias.js502
-rw-r--r--webclient/lib/config.js.sample2
-rw-r--r--webclient/lib/jquery.dialog.js63
-rw-r--r--webclient/lib/jquery.forms.js71
-rw-r--r--webclient/lib/jquery.tabs.js121
-rw-r--r--webclient/lib/jquery.tipTip.js191
m---------webclient/lib/jsbn0
m---------webclient/lib/sjcl0
m---------webclient/lib/strophe0
m---------webclient/steal0
-rw-r--r--webclient/style/alias.css322
-rw-r--r--webclient/style/dialog.css16
-rw-r--r--webclient/style/images/bb.pngbin185 -> 0 bytes
-rw-r--r--webclient/style/images/bb2.pngbin185 -> 0 bytes
-rw-r--r--webclient/style/images/bold.ttfbin56624 -> 0 bytes
-rw-r--r--webclient/style/images/cross.pngbin578 -> 0 bytes
-rw-r--r--webclient/style/images/cross2.pngbin536 -> 0 bytes
-rw-r--r--webclient/style/images/logo.pngbin10488 -> 0 bytes
-rw-r--r--webclient/style/tabs.css72
-rw-r--r--webclient/style/tipTip.css125
49 files changed, 22 insertions, 1920 deletions
diff --git a/alias-angular/app/css/app.css b/alias-angular/app/css/app.css
index c925240..b391db1 100644
--- a/alias-angular/app/css/app.css
+++ b/alias-angular/app/css/app.css
@@ -1,30 +1,31 @@
/* app css stylesheet */
-.menu {
- list-style: none;
- border-bottom: 0.1em solid black;
- margin-bottom: 2em;
- padding: 0 0 0.5em;
+body{
+ padding: 0;
+ margin: 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif
}
-.menu:before {
- content: "[";
+#roster{
+ width: 250px;
}
-.menu:after {
- content: "]";
+#roster ul{
+ list-style:none;
+ padding:0;
+ margin:0;
}
-.menu > li {
- display: inline;
+#roster li{
+ background-color: #F4F3F1;
+ border-bottom: 1px solid #E0E0E0;
+ border-top: 1px solid white;
+ padding: 0;
+ margin: 0;
+ padding: 1em 1em;
+ color: #363636;
}
-.menu > li:before {
- content: "|";
- padding-right: 0.3em;
-}
-
-.menu > li:nth-child(1):before {
- content: "";
- padding: 0;
+#roster li:hover{
+ background-color: white;
}
diff --git a/alias-angular/app/index.html b/alias-angular/app/index.html
index 709f59f..528c754 100644
--- a/alias-angular/app/index.html
+++ b/alias-angular/app/index.html
@@ -12,7 +12,7 @@
<input type="submit" value="Login" ng-disabled="!username"/>
</form>
- <div ng-controller="RosterCtl">
+ <div id="roster" ng-controller="RosterCtl">
<ul>
<li ng-repeat="contact in contacts">{{contact}}</li>
</ul>
diff --git a/alias-angular/app/js/controllers.js b/alias-angular/app/js/controllers.js
index 0548675..97b44ee 100644
--- a/alias-angular/app/js/controllers.js
+++ b/alias-angular/app/js/controllers.js
@@ -2,8 +2,6 @@
/* App Controllers */
function ConnectCtl($scope, StropheSrv, $log, $rootScope) {
- $scope.username = '';
- $scope.password = '';
function connect_callback(status){
if ( status == Strophe.Status.CONNECTING ) {
$log.log('Strophe is connecting.');
@@ -43,4 +41,4 @@ function RosterCtl($scope, StropheSrv, $log) {
};
}
-RosterCtl.$inject = ['$scope','StropheSrv','$log']; \ No newline at end of file
+RosterCtl.$inject = ['$scope','StropheSrv','$log'];
diff --git a/webclient/.gitignore b/webclient/.gitignore
deleted file mode 100644
index 05d8dd4..0000000
--- a/webclient/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-production.*
-docs.html
-docs/
diff --git a/webclient/alias/alias.css b/webclient/alias/alias.css
deleted file mode 100644
index 73068f1..0000000
--- a/webclient/alias/alias.css
+++ /dev/null
@@ -1,29 +0,0 @@
-body {
- font-family:Lucida Sans,Lucida Grande,Arial,sans-serif;
- margin:0;
- line-height:22px;
- width:960px;
- margin:0 auto;
-}
-h1 {
- padding:30px 0 10px;
- margin-top:0;
- line-height:30px;
-}
-
-ul{
- padding:0 0 0 15px;
- list-style : none;
-}
-
-a {
- color:#ae3d26;
- text-decoration:none;
-}
-
-a:hover { text-decoration:underline; }
-
-hr {
- border:none;
- border-top:1px dotted #000;
-} \ No newline at end of file
diff --git a/webclient/alias/alias.html b/webclient/alias/alias.html
deleted file mode 100644
index 1d98242..0000000
--- a/webclient/alias/alias.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
- <head>
- <title>alias</title>
- </head>
- <body>
- <h1>Welcome to JavaScriptMVC 3.2!</h1>
- <ul>
- <li>Steal plugins and files in <i>alias/alias.js</i>.</li>
- <li>Change to production mode by changing <i>steal.js</i> to <i>steal.production.js</i> in this file.</li>
- </ul>
-
- <div id="roster">
-
- </div>
- <!-- <script type='text/ejs' id='contactEJS'> -->
- <!-- <li <%= this %> ><%= name %></li> -->
- <!-- </script> -->
- <script type='text/javascript' src='../steal/steal.js?alias'></script>
- </body>
-</html>
diff --git a/webclient/alias/alias.js b/webclient/alias/alias.js
deleted file mode 100644
index df5e4fe..0000000
--- a/webclient/alias/alias.js
+++ /dev/null
@@ -1,27 +0,0 @@
-steal('./alias.css',
- './models/models.js',
- './fixtures/fixtures.js',
- 'lib/strophe/src/md5.js',
- 'lib/strophe/src/sha1.js',
- 'lib/strophe/src/base64.js',
- 'lib/strophe/src/core.js',
- 'config.js',
- function(){
- function connect_callback(status){
- if ( status == Strophe.Status.CONNECTING ) {
- steal.dev.log('Strophe is connecting.');
- } else if ( status == Strophe.Status.CONNFAIL ) {
- steal.dev.log('Strophe failed to connect.');
- } else if ( status == Strophe.Status.DISCONNECTING ) {
- steal.dev.log('Strophe is disconnecting.');
- } else if ( status == Strophe.Status.DISCONNECTED ) {
- steal.dev.log('Strophe is disconnected.');
- } else if ( status == Strophe.Status.CONNECTED ) {
- steal.dev.log('Strophe is connected.');
- $("#roster").roster({connection: connection});
- }
- };
- // configure your application
- var connection = new Strophe.Connection(BOSH_SERVICE);
- connection.connect(NAME, PASSWORD, connect_callback);
- }); \ No newline at end of file
diff --git a/webclient/alias/fixtures/fixtures.js b/webclient/alias/fixtures/fixtures.js
deleted file mode 100644
index 636837a..0000000
--- a/webclient/alias/fixtures/fixtures.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// map fixtures for this application
-
-steal("jquery/dom/fixture", function(){
-
-})
diff --git a/webclient/alias/funcunit.html b/webclient/alias/funcunit.html
deleted file mode 100644
index 5564c46..0000000
--- a/webclient/alias/funcunit.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <link rel="stylesheet" type="text/css" href="../funcunit/qunit/qunit.css" />
- <title>alias FuncUnit Test</title>
- <script type='text/javascript' src='../steal/steal.js?alias/test/funcunit'></script>
- </head>
- <body>
- <h1 id="qunit-header">alias Test Suite</h1>
- <h2 id="qunit-banner"></h2>
- <div id="qunit-testrunner-toolbar"></div>
- <h2 id="qunit-userAgent"></h2>
- <ol id="qunit-tests"></ol>
- </body>
-</html> \ No newline at end of file
diff --git a/webclient/alias/models/contact.js b/webclient/alias/models/contact.js
deleted file mode 100644
index d5673bb..0000000
--- a/webclient/alias/models/contact.js
+++ /dev/null
@@ -1,32 +0,0 @@
-steal('jquery/view/ejs').then('alias/views/contact.ejs');
-steal('jquery/model/list',
- 'jquery/controller',
-function(){
-
- $.Model('Contact', {
- template: "contact.ejs",
-
- findAll: function(params,success,error) {
- var query = $iq({type : 'get'}).c('query', {xmlns : Strophe.NS.ROSTER});
- params.connection.sendIQ(query, success);
- }
- }, {} );
-
- $.Controller('Roster', {}, {
- onRoster: function(iq) {
- var elems = iq.getElementsByTagName('query');
- var query = elems[0];
- Strophe.forEachChild(query, 'item', function(item){
- var jid = item.getAttribute('jid');
- var name = item.getAttribute('name') || jid;
- var contact = new Contact({jid: jid, name: name});
- $("#roster").append('contact.ejs',contact);
- });
- return true;
- },
- init: function() {
- Contact.findAll({connection: this.options.connection}, this.onRoster);
- }
-
- });
-}); \ No newline at end of file
diff --git a/webclient/alias/models/models.js b/webclient/alias/models/models.js
deleted file mode 100644
index e0f0ec7..0000000
--- a/webclient/alias/models/models.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// steal model files
-steal("jquery/model", './contact.js') \ No newline at end of file
diff --git a/webclient/alias/qunit.html b/webclient/alias/qunit.html
deleted file mode 100644
index 313f62f..0000000
--- a/webclient/alias/qunit.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML>
-<html>
- <head>
- <link rel="stylesheet" type="text/css" href="../funcunit/qunit/qunit.css" />
- <title>alias QUnit Test</title>
- <script type='text/javascript'>
- steal = {ignoreControllers: true}
- </script>
- <script type='text/javascript' src='../steal/steal.js?alias/test/qunit'></script>
- </head>
- <body>
-
- <h1 id="qunit-header">alias Test Suite</h1>
- <h2 id="qunit-banner"></h2>
- <div id="qunit-testrunner-toolbar"></div>
- <h2 id="qunit-userAgent"></h2>
- <div id="test-content"></div>
- <ol id="qunit-tests"></ol>
- <div id="qunit-test-area"></div>
- </body>
-</html> \ No newline at end of file
diff --git a/webclient/alias/scripts/build.html b/webclient/alias/scripts/build.html
deleted file mode 100644
index 7c4ee74..0000000
--- a/webclient/alias/scripts/build.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
- <head>
- <title>alias Build Page</title>
- </head>
- <body>
- <h1>alias Build Page</h1>
- <p>This is a dummy page that loads your app so steal can
- get all the files.
- </p>
- <p>If you built your app
- to depend on HTML in the page before DOMContent loaded or
- onload, you can add the HTML here, or you can change the
- build.js script to point to a better html file.
- </p>
- <script type='text/javascript'
- src='../../steal/steal.js?alias'>
- </script>
- </body>
-</html> \ No newline at end of file
diff --git a/webclient/alias/scripts/build.js b/webclient/alias/scripts/build.js
deleted file mode 100644
index ebae72b..0000000
--- a/webclient/alias/scripts/build.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//js alias/scripts/build.js
-
-load("steal/rhino/rhino.js");
-steal('steal/build').then('steal/build/scripts','steal/build/styles',function(){
- steal.build('alias/scripts/build.html',{to: 'alias'});
-});
diff --git a/webclient/alias/scripts/clean.js b/webclient/alias/scripts/clean.js
deleted file mode 100644
index b390fef..0000000
--- a/webclient/alias/scripts/clean.js
+++ /dev/null
@@ -1,17 +0,0 @@
-//steal/js alias/scripts/compress.js
-
-load("steal/rhino/rhino.js");
-steal('steal/clean',function(){
- steal.clean('alias/alias.html',{
- indent_size: 1,
- indent_char: '\t',
- jslint : false,
- ignore: /jquery\/jquery.js/,
- predefined: {
- steal: true,
- jQuery: true,
- $ : true,
- window : true
- }
- });
-});
diff --git a/webclient/alias/scripts/crawl.js b/webclient/alias/scripts/crawl.js
deleted file mode 100644
index 9022e25..0000000
--- a/webclient/alias/scripts/crawl.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// load('alias/scripts/crawl.js')
-
-load('steal/rhino/rhino.js')
-
-steal('steal/html/crawl', function(){
- steal.html.crawl("alias/alias.html","alias/out")
-});
diff --git a/webclient/alias/scripts/docs.js b/webclient/alias/scripts/docs.js
deleted file mode 100644
index 5da7184..0000000
--- a/webclient/alias/scripts/docs.js
+++ /dev/null
@@ -1,8 +0,0 @@
-//js alias/scripts/doc.js
-
-load('steal/rhino/rhino.js');
-steal("documentjs").then(function(){
- DocumentJS('alias/alias.html', {
- markdown : ['alias']
- });
-}); \ No newline at end of file
diff --git a/webclient/alias/test/funcunit/alias_test.js b/webclient/alias/test/funcunit/alias_test.js
deleted file mode 100644
index 40c225d..0000000
--- a/webclient/alias/test/funcunit/alias_test.js
+++ /dev/null
@@ -1,11 +0,0 @@
-steal("funcunit", function(){
- module("alias test", {
- setup: function(){
- S.open("//alias/alias.html");
- }
- });
-
- test("Copy Test", function(){
- equals(S("h1").text(), "Welcome to JavaScriptMVC 3.2!","welcome text");
- });
-}) \ No newline at end of file
diff --git a/webclient/alias/test/funcunit/funcunit.js b/webclient/alias/test/funcunit/funcunit.js
deleted file mode 100644
index 234b53b..0000000
--- a/webclient/alias/test/funcunit/funcunit.js
+++ /dev/null
@@ -1,2 +0,0 @@
-steal("funcunit")
- .then("./alias_test.js"); \ No newline at end of file
diff --git a/webclient/alias/test/qunit/alias_test.js b/webclient/alias/test/qunit/alias_test.js
deleted file mode 100644
index f3037b0..0000000
--- a/webclient/alias/test/qunit/alias_test.js
+++ /dev/null
@@ -1,7 +0,0 @@
-steal("funcunit/qunit", function(){
- module("alias");
-
- test("alias testing works", function(){
- ok(true,"an assert is run");
- });
-}) \ No newline at end of file
diff --git a/webclient/alias/test/qunit/contact_test.js b/webclient/alias/test/qunit/contact_test.js
deleted file mode 100644
index e4c8b23..0000000
--- a/webclient/alias/test/qunit/contact_test.js
+++ /dev/null
@@ -1,51 +0,0 @@
-steal("funcunit/qunit", "alias/fixtures", "alias/models/contact.js", function(){
- module("Model: Alias.Models.Contact")
-
- test("findAll", function(){
- expect(4);
- stop();
- Alias.Models.Contact.findAll({}, function(contacts){
- ok(contacts)
- ok(contacts.length)
- ok(contacts[0].name)
- ok(contacts[0].description)
- start();
- });
-
- })
-
- test("create", function(){
- expect(3)
- stop();
- new Alias.Models.Contact({name: "dry cleaning", description: "take to street corner"}).save(function(contact){
- ok(contact);
- ok(contact.id);
- equals(contact.name,"dry cleaning")
- contact.destroy()
- start();
- })
- })
- test("update" , function(){
- expect(2);
- stop();
- new Alias.Models.Contact({name: "cook dinner", description: "chicken"}).
- save(function(contact){
- equals(contact.description,"chicken");
- contact.update({description: "steak"},function(contact){
- equals(contact.description,"steak");
- contact.destroy();
- start();
- })
- })
-
- });
- test("destroy", function(){
- expect(1);
- stop();
- new Alias.Models.Contact({name: "mow grass", description: "use riding mower"}).
- destroy(function(contact){
- ok( true ,"Destroy called" )
- start();
- })
- })
-}) \ No newline at end of file
diff --git a/webclient/alias/test/qunit/qunit.js b/webclient/alias/test/qunit/qunit.js
deleted file mode 100644
index f025b68..0000000
--- a/webclient/alias/test/qunit/qunit.js
+++ /dev/null
@@ -1 +0,0 @@
-steal("funcunit/qunit", "./alias_test.js", './contact_test.js'); \ No newline at end of file
diff --git a/webclient/config.js.sample b/webclient/config.js.sample
deleted file mode 100644
index 3a0aae6..0000000
--- a/webclient/config.js.sample
+++ /dev/null
@@ -1,4 +0,0 @@
-var BOSH_SERVICE = 'http://alias.im/http-bind';
-var server_component = 'social.alias.im';
-var NAME = "zaran@alias.im";
-var PASSWORD = "xxxx"; \ No newline at end of file
diff --git a/webclient/documentjs b/webclient/documentjs
deleted file mode 160000
-Subproject fb234cc7ae5f7c2a86b3af7289af07326aa7a7d
diff --git a/webclient/favicon.ico b/webclient/favicon.ico
deleted file mode 100644
index 8815cea..0000000
--- a/webclient/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/webclient/funcunit b/webclient/funcunit
deleted file mode 160000
-Subproject e3135ca1da1a00df42c17e51b80b47b934b6199
diff --git a/webclient/jquery b/webclient/jquery
deleted file mode 160000
-Subproject 3e2c03046ca2047a1e7b65fbec308955264b44b
diff --git a/webclient/js b/webclient/js
deleted file mode 100755
index 0d5b9d9..0000000
--- a/webclient/js
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# This script checks for arguments, if they don't exist it opens the Rhino dialog
-# if arguments do exist, it loads the script in the first argument and passes the other arguments to the script
-# ie: ./js steal/script/controller Todo
-
-if [ $# -eq 0 ]
-then
- java -cp steal/rhino/js.jar:funcunit/java/selenium-java-client-driver.jar org.mozilla.javascript.tools.shell.Main
- exit 127
-fi
-CP=funcunit/java/selenium-java-client-driver.jar:steal/rhino/js.jar
-
-ERRORLEV=0
-if [ $1 = "-e" ]
-then
- ERRORLEV=1
- shift
-fi
-
-if [ $1 = "-h" -o $1 = "-?" -o $1 = "--help" ]
-then
-echo Load a command line Rhino JavaScript environment or run JavaScript script files in Rhino.
-echo Available commands:
-echo -e "./js\t\t\t\tOpens a command line JavaScript environment"
-echo -e "./js -d\t\t\t\tOpens the Rhino debugger"
-echo -e "./js [FILE]\t\t\tRuns FILE in the Rhino environment"
-echo -e ""
-echo -e "JavaScriptMVC script usage:"
-echo -e "./js steal/generate/app [NAME]\t\tCreates a new JavaScriptMVC application"
-echo -e "./js steal/generate/page [APP] [PAGE]\tGenerates a page for the application"
-echo -e "./js steal/generate/controller [NAME]\tGenerates a Controller file"
-echo -e "./js steal/generate/model [TYPE] [NAME]\tGenerates a Model file"
-echo -e "./js apps/[NAME]/compress.js\t\tCompress your application and generate documentation"
- exit 127
-fi
-
-if [ $1 = "-d" ]
-then
- java -classpath steal/rhino/js.jar:steal/rhino/selenium-java-client-driver.jar org.mozilla.javascript.tools.debugger.Main
- exit 127
-fi
-
-ARGS=[
-for arg
-do
- if [ $arg != $1 ]
- then
- ARGS=$ARGS"'$arg'",
- fi
-done
-ARGS=$ARGS]
-java -Xmx512m -Xss1024k -cp $CP org.mozilla.javascript.tools.shell.Main -e _args=$ARGS -opt -1 -e 'load('"'"$1"'"')'
-
-if [ $ERRORLEV = "1" -a $? = "1" ]
-then
- exit $?
-fi
diff --git a/webclient/js.bat b/webclient/js.bat
deleted file mode 100644
index ee1a8d7..0000000
--- a/webclient/js.bat
+++ /dev/null
@@ -1,65 +0,0 @@
-:: This script checks for arguments, if they don't exist it opens the Rhino dialog
-:: if arguments do exist, it loads the script in the first argument and passes the other arguments to the script
-:: ie: js jmvc\script\controller Todo
-@echo off
-SETLOCAL ENABLEDELAYEDEXPANSION
-if "%1"=="" (
- java -cp steal\rhino\js.jar org.mozilla.javascript.tools.shell.Main
- GOTO END
-)
-if "%1"=="-h" GOTO PRINT_HELP
-if "%1"=="-?" GOTO PRINT_HELP
-if "%1"=="--help" GOTO PRINT_HELP
-
-if "%1"=="-d" (
- java -classpath funcunit/java/selenium-java-client-driver.jar;steal/rhino/js.jar org.mozilla.javascript.tools.debugger.Main
- GOTO END
-)
-SET CP=funcunit/java/selenium-java-client-driver.jar;steal\rhino\js.jar
-SET ERRORLEV=0
-if "%1"=="-e" (
- SET ERRORLEV=1
- SHIFT /1
-)
-SET ARGS=[
-SET FILENAME=%1
-SET FILENAME=%FILENAME:\=/%
-::haven't seen any way to loop through all args yet, so for now this goes through arg 2-7
-::dos sucks and for some reason this structure doesn't respect the shift, so we branch
-if "%ERRORLEV%"=="1" (
- for /f "tokens=3,4,5,6,7,8 delims= " %%a in ("%*") do SET ARGS=!ARGS!'%%a','%%b','%%c','%%d','%%e','%%f'
-) ELSE (
- for /f "tokens=2,3,4,5,6,7 delims= " %%a in ("%*") do SET ARGS=!ARGS!'%%a','%%b','%%c','%%d','%%e','%%f'
-)
-::remove the empty args
-:: for %%a in (",''=") do ( call set ARGS=%%ARGS:%%~a%% )
-SET ARGS=%ARGS:,''=%
-::remove the spaces
-:: for /f "tokens=1*" %%A in ("%ARGS%") do SET ARGS=%%A
-SET ARGS=%ARGS: =%
-SET ARGS=%ARGS%]
-set ARGS=%ARGS:\=/%
-java -Xmx512m -Xss1024k -cp %CP% org.mozilla.javascript.tools.shell.Main -opt -1 -e _args=%ARGS% -e load('%FILENAME%')
-
-if "%ERRORLEV%"=="1" (
- if errorlevel 1 exit 1
-)
-
-GOTO END
-
-:PRINT_HELP
-echo Load a command line Rhino JavaScript environment or run JavaScript script files in Rhino.
-echo Available commands:
-echo js Opens a command line JavaScript environment
-echo js -d Opens the Rhino debugger
-echo js -selenium Starts selenium server
-echo js [FILE] Runs FILE in the Rhino environment
-
-echo JavaScriptMVC script usage:
-echo js steal/generate/app [NAME] Creates a new JavaScriptMVC application
-echo js steal/generate/page [APP] [PAGE] Generates a page for the application
-echo js steal/generate/controller [NAME] Generates a Controller file
-echo js steal/generate/model [TYPE] [NAME] Generates a Model file
-echo js apps/[NAME]/compress.js Compress your application and generate documentation
-
-:END
diff --git a/webclient/lib/alias.js b/webclient/lib/alias.js
deleted file mode 100644
index 5e4714d..0000000
--- a/webclient/lib/alias.js
+++ /dev/null
@@ -1,502 +0,0 @@
-/**
- * Alias namespace
- */
-var Alias = {
-
- /**
- * Status constants
- */
- Status: {
- ONLINE: 2,
- AWAY: 1,
- OFFLINE: 0
- },
-
- /**
- * Strophe xmpp connection
- */
- connection: null,
-
- /**
- * Send registration request to the component
- */
- getRegister: function() {
- var init = $iq({to: server_component, type:'get'});
- init.c('query',{xmlns:'jabber:iq:register'});
- Alias.connection.sendIQ(init, Alias.onRegister);
- },
-
- /**
- * Receive registration data
- */
- onRegister: function(iq) {
- var form = $(iq).find('query x');
- if ($(iq).find('registered').length !== 0){
- // user is registered, get the info from the form
- var pubkey = form.find('field[var="pubkey"] > value').text();
- var privkey = form.find('field[var="privkey"] > value').text();
- privkey = sjcl.decrypt(Alias.connection.pass, privkey);
- pubkey = JSON.parse(pubkey);
- privkey = JSON.parse(privkey);
- var rsa = new RSAKey();
- rsa.setPublic(pubkey.n, pubkey.e);
- rsa.setPrivateEx(pubkey.n, pubkey.e, privkey.d,
- privkey.p, privkey.q, privkey.dp,
- privkey.dq, privkey.c);
- this.rsa = rsa;
- }
- else{
- $('#register').empty();
- //populate the register dialog
- var instructions = $(iq).find('instructions');
- if ( instructions.length !== 0 ){
- $('#register').append('<p>' + instructions.text() + '</p>');
- }
- $('#register').append('<p><a href="#" id="generate-link">Generate</a></p>');
- var result = form.xmppForm('render');
- $('#register').append(result);
- $('#register').append('<input type="button" value="Register" id="register-button"/>');
-
- $('#generate-link').click(function(){
- var rsa = new RSAKey();
- rsa.generate(1024, "10001");
- var pubkey = {
- n: rsa.n.toString(16),
- e: rsa.e.toString(16)
- };
- var privkey = {
- d: rsa.d.toString(16),
- p: rsa.p.toString(16),
- q: rsa.q.toString(16),
- dp: rsa.dmp1.toString(16),
- dq: rsa.dmq1.toString(16),
- c: rsa.coeff.toString(16)
- };
- privkey = sjcl.encrypt(Alias.connection.pass, JSON.stringify(privkey));
- $("#form-pubkey").val(JSON.stringify(pubkey));
- $("#form-privkey").val(privkey);
- });
-
- $('#register-button').click(function(){
- var pubkey = $('<value></value').text($("#form-pubkey").val());
- var privkey = $('<value></value').text($("#form-privkey").val());
- form.find('field[var="privkey"]').append(privkey);
- form.find('field[var="pubkey"]').append(pubkey);
- form.attr('type', 'submit');
- var reg = $iq({to: server_component, type:'set'});
- reg.c('query',{xmlns:'jabber:iq:register'});
- reg.cnode(form.get(0));
- Alias.connection.sendIQ(reg);
- $('#dialogs').dialog('hide', 'register')
- });
- $('#dialogs').dialog('show', 'register');
- }
- },
-
- /**
- * Send a roster request to server
- */
- getRoster: function() {
- var roster = $iq({type : 'get'}).c('query', {xmlns : Strophe.NS.ROSTER});
- Alias.connection.sendIQ(roster, Alias.onRoster);
- },
-
- /**
- * Return the status of a contact
- * @param {jQuery} contact The contact
- * @return {Number} The status' number
- * @see Alias.Status
- */
- getPresence: function(contact) {
- if ( contact.hasClass("online") )
- return Alias.Status["ONLINE"];
- else if ( contact.hasClass("away") )
- return Alias.Status["AWAY"];
- else
- return Alias.Status["OFFLINE"];
- },
-
- /**
- * Convert a jid to an id string suitable for css id
- * @param {String} jid
- * @return {String} id
- */
- jid_to_id: function(jid) {
- return Strophe.getBareJidFromJid(jid).replace(/[@.]/g,'-');
- },
-
- /**
- * Return the id of a contact
- * @param contact jquery object
- * @return {String} id
- */
- getID: function(contact) {
- return contact.find('.roster-jid').text();
- },
-
- /**
- * Return the name of a contact
- */
- getName : function(contact) {
- return contact.find('.roster-name').text();
- },
-
- /**
- * Get the home node of a user
- * @param {String} owner The owner's JID
- */
- getHome: function(owner) {
- //var objectName = MD5.hexdigest(owner);
- var objectName = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(owner))
- Alias.getObject(objectName, owner);
- },
-
- /**
- * Get the content of an object
- * @param {String} object The hash identifying the requested object
- * @param {String} owner The owner's JID
- */
- getObject: function(object, owner) {
- var name = Base64.encode(owner) + '@' + server_component;
- var iq = $iq({type : 'get', to : name}).c('query', {
- xmlns : 'alias:iq:object',
- type : 'get',
- node : object
- });
- Alias.connection.sendIQ(iq, Alias.onObject);
- },
-
- /**
- * Decrypt and display a received object
- * @param {XMLElement} iq The received iq stanza from the component
- */
- onObject: function(iq) {
- var query = $(iq).find('query');
- var encryptedKey = query.find('key').text();
- var key = this.rsa.decrypt(encryptedKey);
- var encryptedContent = query.find('content').text();
- var content = sjcl.decrypt(sjcl.codec.base64.toBits(key), encryptedContent);
- $('#profile').html(content);
- },
-
- /**
- * Insert a contact keeping the sorting of the roster
- * The contacts are sorted based on their status and on their names
- * @param {jQuery} contact The contact to insert
- */
- insertContact: function(contact) {
- var presence = Alias.getPresence(contact);
- var jid = Alias.getID(contact);
- var contacts = $('#roster li');
- if (contacts.length > 0) {
- var inserted = false;
- contacts.each(function () {
- var locpres = Alias.getPresence($(this));
- var locjid = Alias.getID($(this));
- if (presence > locpres)
- {
- $(this).before(contact);
- inserted = true;
- return false;
- }
- else if ( (presence == locpres) && (jid < locjid) )
- {
- $(this).before(contact);
- inserted = true;
- return false;
- }
- });
-
- if (!inserted)
- $('#roster ul').append(contact);
- }
- else
- $('#roster ul').append(contact);
-
- // init tooltip
- contact.tipTip({
- content: "<ul><li>Jid: " + jid
- + '</li><li><a href="'+ jid
- +'" class="chat-link">Start Chat</a></li></ul>',
- defaultPosition: "right",
- keepAlive: true
- });
- },
-
- /**
- * Update the roster when receiving a presence stanza
- * @param {XMLElement} presence The presence stanza
- * @returns {Boolean}
- */
- onPresence: function(presence) {
- var who = $(presence).attr('from');
- var type = $(presence).attr('type');
- if (type !== 'error')
- {
- var contact = $('#' + Alias.jid_to_id(who));
- contact.removeClass('online away offline');
- if (type === 'unavailable')
- {
- contact.addClass('offline');
- }
- else
- {
- var show = $(presence).find('show').text();
- if (show === '' || show === '')
- {
- contact.addClass('online');
- }
- else
- {
- contact.addClass('away');
- }
- }
- contact.remove();
- Alias.insertContact(contact);
- }
- return true;
- },
-
- /**
- * Rebuild the contact list when receiving a roster iq
- * @param {XMLElement} iq
- * @return {Boolean}
- */
- onRoster: function(iq) {
- $('#roster li').remove();
- var elems = iq.getElementsByTagName('query');
- var query = elems[0];
- Strophe.forEachChild(query, 'item', function(item)
- {
- var jid = item.getAttribute('jid');
- var name = item.getAttribute('name') || jid;
- var id = Alias.jid_to_id(jid);
- var contact = $("<li id='" + id + "' class='roster-contact offline'>"
- + "<div class='roster-name'>" + name + "</div>"
- + "<div class='roster-jid'>" + jid + "</div></li>");
- Alias.insertContact(contact);
- });
- Alias.connection.addHandler(Alias.onPresence,null,'presence', null, null, null, null);
- Alias.connection.send($pres());
- return true;
- },
-
- /**
- * Called when the status of Strophe's connection changes.
- * This function is passed to the Strophe's connect function
- * @param {Int} status The new status
- */
- onStatusChanged: function(status) {
- var jid = $('#jid').get(0).value;
- if ( status == Strophe.Status.CONNECTING ) {
- log('Strophe is connecting.');
- } else if ( status == Strophe.Status.CONNFAIL ) {
- log('Strophe failed to connect.');
- } else if ( status == Strophe.Status.DISCONNECTING ) {
- log('Strophe is disconnecting.');
- } else if ( status == Strophe.Status.DISCONNECTED ) {
- log('Strophe is disconnected.');
- } else if ( status == Strophe.Status.CONNECTED ) {
- log('Strophe is connected.');
- Alias.onConnect();
- }
- },
-
- /**
- * Initialization after connection
- *
- * Set the interface and the handlers
- */
- onConnect: function() {
- Alias.getRoster();
- Alias.getRegister();
-
- // hide the login dialog and load the interface
- $('#login').hide();
- $('#password').val('');
- $('#left').show();
- $('#right').show();
- $('#status').append($('<a href="#" id="disconnect">Disconnect</a>'));
- $('#disconnect').click(function(){
- Alias.connection.disconnect();
- $('#roster ul').empty();
- $('#left').hide();
- $('#right').hide();
- $('#login').hide();
- $(this).remove();
- });
-
- // handlers must be added only after connection is made
- Alias.connection.addHandler(Alias.onMessage, null, "message", "chat");
- },
-
- /**
- * Add a new chat tab
- * @param {String} jid The jid of the contact to chat with
- */
- addChatTab: function(jid) {
- var jid_id = Alias.jid_to_id(jid);
- $('#tabs').tabs('add', jid, 'chat-' + jid_id, true);
- $('#chat-' + jid_id).addClass('chat-tab');
- $('#chat-' + jid_id).append("<div class='chat-messages'></div>"
- + "<input type='text' class='chat-input'>");
- $('#chat-' + jid_id).data({jid: jid});
- },
-
- /**
- * Add a chat message
- * @param {String} chatId The id of the chat tab
- * @param {String} authorId The jid of the message's author
- * @param {String} body The text of the message
- */
- addMessage: function(chatId, authorId, body) {
- var author = Strophe.getNodeFromJid( authorId );
- var message = $('<p class="chat-message"><span class="chat-name">'
- + author + '</span> <span class="chat-text">'
- + body + '</span></p>');
-
- if ( authorId == Alias.connection.jid ) {
- message.find('.chat-name').addClass('me');
- }
-
- var chatArea = $('#chat-' + chatId).find('.chat-messages');
- chatArea.append(message);
- chatArea.scrollTop(chatArea.height());
- },
-
- /**
- * Callback upon receiving a chat message
- * @param {String} message The xml code of the message iq
- * @return {Boolean}
- */
- onMessage: function (message) {
- var full_jid = $(message).attr('from');
- var jid = Strophe.getBareJidFromJid(full_jid);
- var jid_id = Alias.jid_to_id(jid);
-
- if ( !$('#tabs').tabs('exist','#chat-' + jid_id) ) {
- Alias.addChatTab(jid);
- }
-
- $('#chat-' + jid_id).data({jid: full_jid});
- var body = $(message).find("html > body");
-
- if (body.length === 0) {
- body = $(message).find('body');
-
- if (body.length > 0) {
- body = body.text();
- } else {
- body = null;
- }
-
- } else {
- body = body.contents();
- var span = $("<span></span>");
-
- body.each(function () {
-
- if (document.importNode) {
- $(document.importNode(this, true)).appendTo(span);
- } else {
- // IE workaround
- span.append(this.xml);
- }
-
- });
- body = span;
- }
-
- if (body) {
- Alias.addMessage( jid_id, jid , body);
- }
-
- return true;
- }
-
-};
-
-function log(msg, color) {
- $('#log').append($('<div></div>').css('background-color', color).text(msg));
-}
-
-function rawInput(data) {
- log('RECV: ' + data, '#FBB6B4');
-}
-
-function rawOutput(data) {
- log('SENT: ' + data, '#B5BBFB');
-}
-
-jQuery.expr[':'].Contains = function(a,i,m){
- return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;
-};
-
-$(document).ready(function(){
- var connection = new Strophe.Connection(BOSH_SERVICE);
- connection.rawInput = rawInput;
- connection.rawOutput = rawOutput;
- Alias.connection = connection;
-
- $('#connect').click(function () {
- Alias.connection.connect($('#jid').get(0).value,
- $('#pass').get(0).value,
- Alias.onStatusChanged);
- });
-
- $('#pass').keyup(function(event) {
- if(event.keyCode == 13) {
- $('#connect').click()
- }
- });
-
- $('#bottomup').click(function(){
- $(this).next().slideToggle();
- });
-
- $('#tabs').tabs();
-
- $('#rosterfilter').keyup(function() {
- var filter = $(this).val();
- $('#roster ul li div.roster-name:not(:Contains("' + filter + '"))').parent().hide();
- $('#roster ul li div.roster-name:Contains("' + filter + '")').parent().show();
- });
-
- $('.roster-contact').live('click', function(){
- var jid = Alias.getID($(this));
- Alias.getHome(jid);
- });
-
- $('.chat-link').live('click', function(event) {
- event.preventDefault();
- var jid = $(this).attr('href');
- var id = Alias.jid_to_id(jid);
- if ( !$('#tabs').tabs('exist','#chat-' + id) ) {
- Alias.addChatTab(jid);
- }
- $('#tabs').tabs('select', '#chat-' + id );
- $('#chat-' + id + ' input').focus();
- });
-
- $('.chat-input').live('keypress', function (ev) {
- var jid = $(this).parent().data('jid');
- var id = Alias.jid_to_id(jid);
- var me = Alias.connection.jid;
-
- if (ev.which === 13) {
- ev.preventDefault();
-
- var body = $(this).val();
- var message = $msg({to: jid, "type": "chat"})
- .c('body').t(body).up()
- .c('active', {xmlns: "http://jabber.org/protocol/chatstates"});
- Alias.connection.send(message);
- Alias.addMessage(id, me, body);
- $(this).val('');
- }
- });
-
- $('#dialogs').dialog();
-});
-
-
diff --git a/webclient/lib/config.js.sample b/webclient/lib/config.js.sample
deleted file mode 100644
index 9339c27..0000000
--- a/webclient/lib/config.js.sample
+++ /dev/null
@@ -1,2 +0,0 @@
-var BOSH_SERVICE = 'http://alias.im/http-bind';
-var server_component = 'social.alias.im'; \ No newline at end of file
diff --git a/webclient/lib/jquery.dialog.js b/webclient/lib/jquery.dialog.js
deleted file mode 100644
index 1a5679e..0000000
--- a/webclient/lib/jquery.dialog.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * jQuery dialog plugin
- *
- * <div id="dialogs">
- * <div id="#dialog-overlay"></div>
- * <div class="dialog" id="dialog1"></div>
- * <div class="dialog" id="dialog2"></div>
- * </div>
- */
-(function( $ ){
-
- var methods = {
-
- init: function(){
- this.data('dialog', {opened: []});
- this.find('#dialog-overlay').bind('click.dialog', function(){
- $(this).parent().dialog('hide');
- });
- },
-
- show: function(name){
- var maskHeight = $(document).height();
- var maskWidth = $(window).width();
- var overlay = this.find('#dialog-overlay');
- overlay.css({'width':maskWidth,'height':maskHeight});
- var winH = $(window).height();
- var winW = $(window).width();
- var dialog = this.find('#'+name);
- dialog.css('top', winH/2-dialog.height()/2);
- dialog.css('left', winW/2-dialog.width()/2);
- this.data('dialog').opened.push(name);
- overlay.show();
- dialog.show();
- },
-
- hide: function(){
- var name = this.data('dialog').opened.pop();
- var dialog = this.find('#'+name);
- var overlay = this.find('#dialog-overlay');
- dialog.hide();
- if (this.data('dialog').opened.length === 0){
- overlay.hide();
- }
- }
- };
-
- /*
- * Register the 'dialog' method to the jQuery objects
- * the first argument of this method is the submethod
- * you want to call
- */
- $.fn.dialog = function(method) {
- if ( methods[method] ) {
- return methods[method].apply(this, Array.prototype.slice
- .call(arguments, 1));
- } else if ( typeof method === 'object' || !method ) {
- return methods.init.apply(this, arguments);
- } else {
- $.error('Method ' + method + ' does not exist on jQuery.dialog');
- }
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/webclient/lib/jquery.forms.js b/webclient/lib/jquery.forms.js
deleted file mode 100644
index e9a5258..0000000
--- a/webclient/lib/jquery.forms.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Form manipulation with jQuery
- */
-(function( $ ){
-
- var methods = {
-
- render: function(){
- var result = $('<form></form>');
- if ( this.find('title').length !== 0 ){
- result.append('<p class="title">' + this.find('title') + '</p>');
- }
-
- if ( this.find('instructions').length !== 0 ){
- result.append('<p class="instructions">'
- + this.find('instructions') + '</p>');
- }
-
- this.find('field').each(function(index){
- var type = $(this).attr("type");
- var name = $(this).attr("var");
- var required = $(this).find('required').length !== 0;
-
- if ( $(this).find('desc').length !== 0 ){
- result.append('<p class="description">'
- + $(this).find('desc').text()
- + '</p>');
- }
-
- if ( $(this).attr('label') !== undefined ){
- result.append('<label for="form-' + name + '">'
- + $(this).attr('label')
- + (required ? ' (*): ' : ': ')
- + '</label>');
- }
-
- switch(type){
- case("text-single"):
- var input = $('<input/>');
- input.attr('type', 'text');
- input.attr('name', name);
- input.attr('id', 'form-' + name);
-
- if ( $(this).find('value').length !== 0 ){
- input.attr('value', $(this).find('value').text());
- }
- result.append(input);
- result.append('<br/>');
- }
- });
- return result;
- }
- };
-
- /*
- * Register the 'xmppForm' method to the jQuery objects
- * the first argument of this method is the submethod
- * you want to call
- */
- $.fn.xmppForm = function(method) {
- if ( methods[method] ) {
- return methods[method].apply(this, Array.prototype.slice
- .call(arguments, 1));
- } else if ( typeof method === 'object' || !method ) {
- return methods.init.apply(this, arguments);
- } else {
- $.error('Method ' + method + ' does not exist on jQuery.xmppForm');
- }
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/webclient/lib/jquery.tabs.js b/webclient/lib/jquery.tabs.js
deleted file mode 100644
index 7898afa..0000000
--- a/webclient/lib/jquery.tabs.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Light jQuery tab plugin
- *
- * the html structure is:
- *
- * <div id="generalid">
- * <ul class="tabbar">
- * <li><a href="#tab-1">Title 1</a></li>
- * </ul>
- * <div id="tab-1">
- * Content 1
- * </div>
- * </div>
- */
-(function( $ ){
-
- var methods = {
-
- /**
- * Initialise the general tab area
- * @return this (to preserve chainability)
- */
- init: function() {
- var tabs = this;
- this.find('ul.tabbar li').bind('click.tabs', function(event){
- event.preventDefault();
- tabs.tabs('select',$(this).find('a').attr('href'));
- });
- this.data('tabs',{});
- return this;
- },
-
- /**
- * Select a tab
- * @param {String} id The tab id with #
- * @return this
- */
- select: function(id) {
- var selectedId = this.data('tabs').selected;
-
- if ( selectedId == id) {
- return this;
- }
-
- this.find('ul.tabbar li a[href="' + selectedId + '"]').parent().removeClass('selected');
- this.find('ul.tabbar li a[href="' + id + '"]').parent().addClass('selected');
- $(selectedId).hide();
- $(id).show();
- this.data('tabs').selected = id;
- return this;
- },
-
- /**
- * Add a tab
- * @param {String} name The tab Title
- * @param {String} id The tab id without #
- * @pram {Bool} remove Wether the tab should be closable
- * return this
- */
- add: function(name, id, remove) {
- var tabs = this;
- var li = $('<li><a href="#' + id + '">' + name +'</a></li>');
-
- if ( remove ) {
- li.append('<span class="tab-close"/>');
- li.find('.tab-close').bind('click', function() {
- tabs.tabs('remove', '#'+id);
- });
- }
-
- li.bind('click.tabs',function(event){
- event.preventDefault();
- tabs.tabs('select',$(this).find('a').attr('href'));
- });
- $(this).find('ul.tabbar').append(li);
- $(this).append('<div class="tab" id="' + id + '"></div>');
- return this;
- },
-
- /**
- * Test if a tab exists
- * @param {String} id The tab id with #
- * @return {Bool}
- */
- exist: function(id) {
- return (this.find('ul.tabbar li a[href="' + id + '"]').length != 0);
- },
-
- /**
- * Remove a tab
- * @param {String} id The tab id with #
- * @return this
- */
- remove: function(id) {
- this.find('ul.tabbar li a[href="' + id + '"]').parent().remove();
- $(id).remove();
-
- if (this.data('tabs').selected == id) {
- var first = this.find('ul.tabbar li:first a').attr('href');
- this.tabs('select', first);
- }
- }
- };
-
- /*
- * Register the 'tabs' method to the jQuery objects
- * the first argument of this method is the submethod
- * you want to call
- */
- $.fn.tabs = function(method) {
- if ( methods[method] ) {
- return methods[method].apply(this, Array.prototype.slice
- .call(arguments, 1));
- } else if ( typeof method === 'object' || !method ) {
- return methods.init.apply(this, arguments);
- } else {
- $.error('Method ' + method + ' does not exist on jQuery.tabs');
- }
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/webclient/lib/jquery.tipTip.js b/webclient/lib/jquery.tipTip.js
deleted file mode 100644
index 7eacf35..0000000
--- a/webclient/lib/jquery.tipTip.js
+++ /dev/null
@@ -1,191 +0,0 @@
- /*
- * TipTip
- * Copyright 2010 Drew Wilson
- * www.drewwilson.com
- * code.drewwilson.com/entry/tiptip-jquery-plugin
- *
- * Version 1.3 - Updated: Mar. 23, 2010
- *
- * This Plug-In will create a custom tooltip to replace the default
- * browser tooltip. It is extremely lightweight and very smart in
- * that it detects the edges of the browser window and will make sure
- * the tooltip stays within the current window size. As a result the
- * tooltip will adjust itself to be displayed above, below, to the left
- * or to the right depending on what is necessary to stay within the
- * browser window. It is completely customizable as well via CSS.
- *
- * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-(function($){
- $.fn.tipTip = function(options) {
- var defaults = {
- activation: "hover",
- keepAlive: false,
- maxWidth: "200px",
- edgeOffset: 3,
- defaultPosition: "bottom",
- delay: 400,
- fadeIn: 200,
- fadeOut: 200,
- attribute: "title",
- content: false, // HTML or String to fill TipTIp with
- enter: function(){},
- exit: function(){}
- };
- var opts = $.extend(defaults, options);
-
- // Setup tip tip elements and render them to the DOM
- if($("#tiptip_holder").length <= 0){
- var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>');
- var tiptip_content = $('<div id="tiptip_content"></div>');
- var tiptip_arrow = $('<div id="tiptip_arrow"></div>');
- $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
- } else {
- var tiptip_holder = $("#tiptip_holder");
- var tiptip_content = $("#tiptip_content");
- var tiptip_arrow = $("#tiptip_arrow");
- }
-
- return this.each(function(){
- var org_elem = $(this);
- if(opts.content){
- var org_title = opts.content;
- } else {
- var org_title = org_elem.attr(opts.attribute);
- }
- if(org_title != ""){
- if(!opts.content){
- org_elem.removeAttr(opts.attribute); //remove original Attribute
- }
- var timeout = false;
-
- if(opts.activation == "hover"){
- org_elem.hover(function(){
- active_tiptip();
- }, function(){
- if(!opts.keepAlive){
- deactive_tiptip();
- }
- });
- if(opts.keepAlive){
- tiptip_holder.hover(function(){}, function(){
- deactive_tiptip();
- });
- }
- } else if(opts.activation == "focus"){
- org_elem.focus(function(){
- active_tiptip();
- }).blur(function(){
- deactive_tiptip();
- });
- } else if(opts.activation == "click"){
- org_elem.click(function(){
- active_tiptip();
- return false;
- }).hover(function(){},function(){
- if(!opts.keepAlive){
- deactive_tiptip();
- }
- });
- if(opts.keepAlive){
- tiptip_holder.hover(function(){}, function(){
- deactive_tiptip();
- });
- }
- }
-
- function active_tiptip(){
- opts.enter.call(this);
- tiptip_content.html(org_title);
- tiptip_holder.hide().removeAttr("class").css("margin","0");
- tiptip_arrow.removeAttr("style");
-
- var top = parseInt(org_elem.offset()['top']);
- var left = parseInt(org_elem.offset()['left']);
- var org_width = parseInt(org_elem.outerWidth());
- var org_height = parseInt(org_elem.outerHeight());
- var tip_w = tiptip_holder.outerWidth();
- var tip_h = tiptip_holder.outerHeight();
- var w_compare = Math.round((org_width - tip_w) / 2);
- var h_compare = Math.round((org_height - tip_h) / 2);
- var marg_left = Math.round(left + w_compare);
- var marg_top = Math.round(top + org_height + opts.edgeOffset);
- var t_class = "";
- var arrow_top = "";
- var arrow_left = Math.round(tip_w - 12) / 2;
-
- if(opts.defaultPosition == "bottom"){
- t_class = "_bottom";
- } else if(opts.defaultPosition == "top"){
- t_class = "_top";
- } else if(opts.defaultPosition == "left"){
- t_class = "_left";
- } else if(opts.defaultPosition == "right"){
- t_class = "_right";
- }
-
- var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
- var left_compare = (tip_w + left) > parseInt($(window).width());
-
- if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
- t_class = "_right";
- arrow_top = Math.round(tip_h - 13) / 2;
- arrow_left = -12;
- marg_left = Math.round(left + org_width + opts.edgeOffset);
- marg_top = Math.round(top + h_compare);
- } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
- t_class = "_left";
- arrow_top = Math.round(tip_h - 13) / 2;
- arrow_left = Math.round(tip_w);
- marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
- marg_top = Math.round(top + h_compare);
- }
-
- var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop());
- var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
-
- if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
- if(t_class == "_top" || t_class == "_bottom"){
- t_class = "_top";
- } else {
- t_class = t_class+"_top";
- }
- arrow_top = tip_h;
- marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
- } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
- if(t_class == "_top" || t_class == "_bottom"){
- t_class = "_bottom";
- } else {
- t_class = t_class+"_bottom";
- }
- arrow_top = -12;
- marg_top = Math.round(top + org_height + opts.edgeOffset);
- }
-
- if(t_class == "_right_top" || t_class == "_left_top"){
- marg_top = marg_top + 5;
- } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){
- marg_top = marg_top - 5;
- }
- if(t_class == "_left_top" || t_class == "_left_bottom"){
- marg_left = marg_left + 5;
- }
- tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"});
- tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class);
-
- if (timeout){ clearTimeout(timeout); }
- timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay);
- }
-
- function deactive_tiptip(){
- opts.exit.call(this);
- if (timeout){ clearTimeout(timeout); }
- tiptip_holder.fadeOut(opts.fadeOut);
- }
- }
- });
- }
-})(jQuery); \ No newline at end of file
diff --git a/webclient/lib/jsbn b/webclient/lib/jsbn
deleted file mode 160000
-Subproject c9d0d1a19fc80565aee9c37eb35dc71c5e082c3
diff --git a/webclient/lib/sjcl b/webclient/lib/sjcl
deleted file mode 160000
-Subproject 933f8f8ec10fd5c305ec83573e4528cbcefd172
diff --git a/webclient/lib/strophe b/webclient/lib/strophe
deleted file mode 160000
-Subproject a8e5e949c6f84db42d1bf9518e4396d42f822db
diff --git a/webclient/steal b/webclient/steal
deleted file mode 160000
-Subproject b277bdc3b49cd994ea8a26dac41de0ac8bd8d18
diff --git a/webclient/style/alias.css b/webclient/style/alias.css
deleted file mode 100644
index 9efdba2..0000000
--- a/webclient/style/alias.css
+++ /dev/null
@@ -1,322 +0,0 @@
-@font-face {
- font-family: "street";
- src: url("images/bold.ttf");
- font-weight: bold;
-}
-
-a
-{
- color: #3058A3;
- text-decoration: none;
- font-weight: bold;
-}
-
-a:hover
-{
- text-decoration: underline;
-}
-
-hr
-{
- color: #D8D8D8;
- border-bottom: 1px solid white;
-}
-
-html
-{
- height: 100%;
-}
-
-body
-{
- padding: 0px;
- margin: 0px;
- font-family: sans-serif;
- height: 100%;
- background-image: url('images/bb.png');
-}
-
-div
-{
- margin: 0px;
- padding: 0px;
-}
-
-.info
-{
- font-style: italic;
-}
-
-#register label{
- display: block;
- float: left;
- width: 150px;
-}
-
-input
-{
- border: 1px solid black;
-}
-
-#login
-{
- width: 400px;
- height: 300px;
- position: absolute;
- top: 50%;
- left: 50%;
- margin-left: -200px;
- margin-top: -150px;
- background-color: #F4F4F4;
- box-shadow: 5px 5px 5px 0px #434343;
- border-radius: 10px;
- color: #313131;
-}
-
-#login h2
-{
- margin: 0px;
- background-image: -moz-linear-gradient(top center, white, #D8D8D8);
- background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9));
- border-bottom: 1px solid #CDCDCD;
- color: #3058A3;
- font-family: "street";
- font-size: 120%;
- font-weight: bold;
- padding-left: 10px;
- text-shadow: 0px 1px 0px #EBEBEB;
- border-radius: 10px 10px 0px 0px;
-}
-
-#login label
-{
- float: left;
- width: 8em;
-}
-
-#login .info
-{
- margin: 0px;
-}
-
-#login .content
-{
- padding: 1em;
-}
-
-#login .connect
-{
- text-align: center;
- margin-top: 2em;
-}
-
-#connect
-{
- height: 2.5em;
- border: 1px solid #6D6D6D;
- border-radius: 5px;
- font-weight: bold;
- background-color: #DEDEDE;
-}
-
-#connect:hover
-{
- color: white;
- background-color: #3058A3;
-}
-
-#bottom
-{
- position: fixed;
- bottom: 0px;
- width: 100%;
- clear: both;
-}
-
-#bottomup
-{
- text-align: right;
-}
-
-#consolea
-{
- text-decoration: none;
- color: black;
- background-color: gray;
- margin: 0px;
- padding-left: 5px;
- padding-right: 5px;
- padding-top: 5px;
-}
-
-#log
-{
- height: 400px;
- width: 100%;
- overflow: auto;
- display: none;
- border-top: 1px solid black;
-}
-
-#header
-{
- margin: 0px;
- margin-bottom: 20px;
- background-image: -moz-linear-gradient(top center, #F4F4F4, #C1C1C1);
- background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9));
- border-bottom: 1px solid #CDCDCD;
- box-shadow: 0px 5px 10px #434343;
- height:70px;
-}
-
-
-#logo
-{
- color: #515159;
- font-family: "street";
- font-size: 300%;
- font-weight: bold;
- padding-left: 30px;
- text-shadow: 0px 1px 0px #EBEBEB;
-}
-
-#left
-{
- margin: 0px;
- margin-left: 8px;
- float: left;
- width: 20%;
- background-color: #F4F4F4;
- height: 95%;
- display: none;
- border-radius: 5px;
- box-shadow: 5px 5px 5px 0px #434343;
-}
-
-#left h2{
- margin: 0px;
- background-image: -moz-linear-gradient(top center, white, #D8D8D8);
- background: -webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#D9D9D9));
- border-bottom: 1px solid #CDCDCD;
- color: #3058A3;
- font-family: "street";
- font-size: 120%;
- font-weight: bold;
- padding-left: 10px;
- text-shadow: 0px 1px 0px #EBEBEB;
- border-radius: 10px 10px 0px 0px;
-}
-
-#right
-{
- border-radius: 5px;
- float: left;
- width: 75%;
- height: 95%;
- display: none;
- margin-left:2%;
- margin-right:2%;
- background-color: transparent;
- padding: 0px;
-}
-
-#tabs{
- height: 100%;
- padding: 0px;
-}
-
-.chat-messages{
- height: 80%;
- width: 100%;
- margin-top: 10px;
- margin-bottom: 10px;
- overflow: auto;
- border: 1px solid #787878;
-}
-
-.chat-message{
- margin: 0px;
-}
-
-.chat-name{
- font-weight: bold;
- color: #0073EA;
-}
-
-.me{
- color: #FF0084;
-}
-
-.chat-name:before{
- content: "<";
-}
-
-.chat-name:after{
- content: ">";
-}
-
-.chat-input{
- width: 100%;
- border: 1px solid #787878;
-}
-
-#roster
-{
- height: 100%;
- font-size: 0.8em;
- padding: 5px;
-}
-
-#roster > ul
-{
- list-style-type: none;
- padding: 0px;
-}
-
-.roster-contact
-{
- -moz-transition-property: background-color;
- -moz-transition-duration: 0.5s;
- -webkit-transition-property: background-color;
- -webkit-transition-duration: 1s;
- -o-transition-property: background-color;
- -o-transition-duration: 1s;
- border-bottom: 1px dotted black;
- padding: 5px;
- cursor: pointer;
-}
-
-.roster-contact:hover
-{
- box-shadow: 2px 2px 2px #434343;
-}
-
-.roster-name
-{
- font-weight: bold;
-}
-
-.online
-{
- background-color: #DBFFDC;
-}
-
-.away
-{
- background-color: #E3E3E3;
-}
-
-#tiptip_holder ul
-{
- padding: 0;
- margin: 0;
- margin-left:10px;
-}
-
-#status
-{
- margin: 0px;
- margin-top: 10px;
- margin-right: 10px;
- float: right;
-} \ No newline at end of file
diff --git a/webclient/style/dialog.css b/webclient/style/dialog.css
deleted file mode 100644
index 5fbc208..0000000
--- a/webclient/style/dialog.css
+++ /dev/null
@@ -1,16 +0,0 @@
-#dialog-overlay{
- position:absolute;
- z-index:9000;
- background-color:#575757;
- opacity: 0.7;
- display:none;
-}
-
-#dialogs .dialog{
- position:absolute;
- display:none;
- z-index:9999;
- padding:5px;
- border: 1px solid #727272;
- background-color: #F5F5F5;
-} \ No newline at end of file
diff --git a/webclient/style/images/bb.png b/webclient/style/images/bb.png
deleted file mode 100644
index b6d7f8e..0000000
--- a/webclient/style/images/bb.png
+++ /dev/null
Binary files differ
diff --git a/webclient/style/images/bb2.png b/webclient/style/images/bb2.png
deleted file mode 100644
index 8efe39e..0000000
--- a/webclient/style/images/bb2.png
+++ /dev/null
Binary files differ
diff --git a/webclient/style/images/bold.ttf b/webclient/style/images/bold.ttf
deleted file mode 100644
index 049dc43..0000000
--- a/webclient/style/images/bold.ttf
+++ /dev/null
Binary files differ
diff --git a/webclient/style/images/cross.png b/webclient/style/images/cross.png
deleted file mode 100644
index 871db41..0000000
--- a/webclient/style/images/cross.png
+++ /dev/null
Binary files differ
diff --git a/webclient/style/images/cross2.png b/webclient/style/images/cross2.png
deleted file mode 100644
index 3e31d3b..0000000
--- a/webclient/style/images/cross2.png
+++ /dev/null
Binary files differ
diff --git a/webclient/style/images/logo.png b/webclient/style/images/logo.png
deleted file mode 100644
index ee58f05..0000000
--- a/webclient/style/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/webclient/style/tabs.css b/webclient/style/tabs.css
deleted file mode 100644
index 262f5c4..0000000
--- a/webclient/style/tabs.css
+++ /dev/null
@@ -1,72 +0,0 @@
-ul.tabbar{
- background-color: transparent;
- padding: 0px;
- margin: 0px;
- list-style-type: none;
- height:20px;
-}
-
-ul.tabbar > li{
- background-image: -moz-linear-gradient(top center, white, #D8D8D8);
- border-radius: 5px 5px 0px 0px;
- padding: 5px;
- margin: 0px;
- margin-right: 1px;
- height: 20px;
- float: left;
- display: block;
- margin-top: 0px;
- width: 200px;
- overflow: hidden;
- color: #2D2D2D;
-}
-
-ul.tabbar > li.selected{
- background-image:none;
- background-color: #3765BB;
- box-shadow: 2px -2px 2px #434343;
- color: white;
-}
-
-ul.tabbar > li:hover{
- color: #3765BB;
- cursor: pointer;
-}
-
-ul.tabbar > li.selected:hover{
- color: #2D2D2D;
-}
-
-ul.tabbar > li > span.tab-close{
- display: block;
- width: 15px;
- height: 15px;
- float: right;
- margin-left: 5px;
- margin-top: 2px;
- background-image: url("images/cross.png");
-}
-
-ul.tabbar > li:hover > span.tab-close{
- background-image: url("images/cross2.png");
-}
-
-ul.tabbar > li > a{
- color: inherit;
-}
-
-ul.tabbar > li > a:hover{
- text-decoration: none;
-}
-
-ul.tabbar > li > a:focus{
- border: none;
-}
-
-.tab{
- padding: 10px;
- height: 100%;
- display: none;
- background-color: white;
- box-shadow: 5px 5px 5px 0px #434343;
-}
diff --git a/webclient/style/tipTip.css b/webclient/style/tipTip.css
deleted file mode 100644
index 70411d6..0000000
--- a/webclient/style/tipTip.css
+++ /dev/null
@@ -1,125 +0,0 @@
-/* TipTip CSS - Version 1.2 */
-
-/** structure
-
-<div id="tiptip_holder">
- <div id="tiptip_content">
- <div id="tiptip_arrow">
- <div id="tiptip_arrow_inner"></div>
- </div>
- </div>
-</div>
-
-*/
-
-#tiptip_holder {
- display: none;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 99999;
-}
-
-#tiptip_holder.tip_top {
- padding-bottom: 5px;
-}
-
-#tiptip_holder.tip_bottom {
- padding-top: 5px;
-}
-
-#tiptip_holder.tip_right {
- padding-left: 5px;
-}
-
-#tiptip_holder.tip_left {
- padding-right: 5px;
-}
-
-#tiptip_content {
- font-size: 11px;
- color: #fff;
- text-shadow: 0 0 2px #000;
- padding: 4px 8px;
- border: 1px solid rgba(255,255,255,0.25);
- background-color: rgb(25,25,25);
- background-color: rgba(25,25,25,0.92);
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));
- border-radius: 3px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- box-shadow: 0 0 3px #555;
- -webkit-box-shadow: 0 0 3px #555;
- -moz-box-shadow: 0 0 3px #555;
-}
-
-#tiptip_arrow, #tiptip_arrow_inner {
- position: absolute;
- border-color: transparent;
- border-style: solid;
- border-width: 6px;
- height: 0;
- width: 0;
-}
-
-#tiptip_holder.tip_top #tiptip_arrow {
- border-top-color: #fff;
- border-top-color: rgba(255,255,255,0.35);
-}
-
-#tiptip_holder.tip_bottom #tiptip_arrow {
- border-bottom-color: #fff;
- border-bottom-color: rgba(255,255,255,0.35);
-}
-
-#tiptip_holder.tip_right #tiptip_arrow {
- border-right-color: #fff;
- border-right-color: rgba(255,255,255,0.35);
-}
-
-#tiptip_holder.tip_left #tiptip_arrow {
- border-left-color: #fff;
- border-left-color: rgba(255,255,255,0.35);
-}
-
-#tiptip_holder.tip_top #tiptip_arrow_inner {
- margin-top: -7px;
- margin-left: -6px;
- border-top-color: rgb(25,25,25);
- border-top-color: rgba(25,25,25,0.92);
-}
-
-#tiptip_holder.tip_bottom #tiptip_arrow_inner {
- margin-top: -5px;
- margin-left: -6px;
- border-bottom-color: rgb(25,25,25);
- border-bottom-color: rgba(25,25,25,0.92);
-}
-
-#tiptip_holder.tip_right #tiptip_arrow_inner {
- margin-top: -6px;
- margin-left: -5px;
- border-right-color: rgb(25,25,25);
- border-right-color: rgba(25,25,25,0.92);
-}
-
-#tiptip_holder.tip_left #tiptip_arrow_inner {
- margin-top: -6px;
- margin-left: -7px;
- border-left-color: rgb(25,25,25);
- border-left-color: rgba(25,25,25,0.92);
-}
-
-/* Webkit Hacks */
-@media screen and (-webkit-min-device-pixel-ratio:0) {
- #tiptip_content {
- padding: 4px 8px 5px 8px;
- background-color: rgba(45,45,45,0.88);
- }
- #tiptip_holder.tip_bottom #tiptip_arrow_inner {
- border-bottom-color: rgba(45,45,45,0.88);
- }
- #tiptip_holder.tip_top #tiptip_arrow_inner {
- border-top-color: rgba(20,20,20,0.92);
- }
-} \ No newline at end of file