]> gitweb.factorcode.org Git - factor.git/commitdiff
Remove dead code
authorChris Double <chris.double@double.co.nz>
Sat, 2 Feb 2008 05:55:42 +0000 (18:55 +1300)
committerChris Double <chris.double@double.co.nz>
Sat, 2 Feb 2008 05:55:42 +0000 (18:55 +1300)
104 files changed:
extra/sqlite/authors.txt [deleted file]
extra/sqlite/lib/authors.txt [deleted file]
extra/sqlite/lib/lib.factor [deleted file]
extra/sqlite/sqlite-docs.factor [deleted file]
extra/sqlite/sqlite-tests.factor [deleted file]
extra/sqlite/sqlite.factor [deleted file]
extra/sqlite/test.txt [deleted file]
extra/sqlite/tuple-db/authors.txt [deleted file]
extra/sqlite/tuple-db/tuple-db-docs.factor [deleted file]
extra/sqlite/tuple-db/tuple-db-tests.factor [deleted file]
extra/sqlite/tuple-db/tuple-db.factor [deleted file]
extra/webapps/article-manager/article-manager-docs.factor [deleted file]
extra/webapps/article-manager/article-manager.factor [deleted file]
extra/webapps/article-manager/authors.txt [deleted file]
extra/webapps/article-manager/database/authors.txt [deleted file]
extra/webapps/article-manager/database/database.factor [deleted file]
extra/webapps/article-manager/furnace/article.furnace [deleted file]
extra/webapps/article-manager/furnace/edit-article.furnace [deleted file]
extra/webapps/article-manager/furnace/edit-head.furnace [deleted file]
extra/webapps/article-manager/furnace/head.furnace [deleted file]
extra/webapps/article-manager/furnace/index.furnace [deleted file]
extra/webapps/article-manager/furnace/navigation.furnace [deleted file]
extra/webapps/article-manager/furnace/setup-site.furnace [deleted file]
extra/webapps/article-manager/furnace/tag.furnace [deleted file]
extra/webapps/article-manager/furnace/tags.furnace [deleted file]
extra/webapps/article-manager/load.factor [deleted file]
extra/webapps/article-manager/resources/jquery.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue2.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-brown.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-green.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup_stripped.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-system.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-tas.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-1.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-2.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-1.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-2.css [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/calendar_stripped.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-af.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-al.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-bg.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-br.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ca.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-win.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-da.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-de.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-du.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-el.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-en.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-es.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fi.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fr.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-he-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hu.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-it.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-jp.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lv.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-nl.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-no.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl-utf8.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pt.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ro.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru_win_.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-si.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sk.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sp.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sv.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-tr.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-zh.js [deleted file]
extra/webapps/article-manager/resources/jscalendar-1.0/lang/cn_utf8.js [deleted file]
extra/webapps/article-manager/resources/style.css [deleted file]
extra/webapps/article-manager/resources/wiky.css [deleted file]
extra/webapps/article-manager/resources/wiky.js [deleted file]
extra/webapps/article-manager/resources/wiky.lang.css [deleted file]
extra/webapps/article-manager/resources/wiky.lang.js [deleted file]
extra/webapps/article-manager/resources/wiky.math.css [deleted file]
extra/webapps/article-manager/resources/wiky.math.js [deleted file]
extra/webapps/article-manager/summary.txt [deleted file]
extra/webapps/article-manager/tags.txt [deleted file]
unmaintained/jni/jni-internals.factor [deleted file]
unmaintained/jni/jni.factor [deleted file]
unmaintained/jni/load.factor [deleted file]
unmaintained/reader/reader.factor [deleted file]
unmaintained/usb/load.factor [deleted file]
unmaintained/usb/usb-common.factor [deleted file]
unmaintained/usb/usb-macosx.factor [deleted file]
unmaintained/usb/usb-unix.factor [deleted file]
unmaintained/usb/usb-win32.factor [deleted file]
unmaintained/usb/usb.factor [deleted file]
unmaintained/usb/usb.facts [deleted file]

diff --git a/extra/sqlite/authors.txt b/extra/sqlite/authors.txt
deleted file mode 100755 (executable)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/sqlite/lib/authors.txt b/extra/sqlite/lib/authors.txt
deleted file mode 100755 (executable)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/sqlite/lib/lib.factor b/extra/sqlite/lib/lib.factor
deleted file mode 100644 (file)
index 438f22a..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-! Copyright (C) 2005 Chris Double, Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-!
-! An interface to the sqlite database. Tested against sqlite v3.1.3.
-! Remeber to pass the following to factor:
-!  -libraries:sqlite=libsqlite3.so
-!
-! Not all functions have been wrapped yet. Only those directly involving
-! executing SQL calls and obtaining results.
-!
-IN: sqlite.lib
-USING: alien compiler kernel math namespaces sequences strings alien.syntax
-    system combinators ;
-
-<<
-"sqlite" {
-  { [ win32? ]  [ "sqlite3.dll" ] }
-  { [ macosx? ] [ "/usr/lib/libsqlite3.dylib" ] }
-  { [ unix? ]  [ "libsqlite3.so" ] }
-} cond "cdecl" add-library
->>
-
-! Return values from sqlite functions
-: SQLITE_OK           0   ; inline ! Successful result
-: SQLITE_ERROR        1   ; inline ! SQL error or missing database
-: SQLITE_INTERNAL     2   ; inline ! An internal logic error in SQLite 
-: SQLITE_PERM         3   ; inline ! Access permission denied 
-: SQLITE_ABORT        4   ; inline ! Callback routine requested an abort 
-: SQLITE_BUSY         5   ; inline ! The database file is locked 
-: SQLITE_LOCKED       6   ; inline ! A table in the database is locked 
-: SQLITE_NOMEM        7   ; inline ! A malloc() failed 
-: SQLITE_READONLY     8   ; inline ! Attempt to write a readonly database 
-: SQLITE_INTERRUPT    9   ; inline ! Operation terminated by sqlite_interrupt() 
-: SQLITE_IOERR       10   ; inline ! Some kind of disk I/O error occurred 
-: SQLITE_CORRUPT     11   ; inline ! The database disk image is malformed 
-: SQLITE_NOTFOUND    12   ; inline ! (Internal Only) Table or record not found 
-: SQLITE_FULL        13   ; inline ! Insertion failed because database is full 
-: SQLITE_CANTOPEN    14   ; inline ! Unable to open the database file 
-: SQLITE_PROTOCOL    15   ; inline ! Database lock protocol error 
-: SQLITE_EMPTY       16   ; inline ! (Internal Only) Database table is empty 
-: SQLITE_SCHEMA      17   ; inline ! The database schema changed 
-: SQLITE_TOOBIG      18   ; inline ! Too much data for one row of a table 
-: SQLITE_CONSTRAINT  19   ; inline ! Abort due to contraint violation 
-: SQLITE_MISMATCH    20   ; inline ! Data type mismatch 
-: SQLITE_MISUSE      21   ; inline ! Library used incorrectly 
-: SQLITE_NOLFS       22   ; inline ! Uses OS features not supported on host 
-: SQLITE_AUTH        23   ; inline ! Authorization denied 
-: SQLITE_FORMAT      24   ; inline ! Auxiliary database format error
-: SQLITE_RANGE       25   ; inline ! 2nd parameter to sqlite3_bind out of range
-: SQLITE_NOTADB      26   ; inline ! File opened that is not a database file
-
-: sqlite-error-messages ( -- seq ) {
-    "Successful result"
-    "SQL error or missing database"
-    "An internal logic error in SQLite"
-    "Access permission denied"
-    "Callback routine requested an abort"
-    "The database file is locked"
-    "A table in the database is locked"
-    "A malloc() failed"
-    "Attempt to write a readonly database"
-    "Operation terminated by sqlite_interrupt()"
-    "Some kind of disk I/O error occurred"
-    "The database disk image is malformed"
-    "(Internal Only) Table or record not found"
-    "Insertion failed because database is full"
-    "Unable to open the database file"
-    "Database lock protocol error"
-    "(Internal Only) Database table is empty"
-    "The database schema changed"
-    "Too much data for one row of a table"
-    "Abort due to contraint violation"
-    "Data type mismatch"
-    "Library used incorrectly"
-    "Uses OS features not supported on host"
-    "Authorization denied"
-    "Auxiliary database format error"
-    "2nd parameter to sqlite3_bind out of range"
-    "File opened that is not a database file"
-} ;
-
-: SQLITE_ROW         100  ; inline ! sqlite_step() has another row ready 
-: SQLITE_DONE        101  ; inline ! sqlite_step() has finished executing 
-
-! Return values from the sqlite3_column_type function
-: SQLITE_INTEGER     1 ; inline
-: SQLITE_FLOAT       2 ; inline
-: SQLITE_TEXT        3 ; inline
-: SQLITE_BLOB        4 ; inline
-: SQLITE_NULL        5 ; inline
-
-! Values for the 'destructor' parameter of the 'bind' routines. 
-: SQLITE_STATIC      0  ; inline
-: SQLITE_TRANSIENT   -1 ; inline
-
-TYPEDEF: void sqlite3
-TYPEDEF: void sqlite3_stmt
-
-LIBRARY: sqlite
-FUNCTION: int sqlite3_open ( char* filename, void* ppDb ) ;
-FUNCTION: int sqlite3_close ( sqlite3* pDb ) ;
-FUNCTION: int sqlite3_prepare ( sqlite3* pDb, char* zSql, int nBytes, void* ppStmt, void* pzTail ) ;
-FUNCTION: int sqlite3_finalize ( sqlite3_stmt* pStmt ) ;
-FUNCTION: int sqlite3_reset ( sqlite3_stmt* pStmt ) ;
-FUNCTION: int sqlite3_step ( sqlite3_stmt* pStmt ) ;
-FUNCTION: int sqlite3_last_insert_rowid ( sqlite3* pStmt ) ;
-FUNCTION: int sqlite3_bind_blob ( sqlite3_stmt* pStmt, int index, void* ptr, int len, int destructor ) ;
-FUNCTION: int sqlite3_bind_int ( sqlite3_stmt* pStmt, int index, int n ) ;
-FUNCTION: int sqlite3_bind_null ( sqlite3_stmt* pStmt, int n ) ;
-FUNCTION: int sqlite3_bind_text ( sqlite3_stmt* pStmt, int index, char* text, int len, int destructor ) ;
-FUNCTION: int sqlite3_bind_parameter_index ( sqlite3_stmt* pStmt, char* name ) ;
-FUNCTION: int sqlite3_column_count ( sqlite3_stmt* pStmt ) ;
-FUNCTION: void* sqlite3_column_blob ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: int sqlite3_column_bytes ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: char* sqlite3_column_decltype ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: int sqlite3_column_int ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: int sqlite3_column_name ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: char* sqlite3_column_text ( sqlite3_stmt* pStmt, int col ) ;
-FUNCTION: int sqlite3_column_type ( sqlite3_stmt* pStmt, int col ) ;
-
diff --git a/extra/sqlite/sqlite-docs.factor b/extra/sqlite/sqlite-docs.factor
deleted file mode 100644 (file)
index d58b553..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help help.syntax help.markup ;
-IN: sqlite
-
-HELP: sqlite-open 
-{ $values { "filename" "path to sqlite database" } 
-          { "db" "the database object" } 
-}
-{ $description "Opens the sqlite3 database." } 
-{ $see-also sqlite-close sqlite-last-insert-rowid } ;
-
-HELP: sqlite-close
-{ $values { "db" "the database object" } 
-}
-{ $description "Closes the sqlite3 database." } 
-{ $see-also sqlite-open sqlite-last-insert-rowid } ;
-
-HELP: sqlite-last-insert-rowid
-{ $values { "db" "the database object" } 
-         { "rowid" "the row number of the last insert" }
-}
-{ $description "Returns the number of the row of the last statement inserted into the database." } 
-{ $see-also sqlite-open sqlite-close } ;
-
-HELP: sqlite-prepare
-{ $values { "db" "the database object" } 
-         { "sql" "the SQL statement as a string" }
-         { "statement" "the prepared SQL statement" }
-}
-{ $description "Internally compiles the SQL statement ready to be run by sqlite. The statement is executed and the results iterated over using " { $link sqlite-each } " and " { $link sqlite-map } ". The SQL statement can use named parameters which are later bound to values using " { $link sqlite-bind-text } " and " { $link sqlite-bind-text-by-name } "." } 
-{ $see-also sqlite-open sqlite-close } ;
-
-HELP: sqlite-bind-text
-{ $values { "statement" "a prepared SQL statement" }
-         { "index" "the index of the bound parameter in the SQL statement" } 
-         { "text" "the string value to bind to that column" }
-         
-}
-{ $description "Binds the text to a parameter in the SQL statement. The parameter to be bound is identified by the index given and the indexes start from one." }
-{ $examples { $code "\"people.db\" sqlite-open\n\"select * from people where name=?\" sqlite-prepare\n1 \"chris\" sqlite-bind-text" } }
-{ $see-also sqlite-bind-text-by-name } ;
-
-HELP: sqlite-bind-text-by-name
-{ $values { "statement" "a prepared SQL statement" }
-         { "name" "the name of the bound parameter in the SQL statement" } 
-         { "text" "the string value to bind to that column" }
-         
-}
-{ $description "Binds the text to a parameter in the SQL statement. The parameter to be bound is identified by the given name." }
-{ $examples { $code "\"people.db\" sqlite-open\n\"select * from people where name=:name\" sqlite-prepare\n\"name\" \"chris\" sqlite-bind-text" } }
-{ $see-also sqlite-bind-text } ;
-
-HELP: sqlite-finalize
-{ $values { "statement" "a prepared SQL statement" }  
-}
-{ $description "Clean up all resources related to a statement. Once called the statement cannot be used again. All statements must be finalized before closing the database." }
-{ $see-also sqlite-close sqlite-prepare } ;
-
-HELP: sqlite-reset
-{ $values { "statement" "a prepared SQL statement" }  
-}
-{ $description "Reset a statement so it can be called again, possibly with different bound parameters." }
-{ $see-also sqlite-bind-text sqlite-bind-text-by-name } ;
-
-HELP: column-count
-{ $values { "statement" "a prepared SQL statement" } { "int" "the number of columns" } }
-{ $description "Return the number of columns in each row of the result set of the given statement." }
-{ $see-also column-text sqlite-each sqlite-map } ;
-
-HELP: column-text
-{ $values { "statement" "a prepared SQL statement" } { "index" "column number indexed from zero" } { "string" "column value" }
-}
-{ $description "Return the value of the given column, indexed from zero, as a string." }
-{ $see-also column-count sqlite-each sqlite-map } ;
-
-HELP: sqlite-each
-{ $values { "statement" "a prepared SQL statement" } { "quot" "A quotation with stack effect ( statement -- )" }   
-}
-{ $description "Executes the SQL statement and for each returned row calls the qutotation passing the statement on the stack. The quotation can use " { $link column-text } " to get result values for that row." }
-{ $see-also column-count column-text sqlite-map } ;
-
-HELP: sqlite-map
-{ $values { "statement" "a prepared SQL statement" } { "quot" "A quotation with stack effect ( statement -- value )" } { "seq" "a new sequence" }   
-}
-{ $description "Executes the SQL statement and for each returned row calls the qutotation passing the statement on the stack. The quotation can use " { $link column-text } " to get result values for that row. The quotation should leave a value on the stack which gets collected and returned in the resulting sequence." }
-{ $see-also column-count column-text sqlite-each } ;
diff --git a/extra/sqlite/sqlite-tests.factor b/extra/sqlite/sqlite-tests.factor
deleted file mode 100644 (file)
index 5eecbec..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-! Copyright (C) 2005 Chris Double.
-! 
-! Redistribution and use in source and binary forms, with or without
-! modification, are permitted provided that the following conditions are met:
-! 
-! 1. Redistributions of source code must retain the above copyright notice,
-!    this list of conditions and the following disclaimer.
-! 
-! 2. Redistributions in binary form must reproduce the above copyright notice,
-!    this list of conditions and the following disclaimer in the documentation
-!    and/or other materials provided with the distribution.
-! 
-! THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-! INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-! DEVELOPERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-! OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-! WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-! OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-! ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-!
-! Test the sqlite interface
-!
-! Create a test database like follows:
-!
-!   sqlite3 test.db < test.txt
-!
-!  Then run this file.
-USE: sqlite
-USE: kernel
-USE: io
-USE: io.files
-USE: prettyprint
-
-: test.db "libs/sqlite/test.db" resource-path ;
-
-: show-people ( statement -- )
-  dup 0 column-text write " from " write 1 column-text . ;
-
-: run-test ( -- )
-  test.db sqlite-open
-  dup "select * from test" sqlite-prepare
-  dup [ show-people ] sqlite-each 
-  sqlite-finalize
-  sqlite-close ;
-
-: find-person ( name -- )
-  test.db sqlite-open  ! name db
-  dup "select * from test where name=?" sqlite-prepare ! name db stmt
-  [ rot 1 swap sqlite-bind-text ] keep ! db stmt
-  [ [ 1 column-text . ] sqlite-each ] keep
-  sqlite-finalize
-  sqlite-close ;  
-
-: find-all ( -- )
-  test.db sqlite-open  ! db
-  dup "select * from test" sqlite-prepare ! db stmt
-  [ [ [ 0 column-text ] keep 1 column-text curry ] sqlite-map ] keep
-  sqlite-finalize
-  swap sqlite-close ;  
-
-: run-test2 ( -- )
-  test.db sqlite-open
-  dup "select * from test" sqlite-prepare
-  dup [ show-people ] ;
-
-run-test
diff --git a/extra/sqlite/sqlite.factor b/extra/sqlite/sqlite.factor
deleted file mode 100644 (file)
index d651ad9..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-! Copyright (C) 2005 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-! An interface to the sqlite database. Tested against sqlite v3.0.8.
-!
-! Not all functions have been wrapped yet. Only those directly involving
-! executing SQL calls and obtaining results.
-!
-IN: sqlite
-USING: alien compiler kernel namespaces sequences strings sqlite.lib
-    alien.c-types continuations ;
-
-TUPLE: sqlite-error n message ;
-SYMBOL: db
-
-! High level sqlite routines
-: sqlite-check-result ( result -- )
-  #! Check the result from a sqlite call is ok. If it is
-  #! return, otherwise throw an error.
-  dup SQLITE_OK = [
-    drop 
-  ] [
-    dup sqlite-error-messages nth
-    \ sqlite-error construct-boa throw
-  ] if ;
-
-: sqlite-open ( filename -- db )
-  #! Open the database referenced by the filename and return
-  #! a handle to that database. An error is thrown if the database
-  #! failed to open.
-  "void*" <c-object> [ sqlite3_open sqlite-check-result ] keep *void* ;
-
-: sqlite-close ( db -- )
-  #! Close the given database
-  sqlite3_close sqlite-check-result ;
-
-: sqlite-last-insert-rowid ( db -- rowid )
-  #! Return the rowid of the last insert
-  sqlite3_last_insert_rowid ;
-
-: sqlite-prepare ( db sql -- statement )
-  #! Prepare a SQL statement. Returns the statement which
-  #! can have values bound to parameters or simply executed.
-  #! TODO: Support multiple statements in the SQL string.
-  dup length "void*" <c-object> "void*" <c-object>
-  [ sqlite3_prepare sqlite-check-result ] 2keep
-  drop *void* ;
-
-: sqlite-bind-text ( statement index text -- )
-  #! Bind the text to the parameterized value in the statement.  
-  dup length SQLITE_TRANSIENT sqlite3_bind_text sqlite-check-result ;
-
-: sqlite-bind-parameter-index ( statement name -- index )
-  sqlite3_bind_parameter_index ;
-
-: sqlite-bind-text-by-name ( statement name text -- )
-  >r dupd sqlite-bind-parameter-index r> sqlite-bind-text ;
-
-: sqlite-finalize ( statement -- )
-  #! Clean up all resources related to a statement. Once called
-  #! the statement cannot be used. All statements must be finalized
-  #! before closing the database.
-  sqlite3_finalize sqlite-check-result ;
-
-: sqlite-reset ( statement -- )
-  #! Reset a statement so it can be called again, possibly with
-  #! different parameters.
-  sqlite3_reset sqlite-check-result ;
-
-: column-count ( statement -- int )
-  #! Given a prepared statement, return the number of
-  #! columns in each row of the result set of that statement.
-  sqlite3_column_count ;
-
-: column-text ( statement index -- string )
-  #! Return the value of the given column, indexed
-  #! from zero, as a string.
-  sqlite3_column_text ;
-
-: step-complete? ( step-result -- bool )
-  #! Return true if the result of a sqlite3_step is
-  #! such that the iteration has completed (ie. it is
-  #! SQLITE_DONE). Throw an error if an error occurs. 
-  dup SQLITE_ROW =  [
-    drop f
-  ] [
-    dup SQLITE_DONE = [
-      drop t 
-    ] [
-      sqlite-check-result t
-    ] if
-  ] if ;
-
-: sqlite-each ( statement quot -- )    
-  #! Execute the SQL statement, and call the quotation for
-  #! each row returned from executing the statement with the
-  #! statement on the top of the stack.
-  over sqlite3_step step-complete? [ 
-    2drop
-  ] [
-    [ call ] 2keep sqlite-each
-  ] if ; inline
-
-! For comparison, here is the linrec implementation of sqlite-each
-! [ drop sqlite3_step step-complete? ]
-! [ 2drop ]
-! [ 2dup 2slip ]
-! [ ] linrec ; 
-
-DEFER: (sqlite-map)
-
-: (sqlite-map) ( statement quot seq -- )    
-  pick sqlite3_step step-complete? [ 
-    2nip
-  ] [
-    >r 2dup call r> swap add (sqlite-map)
-  ] if ; 
-
-: sqlite-map ( statement quot -- seq )
-  { } (sqlite-map) ;
-
-: with-sqlite ( path quot -- )
-    [
-        >r sqlite-open db set r>
-        [ db get sqlite-close ] [ ] cleanup
-    ] with-scope ;
-
diff --git a/extra/sqlite/test.txt b/extra/sqlite/test.txt
deleted file mode 100644 (file)
index 5c7ae2b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-create table test (name varchar(30), address varchar(30));
-insert into test values('John', 'America');
-insert into test values('Jane', 'New Zealand');
diff --git a/extra/sqlite/tuple-db/authors.txt b/extra/sqlite/tuple-db/authors.txt
deleted file mode 100755 (executable)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/sqlite/tuple-db/tuple-db-docs.factor b/extra/sqlite/tuple-db/tuple-db-docs.factor
deleted file mode 100644 (file)
index 3c6df0e..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help sqlite help.syntax help.markup ;
-IN: sqlite.tuple-db
-
-ARTICLE: { "sqlite" "tuple-db-loading" } "Loading"
-"The quickest way to get up and running with this library is to use the vocabulary:"
-{ $code "USING: sqlite sqlite.tuple-db ;\n" } 
-"Some simple tests can be run to check that everything is working ok:"
-{ $code "\"libs/sqlite\" test-module" } ;
-
-ARTICLE: { "sqlite" "tuple-db-usage" } "Basic Usage"
-"This library can be used for storing simple Factor tuples in a sqlite database. In its current form the tuples must not contain references to other tuples and should not have a delegate set."
-$nl
-"This document will use the following tuple for demonstration purposes:"
-{ $code "TUPLE: person name surname phone ;" }
-"The sqlite database to store tuples must be created, or an existing one opened. This is done using the " { $link sqlite-open } " word. If the database does not exist then it is created. The examples in this document store the database pointer in a variable called 'db':"
-{ $code "SYMBOL: db\n\"example.db\" sqlite-open db set-global" } ;
-
-ARTICLE: { "sqlite" "tuple-db-mappings" } "Tuple Mappings"
-"Each tuple has a 'mapping' tuple associated with it. The 'mapping' stores information about what table the tuple will be stored in, the datatypes of the tuple slots, etc. A mapping must be created before a tuple can be stored in a database. A default mapping is easily created using " { $link default-mapping } ". Given the tuple class, this will use reflection to get the slots of it, assume that all slots are of database type 'text', and store the tuple objects in a table with the same name as the tuple."
-$nl
-"The following shows how to create the default mapping for the 'person' tuple, and how to register that mapping so the 'tuple-db' system can know how to handle 'person' instances:"
-{ $code "person default-mapping set-mapping" } ;
-
-ARTICLE: { "sqlite" "tuple-db-create" } "Creating the table"
-"The table used to store tuple instances may need to be created. This can be done manually using the external sqlite program or via " { $link create-tuple-table } ":"
-{ $code "db get person create-tuple-table" }
-"The SQL used to create the table is produced internally by " { $link create-sql } ". This is a generic word dispatched on the mapping object, and could be specialised if needed. If you wish to see the SQL used to create the table, use the following code:"
-{ $code "person get-mapping create-sql .\n => \"create table person (name text,surname text,phone text);\"" } ;
-
-ARTICLE: { "sqlite" "tuple-db-insert" } "Inserting instances"
-"The " { $link insert-tuple } " word will store instances of a tuple into the database table defined by its mapping object:"
-{ $code "db get \"John\" \"Smith\" \"123-456-789\" <person> insert-tuple" }
-{ $link insert-tuple } " internally uses the " { $link insert-sql } " word to produce the SQL used to store the tuple. Like " { $link create-sql } ", it is a generic word specialized on the mapping object. You can call it directly to see what SQL is generated:"
-{ $code "person get-mapping insert-sql .\n => \"insert into person values(:name,:surname,:phone);\"" }
-"Notice that the SQL uses named parameters. These parameters are bound to the values stored in the tuple object when the SQL is compiled. This helps prevent SQL injection techniques."
-$nl
-"When " { $link insert-sql } " is run, it adds a delegate to the tuple being stored. The delegate is of type 'persistent' and holds the row id of the tuple in its 'key' slot. This way the exact record can be updated or retrieved later. The following demonstates this fact:"
-{ $code "\"Mandy\" \"Jones\" \"987-654-321\" <person> dup .\n  => T{ person f \"Mandy\" \"Jones\" \"987-654-321\" }\ndb get over insert-tuple .\n  => T{ person T{ persistent ... 2 } \"Mandy\" \"Jones\" \"987-654-321\" }" }
-"The '2' in the above example is the row id of the record inserted. We can go into the 'sqlite' command and view this record:"
-{ $code "  $ sqlite3 example.db\n    SQLite version 3.0.8\n    Enter \".help\" for instructions\n    sqlite> select ROWID,* from person;\n      1|John|Smith|123-456-789\n      2|Mandy|Jones|987-654-321\n    sqlite>" } ;
-
-ARTICLE: { "sqlite" "tuple-db-finding" } "Finding instances"
-"The " { $link find-tuples } " word is used to return tuples populated with data already existing in the database. As well as the database objcet, it takes a tuple that should be populated only with the fields that should be matched in the database. All fields you do not wish to match against should be set to 'f':"
-{ $code "db get f \"Smith\" f <person> find-tuples .\n => { T{ person # \"John\" \"Smith\" \"123-456-789\" } }\ndb get \"Mandy\" f f <person> find-tuples .\n => { T{ person # \"Mandy\" \"Jones\" \"987-654-321\" } }\ndb get \"Joe\" f f <person> find-tuples .\n => { }" }
-"Notice that if no matching tuples are found then an empty sequence is returned. The returned tuples also have their delegate set to 'persistent' with the correct row id set as the key. This can be used to later update the tuples with new information and store them in the database." ;
-
-ARTICLE: { "sqlite" "tuple-db-updating" } "Updating instances"
-"Given a tuple that has the 'persistent' delegate with the row id set as the key, you can update this specific record using " { $link update-tuple } ":"
-{ $code "db get f \"Smith\" f <person> find-tuples dup .\n => { T{ person # \"John\" \"Smith\" \"123-456-789\" } }\nfirst { \"999-999-999\" swap set-person-phone ] keep dup .\n => T{ person T{ persistent f # \"1\" } \"John\" \"Smith\" \"999-999-999\" ...\n db get swap update-tuple" }
-"Using the 'sqlite' command from the system shell you can see the record was updated:"
-{ $code "  $ sqlite3 example.db\n    SQLite version 3.0.8\n    Enter \".help\" for instructions\n    sqlite> select ROWID,* from person;\n      1|John|Smith|999-999-999\n      2|Mandy|Jones|987-654-321\n    sqlite>" } ;
-
-ARTICLE: { "sqlite" "tuple-db-inserting-or-updating" } "Inserting or Updating instances"
-"The " { $link save-tuple } " word can be used to insert a tuple if it has not already been stored in the database, or update it if it already exists. Whether to insert or update is decided by the existance of the 'persistent' delegate:"
-{ $code "\"Mary\" \"Smith\" \"111-111-111\" <person> dup .\n  => T{ person f \"Mary\" \"Smith\" \"111-111-111\" }\n! This will insert the tuple\ndb get over save-tuple dup .\n  => T{ person T{ persistent f # \"3\" } \"Mary\" \"Smith\" \"111-111-111\" ...\n[ \"222-222-222\" swap set-person-phone ] keep dup .\n  => T{ person T{ persistent f # \"3\" } \"Mary\"  \"Smith\" \"222-222-222\" ...\n! This will update the tuple\ndb get over save-tuple .\n  => T{ person T{ persistent f # \"3\" } \"Mary\"  \"Smith\" \"222-222-222\" ..." } ;
-
-ARTICLE: { "sqlite" "tuple-db-deleting" } "Deleting instances"
-"Given a tuple with the delegate set to 'persistent' (ie. One already stored in the database) you can delete it from the database with " { $link delete-tuple } ":"
-{ $code "db get f \"Smith\" f <person> find-tuples [ db get swap delete-tuple ] each" } ;
-
-ARTICLE: { "sqlite" "tuple-db-closing" } "Closing the database"
-"It's important to close the sqlite database when you've finished using it. The word for this is " { $link sqlite-close } ":"
-{ $code "db get sqlite-close" } ;
-
-ARTICLE: { "sqlite" "tuple-db" } "Tuple Database Library"
-"The version of sqlite required by this library is version 3 or greater. This library allows storing Factor tuples in a sqlite database. It provides words to create, read update and delete these entries as well as simple searching."
-$nl
-"The library is in a very early state and is likely to change quite a bit in the near future. Its most notable omission is it cannot currently handle relationships between tuples." 
-{ $subsection { "sqlite" "tuple-db-loading" } } 
-{ $subsection { "sqlite" "tuple-db-usage" } } 
-{ $subsection { "sqlite" "tuple-db-mappings" } } 
-{ $subsection { "sqlite" "tuple-db-create" } } 
-{ $subsection { "sqlite" "tuple-db-insert" } } 
-{ $subsection { "sqlite" "tuple-db-finding" } } 
-{ $subsection { "sqlite" "tuple-db-updating" } } 
-{ $subsection { "sqlite" "tuple-db-inserting-or-updating" } } 
-{ $subsection { "sqlite" "tuple-db-deleting" } } 
-{ $subsection { "sqlite" "tuple-db-closing" } } 
-;
-
-HELP: default-mapping 
-{ $values { "class" "symbol for the tuple class" } 
-          { "mapping" "a mapping object" } 
-}
-{ $description "Given a tuple class, create a default mappings object. This is used to associate field names in the tuple with SQL statement field names, etc." } 
-{ $see-also { "sqlite" "tuple-db" } set-mapping } ;
-
-HELP: set-mapping 
-{ $values { "mapping" "a mapping object" } 
-}
-{ $description "Store a database mapping so that the tuple-db system knows how to store instances of the tuple in the database." } 
-{ $see-also { "sqlite" "tuple-db" } default-mapping } ;
-
-HELP: create-tuple-table
-{ $values { "db" "a database object" } { "class" "symbol for the tuple class" }
-}
-{ $description "Create the database table to store intances of the given tuple." } 
-{ $see-also { "sqlite" "tuple-db" } default-mapping get-mapping } ;
-
-HELP: insert-tuple
-{ $values { "db" "a database object" } { "tuple" "an instance of a tuple" }
-}
-{ $description "Insert the tuple instance into the database. It is assumed that this tuple does not currently exist in the database." } 
-{ $see-also { "sqlite" "tuple-db" } insert-tuple update-tuple find-tuples delete-tuple save-tuple } ;
-
-HELP: find-tuples
-{ $values { "db" "a database object" } { "tuple" "an instance of a tuple" } { "seq" "a sequence of tuples" } }
-{ $description "Return a sequence of all tuples in the database that match the tuple provided as a template. All fields in the tuple must match the entries in the database, except for those set to 'f'." } 
-{ $see-also { "sqlite" "tuple-db" } insert-tuple update-tuple find-tuples delete-tuple save-tuple } ;
-
-HELP: update-tuple
-{ $values { "db" "a database object" } { "tuple" "an instance of a tuple" }
-}
-{ $description "Update the database record for this tuple instance. The tuple must have previously been obtained from the database, or inserted into it. It must have a delegate of 'persistent' with the key field set (which is done by the find and insert operations)." } 
-{ $see-also { "sqlite" "tuple-db" } insert-tuple update-tuple find-tuples delete-tuple save-tuple } ;
-
-HELP: save-tuple
-{ $values { "db" "a database object" } { "tuple" "an instance of a tuple" }
-}
-{ $description "Insert or Update the tuple instance depending on whether it has a persistent delegate." } 
-{ $see-also { "sqlite" "tuple-db" } insert-tuple update-tuple find-tuples delete-tuple save-tuple } ;
-
-HELP: delete-tuple
-{ $values { "db" "a database object" } { "tuple" "an instance of a tuple" }
-}
-{ $description "Delete this tuple instance from the database. The tuple must have previously been obtained from the database, or inserted into it. It must have a delegate of 'persistent' with the key field set (which is done by the find and insert operations)." } 
-{ $see-also { "sqlite" "tuple-db" } insert-tuple update-tuple find-tuples delete-tuple save-tuple } ;
-
-ABOUT: { "sqlite" "tuple-db" } 
\ No newline at end of file
diff --git a/extra/sqlite/tuple-db/tuple-db-tests.factor b/extra/sqlite/tuple-db/tuple-db-tests.factor
deleted file mode 100644 (file)
index 8ed2631..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-! Copyright (C) 2005 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-
-IN: temporary
-USING: io io.files kernel sequences namespaces
-hashtables sqlite sqlite.tuple-db math words tools.test ;
-
-TUPLE: testdata one two ;
-
-C: <testdata> testdata
-
-testdata default-mapping set-mapping
-
-"libs/sqlite/test.db" resource-path [
-
-    db get testdata create-tuple-table
-
-    [ "two" { } ] [
-    db get "one" "two" <testdata> insert-tuple
-    db get "one" f <testdata> find-tuples 
-    first [ testdata-two ] keep
-    db get swap delete-tuple    
-    db get "one" f <testdata> find-tuples 
-    ] unit-test
-
-    [ "junk" ] [
-    db get "one" "two" <testdata> insert-tuple
-    db get "one" f <testdata> find-tuples 
-    first  
-    "junk" over set-testdata-two
-    db get swap update-tuple
-    db get "one" f <testdata> find-tuples 
-    first [ testdata-two ] keep
-    db get swap delete-tuple      
-    ] unit-test
-
-    db get testdata drop-tuple-table
-] with-sqlite
-
diff --git a/extra/sqlite/tuple-db/tuple-db.factor b/extra/sqlite/tuple-db/tuple-db.factor
deleted file mode 100644 (file)
index c37a49d..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-! Copyright (C) 2005 Chris Double.
-!
-! A tuple that is persistent has its delegate set as 'persistent'.
-! 'persistent' holds the numeric rowid for that tuple in its table.
-IN: sqlite.tuple-db
-USING: io kernel sequences namespaces slots classes slots.private
-assocs math words generic sqlite math.parser ;
-
-! Each slot in a tuple that is storable in the database has
-! an instance of a db-field object the gives the name of the 
-! database table and slot number in the tuple object of that field.
-TUPLE: db-field name bind-name slot type ;
-
-C: <db-field> db-field
-
-! The mapping tuple holds information on how the slots of
-! a tuple are mapped to the fields of a sqlite database. 
-TUPLE: mapping tuple table fields one-to-one one-to-many   ;
-
-C: <mapping> mapping
-
-: sanitize ( string -- string ) 
-    #! Convert a string so it can be used as a table or field name.
-    clone
-    H{ { CHAR: - CHAR: _ } { CHAR: ? CHAR: p } }
-    over substitute ;
-
-: tuple-fields ( class -- seq )
-  #! Given a tuple class return a list of the fields
-  #! within that tuple. Ignores the delegate field.
-  "slots" word-prop 1 tail [
-    [ slot-spec-name sanitize dup ":" swap append ] keep
-    slot-spec-offset
-    "text"
-    <db-field>
-  ] map ;
-
-: default-mapping ( class -- mapping )  
-  #! Given a tuple class, create a default mappings object. It assumes
-  #! there are no one-to-one or one-to-many relationships.
-  dup [ word-name sanitize ] keep tuple-fields f f <mapping> ;
-
-! The mappings variable holds a hashtable mapping the tuple symbol
-! to the mapping object, describing how that tuple is stored
-! in the database.
-SYMBOL: mappings
-
-: init-mappings ( -- )
-  H{ } mappings set-global ;
-
-: get-mappings ( -- hashtable )
-  mappings get-global ;
-
-: set-mapping ( mapping -- )
-  #! Store a database mapping so that the persistence system 
-  #! knows how to store instances of the relevant tuple in the database.
-  dup mapping-tuple get-mappings set-at ;
-
-: get-mapping ( class -- mapping )
-  #! Return the database mapping for the given tuple class.
-  get-mappings at ;
-
-! The 'persistent' tuple will be set to the delegate of any tuple
-! instance stored in the database. It contains the database key
-! of the row in the database table for the instance or 'f' if it has
-! not yet been stored in the database. It also contains the 'mapping'
-! object used to translate the fields of the tuple to the database fields.
-TUPLE: persistent mapping key ;
-: <persistent> ( tuple -- persistent )
-  persistent construct-empty
-  >r class get-mapping r> 
-  [ set-persistent-mapping ] keep ;
-
-: make-persistent ( tuple -- tuple )
-  #! Convert the tuple into something that can be stored
-  #! into a database by setting its delegate to 'persistent'.
-  [ <persistent> ] keep 
-  [ set-delegate ] keep ;
-
-
-: comma-fields ( mapping quot -- string )
-  #! Given a mapping, call quot on each field in
-  #! the mapping. The contents of quot should call ',' or '%'
-  #! to generate output. The output of each quot call
-  #! seperated by commas is returned as a string. 'quot' should be
-  #! stack effect ( field -- ).
-  >r mapping-fields r> [ "" make ] curry map "," join ; inline
-
-GENERIC: create-sql ( mapping -- string )
-M: mapping create-sql ( mapping -- string )
-  #! Return the SQL used to create a table for storing this type of tuple.
-  [
-    "create table " % dup mapping-table % 
-    " (" % 
-    [ dup db-field-name % " " % db-field-type % ] comma-fields %
-    ");" %
-  ] "" make ;
-
-GENERIC: drop-sql ( mapping -- string )
-M: mapping drop-sql ( mapping -- string )
-  #! Return the SQL used to drop the table for storing this type of tuple.
-  [
-    "drop table " % mapping-table % ";" %
-  ] "" make ;
-
-GENERIC: insert-sql ( mapping -- string )
-M: mapping insert-sql ( mapping -- string )
-  #! Return the SQL used to insert a tuple into a table
-  [
-    "insert into " % dup mapping-table %
-    " values(" %
-    [ db-field-bind-name % ] comma-fields %
-    ");" %
-  ] "" make ;
-
-GENERIC: delete-sql ( mapping -- string )
-M: mapping delete-sql ( mapping -- string )
-  #! Return the SQL used to delete a tuple from a table
-  [
-    "delete from " % mapping-table %
-    " where ROWID=:rowid;" % 
-  ] "" make ;
-
-GENERIC: update-sql ( mapping -- string )
-M: mapping update-sql ( mapping -- string )
-  #! Return the SQL used to update the tuple
-  [
-    "update " % dup mapping-table %
-    " set " %
-    [ dup db-field-name % "=" % db-field-bind-name % ] comma-fields %
-    " where ROWID=:rowid;" %
-  ] "" make ;
-
-GENERIC: select-sql ( tuple mapping -- select )
-M: mapping select-sql ( tuple mapping -- select )
-  #! Return the SQL used to select a series of tuples from the database. It
-  #! will select based on only the filled in fields of the tuple (ie. all non-f).
-  [
-    "select ROWID,* from " % dup mapping-table %
-    mapping-fields [ ! tuple field
-      swap over db-field-slot slot ! field value
-      [
-        [ dup db-field-name % "=" % db-field-bind-name % ] "" make        
-      ] [
-        drop f
-      ] if
-    ] with map [ ] subset dup length 0 > [
-      " where " % 
-      " and " join % 
-    ] [
-      drop
-    ] if
-    ";" %
-  ] "" make ;
-
-: execute-update-sql ( db string -- )
-  #! Execute the SQL, which should contain a database update
-  #! statement (update, insert, create, etc). Ignore the result.
-  sqlite-prepare dup [ drop ] sqlite-each sqlite-finalize ;
-
-: create-tuple-table ( db class -- )
-  #! Create the table for the tuple class.
-  get-mapping create-sql execute-update-sql ;
-
-: drop-tuple-table ( db class -- )
-  #! Create the table for the tuple class.
-  get-mapping drop-sql execute-update-sql ;
-
-: bind-for-insert ( statement tuple -- )
-  #! Bind the fields in the tuple to the fields in the 
-  #! prepared insert statement.
-  dup class get-mapping mapping-fields [ ! statement tuple field
-    [ db-field-slot slot ] keep ! statement value field
-    db-field-bind-name swap ! statement name value
-    >r dupd r> sqlite-bind-text-by-name     
-  ] with each drop ;  
-
-: bind-for-select ( statement tuple -- )
-  #! Bind the fields in the tuple to the fields in the 
-  #! prepared select statement.
-  dup class get-mapping mapping-fields [ ! statement tuple field
-    [ db-field-slot slot ] keep ! statement value field
-    over [
-      db-field-bind-name swap ! statement name value
-      >r dupd r> sqlite-bind-text-by-name     
-    ] [ 
-      2drop 
-    ] if
-  ] with each drop ;  
-
-: bind-for-update ( statement tuple -- )
-  #! Bind the fields in the tuple to the fields in the 
-  #! prepared update statement.
-  2dup bind-for-insert
-  >r ":rowid" r> persistent-key sqlite-bind-text-by-name ;
-
-: bind-for-delete ( statement tuple -- )
-  #! Bind the fields in the tuple to the fields in the 
-  #! prepared delete statement.
-  >r ":rowid" r> persistent-key sqlite-bind-text-by-name ;
-
-: (insert-tuple) ( db tuple -- )
-  #! Insert this tuple instance into the database. Note that
-  #! it inserts only this instance, and not any one-to-one or
-  #! one-to-many fields.
-  dup class get-mapping insert-sql ! db tuple sql
-  swapd sqlite-prepare swap ! statement tuple
-  dupd bind-for-insert ! statement
-  dup [ drop ] sqlite-each
-  sqlite-finalize ;
-  
-: insert-tuple ( db tuple -- )
-  #! Insert this tuple instance into the database and
-  #! update the rowid of the insert in the tuple.
-  [ (insert-tuple) ] 2keep
-  >r sqlite-last-insert-rowid number>string r> make-persistent set-persistent-key ;
-
-: update-tuple ( db tuple -- )
-  #! Update this tuple instance in the database. The tuple should have
-  #! a delegate of 'persistent' with the key field set.
-  dup class get-mapping update-sql ! db tuple sql
-  swapd sqlite-prepare swap ! statement tuple
-  dupd bind-for-update ! statement
-  dup [ drop ] sqlite-each
-  sqlite-finalize ;
-
-: save-tuple ( db tuple -- )
-  #! Insert or Update the tuple instance depending on whether it
-  #! has a persistent delegate.
-  dup delegate [ update-tuple ] [ insert-tuple ] if ;
-
-: delete-tuple ( db tuple -- )
-  #! Delete this tuple instance from the database. The tuple should have
-  #! a delegate of 'persistent' with the key field set.
-  dup class get-mapping delete-sql ! db tuple sql
-  swapd sqlite-prepare swap ! statement tuple
-  dupd bind-for-delete ! statement
-  dup [ drop ] sqlite-each
-  sqlite-finalize ;
-
-: restore-tuple ( statement tuple -- tuple )
-  #! Using 'tuple' as a template, clone it and 
-  #! return the clone with fields set to the values from the
-  #! database.
-  clone dup class get-mapping mapping-fields 1 swap 
-  [ ! statement tuple index field )
-    over 1+ >r ! statement tuple index field r: index+1
-    db-field-slot >r ! statement tuple index r: index+1 slot
-    pick swap column-text ! statement tuple value r: index+1 slot
-    over r> set-slot r> ! statement tuple index+1
-  ] each ! statement tuple index
-  drop make-persistent swap 0 column-text swap [ set-persistent-key ] keep ; 
-
-: find-tuples ( db tuple -- seq )
-  #! Return a sequence of all tuples in the database that
-  #! match the tuple provided as a template. All fields in the
-  #! tuple must match the entries in the database, except for 
-  #! those set to 'f'. 
-  dup class get-mapping dupd select-sql ! db tuple sql
-  swapd sqlite-prepare swap ! statement tuple
-  2dup bind-for-select ! statement tuple
-  [
-    over [ ! tuple statement
-      over restore-tuple ,
-    ] sqlite-each 
-  ] { } make nip ! statement tuple accum
-  swap sqlite-finalize ;
-  
-get-mappings [ init-mappings ] unless 
diff --git a/extra/webapps/article-manager/article-manager-docs.factor b/extra/webapps/article-manager/article-manager-docs.factor
deleted file mode 100644 (file)
index b8dc700..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-! Copyright (C) 2007 Chris Double.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: help.markup help.syntax webapps.article-manager.database ;\r
-IN: webapps.article-manager\r
-\r
-ARTICLE: { "article-manager" "loading" } "Loading Article Manager"\r
-"To start an instance of the article-manager furnace application:"\r
-{ $example "\"webapps.article-manager\" run" }\r
-"The article-manager database needs to be opened before it can be accessed."\r
-{ $example "open-db" } ;\r
-\r
-ARTICLE: { "article-manager" "security" } "Article Manager Security"\r
-"To setup an article manager site you need to authenticate under the basic-authentication realm called \"article-manager-site\". To add and edit articles you need to authenticate under the realm \"article-manager-article\". The following sets up an 'admin' user under these two realms with a password of 'password'."\r
-{ $example "H{ { \"admin\" \"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8\" } } \"article-manager-site\" add-realm\nH{ { \"admin\" \"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8\" } } \"article-manager-article\" add-realm " } \r
-"Multiple users can be added with different passwords under these realms." ;\r
-\r
-ARTICLE: { "article-manager" "setup" } "Article Manager Setup"\r
-"A site must first be setup before it can be accessed by the user. This can be access via the URL " { $url "http://site-name/responder/article-manager/setup-site/" } "\n\n" \r
-"The 'hostname' is the hostname portion of the URL used to access the site. The 'title' is what appears in the title bar. 'footer' appears at the bottom of the pages in the site and can be used for a copyright notice, etc. 'Introduction' Should be Wiky code and will appear on the first index page of the site. 'HTML' will be appended to every page just before the closing of the 'body' HTML tag. It can be used to put HTML for counters, user tracking, etc.\n\n" \r
-"The 'Ad Block' sections are used for entering HTML and Javascript code for ads that will appear in the article pages. 'Ad Block 1' appears in the left hand navigation area underneat the menu and above the 'tags' list. The other two ad blocks appear at the top of articles randomly split between either no ad and one of those two blocks." ;\r
-\r
-ARTICLE: { "article-manager" "articles" } "Adding or Editing Articles"\r
-"Articles are added or edited using the URL " { $url "http://site-name/responder/article-manager/edit-article/article-name" } ". This will bring up a form with information about the article.\n\n'Publication Date' is the date you want to appear next to the article. You can click the button next to it to select it using a popup calendar. 'Title' is the title of the article.\n\n'Status' can be 'Draft' or 'Published'. 'Draft' articles do not appear in the main index page or list of tags. They can still be accessed via the direct URL however. Note that editing an existing article will default this to 'Draft' automatically, so you'll need to change it back to 'Published' if you want it to appear.\n\n'Tags' is a space-separated list of tag names that can be used for finding articles.\n\n'Body' is the text of the article. It is in Wiky format and shows a preview below it. For more on the Wiky syntax see " { $url "http://goessner.net/articles/wiky/WikyBox.html" } " or Google for 'Wikybox'." \r
-;\r
-\r
-ARTICLE: { "article-manager" "article-manager" } "Article Manager"\r
-"The article-manager is a Furnace application used to manage and display a tagged set of articles. Each instance of the article-manager responder can run multiple sites containing different articles. Follow these instructions to set up an article manager instance."\r
-{ $subsection { "article-manager" "loading" } } \r
-{ $subsection { "article-manager" "security" } } \r
-{ $subsection { "article-manager" "setup" } } \r
-{ $subsection { "article-manager" "articles" } }  ;\r
-\r
-ABOUT: { "article-manager" "article-manager" } 
\ No newline at end of file
diff --git a/extra/webapps/article-manager/article-manager.factor b/extra/webapps/article-manager/article-manager.factor
deleted file mode 100644 (file)
index 66e7faf..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-! Copyright (C) 2007 Chris Double. All Rights Reserved.
-! See http://factorcode.org/license.txt for BSD license.
-!
-USING: kernel furnace sqlite.tuple-db webapps.article-manager.database 
-       sequences namespaces math arrays assocs quotations io.files
-       http.server http.basic-authentication http.server.responders 
-       webapps.file html html.elements io ;
-IN: webapps.article-manager
-
-: current-site ( -- site )
-  host get-site* ;
-
-: render-titled-page* ( model body-template head-template title -- )
-  [ 
-      [ render-component ] swap [ <title> write </title> f rot render-component ] curry html-document
-  ] serve-html ;
-
-TUPLE: template-args arg1 ;
-  
-C: <template-args> template-args
-
-: setup-site ( -- )
-  "article-manager-site" [
-    current-site "setup-site" "edit-head" "Setup Site" render-titled-page* 
-  ] with-basic-authentication ;
-
-\ setup-site { } define-action
-
-: site-index ( -- )
-  host get-site [
-    current-site "index" "head" pick site-title render-titled-page* 
-  ] [  
-    "404" "Unknown Site" httpd-error 
-  ] if ;
-
-! An action called 'site-index' 
-\ site-index { } define-action
-
-: requested-article-path ( action -- url )
-  length "responder-url" get length 1 + + "request" get swap tail ;
-
-: requested-article-url ( action -- url )
-  requested-article-path CHAR: / over index dup [
-    head
-  ] [
-    drop
-  ] if ;
-
-: requested-article-filename ( action -- url )
-  requested-article-path CHAR: / over last-index 1+ tail ;
-
-: tag ( -- )
-  current-site
-  "tag" requested-article-url host swap get-tag dup >r
-  2array <template-args> "tag" "head" r> tag-title render-titled-page* ;
-
-! An action for tags
-\ tag { } define-action 
-
-: article ( -- )
-  current-site 
-  "article" requested-article-url host swap article-by-url dup >r
-  2array <template-args>
-  "article" "head" r> article-title render-titled-page* ;
-
-! An action for articles
-\ article { } define-action 
-
-
-: edit-article ( -- )
-  "article-manager-article" [
-    "edit-article" requested-article-url host swap article-by-url* 
-    "edit-article" "edit-head" "Edit" render-titled-page* 
-  ] with-basic-authentication ;
-
-! An action for articles
-\ edit-article { } define-action 
-
-: update-article ( pubdate title status tags body url -- )
-  "article-manager-article" [
-    host swap article-by-url* 
-    [ set-article-body ] keep
-    [ set-article-tags ] keep
-    [ set-article-status ] keep
-    [ set-article-title ] keep
-    [ set-article-pubdate ] keep
-    [ save-article ] keep
-    article-url "responder-url" get "article/" rot 3append "/" append permanent-redirect
-  ] with-basic-authentication ;
-  
-
-\ update-article { { "pubdate" } { "title" } { "status" } { "tags" } { "body" } { "url" } } define-action 
-
-: update-article-link ( -- link )
-  "responder-url" get "update-article" append ;
-
-: remove-article ( url -- )
-  "article-manager-article" [
-    host swap article-by-url [ remove-article ] when*
-    "responder-url" get permanent-redirect
-  ] with-basic-authentication ;
-
-\ remove-article { { "url" } } define-action 
-
-: update-site ( ad3 ad2 ad1 html title intro footer hostname -- )
-  "article-manager-site" [
-    dup get-site* 
-    [ set-site-hostname ] keep
-    [ set-site-footer ] keep
-    [ set-site-intro ] keep
-    [ set-site-title ] keep
-    [ set-site-html ] keep
-    [ set-site-ad1 ] keep
-    [ set-site-ad2 ] keep
-    [ set-site-ad3 ] keep
-    get-db swap save-tuple 
-    "responder-url" get permanent-redirect 
-  ] with-basic-authentication ;
-
-
-\ update-site { { "ad3" } { "ad2" } { "ad1" } { "html" } { "title" } { "intro" } { "footer" } { "hostname" } } define-action 
-
-: update-site-link ( -- link )
-  "responder-url" get "update-site" append ;
-
-
-SYMBOL: redirections
-
-: redirector ( url quot -- )
-  over redirections get H{ } or at dup [ 
-    2nip permanent-redirect
-  ] [
-    drop call
-  ] if ;
-
-: install-redirector ( hash responder host -- )
-  vhost [ responder ] bind [
-    "post" get [ redirector ] curry "post" set
-    "get" get [ redirector ] curry "get" set
-    redirections set
-  ] bind ;
-
-: get-redirections ( responder host -- hash )
-  vhost [ responder ] bind [ redirections get ] bind ;
-
-: article-manager-web-app ( -- )
-  ! Create the web app, providing access 
-  ! under '/responder/article-manager' which calls the
-  ! 'site-index' action.
-  "article-manager" "site-index" "extra/webapps/article-manager/furnace/" web-app
-
-  ! An URL to the javascript and css resource files
-  "article-manager-resources" [
-    [
-      "extra/webapps/article-manager/resources/" resource-path "doc-root" set
-      file-responder
-    ] with-scope
-  ] add-simple-responder ;
-
-MAIN: article-manager-web-app
-
-! Just for testing. Password is 'password'
-! H{ { "admin" "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8" } } "article-manager-site" add-realm 
-! H{ { "admin" "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8" } } "article-manager-article" add-realm 
-
diff --git a/extra/webapps/article-manager/authors.txt b/extra/webapps/article-manager/authors.txt
deleted file mode 100644 (file)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/webapps/article-manager/database/authors.txt b/extra/webapps/article-manager/database/authors.txt
deleted file mode 100755 (executable)
index 44b06f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Chris Double
diff --git a/extra/webapps/article-manager/database/database.factor b/extra/webapps/article-manager/database/database.factor
deleted file mode 100644 (file)
index 8463c25..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-! Copyright (C) 2007 Chris Double. All Rights Reserved.
-! See http://factorcode.org/license.txt for BSD license.
-!
-USING: kernel sqlite sqlite.tuple-db io.files sequences splitting
-       hashtables ;
-IN: webapps.article-manager.database
-
-TUPLE: site hostname title intro footer html ad1 ad2 ad3 ;
-
-C: <site> site
-
-TUPLE: article hostname url pubdate title status body tags ;
-
-C: <article> article
-
-TUPLE: tag hostname name title description ;
-
-C: <tag> tag
-
-site default-mapping set-mapping
-article default-mapping set-mapping
-tag default-mapping set-mapping 
-
-: db ( -- object )
-  { f } ;          
-
-: set-db ( value -- )
-  0 db set-nth ;
-
-
-: get-db ( -- value )
-  0 db nth ;
-
-: db-filename ( -- name )
-  "extra/webapps/article-manager/article-manager.db" resource-path ;
-
-: open-db ( -- )
-  get-db [ sqlite-close ] when*
-  db-filename exists? [
-    db-filename sqlite-open set-db 
-  ] [
-    db-filename sqlite-open dup set-db
-    dup article create-tuple-table
-    dup site create-tuple-table
-    tag create-tuple-table
-  ] if ;
-
-: close-db ( -- )
-  get-db [ sqlite-close ] when*
-  f set-db ;
-
-: all-sites ( -- sites )
-  get-db f f f f f f f f <site> find-tuples ;
-
-: get-site ( hostname -- site )
-  f f f f f f f <site> get-db swap find-tuples dup empty? [ 
-    drop f
-  ] [ 
-    first 
-  ] if ;
-
-: get-site* ( hostname -- site )
-  f f f f f f f <site> dup get-db swap find-tuples dup empty? [ 
-    drop site-hostname dup "" "" "" "" "" "" <site> 
-  ] [ 
-    nip first 
-  ] if ;
-
-: get-tag ( hostname name -- tag )
-  f f <tag> dup get-db swap find-tuples dup empty? [ 
-    drop 
-    [ dup tag-name swap set-tag-title ] keep
-    [ "" swap set-tag-description ] keep
-  ] [ 
-    nip first 
-  ] if ;
-
-: add-article ( article -- )
-  get-db swap insert-tuple ;
-
-: remove-article ( article -- )
-  get-db swap delete-tuple ;
-
-: save-article ( article -- )
-  get-db swap save-tuple ;
-
-: all-articles ( hostname -- seq )
-  f f f "published" f f <article> get-db swap find-tuples ;
-
-: article-by-url ( hostname url -- article )
-  f f f f f <article> get-db swap find-tuples dup empty? [
-    drop f
-  ] [ 
-    first
-  ] if ;
-
-: article-by-url* ( hostname url -- article )
-  f f f f f <article> dup get-db swap find-tuples dup empty? [
-    drop 
-    [ "" swap set-article-pubdate ] keep
-    [ "" swap set-article-title ] keep
-    [ "draft" swap set-article-status ] keep
-    [ "" swap set-article-body ] keep
-    [ "" swap set-article-tags ] keep
-  ] [ 
-    nip first
-  ] if ;
-
-: tags-for-article ( article -- seq )
-  article-tags " " split [ empty? not ] subset ;
-
-: all-tags ( hostname -- seq )
-  all-articles [ tags-for-article ] map concat prune ;
-
-: articles-for-tag ( tag -- seq )
-  [ tag-name ] keep tag-hostname all-articles [
-    tags-for-article member?
-  ] with subset ;
diff --git a/extra/webapps/article-manager/furnace/article.furnace b/extra/webapps/article-manager/furnace/article.furnace
deleted file mode 100644 (file)
index c3a1926..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<% USING: kernel io http.server namespaces sequences math html.elements random furnace webapps.article-manager webapps.article-manager.database html.elements ; %>
-    <div id="banner"><h1><% "arg1" get second article-title write %></h1></div>
-    <% "navigation" render-template %>
-    <div id="article">
-    <% 100 random 25 > [ "arg1" get first 100 random 50 > [ site-ad2 ] [ site-ad3 ] if write-html ] when %>
-    <% "arg1" get second article-body write-html %>
-
-       <h1>Tags</h1>
-        <% "arg1" get second tags-for-article <template-args> "tags" render-component %>
-</div>
-<p class="footer"></p>
-<p id="copyright"><% "arg1" get first site-footer write %></p>
-<% "arg1" get first site-html write-html %>
diff --git a/extra/webapps/article-manager/furnace/edit-article.furnace b/extra/webapps/article-manager/furnace/edit-article.furnace
deleted file mode 100644 (file)
index 76ec95f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<% USING: kernel io namespaces furnace webapps.article-manager html.elements ; %>
-<script type="text/javascript">
-function transformWiky() {
-  var wiky = $('#wiky').get(0).value;
-  var html = Wiky.toHtml(wiky);
-  $('#html').get(0).value = html;
-  $('#preview').html(html);
-}
-function transformHtml() {
-  var html = $('#preview').get(0).innerHTML;
-  var wiky = Wiky.toWiki(html);
-  $('#wiky').get(0).value = wiky;
-  $('#html').get(0).value = html;
-}
-</script>
-<form method="post" action="<% update-article-link write %>">
-  <table>
-    <tr><td>URL:</td><td><input type="hidden" name="url" value="<% "url" get write %>"/><input type="text" name="readonlyurl" disabled="disabled" value="<% "url" get write %>"/></td></tr>
-    <tr><td>Publication Date:</td><td><input id="pubdate" type="text" name="pubdate" value="<% "pubdate" get write %>"/> <button id="calendar">[c]</button></td></tr>
-    <tr><td>Title:</td><td><input type="text" name="title" value="<% "title" get write %>"/></td></tr>
-    <tr><td>Status:</td><td><select name="status">
-                              <option value="draft">Draft</option>
-                              <option value="published">Published</option>
-        </td></tr>
-    <tr><td>Tags:</td><td><input type="text" name="tags" value="<% "tags" get write %>"/></td></tr>
-    <tr><td>Body:</td><td><textarea id='wiky' onkeyup="transformWiky();" rows="10" cols="80" name="wiky"></textarea></td></tr>
-    <tr><td>Preview:</td><td><input id="html" type='hidden' name="body" value=""/><div id="preview"><% "body" get write-html %></div></td></tr>
-    <tr><td colspan="2"><input type="submit" name="post" value="Post"/></td></tr>
-</form>
-<script type="text/javascript">
-transformHtml();
-Calendar.setup(
-  {
-    inputField: "pubdate",
-    ifFormat  : "%Y/%m/%d %H:%M",
-    showsTime : true,
-    timeFormat: "24",
-    button: "calendar"
-  });  
-</script>
-
diff --git a/extra/webapps/article-manager/furnace/edit-head.furnace b/extra/webapps/article-manager/furnace/edit-head.furnace
deleted file mode 100644 (file)
index c1d55ae..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/style.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.lang.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.math.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/jscalendar-1.0/calendar-win2k-1.css"/>\r
-<script type="text/javascript" src="/responder/article-manager-resources/jquery.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/wiky.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/wiky.lang.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/wiky.math.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/jscalendar-1.0/calendar.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/jscalendar-1.0/lang/calendar-en.js"></script>\r
-<script type="text/javascript" src="/responder/article-manager-resources/jscalendar-1.0/calendar-setup.js"></script>\r
diff --git a/extra/webapps/article-manager/furnace/head.furnace b/extra/webapps/article-manager/furnace/head.furnace
deleted file mode 100644 (file)
index 21a4e9c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/style.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.lang.css"/>\r
-<link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/wiky.math.css"/>\r
diff --git a/extra/webapps/article-manager/furnace/index.furnace b/extra/webapps/article-manager/furnace/index.furnace
deleted file mode 100644 (file)
index da48d32..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<% USING: kernel sequences furnace webapps.article-manager webapps.article-manager.database io namespaces http.server sorting html.elements math ; %>
-<html>
-    <head>
-       <title><% "title" get write %></title>
-       <link rel="stylesheet" type="text/css" href="/responder/article-manager-resources/style.css">
-</head>
-    <body>
-       <div id="banner"><h1><% "title" get write %></h1></div>
-    <% "navigation" render-template %>
-<div id="article">
-  <% "intro" get write-html %>
-    <h1>Recent Articles</h1>
-    <ul>
-      <% host all-articles [ >r article-pubdate r> article-pubdate swap <=> ] sort [ %>
-       <li><a href="article/<% dup article-url write "/" write %>"><% dup article-title write %></a> (<% article-pubdate write %>)</li>
-      <% ] each %>
-    </ul>
-
-       <h1>Tags</h1>
-       <p>The information in this site is 'tagged'. By searching or
-           selecting one of the tags below you can find information about
-           that area. A search facility will be added soon
-           but in the meantime, Google is likely to provide
-           reasonable results.
-       </p>
-        <% host all-tags <template-args> "tags" render-component %>
-</div>
-<p class="footer"></p>
-<p id="copyright"><% "footer" get write %></p>
-    <% "html" get write-html %>
-    </body>
-</html>
\ No newline at end of file
diff --git a/extra/webapps/article-manager/furnace/navigation.furnace b/extra/webapps/article-manager/furnace/navigation.furnace
deleted file mode 100644 (file)
index b42a384..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<% USING: kernel furnace webapps.article-manager webapps.article-manager.database io namespaces http.server html.elements ; %>
-    <div id="navigation">
-    <ul>
-     <li><a href="<% "responder-url" get write %>">Home</a></li>
-    </ul>
-    <% current-site site-ad1 write-html %>
-    <h1>Tags</h1>
-    <% host all-tags <template-args> "tags" render-component %>
-    </div>
diff --git a/extra/webapps/article-manager/furnace/setup-site.furnace b/extra/webapps/article-manager/furnace/setup-site.furnace
deleted file mode 100644 (file)
index 8922b8d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<% USING: kernel io namespaces furnace webapps.article-manager html.elements ; %>
-<script type="text/javascript">
-function transformWiky() {
-  var wiky = $('#wiky').get(0).value;
-  var html = Wiky.toHtml(wiky);
-  $('#html').get(0).value = html;
-  $('#preview').html(html);
-}
-function transformHtml() {
-  var html = $('#preview').get(0).innerHTML;
-  var wiky = Wiky.toWiki(html);
-  $('#wiky').get(0).value = wiky;
-  $('#html').get(0).value = html;
-}
-</script>
-<h1>Setup New Site</h1>
-<form method="post" action="<% update-site-link write %>">
-  <table>
-    <tr><td>Hostname:</td><td><input type="text" name="hostname" value="<% "hostname" get write %>"/></td></tr>
-    <tr><td>Title:</td><td><input type="text" name="title" value="<% "title" get write %>"/></td></tr>
-    <tr><td>footer:</td><td><input type="text" name="footer" value="<% "footer" get write %>"/></td></tr>
-    <tr><td>Introduction:</td><td><textarea id='wiky' onkeyup="transformWiky();" rows="10" cols="80"></textarea></td></tr>
-    <tr><td>Preview:</td><td><input id="html" type="hidden" name="intro" value=""/><div id="preview"><% "intro" get write-html %></div></td></tr>
-    <tr><td>HTML:</td><td><textarea name="html" rows="10" cols="80"><% "html" get write %></textarea></td></tr>
-    <tr><td>Ad Block 1:</td><td><textarea name="ad1" rows="10" cols="80"><% "ad1" get write %></textarea></td></tr>
-    <tr><td>Ad Block 2:</td><td><textarea name="ad2" rows="10" cols="80"><% "ad2" get write %></textarea></td></tr>
-    <tr><td>Ad Block 3:</td><td><textarea name="ad3" rows="10" cols="80"><% "ad3" get write %></textarea></td></tr>
-    <tr><td colspan="2"><input type="submit" name="post" value="Post"/></td></tr>
-</form>
-<script type="text/javascript">
-transformHtml();
-</script>
-
diff --git a/extra/webapps/article-manager/furnace/tag.furnace b/extra/webapps/article-manager/furnace/tag.furnace
deleted file mode 100644 (file)
index 4e04196..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<% USING: kernel io http.server namespaces sequences math html furnace webapps.article-manager.database webapps.article-manager html.elements ; %>
-
-       <div id="banner"><h1><% "arg1" get second tag-title write %></h1></div>
-    <% "navigation" render-component %>
-       <div id="article">
-       <h1><% "arg1" get second tag-title write %></h1>
-        <% "arg1" get second tag-description write-html %>
-       <ul>
-          <% "arg1" get second articles-for-tag [ %>
-           <li><a href="<% "responder-url" get write "article/" write dup article-url write "/" write %>"><% dup article-title write %></a> (<% article-pubdate write %>)</li></a></li>
-         <% ] each %>
-       </ul>    
-       </div>
-<p class="footer"></p>
-<p id="copyright"><% "arg1" get first site-footer write %></p>
-<% "arg1" get first site-html write-html %>
diff --git a/extra/webapps/article-manager/furnace/tags.furnace b/extra/webapps/article-manager/furnace/tags.furnace
deleted file mode 100644 (file)
index 77d3656..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<% USING: kernel namespaces sequences webapps.article-manager.database io sorting ; %>
-       <ul>
-      <% "arg1" get [ <=> ] sort [ %>
-       <li><a href="<% "responder-url" get write "tag/" write dup write "/" write %>"><% write %></a></li>
-      <% ] each %>
-       </ul>
diff --git a/extra/webapps/article-manager/load.factor b/extra/webapps/article-manager/load.factor
deleted file mode 100644 (file)
index facb651..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-! Copyright (C) 2007 Chris Double. All Rights Reserved.
-! See http://factorcode.org/license.txt for BSD license.
-!
-REQUIRES: libs/furnace libs/sqlite libs/basic-authentication ;
-
-PROVIDE: apps/article-manager
-{ 
-  +files+ { 
-  "article-manager-db.factor"
-  "article-manager.factor"
-  "article-manager.facts"
-  } 
-} {
-  +tests+ { 
-  }
-}  
-{ +help+ { "article-manager" "article-manager" } } 
- ;
diff --git a/extra/webapps/article-manager/resources/jquery.js b/extra/webapps/article-manager/resources/jquery.js
deleted file mode 100644 (file)
index 2531342..0000000
+++ /dev/null
@@ -1 +0,0 @@
-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('l(1T 1z.6=="Q"){1z.Q=1z.Q;u 6=q(a,c){l(a&&1T a=="q"&&6.C.1W)v 6(17).1W(a);a=a||6.1o||17;l(a.3E)v 6(6.1X(a,[]));l(c&&c.3E)v 6(c).1V(a);l(1z==7)v 1h 6(a,c);l(a.O==1C){u m=/^[^<]*(<.+>)[^>]*$/.3d(a);l(m)a=6.3D([m[1]])}7.1n(a.O==2z||a.D&&!a.1R&&a[0]!=Q&&a[0].1R?6.1X(a,[]):6.1V(a,c));u C=19[19.D-1];l(C&&1T C=="q")7.W(C);v 7};l(1T $!="Q")6.44$=$;u $=6;6.C=6.8b={3E:"1.0.3",5J:q(){v 7.D},1n:q(23){l(23&&23.O==2z){7.D=0;[].1k.16(7,23);v 7}G v 23==Q?6.1X(7,[]):7[23]},W:q(C,1g){v 6.W(7,C,1g)},8g:q(15){u 2j=-1;7.W(q(i){l(7==15)2j=i});v 2j},1t:q(1L,Y,B){v 1L.O!=1C||Y!=Q?7.W(q(){l(Y==Q)I(u E 1r 1L)6.1t(B?7.1a:7,E,1L[E]);G 6.1t(B?7.1a:7,1L,Y)}):6[B||"1t"](7[0],1L)},1f:q(1L,Y){v 7.1t(1L,Y,"26")},2B:q(e){e=e||7;u t="";I(u j=0;j<e.D;j++){u r=e[j].2f;I(u i=0;i<r.D;i++)l(r[i].1R!=8)t+=r[i].1R!=1?r[i].4Z:6.C.2B([r[i]])}v t},1Y:q(){u a=6.3D(19);v 7.W(q(){u b=a[0].3f(T);7.1i.2Y(b,7);24(b.2a)b=b.2a;b.4e(7)})},5g:q(){v 7.2T(19,T,1,q(a){7.4e(a)})},5h:q(){v 7.2T(19,T,-1,q(a){7.2Y(a,7.2a)})},5i:q(){v 7.2T(19,U,1,q(a){7.1i.2Y(a,7)})},5j:q(){v 7.2T(19,U,-1,q(a){7.1i.2Y(a,7.8j)})},4q:q(){v 7.1n(7.33.8k())},1V:q(t){v 7.2n(6.2r(7,q(a){v 6.1V(t,a)}),19)},4f:q(4D){v 7.2n(6.2r(7,q(a){v a.3f(4D!=Q?4D:T)}),19)},1c:q(t){v 7.2n(t.O==2z&&6.2r(7,q(a){I(u i=0;i<t.D;i++)l(6.1c(t[i],[a]).r.D)v a;v U})||t.O==8l&&(t?7.1n():[])||1T t=="q"&&6.2O(7,t)||6.1c(t,7).r,19)},2t:q(t){v 7.2n(t.O==1C?6.1c(t,7,U).r:6.2O(7,q(a){v a!=t}),19)},2g:q(t){v 7.2n(6.1X(7,t.O==1C?6.1V(t):t.O==2z?t:[t]),19)},4E:q(2u){v 2u?6.1c(2u,7).r.D>0:U},2T:q(1g,22,2X,C){u 4f=7.5J()>1;u a=6.3D(1g);v 7.W(q(){u 15=7;l(22&&7.2p.2b()=="8m"&&a[0].2p.2b()!="62"){u 29=7.4S("29");l(!29.D){15=17.5N("29");7.4e(15)}G 15=29[0]}I(u i=(2X<0?a.D-1:0);i!=(2X<0?2X:a.D);i+=2X){C.16(15,[4f?a[i].3f(T):a[i]])}})},2n:q(a,1g){u C=1g&&1g[1g.D-1];u 2d=1g&&1g[1g.D-2];l(C&&C.O!=1v)C=M;l(2d&&2d.O!=1v)2d=M;l(!C){l(!7.33)7.33=[];7.33.1k(7.1n());7.1n(a)}G{u 1Z=7.1n();7.1n(a);l(2d&&a.D||!2d)7.W(2d||C).1n(1Z);G 7.1n(1Z).W(C)}v 7}};6.1y=6.C.1y=q(15,E){l(19.D>1&&(E===M||E==Q))v 15;l(!E){E=15;15=7}I(u i 1r E)15[i]=E[i];v 15};6.1y({5C:q(){6.65=T;6.W(6.2e.5r,q(i,n){6.C[i]=q(a){u L=6.2r(7,n);l(a&&a.O==1C)L=6.1c(a,L).r;v 7.2n(L,19)}});6.W(6.2e.2o,q(i,n){6.C[i]=q(){u a=19;v 7.W(q(){I(u j=0;j<a.D;j++)6(a[j])[n](7)})}});6.W(6.2e.W,q(i,n){6.C[i]=q(){v 7.W(n,19)}});6.W(6.2e.1c,q(i,n){6.C[n]=q(23,C){v 7.1c(":"+n+"("+23+")",C)}});6.W(6.2e.1t,q(i,n){n=n||i;6.C[i]=q(h){v h==Q?7.D?7[0][n]:M:7.1t(n,h)}});6.W(6.2e.1f,q(i,n){6.C[n]=q(h){v h==Q?(7.D?6.1f(7[0],n):M):7.1f(n,h)}})},W:q(15,C,1g){l(15.D==Q)I(u i 1r 15)C.16(15[i],1g||[i,15[i]]);G I(u i=0;i<15.D;i++)l(C.16(15[i],1g||[i,15[i]])===U)45;v 15},1j:{2g:q(o,c){l(6.1j.3t(o,c))v;o.1j+=(o.1j?" ":"")+c},25:q(o,c){l(!c){o.1j=""}G{u 2L=o.1j.3b(" ");I(u i=0;i<2L.D;i++){l(2L[i]==c){2L.67(i,1);45}}o.1j=2L.5Z(\' \')}},3t:q(e,a){l(e.1j!=Q)e=e.1j;v 1h 43("(^|\\\\s)"+a+"(\\\\s|$)").28(e)}},4A:q(e,o,f){I(u i 1r o){e.1a["1Z"+i]=e.1a[i];e.1a[i]=o[i]}f.16(e,[]);I(u i 1r o)e.1a[i]=e.1a["1Z"+i]},1f:q(e,p){l(p=="1G"||p=="2c"){u 1Z={},3K,3F,d=["68","6O","69","7c"];I(u i 1r d){1Z["6b"+d[i]]=0;1Z["6c"+d[i]+"6e"]=0}6.4A(e,1Z,q(){l(6.1f(e,"1u")!="20"){3K=e.6f;3F=e.6g}G{e=6(e.3f(T)).1V(":3W").5u("2J").4q().1f({3U:"1S",2H:"6i",1u:"2F",6j:"0",5l:"0"}).4H(e.1i)[0];u 31=6.1f(e.1i,"2H");l(31==""||31=="3R")e.1i.1a.2H="6k";3K=e.6l;3F=e.6m;l(31==""||31=="3R")e.1i.1a.2H="3R";e.1i.3s(e)}});v p=="1G"?3K:3F}v 6.26(e,p)},26:q(F,E,4I){u L;l(E==\'1m\'&&6.11.1p)v 6.1t(F.1a,\'1m\');l(E=="3p"||E=="2y")E=6.11.1p?"37":"2y";l(!4I&&F.1a[E]){L=F.1a[E]}G l(F.34){u 5S=E.1B(/\\-(\\w)/g,q(m,c){v c.2b()});L=F.34[E]||F.34[5S]}G l(17.3g&&17.3g.4u){l(E=="2y"||E=="37")E="3p";E=E.1B(/([A-Z])/g,"-$1").4d();u 1l=17.3g.4u(F,M);l(1l)L=1l.5P(E);G l(E==\'1u\')L=\'20\';G 6.4A(F,{1u:\'2F\'},q(){L=17.3g.4u(7,M).5P(E)})}v L},3D:q(a){u r=[];I(u i=0;i<a.D;i++){u 1M=a[i];l(1M.O==1C){u s=6.2K(1M),21=17.5N("21"),1Y=[0,"",""];l(!s.1b("<6v"))1Y=[1,"<3c>","</3c>"];G l(!s.1b("<6w")||!s.1b("<29"))1Y=[1,"<22>","</22>"];G l(!s.1b("<4t"))1Y=[2,"<22>","</22>"];G l(!s.1b("<6x")||!s.1b("<6z"))1Y=[3,"<22><29><4t>","</4t></29></22>"];21.2V=1Y[1]+s+1Y[2];24(1Y[0]--)21=21.2a;I(u j=0;j<21.2f.D;j++)r.1k(21.2f[j])}G l(1M.D!=Q&&!1M.1R)I(u n=0;n<1M.D;n++)r.1k(1M[n]);G r.1k(1M.1R?1M:17.6A(1M.6C()))}v r},2u:{"":"m[2]== \'*\'||a.2p.2b()==m[2].2b()","#":"a.3a(\'3H\')&&a.3a(\'3H\')==m[2]",":":{5o:"i<m[3]-0",5X:"i>m[3]-0",5L:"m[3]-0==i",5n:"m[3]-0==i",2h:"i==0",1N:"i==r.D-1",52:"i%2==0",53:"i%2","5L-3x":"6.1x(a,m[3]).1l","2h-3x":"6.1x(a,0).1l","1N-3x":"6.1x(a,0).1N","6D-3x":"6.1x(a).D==1",5s:"a.2f.D",5B:"!a.2f.D",5p:"6.C.2B.16([a]).1b(m[3])>=0",6E:"a.B!=\'1S\'&&6.1f(a,\'1u\')!=\'20\'&&6.1f(a,\'3U\')!=\'1S\'",1S:"a.B==\'1S\'||6.1f(a,\'1u\')==\'20\'||6.1f(a,\'3U\')==\'1S\'",6F:"!a.2P",2P:"a.2P",2J:"a.2J",3V:"a.3V || 6.1t(a, \'3V\')",2B:"a.B==\'2B\'",3W:"a.B==\'3W\'",5y:"a.B==\'5y\'",3Q:"a.B==\'3Q\'",5v:"a.B==\'5v\'",4x:"a.B==\'4x\'",5w:"a.B==\'5w\'",4w:"a.B==\'4w\'",4s:"a.B==\'4s\'",5z:"a.2p.4d().4T(/5z|3c|6L|4s/)"},".":"6.1j.3t(a,m[2])","@":{"=":"z==m[4]","!=":"z!=m[4]","^=":"z && !z.1b(m[4])","$=":"z && z.32(z.D - m[4].D,m[4].D)==m[4]","*=":"z && z.1b(m[4])>=0","":"z"},"[":"6.1V(m[2],a).D"},3B:["\\\\.\\\\.|/\\\\.\\\\.","a.1i",">|/","6.1x(a.2a)","\\\\+","6.1x(a).3z","~",q(a){u r=[];u s=6.1x(a);l(s.n>0)I(u i=s.n;i<s.D;i++)r.1k(s[i]);v r}],1V:q(t,1o){l(1o&&1o.1R==Q)1o=M;1o=1o||6.1o||17;l(t.O!=1C)v[t];l(!t.1b("//")){1o=1o.4Q;t=t.32(2,t.D)}G l(!t.1b("/")){1o=1o.4Q;t=t.32(1,t.D);l(t.1b("/")>=1)t=t.32(t.1b("/"),t.D)}u L=[1o];u 1K=[];u 1N=M;24(t.D>0&&1N!=t){u r=[];1N=t;t=6.2K(t).1B(/^\\/\\//i,"");u 36=U;I(u i=0;i<6.3B.D;i+=2){l(36)51;u 2v=1h 43("^("+6.3B[i]+")");u m=2v.3d(t);l(m){r=L=6.2r(L,6.3B[i+1]);t=6.2K(t.1B(2v,""));36=T}}l(!36){l(!t.1b(",")||!t.1b("|")){l(L[0]==1o)L.4h();1K=6.1X(1K,L);r=L=[1o];t=" "+t.32(1,t.D)}G{u 3Z=/^([#.]?)([a-4Y-9\\\\*44-]*)/i;u m=3Z.3d(t);l(m[1]=="#"){u 4l=17.5V(m[2]);r=L=4l?[4l]:[];t=t.1B(3Z,"")}G{l(!m[2]||m[1]==".")m[2]="*";I(u i=0;i<L.D;i++)r=6.1X(r,m[2]=="*"?6.40(L[i]):L[i].4S(m[2]))}}}l(t){u 1D=6.1c(t,r);L=r=1D.r;t=6.2K(1D.t)}}l(L&&L[0]==1o)L.4h();1K=6.1X(1K,L);v 1K},40:q(o,r){r=r||[];u s=o.2f;I(u i=0;i<s.D;i++)l(s[i].1R==1){r.1k(s[i]);6.40(s[i],r)}v r},1t:q(F,1d,Y){u 2m={"I":"7v","6P":"1j","3p":6.11.1p?"37":"2y",2y:6.11.1p?"37":"2y",2V:"2V",1j:"1j",Y:"Y",2P:"2P",2J:"2J",6R:"6S"};l(1d=="1m"&&6.11.1p&&Y!=Q){F[\'6U\']=1;l(Y==1)v F["1c"]=F["1c"].1B(/3k\\([^\\)]*\\)/5c,"");G v F["1c"]=F["1c"].1B(/3k\\([^\\)]*\\)/5c,"")+"3k(1m="+Y*4U+")"}G l(1d=="1m"&&6.11.1p){v F["1c"]?4c(F["1c"].4T(/3k\\(1m=(.*)\\)/)[1])/4U:1}l(1d=="1m"&&6.11.2I&&Y==1)Y=0.6W;l(2m[1d]){l(Y!=Q)F[2m[1d]]=Y;v F[2m[1d]]}G l(Y==Q&&6.11.1p&&F.2p&&F.2p.2b()==\'6X\'&&(1d==\'7f\'||1d==\'7e\')){v F.70(1d).4Z}G l(F.3a!=Q&&F.7b){l(Y!=Q)F.72(1d,Y);v F.3a(1d)}G{1d=1d.1B(/-([a-z])/73,q(z,b){v b.2b()});l(Y!=Q)F[1d]=Y;v F[1d]}},4X:["\\\\[ *(@)S *([!*$^=]*) *(\'?\\"?)(.*?)\\\\4 *\\\\]","(\\\\[)\\s*(.*?)\\s*\\\\]","(:)S\\\\(\\"?\'?([^\\\\)]*?)\\"?\'?\\\\)","([:.#]*)S"],1c:q(t,r,2t){u g=2t!==U?6.2O:q(a,f){v 6.2O(a,f,T)};24(t&&/^[a-z[({<*:.#]/i.28(t)){u p=6.4X;I(u i=0;i<p.D;i++){u 2v=1h 43("^"+p[i].1B("S","([a-z*44-][a-4Y-76-]*)"),"i");u m=2v.3d(t);l(m){l(!i)m=["",m[1],m[3],m[2],m[5]];t=t.1B(2v,"");45}}l(m[1]==":"&&m[2]=="2t")r=6.1c(m[3],r,U).r;G{u f=6.2u[m[1]];l(f.O!=1C)f=6.2u[m[1]][m[2]];3A("f = q(a,i){"+(m[1]=="@"?"z=6.1t(a,m[3]);":"")+"v "+f+"}");r=g(r,f)}}v{r:r,t:t}},2K:q(t){v t.1B(/^\\s+|\\s+$/g,"")},3L:q(F){u 47=[];u 1l=F.1i;24(1l&&1l!=17){47.1k(1l);1l=1l.1i}v 47},1x:q(F,2j,2t){u 14=[];l(F){u 2k=F.1i.2f;I(u i=0;i<2k.D;i++){l(2t===T&&2k[i]==F)51;l(2k[i].1R==1)14.1k(2k[i]);l(2k[i]==F)14.n=14.D-1}}v 6.1y(14,{1N:14.n==14.D-1,1l:2j=="52"&&14.n%2==0||2j=="53"&&14.n%2||14[2j]==F,4j:14[14.n-1],3z:14[14.n+1]})},1X:q(2h,35){u 1J=[];I(u k=0;k<2h.D;k++)1J[k]=2h[k];I(u i=0;i<35.D;i++){u 48=T;I(u j=0;j<2h.D;j++)l(35[i]==2h[j])48=U;l(48)1J.1k(35[i])}v 1J},2O:q(14,C,4a){l(C.O==1C)C=1h 1v("a","i","v "+C);u 1J=[];I(u i=0;i<14.D;i++)l(!4a&&C(14[i],i)||4a&&!C(14[i],i))1J.1k(14[i]);v 1J},2r:q(14,C){l(C.O==1C)C=1h 1v("a","v "+C);u 1J=[];I(u i=0;i<14.D;i++){u 1D=C(14[i],i);l(1D!==M&&1D!=Q){l(1D.O!=2z)1D=[1D];1J=6.1X(1J,1D)}}v 1J},J:{2g:q(P,B,1H){l(6.11.1p&&P.42!=Q)P=1z;l(!1H.2q)1H.2q=7.2q++;l(!P.1E)P.1E={};u 2W=P.1E[B];l(!2W){2W=P.1E[B]={};l(P["2N"+B])2W[0]=P["2N"+B]}2W[1H.2q]=1H;P["2N"+B]=7.58;l(!7.1e[B])7.1e[B]=[];7.1e[B].1k(P)},2q:1,1e:{},25:q(P,B,1H){l(P.1E)l(B&&P.1E[B])l(1H)57 P.1E[B][1H.2q];G I(u i 1r P.1E[B])57 P.1E[B][i];G I(u j 1r P.1E)7.25(P,j)},1P:q(B,K,P){K=K||[];l(!P){u g=7.1e[B];l(g)I(u i=0;i<g.D;i++)7.1P(B,K,g[i])}G l(P["2N"+B]){K.59(7.2m({B:B,2G:P}));P["2N"+B].16(P,K)}},58:q(J){l(1T 6=="Q")v U;J=J||6.J.2m(1z.J);l(!J)v U;u 3m=T;u c=7.1E[J.B];u 1g=[].7h.3O(19,1);1g.59(J);I(u j 1r c){l(c[j].16(7,1g)===U){J.4p();J.5a();3m=U}}v 3m},2m:q(J){l(6.11.1p){J=1z.J;J.2G=J.7i}G l(6.11.2M&&J.2G.1R==3){J=6.1y({},J);J.2G=J.2G.1i}J.4p=q(){7.3m=U};J.5a=q(){7.7l=T};v J}}});1h q(){u b=5I.5K.4d();6.11={2M:/5e/.28(b),30:/30/.28(b),1p:/1p/.28(b)&&!/30/.28(b),2I:/2I/.28(b)&&!/(7m|5e)/.28(b)};6.7n=!6.11.1p||17.7o=="7p"};6.2e={2o:{4H:"5g",7q:"5h",2Y:"5i",7r:"5j"},1f:"2c,1G,7s,5l,2H,3p,3h,7t,7u".3b(","),1c:["5n","5o","5X","5p"],1t:{1D:"Y",38:"2V",3H:M,7x:M,1d:M,7z:M,3w:M,7A:M},5r:{5s:"a.1i",7B:6.3L,3L:6.3L,3z:"6.1x(a).3z",4j:"6.1x(a).4j",2k:"6.1x(a, M, T)",7C:"6.1x(a.2a)"},W:{5u:q(1L){7.7E(1L)},1A:q(){7.1a.1u=7.2A?7.2A:"";l(6.1f(7,"1u")=="20")7.1a.1u="2F"},1s:q(){7.2A=7.2A||6.1f(7,"1u");l(7.2A=="20")7.2A="2F";7.1a.1u="20"},4o:q(){6(7)[6(7).4E(":1S")?"1A":"1s"].16(6(7),19)},7F:q(c){6.1j.2g(7,c)},7G:q(c){6.1j.25(7,c)},7H:q(c){6.1j[6.1j.3t(7,c)?"25":"2g"](7,c)},25:q(a){l(!a||6.1c(a,[7]).r)7.1i.3s(7)},5B:q(){24(7.2a)7.3s(7.2a)},2Z:q(B,C){l(C.O==1C)C=1h 1v("e",(!C.1b(".")?"6(7)":"v ")+C);6.J.2g(7,B,C)},4C:q(B,C){6.J.25(7,B,C)},1P:q(B,K){6.J.1P(B,K,7)}}};6.5C();6.C.1y({5E:6.C.4o,4o:q(a,b){v a&&b&&a.O==1v&&b.O==1v?7.5M(q(e){7.1N=7.1N==a?b:a;e.4p();v 7.1N.16(7,[e])||U}):7.5E.16(7,19)},7K:q(f,g){q 4r(e){u p=(e.B=="3C"?e.7M:e.7N)||e.7O;24(p&&p!=7)3u{p=p.1i}3o(e){p=7};l(p==7)v U;v(e.B=="3C"?f:g).16(7,[e])}v 7.3C(4r).5Q(4r)},1W:q(f){l(6.3y)f.16(17);G{6.2C.1k(f)}v 7}});6.1y({3y:U,2C:[],1W:q(){l(!6.3y){6.3y=T;l(6.2C){I(u i=0;i<6.2C.D;i++)6.2C[i].16(17);6.2C=M}l(6.11.2I||6.11.30)17.7P("5T",6.1W,U)}}});1h q(){u e=("7R,7S,2S,7T,7U,4z,5M,7V,"+"7X,7Y,81,3C,5Q,83,4w,3c,"+"4x,86,87,88,2l").3b(",");I(u i=0;i<e.D;i++)1h q(){u o=e[i];6.C[o]=q(f){v f?7.2Z(o,f):7.1P(o)};6.C["89"+o]=q(f){v 7.4C(o,f)};6.C["8a"+o]=q(f){u P=6(7);u 1H=q(){P.4C(o,1H);P=M;f.16(7,19)};v 7.2Z(o,1H)}};l(6.11.2I||6.11.30){17.8c("5T",6.1W,U)}G l(6.11.1p){17.8d("<8e"+"8f 3H=5W 8n=T "+"3w=//:><\\/27>");u 27=17.5V("5W");27.2w=q(){l(7.3n!="1I")v;7.1i.3s(7);6.1W()};27=M}G l(6.11.2M){6.3N=42(q(){l(17.3n=="63"||17.3n=="1I"){56(6.3N);6.3N=M;6.1W()}},10)}6.J.2g(1z,"2S",6.1W)};l(6.11.1p)6(1z).4z(q(){u J=6.J,1e=J.1e;I(u B 1r 1e){u 3P=1e[B],i=3P.D;l(i>0)6a l(B!=\'4z\')J.25(3P[i-1],B);24(--i)}});6.C.1y({60:6.C.1A,1A:q(12,H){v 12?7.1U({1G:"1A",2c:"1A",1m:"1A"},12,H):7.60()},5U:6.C.1s,1s:q(12,H){v 12?7.1U({1G:"1s",2c:"1s",1m:"1s"},12,H):7.5U()},6n:q(12,H){v 7.1U({1G:"1A"},12,H)},6o:q(12,H){v 7.1U({1G:"1s"},12,H)},6p:q(12,H){v 7.W(q(){u 4J=6(7).4E(":1S")?"1A":"1s";6(7).1U({1G:4J},12,H)})},6r:q(12,H){v 7.1U({1m:"1A"},12,H)},6s:q(12,H){v 7.1U({1m:"1s"},12,H)},6t:q(12,2o,H){v 7.1U({1m:2o},12,H)},1U:q(E,12,H){v 7.1w(q(){7.2U=6.1y({},E);I(u p 1r E){u e=1h 6.2R(7,6.12(12,H),p);l(E[p].O==4O)e.3e(e.1l(),E[p]);G e[E[p]](E)}})},1w:q(B,C){l(!C){C=B;B="2R"}v 7.W(q(){l(!7.1w)7.1w={};l(!7.1w[B])7.1w[B]=[];7.1w[B].1k(C);l(7.1w[B].D==1)C.16(7)})}});6.1y({5f:q(e,p){l(e.5F)v;l(p=="1G"&&e.4L!=3l(6.26(e,p)))v;l(p=="2c"&&e.4M!=3l(6.26(e,p)))v;u a=e.1a[p];u o=6.26(e,p,1);l(p=="1G"&&e.4L!=o||p=="2c"&&e.4M!=o)v;e.1a[p]=e.34?"":"5H";u n=6.26(e,p,1);l(o!=n&&n!="5H"){e.1a[p]=a;e.5F=T}},12:q(s,o){o=o||{};l(o.O==1v)o={1I:o};u 5D={6G:6H,6J:4K};o.2E=(s&&s.O==4O?s:5D[s])||5k;o.3J=o.1I;o.1I=q(){6.4R(7,"2R");l(o.3J&&o.3J.O==1v)o.3J.16(7)};v o},1w:{},4R:q(F,B){B=B||"2R";l(F.1w&&F.1w[B]){F.1w[B].4h();u f=F.1w[B][0];l(f)f.16(F)}},2R:q(F,2x,E){u z=7;z.o={2E:2x.2E||5k,1I:2x.1I,2s:2x.2s};z.V=F;u y=z.V.1a;z.a=q(){l(2x.2s)2x.2s.16(F,[z.2i]);l(E=="1m")6.1t(y,"1m",z.2i);G l(3l(z.2i))y[E]=3l(z.2i)+"5d";y.1u="2F"};z.61=q(){v 4c(6.1f(z.V,E))};z.1l=q(){u r=4c(6.26(z.V,E));v r&&r>-6Z?r:z.61()};z.3e=q(41,2o){z.3M=(1h 54()).55();z.2i=41;z.a();z.49=42(q(){z.2s(41,2o)},13)};z.1A=q(){l(!z.V.1Q)z.V.1Q={};z.V.1Q[E]=7.1l();z.3e(0,z.V.1Q[E]);l(E!="1m")y[E]="77"};z.1s=q(){l(!z.V.1Q)z.V.1Q={};z.V.1Q[E]=7.1l();z.o.1s=T;z.3e(z.V.1Q[E],0)};l(!z.V.4b)z.V.4b=6.1f(z.V,"3h");y.3h="1S";z.2s=q(4B,4g){u t=(1h 54()).55();l(t>z.o.2E+z.3M){56(z.49);z.49=M;z.2i=4g;z.a();z.V.2U[E]=T;u 1K=T;I(u i 1r z.V.2U)l(z.V.2U[i]!==T)1K=U;l(1K){y.3h=z.V.4b;l(z.o.1s)y.1u=\'20\';l(z.o.1s){I(u p 1r z.V.2U){l(p=="1m")6.1t(y,p,z.V.1Q[p]);G y[p]=z.V.1Q[p]+"5d";l(p==\'1G\'||p==\'2c\')6.5f(z.V,p)}}}l(1K&&z.o.1I&&z.o.1I.O==1v)z.o.1I.16(z.V)}G{u p=(t-7.3M)/z.o.2E;z.2i=((-5q.7w(p*5q.7y)/2)+0.5)*(4g-4B)+4B;z.a()}}}});6.C.1y({7D:q(N,1O,H){7.2S(N,1O,H,1)},2S:q(N,1O,H,1F){l(N.O==1v)v 7.2Z("2S",N);H=H||q(){};u B="3T";l(1O){l(1O.O==1v){H=1O;1O=M}G{1O=6.2Q(1O);B="4W"}}u 4m=7;6.3I(B,N,1O,q(3v,18){l(18=="2D"||!1F&&18=="5m"){4m.38(3v.3G).3X().W(H,[3v.3G,18])}G H.16(4m,[3v.3G,18])},1F);v 7},7J:q(){v 6.2Q(7)},3X:q(){v 7.1V(\'27\').W(q(){l(7.3w)6.5Y(7.3w,q(){});G 3A.3O(1z,7.2B||7.7L||7.2V||"")}).4q()}});l(6.11.1p&&1T 3i=="Q")3i=q(){v 1h 7Q(5I.5K.1b("7W 5")>=0?"82.5R":"84.5R")};1h q(){u e="5O,5G,5A,5x,5t".3b(",");I(u i=0;i<e.D;i++)1h q(){u o=e[i];6.C[o]=q(f){v 7.2Z(o,f)}}};6.1y({1n:q(N,K,H,B,1F){l(K&&K.O==1v){B=H;H=K;K=M}l(K)N+=((N.1b("?")>-1)?"&":"?")+6.2Q(K);6.3I("3T",N,M,q(r,18){l(H)H(6.3r(r,B),18)},1F)},8h:q(N,K,H,B){6.1n(N,K,H,B,1)},5Y:q(N,H){l(H)6.1n(N,M,H,"27");G{6.1n(N,M,M,"27")}},64:q(N,K,H){l(H)6.1n(N,K,H,"3S");G{6.1n(N,K,"3S")}},8o:q(N,K,H,B){6.3I("4W",N,6.2Q(K),q(r,18){l(H)H(6.3r(r,B),18)})},1q:0,6h:q(1q){6.1q=1q},39:{},3I:q(B,N,K,L,1F){u 1e=T;u 1q=6.1q;l(!N){L=B.1I;u 2D=B.2D;u 2l=B.2l;u 4k=B.4k;u 1e=1T B.1e=="6q"?B.1e:T;u 1q=1T B.1q=="6u"?B.1q:6.1q;1F=B.1F||U;K=B.K;N=B.N;B=B.B}l(1e&&!6.4v++)6.J.1P("5O");u 4y=U;u R=1h 3i();R.6B(B||"3T",N,T);l(K)R.3j("6I-6K","6M/x-6N-6Q-6T");l(1F)R.3j("6V-3Y-6Y",6.39[N]||"71, 74 75 78 46:46:46 79");R.3j("X-7a-7d","3i");l(R.7g)R.3j("7j","7k");u 2w=q(4F){l(R&&(R.3n==4||4F=="1q")){4y=T;u 18=6.4G(R)&&4F!="1q"?1F&&6.4N(R,N)?"5m":"2D":"2l";l(18!="2l"){u 3q;3u{3q=R.4i("4P-3Y")}3o(e){}l(1F&&3q)6.39[N]=3q;l(2D)2D(6.3r(R,4k),18);l(1e)6.J.1P("5t")}G{l(2l)2l(R,18);l(1e)6.J.1P("5x")}l(1e)6.J.1P("5A");l(1e&&!--6.4v)6.J.1P("5G");l(L)L(R,18);R.2w=q(){};R=M}};R.2w=2w;l(1q>0)7Z(q(){l(R){R.85();l(!4y)2w("1q");R=M}},1q);R.8i(K)},4v:0,4G:q(r){3u{v!r.18&&66.6d=="3Q:"||(r.18>=4K&&r.18<6y)||r.18==5b||6.11.2M&&r.18==Q}3o(e){}v U},4N:q(R,N){3u{u 4V=R.4i("4P-3Y");v R.18==5b||4V==6.39[N]||6.11.2M&&R.18==Q}3o(e){}v U},3r:q(r,B){u 4n=r.4i("7I-B");u K=!B&&4n&&4n.1b("R")>=0;K=B=="R"||K?r.80:r.3G;l(B=="27")3A.3O(1z,K);l(B=="3S")3A("K = "+K);l(B=="38")$("<21>").38(K).3X();v K},2Q:q(a){u s=[];l(a.O==2z||a.3E){I(u i=0;i<a.D;i++)s.1k(a[i].1d+"="+50(a[i].Y))}G{I(u j 1r a)s.1k(j+"="+50(a[j]))}v s.5Z("&")}})}',62,521,'||||||jQuery|this||||||||||||||if|||||function||||var|return||||||type|fn|length|prop|elem|else|callback|for|event|data|ret|null|url|constructor|element|undefined|xml||true|false|el|each||value|||browser|speed||elems|obj|apply|document|status|arguments|style|indexOf|filter|name|global|css|args|new|parentNode|className|push|cur|opacity|get|context|msie|timeout|in|hide|attr|display|Function|queue|sibling|extend|window|show|replace|String|val|events|ifModified|height|handler|complete|result|done|key|arg|last|params|trigger|orig|nodeType|hidden|typeof|animate|find|ready|merge|wrap|old|none|div|table|num|while|remove|curCSS|script|test|tbody|firstChild|toUpperCase|width|fn2|macros|childNodes|add|first|now|pos|siblings|error|fix|pushStack|to|nodeName|guid|map|step|not|expr|re|onreadystatechange|options|cssFloat|Array|oldblock|text|readyList|success|duration|block|target|position|mozilla|checked|trim|classes|safari|on|grep|disabled|param|fx|load|domManip|curAnim|innerHTML|handlers|dir|insertBefore|bind|opera|parPos|substr|stack|currentStyle|second|foundToken|styleFloat|html|lastModified|getAttribute|split|select|exec|custom|cloneNode|defaultView|overflow|XMLHttpRequest|setRequestHeader|alpha|parseInt|returnValue|readyState|catch|float|modRes|httpData|removeChild|has|try|res|src|child|isReady|next|eval|token|mouseover|clean|jquery|oWidth|responseText|id|ajax|oldComplete|oHeight|parents|startTime|safariTimer|call|els|file|static|json|GET|visibility|selected|radio|evalScripts|Modified|re2|getAll|from|setInterval|RegExp|_|break|00|matched|noCollision|timer|inv|oldOverflow|parseFloat|toLowerCase|appendChild|clone|lastNum|shift|getResponseHeader|prev|dataType|oid|self|ct|toggle|preventDefault|end|handleHover|button|tr|getComputedStyle|active|reset|submit|requestDone|unload|swap|firstNum|unbind|deep|is|istimeout|httpSuccess|appendTo|force|state|200|scrollHeight|scrollWidth|httpNotModified|Number|Last|documentElement|dequeue|getElementsByTagName|match|100|xmlRes|POST|parse|z0|nodeValue|encodeURIComponent|continue|even|odd|Date|getTime|clearInterval|delete|handle|unshift|stopPropagation|304|gi|px|webkit|setAuto|append|prepend|before|after|400|left|notmodified|eq|lt|contains|Math|axis|parent|ajaxSuccess|removeAttr|password|image|ajaxError|checkbox|input|ajaxComplete|empty|init|ss|_toggle|notAuto|ajaxStop|auto|navigator|size|userAgent|nth|click|createElement|ajaxStart|getPropertyValue|mouseout|XMLHTTP|newProp|DOMContentLoaded|_hide|getElementById|__ie_init|gt|getScript|join|_show|max|THEAD|loaded|getJSON|initDone|location|splice|Top|Right|do|padding|border|protocol|Width|offsetHeight|offsetWidth|ajaxTimeout|absolute|right|relative|clientHeight|clientWidth|slideDown|slideUp|slideToggle|boolean|fadeIn|fadeOut|fadeTo|number|opt|thead|td|300|th|createTextNode|open|toString|only|visible|enabled|slow|600|Content|fast|Type|textarea|application|www|Bottom|class|form|readonly|readOnly|urlencoded|zoom|If|9999|FORM|Since|10000|getAttributeNode|Thu|setAttribute|ig|01|Jan|9_|1px|1970|GMT|Requested|tagName|Left|With|method|action|overrideMimeType|slice|srcElement|Connection|close|cancelBubble|compatible|boxModel|compatMode|CSS1Compat|prependTo|insertAfter|top|color|background|htmlFor|cos|title|PI|href|rel|ancestors|children|loadIfModified|removeAttribute|addClass|removeClass|toggleClass|content|serialize|hover|textContent|fromElement|toElement|relatedTarget|removeEventListener|ActiveXObject|blur|focus|resize|scroll|dblclick|MSIE|mousedown|mouseup|setTimeout|responseXML|mousemove|Microsoft|change|Msxml2|abort|keydown|keypress|keyup|un|one|prototype|addEventListener|write|scr|ipt|index|getIfModified|send|nextSibling|pop|Boolean|TABLE|defer|post'.split('|'),0,{}))
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue.css
deleted file mode 100644 (file)
index ca33cde..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
-  border: 1px solid #556;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #eef;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;    /* They are the navigation buttons */
-  padding: 2px;          /* Make the buttons seem like they're pressing */
-}
-
-.calendar .nav {
-  background: #778 url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;      /* Pressing it will take you to the current date */
-  text-align: center;
-  background: #fff;
-  color: #000;
-  padding: 2px;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-  background: #778;
-  color: #fff;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-  background: #bdf;
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #556;
-  padding: 2px;
-  text-align: center;
-  color: #000;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #a66;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  background-color: #aaf;
-  color: #000;
-  border: 1px solid #04f;
-  padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  background-color: #77c;
-  padding: 2px 0px 0px 2px;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  color: #456;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #bbb;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #fbb;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #bdf;
-}
-
-.calendar tbody .rowhilite td {
-  background: #def;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #eef;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  background: #def;
-  padding: 1px 3px 1px 1px;
-  border: 1px solid #bbb;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  background: #cde;
-  padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
-  font-weight: bold;
-  border: 1px solid #000;
-  padding: 1px 3px 1px 1px;
-  background: #fff;
-  color: #000;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #a66;
-}
-
-.calendar tbody td.today { /* Cell showing selected date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-  text-align: center;
-  background: #556;
-  color: #fff;
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #fff;
-  color: #445;
-  border-top: 1px solid #556;
-  padding: 1px;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  background: #aaf;
-  border: 1px solid #04f;
-  color: #000;
-  padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  background: #77c;
-  padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  top: 0px;
-  left: 0px;
-  width: 4em;
-  cursor: default;
-  border: 1px solid #655;
-  background: #def;
-  color: #000;
-  font-size: 90%;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .hilite {
-  background: #acf;
-}
-
-.calendar .combo .active {
-  border-top: 1px solid #46a;
-  border-bottom: 1px solid #46a;
-  background: #eef;
-  font-weight: bold;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #f4f0e8;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #667;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue2.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-blue2.css
deleted file mode 100644 (file)
index 47128ec..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
-  border: 1px solid #206A9B;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #F1F8FC;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;    /* They are the navigation buttons */
-  padding: 2px;          /* Make the buttons seem like they're pressing */
-}
-
-.calendar .nav {
-  background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;      /* Pressing it will take you to the current date */
-  text-align: center;
-  background: #000;
-  color: #fff;
-  padding: 2px;
-}
-
-.calendar thead tr { /* Row <TR> containing navigation buttons */
-  background: #007ED1;
-  color: #fff;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-  background: #C7E1F3;
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #206A9B;
-  padding: 2px;
-  text-align: center;
-  color: #000;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #a66;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  background-color: #34ABFA;
-  color: #000;
-  border: 1px solid #016DC5;
-  padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  background-color: #006AA9;
-  border: 1px solid #008AFF;
-  padding: 2px 0px 0px 2px;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  color: #456;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #bbb;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #fbb;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #C7E1F3;
-}
-
-.calendar tbody .rowhilite td {
-  background: #def;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #F1F8FC;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  background: #def;
-  padding: 1px 3px 1px 1px;
-  border: 1px solid #8FC4E8;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  background: #cde;
-  padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
-  font-weight: bold;
-  border: 1px solid #000;
-  padding: 1px 3px 1px 1px;
-  background: #fff;
-  color: #000;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #a66;
-}
-
-.calendar tbody td.today { /* Cell showing selected date */
-  font-weight: bold;
-  color: #D50000;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-  text-align: center;
-  background: #206A9B;
-  color: #fff;
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #000;
-  color: #fff;
-  border-top: 1px solid #206A9B;
-  padding: 1px;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  background: #B8DAF0;
-  border: 1px solid #178AEB;
-  color: #000;
-  padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  background: #006AA9;
-  padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  top: 0px;
-  left: 0px;
-  width: 4em;
-  cursor: default;
-  border: 1px solid #655;
-  background: #def;
-  color: #000;
-  font-size: 90%;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .hilite {
-  background: #34ABFA;
-  border-top: 1px solid #46a;
-  border-bottom: 1px solid #46a;
-  font-weight: bold;
-}
-
-.calendar .combo .active {
-  border-top: 1px solid #46a;
-  border-bottom: 1px solid #46a;
-  background: #F1F8FC;
-  font-weight: bold;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #E3F0F9;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #F1F8FC;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #267DB7;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: red;
-  background-color: #000;
-  color: #A5FF00;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-brown.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-brown.css
deleted file mode 100644 (file)
index c42da5e..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
-  border: 1px solid #655;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #ffd;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;    /* They are the navigation buttons */
-  padding: 2px;          /* Make the buttons seem like they're pressing */
-}
-
-.calendar .nav {
-  background: #edc url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;      /* Pressing it will take you to the current date */
-  text-align: center;
-  background: #654;
-  color: #fed;
-  padding: 2px;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-  background: #edc;
-  color: #000;
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #655;
-  padding: 2px;
-  text-align: center;
-  color: #000;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  background-color: #faa;
-  color: #000;
-  border: 1px solid #f40;
-  padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  background-color: #c77;
-  padding: 2px 0px 0px 2px;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-  background: #fed;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #bbb;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #fbb;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #fed;
-}
-
-.calendar tbody .rowhilite td {
-  background: #ddf;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #efe;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  background: #ffe;
-  padding: 1px 3px 1px 1px;
-  border: 1px solid #bbb;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  background: #ddc;
-  padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
-  font-weight: bold;
-  border: 1px solid #000;
-  padding: 1px 3px 1px 1px;
-  background: #fea;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { font-weight: bold; }
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-  text-align: center;
-  background: #988;
-  color: #000;
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  border-top: 1px solid #655;
-  background: #dcb;
-  color: #840;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  background: #faa;
-  border: 1px solid #f40;
-  padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  background: #c77;
-  padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  top: 0px;
-  left: 0px;
-  width: 4em;
-  cursor: default;
-  border: 1px solid #655;
-  background: #ffe;
-  color: #000;
-  font-size: 90%;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .hilite {
-  background: #fc8;
-}
-
-.calendar .combo .active {
-  border-top: 1px solid #a64;
-  border-bottom: 1px solid #a64;
-  background: #fee;
-  font-weight: bold;
-}
-
-.calendar td.time {
-  border-top: 1px solid #a88;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #fed;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #988;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #866;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-green.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-green.css
deleted file mode 100644 (file)
index 2e1867a..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
-  border: 1px solid #565;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #efe;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;    /* They are the navigation buttons */
-  padding: 2px;          /* Make the buttons seem like they're pressing */
-  background: #676;
-  color: #fff;
-  font-size: 90%;
-}
-
-.calendar .nav {
-  background: #676 url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;      /* Pressing it will take you to the current date */
-  text-align: center;
-  padding: 2px;
-  background: #250;
-  color: #efa;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #565;
-  padding: 2px;
-  text-align: center;
-  color: #000;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #a66;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  background-color: #afa;
-  color: #000;
-  border: 1px solid #084;
-  padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  background-color: #7c7;
-  padding: 2px 0px 0px 2px;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-  background: #dfb;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  color: #564;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #bbb;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #fbb;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #8a8;
-  background: #dfb;
-}
-
-.calendar tbody .rowhilite td {
-  background: #dfd;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #efe;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  background: #efd;
-  padding: 1px 3px 1px 1px;
-  border: 1px solid #bbb;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  background: #dec;
-  padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
-  font-weight: bold;
-  border: 1px solid #000;
-  padding: 1px 3px 1px 1px;
-  background: #f8fff8;
-  color: #000;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #a66;
-}
-
-.calendar tbody td.today { font-weight: bold; color: #0a0; }
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-  text-align: center;
-  background: #565;
-  color: #fff;
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  padding: 2px;
-  background: #250;
-  color: #efa;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  background: #afa;
-  border: 1px solid #084;
-  color: #000;
-  padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  background: #7c7;
-  padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  top: 0px;
-  left: 0px;
-  width: 4em;
-  cursor: default;
-  border: 1px solid #565;
-  background: #efd;
-  color: #000;
-  font-size: 90%;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .hilite {
-  background: #af8;
-}
-
-.calendar .combo .active {
-  border-top: 1px solid #6a4;
-  border-bottom: 1px solid #6a4;
-  background: #efe;
-  font-weight: bold;
-}
-
-.calendar td.time {
-  border-top: 1px solid #8a8;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #dfb;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #898;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #686;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup.js b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup.js
deleted file mode 100644 (file)
index f2b4854..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
- * ---------------------------------------------------------------------------
- *
- * The DHTML Calendar
- *
- * Details and latest version at:
- * http://dynarch.com/mishoo/calendar.epl
- *
- * This script is distributed under the GNU Lesser General Public License.
- * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
- *
- * This file defines helper functions for setting up the calendar.  They are
- * intended to help non-programmers get a working calendar on their site
- * quickly.  This script should not be seen as part of the calendar.  It just
- * shows you what one can do with the calendar, while in the same time
- * providing a quick and simple method for setting it up.  If you need
- * exhaustive customization of the calendar creation process feel free to
- * modify this code to suit your needs (this is recommended and much better
- * than modifying calendar.js itself).
- */
-
-// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $
-
-/**
- *  This function "patches" an input field (or other element) to use a calendar
- *  widget for date selection.
- *
- *  The "params" is a single object that can have the following properties:
- *
- *    prop. name   | description
- *  -------------------------------------------------------------------------------------------------
- *   inputField    | the ID of an input field to store the date
- *   displayArea   | the ID of a DIV or other element to show the date
- *   button        | ID of a button or other element that will trigger the calendar
- *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
- *   ifFormat      | date format that will be stored in the input field
- *   daFormat      | the date format that will be used to display the date in displayArea
- *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
- *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
- *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
- *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
- *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
- *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
- *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
- *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
- *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
- *   onClose       | function that gets called when the calendar is closed.  [default]
- *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
- *   date          | the date that the calendar will be initially displayed to
- *   showsTime     | default: false; if true the calendar will include a time selector
- *   timeFormat    | the time format; can be "12" or "24", default is "12"
- *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
- *   step          | configures the step of the years in drop-down boxes; default: 2
- *   position      | configures the calendar absolute position; default: null
- *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
- *   showOthers    | if "true" (but default: "false") it will show days from other months too
- *
- *  None of them is required, they all have default values.  However, if you
- *  pass none of "inputField", "displayArea" or "button" you'll get a warning
- *  saying "nothing to setup".
- */
-Calendar.setup = function (params) {
-       function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
-
-       param_default("inputField",     null);
-       param_default("displayArea",    null);
-       param_default("button",         null);
-       param_default("eventName",      "click");
-       param_default("ifFormat",       "%Y/%m/%d");
-       param_default("daFormat",       "%Y/%m/%d");
-       param_default("singleClick",    true);
-       param_default("disableFunc",    null);
-       param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined
-       param_default("dateText",       null);
-       param_default("firstDay",       null);
-       param_default("align",          "Br");
-       param_default("range",          [1900, 2999]);
-       param_default("weekNumbers",    true);
-       param_default("flat",           null);
-       param_default("flatCallback",   null);
-       param_default("onSelect",       null);
-       param_default("onClose",        null);
-       param_default("onUpdate",       null);
-       param_default("date",           null);
-       param_default("showsTime",      false);
-       param_default("timeFormat",     "24");
-       param_default("electric",       true);
-       param_default("step",           2);
-       param_default("position",       null);
-       param_default("cache",          false);
-       param_default("showOthers",     false);
-       param_default("multiple",       null);
-
-       var tmp = ["inputField", "displayArea", "button"];
-       for (var i in tmp) {
-               if (typeof params[tmp[i]] == "string") {
-                       params[tmp[i]] = document.getElementById(params[tmp[i]]);
-               }
-       }
-       if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
-               alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
-               return false;
-       }
-
-       function onSelect(cal) {
-               var p = cal.params;
-               var update = (cal.dateClicked || p.electric);
-               if (update && p.inputField) {
-                       p.inputField.value = cal.date.print(p.ifFormat);
-                       if (typeof p.inputField.onchange == "function")
-                               p.inputField.onchange();
-               }
-               if (update && p.displayArea)
-                       p.displayArea.innerHTML = cal.date.print(p.daFormat);
-               if (update && typeof p.onUpdate == "function")
-                       p.onUpdate(cal);
-               if (update && p.flat) {
-                       if (typeof p.flatCallback == "function")
-                               p.flatCallback(cal);
-               }
-               if (update && p.singleClick && cal.dateClicked)
-                       cal.callCloseHandler();
-       };
-
-       if (params.flat != null) {
-               if (typeof params.flat == "string")
-                       params.flat = document.getElementById(params.flat);
-               if (!params.flat) {
-                       alert("Calendar.setup:\n  Flat specified but can't find parent.");
-                       return false;
-               }
-               var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
-               cal.showsOtherMonths = params.showOthers;
-               cal.showsTime = params.showsTime;
-               cal.time24 = (params.timeFormat == "24");
-               cal.params = params;
-               cal.weekNumbers = params.weekNumbers;
-               cal.setRange(params.range[0], params.range[1]);
-               cal.setDateStatusHandler(params.dateStatusFunc);
-               cal.getDateText = params.dateText;
-               if (params.ifFormat) {
-                       cal.setDateFormat(params.ifFormat);
-               }
-               if (params.inputField && typeof params.inputField.value == "string") {
-                       cal.parseDate(params.inputField.value);
-               }
-               cal.create(params.flat);
-               cal.show();
-               return false;
-       }
-
-       var triggerEl = params.button || params.displayArea || params.inputField;
-       triggerEl["on" + params.eventName] = function() {
-               var dateEl = params.inputField || params.displayArea;
-               var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
-               var mustCreate = false;
-               var cal = window.calendar;
-               if (dateEl)
-                       params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
-               if (!(cal && params.cache)) {
-                       window.calendar = cal = new Calendar(params.firstDay,
-                                                            params.date,
-                                                            params.onSelect || onSelect,
-                                                            params.onClose || function(cal) { cal.hide(); });
-                       cal.showsTime = params.showsTime;
-                       cal.time24 = (params.timeFormat == "24");
-                       cal.weekNumbers = params.weekNumbers;
-                       mustCreate = true;
-               } else {
-                       if (params.date)
-                               cal.setDate(params.date);
-                       cal.hide();
-               }
-               if (params.multiple) {
-                       cal.multiple = {};
-                       for (var i = params.multiple.length; --i >= 0;) {
-                               var d = params.multiple[i];
-                               var ds = d.print("%Y%m%d");
-                               cal.multiple[ds] = d;
-                       }
-               }
-               cal.showsOtherMonths = params.showOthers;
-               cal.yearStep = params.step;
-               cal.setRange(params.range[0], params.range[1]);
-               cal.params = params;
-               cal.setDateStatusHandler(params.dateStatusFunc);
-               cal.getDateText = params.dateText;
-               cal.setDateFormat(dateFmt);
-               if (mustCreate)
-                       cal.create();
-               cal.refresh();
-               if (!params.position)
-                       cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
-               else
-                       cal.showAt(params.position[0], params.position[1]);
-               return false;
-       };
-
-       return cal;
-};
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup_stripped.js b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-setup_stripped.js
deleted file mode 100644 (file)
index 91c927f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
- * ---------------------------------------------------------------------------
- *
- * The DHTML Calendar
- *
- * Details and latest version at:
- * http://dynarch.com/mishoo/calendar.epl
- *
- * This script is distributed under the GNU Lesser General Public License.
- * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
- *
- * This file defines helper functions for setting up the calendar.  They are
- * intended to help non-programmers get a working calendar on their site
- * quickly.  This script should not be seen as part of the calendar.  It just
- * shows you what one can do with the calendar, while in the same time
- * providing a quick and simple method for setting it up.  If you need
- * exhaustive customization of the calendar creation process feel free to
- * modify this code to suit your needs (this is recommended and much better
- * than modifying calendar.js itself).
- */
- Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-system.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-system.css
deleted file mode 100644 (file)
index b224885..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-.calendar {
-  position: relative;
-  display: none;
-  border: 1px solid;
-  border-color: #fff #000 #000 #fff;
-  font-size: 11px;
-  cursor: default;
-  background: Window;
-  color: WindowText;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-.calendar table {
-  border: 1px solid;
-  border-color: #fff #000 #000 #fff;
-  font-size: 11px;
-  cursor: default;
-  background: Window;
-  color: WindowText;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;
-  padding: 1px;
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-  background: ButtonFace;
-}
-
-.calendar .nav {
-  background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;
-  padding: 1px;
-  border: 1px solid #000;
-  background: ActiveCaption;
-  color: CaptionText;
-  text-align: center;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid ButtonShadow;
-  padding: 2px;
-  text-align: center;
-  background: ButtonFace;
-  color: ButtonText;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  border: 2px solid;
-  padding: 0px;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  border-width: 1px;
-  padding: 2px 0px 0px 2px;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid ButtonShadow;
-  background: ButtonFace;
-  color: ButtonText;
-}
-
-.calendar tbody .rowhilite td {
-  background: Highlight;
-  color: HighlightText;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  padding: 1px 3px 1px 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  padding: 2px 2px 0px 2px;
-  border: 1px solid;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-
-.calendar tbody td.selected { /* Cell showing selected date */
-  font-weight: bold;
-  border: 1px solid;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-  padding: 2px 2px 0px 2px;
-  background: ButtonFace;
-  color: ButtonText;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { /* Cell showing today date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody td.disabled { color: GrayText; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: ButtonFace;
-  padding: 1px;
-  border: 1px solid;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-  color: ButtonText;
-  text-align: center;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  padding: 1px;
-  background: #e4e0d8;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  width: 4em;
-  top: 0px;
-  left: 0px;
-  cursor: default;
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-  background: Menu;
-  color: MenuText;
-  font-size: 90%;
-  padding: 1px;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .active {
-  padding: 0px;
-  border: 1px solid #000;
-}
-
-.calendar .combo .hilite {
-  background: Highlight;
-  color: HighlightText;
-}
-
-.calendar td.time {
-  border-top: 1px solid ButtonShadow;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: ButtonFace;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: Menu;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: Highlight;
-  color: HighlightText;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-tas.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-tas.css
deleted file mode 100644 (file)
index c2f8721..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-div.calendar { position: relative; }
-
-.calendar, .calendar table {
-  border: 1px solid #655;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #ffd;
-  font-family: tahoma,verdana,sans-serif;
-  filter:
-progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;    /* They are the navigation buttons */
-  padding: 2px;          /* Make the buttons seem like they're pressing */
-  color:#363636;
-}
-
-.calendar .nav {
-  background: #edc url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;      /* Pressing it will take you to the current date */
-  text-align: center;
-  background: #654;
-  color: #363636;
-  padding: 2px;
-  filter:
-progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#dddccc);
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-  /*background: #3B86A0;*/
-  color: #363636;
-  font-weight: bold;   
-filter:
-progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#3b86a0);
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #655;
-  padding: 2px;
-  text-align: center;
-  color: #363636;
-    filter:
-progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF);
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  background-color: #ffcc86;
-  color: #000;
-  border: 1px solid #b59345;
-  padding: 1px;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  background-color: #c77;
-  padding: 2px 0px 0px 2px;
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-  background: #fed;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #fed;
-}
-
-.calendar tbody .rowhilite td {
- background: #ddf;
-  
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #efe;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  background: #ffe;
-  padding: 1px 3px 1px 1px;
-  border: 1px solid #bbb;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  background: #ddc;
-  padding: 2px 2px 0px 2px;
-}
-
-.calendar tbody td.selected { /* Cell showing today date */
-  font-weight: bold;
-  border: 1px solid #000;
-  padding: 1px 3px 1px 1px;
-  background: #fea;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { font-weight: bold; }
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-  text-align: center;
-  background: #988;
-  color: #000;
-  
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  border-top: 1px solid #655;
-  background: #dcb;
-  color: #363636;
-  font-weight: bold;
-       filter:
-progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#FFFFFF,EndColorStr=#DDDCCC);
-}
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  background: #faa;
-  border: 1px solid #f40;
-  padding: 1px;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  background: #c77;
-  padding: 2px 0px 0px 2px;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.combo {
-  position: absolute;
-  display: none;
-  top: 0px;
-  left: 0px;
-  width: 4em;
-  cursor: default;
-  border: 1px solid #655;
-  background: #ffe;
-  color: #000;
-  font-size: smaller;
-  z-index: 100;
-}
-
-.combo .label,
-.combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.combo .label-IEfix {
-  width: 4em;
-}
-
-.combo .hilite {
-  background: #fc8;
-}
-
-.combo .active {
-  border-top: 1px solid #a64;
-  border-bottom: 1px solid #a64;
-  background: #fee;
-  font-weight: bold;
-}
-
-.calendar td.time {
-  border-top: 1px solid #a88;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #fed;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #988;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #866;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-1.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-1.css
deleted file mode 100644 (file)
index 8c5d026..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-.calendar {
-  position: relative;
-  display: none;
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #d4d0c8;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-.calendar table {
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #d4d0c8;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;
-  padding: 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar .nav {
-  background: transparent url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #848078;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #000;
-  padding: 2px;
-  text-align: center;
-  background: #f4f0e8;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  padding: 0px;
-  background-color: #e4e0d8;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  background-color: #c4c0b8;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #f4f0e8;
-}
-
-.calendar tbody .rowhilite td {
-  background: #e4e0d8;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #d4d0c8;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  padding: 1px 3px 1px 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  padding: 2px 2px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar tbody td.selected { /* Cell showing selected date */
-  font-weight: bold;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  padding: 2px 2px 0px 2px;
-  background: #e4e0d8;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { /* Cell showing today date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #f4f0e8;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #848078;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  padding: 1px;
-  background: #e4e0d8;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  width: 4em;
-  top: 0px;
-  left: 0px;
-  cursor: default;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  background: #e4e0d8;
-  font-size: 90%;
-  padding: 1px;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .active {
-  background: #c4c0b8;
-  padding: 0px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar .combo .hilite {
-  background: #048;
-  color: #fea;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #f4f0e8;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #766;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-2.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-2.css
deleted file mode 100644 (file)
index 6f37b7d..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-.calendar {
-  position: relative;
-  display: none;
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #d4c8d0;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-.calendar table {
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #d4c8d0;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;
-  padding: 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar .nav {
-  background: transparent url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #847880;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #000;
-  padding: 2px;
-  text-align: center;
-  background: #f4e8f0;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  padding: 0px;
-  background-color: #e4d8e0;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  background-color: #c4b8c0;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #f4e8f0;
-}
-
-.calendar tbody .rowhilite td {
-  background: #e4d8e0;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #d4c8d0;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  padding: 1px 3px 1px 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  padding: 2px 2px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar tbody td.selected { /* Cell showing selected date */
-  font-weight: bold;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  padding: 2px 2px 0px 2px;
-  background: #e4d8e0;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { /* Cell showing today date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #f4e8f0;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #847880;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  padding: 1px;
-  background: #e4d8e0;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  width: 4em;
-  top: 0px;
-  left: 0px;
-  cursor: default;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  background: #e4d8e0;
-  font-size: 90%;
-  padding: 1px;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .active {
-  background: #d4c8d0;
-  padding: 0px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar .combo .hilite {
-  background: #408;
-  color: #fea;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #f4f0e8;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #766;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-1.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-1.css
deleted file mode 100644 (file)
index fa5c093..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-.calendar {
-  position: relative;
-  display: none;
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #c8d0d4;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-.calendar table {
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #c8d0d4;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;
-  padding: 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar .nav {
-  background: transparent url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #788084;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #000;
-  padding: 2px;
-  text-align: center;
-  background: #e8f0f4;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  padding: 0px;
-  background-color: #d8e0e4;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  background-color: #b8c0c4;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #e8f4f0;
-}
-
-.calendar tbody .rowhilite td {
-  background: #d8e4e0;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #c8d4d0;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  padding: 1px 3px 1px 1px;
-  border: 1px solid;
-  border-color: #fff #000 #000 #fff;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  padding: 2px 2px 0px 2px;
-  border: 1px solid;
-  border-color: #000 #fff #fff #000;
-}
-
-.calendar tbody td.selected { /* Cell showing selected date */
-  font-weight: bold;
-  padding: 2px 2px 0px 2px;
-  border: 1px solid;
-  border-color: #000 #fff #fff #000;
-  background: #d8e0e4;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { /* Cell showing today date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #e8f0f4;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #788084;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  padding: 1px;
-  background: #d8e0e4;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  width: 4em;
-  top: 0px;
-  left: 0px;
-  cursor: default;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  background: #d8e0e4;
-  font-size: 90%;
-  padding: 1px;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .active {
-  background: #c8d0d4;
-  padding: 0px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar .combo .hilite {
-  background: #048;
-  color: #aef;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #e8f0f4;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #667;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-2.css b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar-win2k-cold-2.css
deleted file mode 100644 (file)
index 8e930c8..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/* The main calendar widget.  DIV containing a table. */
-
-.calendar {
-  position: relative;
-  display: none;
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #c8d4d0;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-.calendar table {
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  font-size: 11px;
-  color: #000;
-  cursor: default;
-  background: #c8d4d0;
-  font-family: tahoma,verdana,sans-serif;
-}
-
-/* Header part -- contains navigation buttons and day names. */
-
-.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
-  text-align: center;
-  padding: 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar .nav {
-  background: transparent url(menuarrow.gif) no-repeat 100% 100%;
-}
-
-.calendar thead .title { /* This holds the current "month, year" */
-  font-weight: bold;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #788480;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar thead .headrow { /* Row <TR> containing navigation buttons */
-}
-
-.calendar thead .daynames { /* Row <TR> containing the day names */
-}
-
-.calendar thead .name { /* Cells <TD> containing the day names */
-  border-bottom: 1px solid #000;
-  padding: 2px;
-  text-align: center;
-  background: #e8f4f0;
-}
-
-.calendar thead .weekend { /* How a weekend day name shows in header */
-  color: #f00;
-}
-
-.calendar thead .hilite { /* How do the buttons in header appear when hover */
-  border-top: 2px solid #fff;
-  border-right: 2px solid #000;
-  border-bottom: 2px solid #000;
-  border-left: 2px solid #fff;
-  padding: 0px;
-  background-color: #d8e4e0;
-}
-
-.calendar thead .active { /* Active (pressed) buttons in header */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  background-color: #b8c4c0;
-}
-
-/* The body part -- contains all the days in month. */
-
-.calendar tbody .day { /* Cells <TD> containing month days dates */
-  width: 2em;
-  text-align: right;
-  padding: 2px 4px 2px 2px;
-}
-.calendar tbody .day.othermonth {
-  font-size: 80%;
-  color: #aaa;
-}
-.calendar tbody .day.othermonth.oweekend {
-  color: #faa;
-}
-
-.calendar table .wn {
-  padding: 2px 3px 2px 2px;
-  border-right: 1px solid #000;
-  background: #e8f4f0;
-}
-
-.calendar tbody .rowhilite td {
-  background: #d8e4e0;
-}
-
-.calendar tbody .rowhilite td.wn {
-  background: #c8d4d0;
-}
-
-.calendar tbody td.hilite { /* Hovered cells <TD> */
-  padding: 1px 3px 1px 1px;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-}
-
-.calendar tbody td.active { /* Active (pressed) cells <TD> */
-  padding: 2px 2px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar tbody td.selected { /* Cell showing selected date */
-  font-weight: bold;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-  padding: 2px 2px 0px 2px;
-  background: #d8e4e0;
-}
-
-.calendar tbody td.weekend { /* Cells showing weekend days */
-  color: #f00;
-}
-
-.calendar tbody td.today { /* Cell showing today date */
-  font-weight: bold;
-  color: #00f;
-}
-
-.calendar tbody .disabled { color: #999; }
-
-.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
-  visibility: hidden;
-}
-
-.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
-  display: none;
-}
-
-/* The footer part -- status bar and "Close" button */
-
-.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
-}
-
-.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
-  background: #e8f4f0;
-  padding: 1px;
-  border: 1px solid #000;
-  background: #788480;
-  color: #fff;
-  text-align: center;
-}
-
-.calendar tfoot .hilite { /* Hover style for buttons in footer */
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  padding: 1px;
-  background: #d8e4e0;
-}
-
-.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
-  padding: 2px 0px 0px 2px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-/* Combo boxes (menus that display months/years for direct selection) */
-
-.calendar .combo {
-  position: absolute;
-  display: none;
-  width: 4em;
-  top: 0px;
-  left: 0px;
-  cursor: default;
-  border-top: 1px solid #fff;
-  border-right: 1px solid #000;
-  border-bottom: 1px solid #000;
-  border-left: 1px solid #fff;
-  background: #d8e4e0;
-  font-size: 90%;
-  padding: 1px;
-  z-index: 100;
-}
-
-.calendar .combo .label,
-.calendar .combo .label-IEfix {
-  text-align: center;
-  padding: 1px;
-}
-
-.calendar .combo .label-IEfix {
-  width: 4em;
-}
-
-.calendar .combo .active {
-  background: #c8d4d0;
-  padding: 0px;
-  border-top: 1px solid #000;
-  border-right: 1px solid #fff;
-  border-bottom: 1px solid #fff;
-  border-left: 1px solid #000;
-}
-
-.calendar .combo .hilite {
-  background: #048;
-  color: #aef;
-}
-
-.calendar td.time {
-  border-top: 1px solid #000;
-  padding: 1px 0px;
-  text-align: center;
-  background-color: #e8f0f4;
-}
-
-.calendar td.time .hour,
-.calendar td.time .minute,
-.calendar td.time .ampm {
-  padding: 0px 3px 0px 4px;
-  border: 1px solid #889;
-  font-weight: bold;
-  background-color: #fff;
-}
-
-.calendar td.time .ampm {
-  text-align: center;
-}
-
-.calendar td.time .colon {
-  padding: 0px 2px 0px 3px;
-  font-weight: bold;
-}
-
-.calendar td.time span.hilite {
-  border-color: #000;
-  background-color: #667;
-  color: #fff;
-}
-
-.calendar td.time span.active {
-  border-color: #f00;
-  background-color: #000;
-  color: #0f0;
-}
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar.js b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar.js
deleted file mode 100644 (file)
index 9088e0e..0000000
+++ /dev/null
@@ -1,1806 +0,0 @@
-/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
- * -----------------------------------------------------------
- *
- * The DHTML Calendar, version 1.0 "It is happening again"
- *
- * Details and latest version at:
- * www.dynarch.com/projects/calendar
- *
- * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
- *
- * This script is distributed under the GNU Lesser General Public License.
- * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
- */
-
-// $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $
-
-/** The Calendar object constructor. */
-Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {
-       // member variables
-       this.activeDiv = null;
-       this.currentDateEl = null;
-       this.getDateStatus = null;
-       this.getDateToolTip = null;
-       this.getDateText = null;
-       this.timeout = null;
-       this.onSelected = onSelected || null;
-       this.onClose = onClose || null;
-       this.dragging = false;
-       this.hidden = false;
-       this.minYear = 1970;
-       this.maxYear = 2050;
-       this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
-       this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
-       this.isPopup = true;
-       this.weekNumbers = true;
-       this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.
-       this.showsOtherMonths = false;
-       this.dateStr = dateStr;
-       this.ar_days = null;
-       this.showsTime = false;
-       this.time24 = true;
-       this.yearStep = 2;
-       this.hiliteToday = true;
-       this.multiple = null;
-       // HTML elements
-       this.table = null;
-       this.element = null;
-       this.tbody = null;
-       this.firstdayname = null;
-       // Combo boxes
-       this.monthsCombo = null;
-       this.yearsCombo = null;
-       this.hilitedMonth = null;
-       this.activeMonth = null;
-       this.hilitedYear = null;
-       this.activeYear = null;
-       // Information
-       this.dateClicked = false;
-
-       // one-time initializations
-       if (typeof Calendar._SDN == "undefined") {
-               // table of short day names
-               if (typeof Calendar._SDN_len == "undefined")
-                       Calendar._SDN_len = 3;
-               var ar = new Array();
-               for (var i = 8; i > 0;) {
-                       ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);
-               }
-               Calendar._SDN = ar;
-               // table of short month names
-               if (typeof Calendar._SMN_len == "undefined")
-                       Calendar._SMN_len = 3;
-               ar = new Array();
-               for (var i = 12; i > 0;) {
-                       ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);
-               }
-               Calendar._SMN = ar;
-       }
-};
-
-// ** constants
-
-/// "static", needed for event handlers.
-Calendar._C = null;
-
-/// detect a special case of "web browser"
-Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
-                  !/opera/i.test(navigator.userAgent) );
-
-Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );
-
-/// detect Opera browser
-Calendar.is_opera = /opera/i.test(navigator.userAgent);
-
-/// detect KHTML-based browsers
-Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);
-
-// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
-//        library, at some point.
-
-Calendar.getAbsolutePos = function(el) {
-       var SL = 0, ST = 0;
-       var is_div = /^div$/i.test(el.tagName);
-       if (is_div && el.scrollLeft)
-               SL = el.scrollLeft;
-       if (is_div && el.scrollTop)
-               ST = el.scrollTop;
-       var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
-       if (el.offsetParent) {
-               var tmp = this.getAbsolutePos(el.offsetParent);
-               r.x += tmp.x;
-               r.y += tmp.y;
-       }
-       return r;
-};
-
-Calendar.isRelated = function (el, evt) {
-       var related = evt.relatedTarget;
-       if (!related) {
-               var type = evt.type;
-               if (type == "mouseover") {
-                       related = evt.fromElement;
-               } else if (type == "mouseout") {
-                       related = evt.toElement;
-               }
-       }
-       while (related) {
-               if (related == el) {
-                       return true;
-               }
-               related = related.parentNode;
-       }
-       return false;
-};
-
-Calendar.removeClass = function(el, className) {
-       if (!(el && el.className)) {
-               return;
-       }
-       var cls = el.className.split(" ");
-       var ar = new Array();
-       for (var i = cls.length; i > 0;) {
-               if (cls[--i] != className) {
-                       ar[ar.length] = cls[i];
-               }
-       }
-       el.className = ar.join(" ");
-};
-
-Calendar.addClass = function(el, className) {
-       Calendar.removeClass(el, className);
-       el.className += " " + className;
-};
-
-// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately.
-Calendar.getElement = function(ev) {
-       var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget;
-       while (f.nodeType != 1 || /^div$/i.test(f.tagName))
-               f = f.parentNode;
-       return f;
-};
-
-Calendar.getTargetElement = function(ev) {
-       var f = Calendar.is_ie ? window.event.srcElement : ev.target;
-       while (f.nodeType != 1)
-               f = f.parentNode;
-       return f;
-};
-
-Calendar.stopEvent = function(ev) {
-       ev || (ev = window.event);
-       if (Calendar.is_ie) {
-               ev.cancelBubble = true;
-               ev.returnValue = false;
-       } else {
-               ev.preventDefault();
-               ev.stopPropagation();
-       }
-       return false;
-};
-
-Calendar.addEvent = function(el, evname, func) {
-       if (el.attachEvent) { // IE
-               el.attachEvent("on" + evname, func);
-       } else if (el.addEventListener) { // Gecko / W3C
-               el.addEventListener(evname, func, true);
-       } else {
-               el["on" + evname] = func;
-       }
-};
-
-Calendar.removeEvent = function(el, evname, func) {
-       if (el.detachEvent) { // IE
-               el.detachEvent("on" + evname, func);
-       } else if (el.removeEventListener) { // Gecko / W3C
-               el.removeEventListener(evname, func, true);
-       } else {
-               el["on" + evname] = null;
-       }
-};
-
-Calendar.createElement = function(type, parent) {
-       var el = null;
-       if (document.createElementNS) {
-               // use the XHTML namespace; IE won't normally get here unless
-               // _they_ "fix" the DOM2 implementation.
-               el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
-       } else {
-               el = document.createElement(type);
-       }
-       if (typeof parent != "undefined") {
-               parent.appendChild(el);
-       }
-       return el;
-};
-
-// END: UTILITY FUNCTIONS
-
-// BEGIN: CALENDAR STATIC FUNCTIONS
-
-/** Internal -- adds a set of events to make some element behave like a button. */
-Calendar._add_evs = function(el) {
-       with (Calendar) {
-               addEvent(el, "mouseover", dayMouseOver);
-               addEvent(el, "mousedown", dayMouseDown);
-               addEvent(el, "mouseout", dayMouseOut);
-               if (is_ie) {
-                       addEvent(el, "dblclick", dayMouseDblClick);
-                       el.setAttribute("unselectable", true);
-               }
-       }
-};
-
-Calendar.findMonth = function(el) {
-       if (typeof el.month != "undefined") {
-               return el;
-       } else if (typeof el.parentNode.month != "undefined") {
-               return el.parentNode;
-       }
-       return null;
-};
-
-Calendar.findYear = function(el) {
-       if (typeof el.year != "undefined") {
-               return el;
-       } else if (typeof el.parentNode.year != "undefined") {
-               return el.parentNode;
-       }
-       return null;
-};
-
-Calendar.showMonthsCombo = function () {
-       var cal = Calendar._C;
-       if (!cal) {
-               return false;
-       }
-       var cal = cal;
-       var cd = cal.activeDiv;
-       var mc = cal.monthsCombo;
-       if (cal.hilitedMonth) {
-               Calendar.removeClass(cal.hilitedMonth, "hilite");
-       }
-       if (cal.activeMonth) {
-               Calendar.removeClass(cal.activeMonth, "active");
-       }
-       var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
-       Calendar.addClass(mon, "active");
-       cal.activeMonth = mon;
-       var s = mc.style;
-       s.display = "block";
-       if (cd.navtype < 0)
-               s.left = cd.offsetLeft + "px";
-       else {
-               var mcw = mc.offsetWidth;
-               if (typeof mcw == "undefined")
-                       // Konqueror brain-dead techniques
-                       mcw = 50;
-               s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
-       }
-       s.top = (cd.offsetTop + cd.offsetHeight) + "px";
-};
-
-Calendar.showYearsCombo = function (fwd) {
-       var cal = Calendar._C;
-       if (!cal) {
-               return false;
-       }
-       var cal = cal;
-       var cd = cal.activeDiv;
-       var yc = cal.yearsCombo;
-       if (cal.hilitedYear) {
-               Calendar.removeClass(cal.hilitedYear, "hilite");
-       }
-       if (cal.activeYear) {
-               Calendar.removeClass(cal.activeYear, "active");
-       }
-       cal.activeYear = null;
-       var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
-       var yr = yc.firstChild;
-       var show = false;
-       for (var i = 12; i > 0; --i) {
-               if (Y >= cal.minYear && Y <= cal.maxYear) {
-                       yr.innerHTML = Y;
-                       yr.year = Y;
-                       yr.style.display = "block";
-                       show = true;
-               } else {
-                       yr.style.display = "none";
-               }
-               yr = yr.nextSibling;
-               Y += fwd ? cal.yearStep : -cal.yearStep;
-       }
-       if (show) {
-               var s = yc.style;
-               s.display = "block";
-               if (cd.navtype < 0)
-                       s.left = cd.offsetLeft + "px";
-               else {
-                       var ycw = yc.offsetWidth;
-                       if (typeof ycw == "undefined")
-                               // Konqueror brain-dead techniques
-                               ycw = 50;
-                       s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
-               }
-               s.top = (cd.offsetTop + cd.offsetHeight) + "px";
-       }
-};
-
-// event handlers
-
-Calendar.tableMouseUp = function(ev) {
-       var cal = Calendar._C;
-       if (!cal) {
-               return false;
-       }
-       if (cal.timeout) {
-               clearTimeout(cal.timeout);
-       }
-       var el = cal.activeDiv;
-       if (!el) {
-               return false;
-       }
-       var target = Calendar.getTargetElement(ev);
-       ev || (ev = window.event);
-       Calendar.removeClass(el, "active");
-       if (target == el || target.parentNode == el) {
-               Calendar.cellClick(el, ev);
-       }
-       var mon = Calendar.findMonth(target);
-       var date = null;
-       if (mon) {
-               date = new Date(cal.date);
-               if (mon.month != date.getMonth()) {
-                       date.setMonth(mon.month);
-                       cal.setDate(date);
-                       cal.dateClicked = false;
-                       cal.callHandler();
-               }
-       } else {
-               var year = Calendar.findYear(target);
-               if (year) {
-                       date = new Date(cal.date);
-                       if (year.year != date.getFullYear()) {
-                               date.setFullYear(year.year);
-                               cal.setDate(date);
-                               cal.dateClicked = false;
-                               cal.callHandler();
-                       }
-               }
-       }
-       with (Calendar) {
-               removeEvent(document, "mouseup", tableMouseUp);
-               removeEvent(document, "mouseover", tableMouseOver);
-               removeEvent(document, "mousemove", tableMouseOver);
-               cal._hideCombos();
-               _C = null;
-               return stopEvent(ev);
-       }
-};
-
-Calendar.tableMouseOver = function (ev) {
-       var cal = Calendar._C;
-       if (!cal) {
-               return;
-       }
-       var el = cal.activeDiv;
-       var target = Calendar.getTargetElement(ev);
-       if (target == el || target.parentNode == el) {
-               Calendar.addClass(el, "hilite active");
-               Calendar.addClass(el.parentNode, "rowhilite");
-       } else {
-               if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))
-                       Calendar.removeClass(el, "active");
-               Calendar.removeClass(el, "hilite");
-               Calendar.removeClass(el.parentNode, "rowhilite");
-       }
-       ev || (ev = window.event);
-       if (el.navtype == 50 && target != el) {
-               var pos = Calendar.getAbsolutePos(el);
-               var w = el.offsetWidth;
-               var x = ev.clientX;
-               var dx;
-               var decrease = true;
-               if (x > pos.x + w) {
-                       dx = x - pos.x - w;
-                       decrease = false;
-               } else
-                       dx = pos.x - x;
-
-               if (dx < 0) dx = 0;
-               var range = el._range;
-               var current = el._current;
-               var count = Math.floor(dx / 10) % range.length;
-               for (var i = range.length; --i >= 0;)
-                       if (range[i] == current)
-                               break;
-               while (count-- > 0)
-                       if (decrease) {
-                               if (--i < 0)
-                                       i = range.length - 1;
-                       } else if ( ++i >= range.length )
-                               i = 0;
-               var newval = range[i];
-               el.innerHTML = newval;
-
-               cal.onUpdateTime();
-       }
-       var mon = Calendar.findMonth(target);
-       if (mon) {
-               if (mon.month != cal.date.getMonth()) {
-                       if (cal.hilitedMonth) {
-                               Calendar.removeClass(cal.hilitedMonth, "hilite");
-                       }
-                       Calendar.addClass(mon, "hilite");
-                       cal.hilitedMonth = mon;
-               } else if (cal.hilitedMonth) {
-                       Calendar.removeClass(cal.hilitedMonth, "hilite");
-               }
-       } else {
-               if (cal.hilitedMonth) {
-                       Calendar.removeClass(cal.hilitedMonth, "hilite");
-               }
-               var year = Calendar.findYear(target);
-               if (year) {
-                       if (year.year != cal.date.getFullYear()) {
-                               if (cal.hilitedYear) {
-                                       Calendar.removeClass(cal.hilitedYear, "hilite");
-                               }
-                               Calendar.addClass(year, "hilite");
-                               cal.hilitedYear = year;
-                       } else if (cal.hilitedYear) {
-                               Calendar.removeClass(cal.hilitedYear, "hilite");
-                       }
-               } else if (cal.hilitedYear) {
-                       Calendar.removeClass(cal.hilitedYear, "hilite");
-               }
-       }
-       return Calendar.stopEvent(ev);
-};
-
-Calendar.tableMouseDown = function (ev) {
-       if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
-               return Calendar.stopEvent(ev);
-       }
-};
-
-Calendar.calDragIt = function (ev) {
-       var cal = Calendar._C;
-       if (!(cal && cal.dragging)) {
-               return false;
-       }
-       var posX;
-       var posY;
-       if (Calendar.is_ie) {
-               posY = window.event.clientY + document.body.scrollTop;
-               posX = window.event.clientX + document.body.scrollLeft;
-       } else {
-               posX = ev.pageX;
-               posY = ev.pageY;
-       }
-       cal.hideShowCovered();
-       var st = cal.element.style;
-       st.left = (posX - cal.xOffs) + "px";
-       st.top = (posY - cal.yOffs) + "px";
-       return Calendar.stopEvent(ev);
-};
-
-Calendar.calDragEnd = function (ev) {
-       var cal = Calendar._C;
-       if (!cal) {
-               return false;
-       }
-       cal.dragging = false;
-       with (Calendar) {
-               removeEvent(document, "mousemove", calDragIt);
-               removeEvent(document, "mouseup", calDragEnd);
-               tableMouseUp(ev);
-       }
-       cal.hideShowCovered();
-};
-
-Calendar.dayMouseDown = function(ev) {
-       var el = Calendar.getElement(ev);
-       if (el.disabled) {
-               return false;
-       }
-       var cal = el.calendar;
-       cal.activeDiv = el;
-       Calendar._C = cal;
-       if (el.navtype != 300) with (Calendar) {
-               if (el.navtype == 50) {
-                       el._current = el.innerHTML;
-                       addEvent(document, "mousemove", tableMouseOver);
-               } else
-                       addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver);
-               addClass(el, "hilite active");
-               addEvent(document, "mouseup", tableMouseUp);
-       } else if (cal.isPopup) {
-               cal._dragStart(ev);
-       }
-       if (el.navtype == -1 || el.navtype == 1) {
-               if (cal.timeout) clearTimeout(cal.timeout);
-               cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
-       } else if (el.navtype == -2 || el.navtype == 2) {
-               if (cal.timeout) clearTimeout(cal.timeout);
-               cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
-       } else {
-               cal.timeout = null;
-       }
-       return Calendar.stopEvent(ev);
-};
-
-Calendar.dayMouseDblClick = function(ev) {
-       Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
-       if (Calendar.is_ie) {
-               document.selection.empty();
-       }
-};
-
-Calendar.dayMouseOver = function(ev) {
-       var el = Calendar.getElement(ev);
-       if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
-               return false;
-       }
-       if (el.ttip) {
-               if (el.ttip.substr(0, 1) == "_") {
-                       el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1);
-               }
-               el.calendar.tooltips.innerHTML = el.ttip;
-       }
-       if (el.navtype != 300) {
-               Calendar.addClass(el, "hilite");
-               if (el.caldate) {
-                       Calendar.addClass(el.parentNode, "rowhilite");
-               }
-       }
-       return Calendar.stopEvent(ev);
-};
-
-Calendar.dayMouseOut = function(ev) {
-       with (Calendar) {
-               var el = getElement(ev);
-               if (isRelated(el, ev) || _C || el.disabled)
-                       return false;
-               removeClass(el, "hilite");
-               if (el.caldate)
-                       removeClass(el.parentNode, "rowhilite");
-               if (el.calendar)
-                       el.calendar.tooltips.innerHTML = _TT["SEL_DATE"];
-               return stopEvent(ev);
-       }
-};
-
-/**
- *  A generic "click" handler :) handles all types of buttons defined in this
- *  calendar.
- */
-Calendar.cellClick = function(el, ev) {
-       var cal = el.calendar;
-       var closing = false;
-       var newdate = false;
-       var date = null;
-       if (typeof el.navtype == "undefined") {
-               if (cal.currentDateEl) {
-                       Calendar.removeClass(cal.currentDateEl, "selected");
-                       Calendar.addClass(el, "selected");
-                       closing = (cal.currentDateEl == el);
-                       if (!closing) {
-                               cal.currentDateEl = el;
-                       }
-               }
-               cal.date.setDateOnly(el.caldate);
-               date = cal.date;
-               var other_month = !(cal.dateClicked = !el.otherMonth);
-               if (!other_month && !cal.currentDateEl)
-                       cal._toggleMultipleDate(new Date(date));
-               else
-                       newdate = !el.disabled;
-               // a date was clicked
-               if (other_month)
-                       cal._init(cal.firstDayOfWeek, date);
-       } else {
-               if (el.navtype == 200) {
-                       Calendar.removeClass(el, "hilite");
-                       cal.callCloseHandler();
-                       return;
-               }
-               date = new Date(cal.date);
-               if (el.navtype == 0)
-                       date.setDateOnly(new Date()); // TODAY
-               // unless "today" was clicked, we assume no date was clicked so
-               // the selected handler will know not to close the calenar when
-               // in single-click mode.
-               // cal.dateClicked = (el.navtype == 0);
-               cal.dateClicked = false;
-               var year = date.getFullYear();
-               var mon = date.getMonth();
-               function setMonth(m) {
-                       var day = date.getDate();
-                       var max = date.getMonthDays(m);
-                       if (day > max) {
-                               date.setDate(max);
-                       }
-                       date.setMonth(m);
-               };
-               switch (el.navtype) {
-                   case 400:
-                       Calendar.removeClass(el, "hilite");
-                       var text = Calendar._TT["ABOUT"];
-                       if (typeof text != "undefined") {
-                               text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
-                       } else {
-                               // FIXME: this should be removed as soon as lang files get updated!
-                               text = "Help and about box text is not translated into this language.\n" +
-                                       "If you know this language and you feel generous please update\n" +
-                                       "the corresponding file in \"lang\" subdir to match calendar-en.js\n" +
-                                       "and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n" +
-                                       "Thank you!\n" +
-                                       "http://dynarch.com/mishoo/calendar.epl\n";
-                       }
-                       alert(text);
-                       return;
-                   case -2:
-                       if (year > cal.minYear) {
-                               date.setFullYear(year - 1);
-                       }
-                       break;
-                   case -1:
-                       if (mon > 0) {
-                               setMonth(mon - 1);
-                       } else if (year-- > cal.minYear) {
-                               date.setFullYear(year);
-                               setMonth(11);
-                       }
-                       break;
-                   case 1:
-                       if (mon < 11) {
-                               setMonth(mon + 1);
-                       } else if (year < cal.maxYear) {
-                               date.setFullYear(year + 1);
-                               setMonth(0);
-                       }
-                       break;
-                   case 2:
-                       if (year < cal.maxYear) {
-                               date.setFullYear(year + 1);
-                       }
-                       break;
-                   case 100:
-                       cal.setFirstDayOfWeek(el.fdow);
-                       return;
-                   case 50:
-                       var range = el._range;
-                       var current = el.innerHTML;
-                       for (var i = range.length; --i >= 0;)
-                               if (range[i] == current)
-                                       break;
-                       if (ev && ev.shiftKey) {
-                               if (--i < 0)
-                                       i = range.length - 1;
-                       } else if ( ++i >= range.length )
-                               i = 0;
-                       var newval = range[i];
-                       el.innerHTML = newval;
-                       cal.onUpdateTime();
-                       return;
-                   case 0:
-                       // TODAY will bring us here
-                       if ((typeof cal.getDateStatus == "function") &&
-                           cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) {
-                               return false;
-                       }
-                       break;
-               }
-               if (!date.equalsTo(cal.date)) {
-                       cal.setDate(date);
-                       newdate = true;
-               } else if (el.navtype == 0)
-                       newdate = closing = true;
-       }
-       if (newdate) {
-               ev && cal.callHandler();
-       }
-       if (closing) {
-               Calendar.removeClass(el, "hilite");
-               ev && cal.callCloseHandler();
-       }
-};
-
-// END: CALENDAR STATIC FUNCTIONS
-
-// BEGIN: CALENDAR OBJECT FUNCTIONS
-
-/**
- *  This function creates the calendar inside the given parent.  If _par is
- *  null than it creates a popup calendar inside the BODY element.  If _par is
- *  an element, be it BODY, then it creates a non-popup calendar (still
- *  hidden).  Some properties need to be set before calling this function.
- */
-Calendar.prototype.create = function (_par) {
-       var parent = null;
-       if (! _par) {
-               // default parent is the document body, in which case we create
-               // a popup calendar.
-               parent = document.getElementsByTagName("body")[0];
-               this.isPopup = true;
-       } else {
-               parent = _par;
-               this.isPopup = false;
-       }
-       this.date = this.dateStr ? new Date(this.dateStr) : new Date();
-
-       var table = Calendar.createElement("table");
-       this.table = table;
-       table.cellSpacing = 0;
-       table.cellPadding = 0;
-       table.calendar = this;
-       Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);
-
-       var div = Calendar.createElement("div");
-       this.element = div;
-       div.className = "calendar";
-       if (this.isPopup) {
-               div.style.position = "absolute";
-               div.style.display = "none";
-       }
-       div.appendChild(table);
-
-       var thead = Calendar.createElement("thead", table);
-       var cell = null;
-       var row = null;
-
-       var cal = this;
-       var hh = function (text, cs, navtype) {
-               cell = Calendar.createElement("td", row);
-               cell.colSpan = cs;
-               cell.className = "button";
-               if (navtype != 0 && Math.abs(navtype) <= 2)
-                       cell.className += " nav";
-               Calendar._add_evs(cell);
-               cell.calendar = cal;
-               cell.navtype = navtype;
-               cell.innerHTML = "<div unselectable='on'>" + text + "</div>";
-               return cell;
-       };
-
-       row = Calendar.createElement("tr", thead);
-       var title_length = 6;
-       (this.isPopup) && --title_length;
-       (this.weekNumbers) && ++title_length;
-
-       hh("?", 1, 400).ttip = Calendar._TT["INFO"];
-       this.title = hh("", title_length, 300);
-       this.title.className = "title";
-       if (this.isPopup) {
-               this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
-               this.title.style.cursor = "move";
-               hh("&#x00d7;", 1, 200).ttip = Calendar._TT["CLOSE"];
-       }
-
-       row = Calendar.createElement("tr", thead);
-       row.className = "headrow";
-
-       this._nav_py = hh("&#x00ab;", 1, -2);
-       this._nav_py.ttip = Calendar._TT["PREV_YEAR"];
-
-       this._nav_pm = hh("&#x2039;", 1, -1);
-       this._nav_pm.ttip = Calendar._TT["PREV_MONTH"];
-
-       this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0);
-       this._nav_now.ttip = Calendar._TT["GO_TODAY"];
-
-       this._nav_nm = hh("&#x203a;", 1, 1);
-       this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"];
-
-       this._nav_ny = hh("&#x00bb;", 1, 2);
-       this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"];
-
-       // day names
-       row = Calendar.createElement("tr", thead);
-       row.className = "daynames";
-       if (this.weekNumbers) {
-               cell = Calendar.createElement("td", row);
-               cell.className = "name wn";
-               cell.innerHTML = Calendar._TT["WK"];
-       }
-       for (var i = 7; i > 0; --i) {
-               cell = Calendar.createElement("td", row);
-               if (!i) {
-                       cell.navtype = 100;
-                       cell.calendar = this;
-                       Calendar._add_evs(cell);
-               }
-       }
-       this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild;
-       this._displayWeekdays();
-
-       var tbody = Calendar.createElement("tbody", table);
-       this.tbody = tbody;
-
-       for (i = 6; i > 0; --i) {
-               row = Calendar.createElement("tr", tbody);
-               if (this.weekNumbers) {
-                       cell = Calendar.createElement("td", row);
-               }
-               for (var j = 7; j > 0; --j) {
-                       cell = Calendar.createElement("td", row);
-                       cell.calendar = this;
-                       Calendar._add_evs(cell);
-               }
-       }
-
-       if (this.showsTime) {
-               row = Calendar.createElement("tr", tbody);
-               row.className = "time";
-
-               cell = Calendar.createElement("td", row);
-               cell.className = "time";
-               cell.colSpan = 2;
-               cell.innerHTML = Calendar._TT["TIME"] || "&nbsp;";
-
-               cell = Calendar.createElement("td", row);
-               cell.className = "time";
-               cell.colSpan = this.weekNumbers ? 4 : 3;
-
-               (function(){
-                       function makeTimePart(className, init, range_start, range_end) {
-                               var part = Calendar.createElement("span", cell);
-                               part.className = className;
-                               part.innerHTML = init;
-                               part.calendar = cal;
-                               part.ttip = Calendar._TT["TIME_PART"];
-                               part.navtype = 50;
-                               part._range = [];
-                               if (typeof range_start != "number")
-                                       part._range = range_start;
-                               else {
-                                       for (var i = range_start; i <= range_end; ++i) {
-                                               var txt;
-                                               if (i < 10 && range_end >= 10) txt = '0' + i;
-                                               else txt = '' + i;
-                                               part._range[part._range.length] = txt;
-                                       }
-                               }
-                               Calendar._add_evs(part);
-                               return part;
-                       };
-                       var hrs = cal.date.getHours();
-                       var mins = cal.date.getMinutes();
-                       var t12 = !cal.time24;
-                       var pm = (hrs > 12);
-                       if (t12 && pm) hrs -= 12;
-                       var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
-                       var span = Calendar.createElement("span", cell);
-                       span.innerHTML = ":";
-                       span.className = "colon";
-                       var M = makeTimePart("minute", mins, 0, 59);
-                       var AP = null;
-                       cell = Calendar.createElement("td", row);
-                       cell.className = "time";
-                       cell.colSpan = 2;
-                       if (t12)
-                               AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
-                       else
-                               cell.innerHTML = "&nbsp;";
-
-                       cal.onSetTime = function() {
-                               var pm, hrs = this.date.getHours(),
-                                       mins = this.date.getMinutes();
-                               if (t12) {
-                                       pm = (hrs >= 12);
-                                       if (pm) hrs -= 12;
-                                       if (hrs == 0) hrs = 12;
-                                       AP.innerHTML = pm ? "pm" : "am";
-                               }
-                               H.innerHTML = (hrs < 10) ? ("0" + hrs) : hrs;
-                               M.innerHTML = (mins < 10) ? ("0" + mins) : mins;
-                       };
-
-                       cal.onUpdateTime = function() {
-                               var date = this.date;
-                               var h = parseInt(H.innerHTML, 10);
-                               if (t12) {
-                                       if (/pm/i.test(AP.innerHTML) && h < 12)
-                                               h += 12;
-                                       else if (/am/i.test(AP.innerHTML) && h == 12)
-                                               h = 0;
-                               }
-                               var d = date.getDate();
-                               var m = date.getMonth();
-                               var y = date.getFullYear();
-                               date.setHours(h);
-                               date.setMinutes(parseInt(M.innerHTML, 10));
-                               date.setFullYear(y);
-                               date.setMonth(m);
-                               date.setDate(d);
-                               this.dateClicked = false;
-                               this.callHandler();
-                       };
-               })();
-       } else {
-               this.onSetTime = this.onUpdateTime = function() {};
-       }
-
-       var tfoot = Calendar.createElement("tfoot", table);
-
-       row = Calendar.createElement("tr", tfoot);
-       row.className = "footrow";
-
-       cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);
-       cell.className = "ttip";
-       if (this.isPopup) {
-               cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
-               cell.style.cursor = "move";
-       }
-       this.tooltips = cell;
-
-       div = Calendar.createElement("div", this.element);
-       this.monthsCombo = div;
-       div.className = "combo";
-       for (i = 0; i < Calendar._MN.length; ++i) {
-               var mn = Calendar.createElement("div");
-               mn.className = Calendar.is_ie ? "label-IEfix" : "label";
-               mn.month = i;
-               mn.innerHTML = Calendar._SMN[i];
-               div.appendChild(mn);
-       }
-
-       div = Calendar.createElement("div", this.element);
-       this.yearsCombo = div;
-       div.className = "combo";
-       for (i = 12; i > 0; --i) {
-               var yr = Calendar.createElement("div");
-               yr.className = Calendar.is_ie ? "label-IEfix" : "label";
-               div.appendChild(yr);
-       }
-
-       this._init(this.firstDayOfWeek, this.date);
-       parent.appendChild(this.element);
-};
-
-/** keyboard navigation, only for popup calendars */
-Calendar._keyEvent = function(ev) {
-       var cal = window._dynarch_popupCalendar;
-       if (!cal || cal.multiple)
-               return false;
-       (Calendar.is_ie) && (ev = window.event);
-       var act = (Calendar.is_ie || ev.type == "keypress"),
-               K = ev.keyCode;
-       if (ev.ctrlKey) {
-               switch (K) {
-                   case 37: // KEY left
-                       act && Calendar.cellClick(cal._nav_pm);
-                       break;
-                   case 38: // KEY up
-                       act && Calendar.cellClick(cal._nav_py);
-                       break;
-                   case 39: // KEY right
-                       act && Calendar.cellClick(cal._nav_nm);
-                       break;
-                   case 40: // KEY down
-                       act && Calendar.cellClick(cal._nav_ny);
-                       break;
-                   default:
-                       return false;
-               }
-       } else switch (K) {
-           case 32: // KEY space (now)
-               Calendar.cellClick(cal._nav_now);
-               break;
-           case 27: // KEY esc
-               act && cal.callCloseHandler();
-               break;
-           case 37: // KEY left
-           case 38: // KEY up
-           case 39: // KEY right
-           case 40: // KEY down
-               if (act) {
-                       var prev, x, y, ne, el, step;
-                       prev = K == 37 || K == 38;
-                       step = (K == 37 || K == 39) ? 1 : 7;
-                       function setVars() {
-                               el = cal.currentDateEl;
-                               var p = el.pos;
-                               x = p & 15;
-                               y = p >> 4;
-                               ne = cal.ar_days[y][x];
-                       };setVars();
-                       function prevMonth() {
-                               var date = new Date(cal.date);
-                               date.setDate(date.getDate() - step);
-                               cal.setDate(date);
-                       };
-                       function nextMonth() {
-                               var date = new Date(cal.date);
-                               date.setDate(date.getDate() + step);
-                               cal.setDate(date);
-                       };
-                       while (1) {
-                               switch (K) {
-                                   case 37: // KEY left
-                                       if (--x >= 0)
-                                               ne = cal.ar_days[y][x];
-                                       else {
-                                               x = 6;
-                                               K = 38;
-                                               continue;
-                                       }
-                                       break;
-                                   case 38: // KEY up
-                                       if (--y >= 0)
-                                               ne = cal.ar_days[y][x];
-                                       else {
-                                               prevMonth();
-                                               setVars();
-                                       }
-                                       break;
-                                   case 39: // KEY right
-                                       if (++x < 7)
-                                               ne = cal.ar_days[y][x];
-                                       else {
-                                               x = 0;
-                                               K = 40;
-                                               continue;
-                                       }
-                                       break;
-                                   case 40: // KEY down
-                                       if (++y < cal.ar_days.length)
-                                               ne = cal.ar_days[y][x];
-                                       else {
-                                               nextMonth();
-                                               setVars();
-                                       }
-                                       break;
-                               }
-                               break;
-                       }
-                       if (ne) {
-                               if (!ne.disabled)
-                                       Calendar.cellClick(ne);
-                               else if (prev)
-                                       prevMonth();
-                               else
-                                       nextMonth();
-                       }
-               }
-               break;
-           case 13: // KEY enter
-               if (act)
-                       Calendar.cellClick(cal.currentDateEl, ev);
-               break;
-           default:
-               return false;
-       }
-       return Calendar.stopEvent(ev);
-};
-
-/**
- *  (RE)Initializes the calendar to the given date and firstDayOfWeek
- */
-Calendar.prototype._init = function (firstDayOfWeek, date) {
-       var today = new Date(),
-               TY = today.getFullYear(),
-               TM = today.getMonth(),
-               TD = today.getDate();
-       this.table.style.visibility = "hidden";
-       var year = date.getFullYear();
-       if (year < this.minYear) {
-               year = this.minYear;
-               date.setFullYear(year);
-       } else if (year > this.maxYear) {
-               year = this.maxYear;
-               date.setFullYear(year);
-       }
-       this.firstDayOfWeek = firstDayOfWeek;
-       this.date = new Date(date);
-       var month = date.getMonth();
-       var mday = date.getDate();
-       var no_days = date.getMonthDays();
-
-       // calendar voodoo for computing the first day that would actually be
-       // displayed in the calendar, even if it's from the previous month.
-       // WARNING: this is magic. ;-)
-       date.setDate(1);
-       var day1 = (date.getDay() - this.firstDayOfWeek) % 7;
-       if (day1 < 0)
-               day1 += 7;
-       date.setDate(-day1);
-       date.setDate(date.getDate() + 1);
-
-       var row = this.tbody.firstChild;
-       var MN = Calendar._SMN[month];
-       var ar_days = this.ar_days = new Array();
-       var weekend = Calendar._TT["WEEKEND"];
-       var dates = this.multiple ? (this.datesCells = {}) : null;
-       for (var i = 0; i < 6; ++i, row = row.nextSibling) {
-               var cell = row.firstChild;
-               if (this.weekNumbers) {
-                       cell.className = "day wn";
-                       cell.innerHTML = date.getWeekNumber();
-                       cell = cell.nextSibling;
-               }
-               row.className = "daysrow";
-               var hasdays = false, iday, dpos = ar_days[i] = [];
-               for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(iday + 1)) {
-                       iday = date.getDate();
-                       var wday = date.getDay();
-                       cell.className = "day";
-                       cell.pos = i << 4 | j;
-                       dpos[j] = cell;
-                       var current_month = (date.getMonth() == month);
-                       if (!current_month) {
-                               if (this.showsOtherMonths) {
-                                       cell.className += " othermonth";
-                                       cell.otherMonth = true;
-                               } else {
-                                       cell.className = "emptycell";
-                                       cell.innerHTML = "&nbsp;";
-                                       cell.disabled = true;
-                                       continue;
-                               }
-                       } else {
-                               cell.otherMonth = false;
-                               hasdays = true;
-                       }
-                       cell.disabled = false;
-                       cell.innerHTML = this.getDateText ? this.getDateText(date, iday) : iday;
-                       if (dates)
-                               dates[date.print("%Y%m%d")] = cell;
-                       if (this.getDateStatus) {
-                               var status = this.getDateStatus(date, year, month, iday);
-                               if (this.getDateToolTip) {
-                                       var toolTip = this.getDateToolTip(date, year, month, iday);
-                                       if (toolTip)
-                                               cell.title = toolTip;
-                               }
-                               if (status === true) {
-                                       cell.className += " disabled";
-                                       cell.disabled = true;
-                               } else {
-                                       if (/disabled/i.test(status))
-                                               cell.disabled = true;
-                                       cell.className += " " + status;
-                               }
-                       }
-                       if (!cell.disabled) {
-                               cell.caldate = new Date(date);
-                               cell.ttip = "_";
-                               if (!this.multiple && current_month
-                                   && iday == mday && this.hiliteToday) {
-                                       cell.className += " selected";
-                                       this.currentDateEl = cell;
-                               }
-                               if (date.getFullYear() == TY &&
-                                   date.getMonth() == TM &&
-                                   iday == TD) {
-                                       cell.className += " today";
-                                       cell.ttip += Calendar._TT["PART_TODAY"];
-                               }
-                               if (weekend.indexOf(wday.toString()) != -1)
-                                       cell.className += cell.otherMonth ? " oweekend" : " weekend";
-                       }
-               }
-               if (!(hasdays || this.showsOtherMonths))
-                       row.className = "emptyrow";
-       }
-       this.title.innerHTML = Calendar._MN[month] + ", " + year;
-       this.onSetTime();
-       this.table.style.visibility = "visible";
-       this._initMultipleDates();
-       // PROFILE
-       // this.tooltips.innerHTML = "Generated in " + ((new Date()) - today) + " ms";
-};
-
-Calendar.prototype._initMultipleDates = function() {
-       if (this.multiple) {
-               for (var i in this.multiple) {
-                       var cell = this.datesCells[i];
-                       var d = this.multiple[i];
-                       if (!d)
-                               continue;
-                       if (cell)
-                               cell.className += " selected";
-               }
-       }
-};
-
-Calendar.prototype._toggleMultipleDate = function(date) {
-       if (this.multiple) {
-               var ds = date.print("%Y%m%d");
-               var cell = this.datesCells[ds];
-               if (cell) {
-                       var d = this.multiple[ds];
-                       if (!d) {
-                               Calendar.addClass(cell, "selected");
-                               this.multiple[ds] = date;
-                       } else {
-                               Calendar.removeClass(cell, "selected");
-                               delete this.multiple[ds];
-                       }
-               }
-       }
-};
-
-Calendar.prototype.setDateToolTipHandler = function (unaryFunction) {
-       this.getDateToolTip = unaryFunction;
-};
-
-/**
- *  Calls _init function above for going to a certain date (but only if the
- *  date is different than the currently selected one).
- */
-Calendar.prototype.setDate = function (date) {
-       if (!date.equalsTo(this.date)) {
-               this._init(this.firstDayOfWeek, date);
-       }
-};
-
-/**
- *  Refreshes the calendar.  Useful if the "disabledHandler" function is
- *  dynamic, meaning that the list of disabled date can change at runtime.
- *  Just * call this function if you think that the list of disabled dates
- *  should * change.
- */
-Calendar.prototype.refresh = function () {
-       this._init(this.firstDayOfWeek, this.date);
-};
-
-/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */
-Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) {
-       this._init(firstDayOfWeek, this.date);
-       this._displayWeekdays();
-};
-
-/**
- *  Allows customization of what dates are enabled.  The "unaryFunction"
- *  parameter must be a function object that receives the date (as a JS Date
- *  object) and returns a boolean value.  If the returned value is true then
- *  the passed date will be marked as disabled.
- */
-Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) {
-       this.getDateStatus = unaryFunction;
-};
-
-/** Customization of allowed year range for the calendar. */
-Calendar.prototype.setRange = function (a, z) {
-       this.minYear = a;
-       this.maxYear = z;
-};
-
-/** Calls the first user handler (selectedHandler). */
-Calendar.prototype.callHandler = function () {
-       if (this.onSelected) {
-               this.onSelected(this, this.date.print(this.dateFormat));
-       }
-};
-
-/** Calls the second user handler (closeHandler). */
-Calendar.prototype.callCloseHandler = function () {
-       if (this.onClose) {
-               this.onClose(this);
-       }
-       this.hideShowCovered();
-};
-
-/** Removes the calendar object from the DOM tree and destroys it. */
-Calendar.prototype.destroy = function () {
-       var el = this.element.parentNode;
-       el.removeChild(this.element);
-       Calendar._C = null;
-       window._dynarch_popupCalendar = null;
-};
-
-/**
- *  Moves the calendar element to a different section in the DOM tree (changes
- *  its parent).
- */
-Calendar.prototype.reparent = function (new_parent) {
-       var el = this.element;
-       el.parentNode.removeChild(el);
-       new_parent.appendChild(el);
-};
-
-// This gets called when the user presses a mouse button anywhere in the
-// document, if the calendar is shown.  If the click was outside the open
-// calendar this function closes it.
-Calendar._checkCalendar = function(ev) {
-       var calendar = window._dynarch_popupCalendar;
-       if (!calendar) {
-               return false;
-       }
-       var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
-       for (; el != null && el != calendar.element; el = el.parentNode);
-       if (el == null) {
-               // calls closeHandler which should hide the calendar.
-               window._dynarch_popupCalendar.callCloseHandler();
-               return Calendar.stopEvent(ev);
-       }
-};
-
-/** Shows the calendar. */
-Calendar.prototype.show = function () {
-       var rows = this.table.getElementsByTagName("tr");
-       for (var i = rows.length; i > 0;) {
-               var row = rows[--i];
-               Calendar.removeClass(row, "rowhilite");
-               var cells = row.getElementsByTagName("td");
-               for (var j = cells.length; j > 0;) {
-                       var cell = cells[--j];
-                       Calendar.removeClass(cell, "hilite");
-                       Calendar.removeClass(cell, "active");
-               }
-       }
-       this.element.style.display = "block";
-       this.hidden = false;
-       if (this.isPopup) {
-               window._dynarch_popupCalendar = this;
-               Calendar.addEvent(document, "keydown", Calendar._keyEvent);
-               Calendar.addEvent(document, "keypress", Calendar._keyEvent);
-               Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
-       }
-       this.hideShowCovered();
-};
-
-/**
- *  Hides the calendar.  Also removes any "hilite" from the class of any TD
- *  element.
- */
-Calendar.prototype.hide = function () {
-       if (this.isPopup) {
-               Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
-               Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
-               Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
-       }
-       this.element.style.display = "none";
-       this.hidden = true;
-       this.hideShowCovered();
-};
-
-/**
- *  Shows the calendar at a given absolute position (beware that, depending on
- *  the calendar element style -- position property -- this might be relative
- *  to the parent's containing rectangle).
- */
-Calendar.prototype.showAt = function (x, y) {
-       var s = this.element.style;
-       s.left = x + "px";
-       s.top = y + "px";
-       this.show();
-};
-
-/** Shows the calendar near a given element. */
-Calendar.prototype.showAtElement = function (el, opts) {
-       var self = this;
-       var p = Calendar.getAbsolutePos(el);
-       if (!opts || typeof opts != "string") {
-               this.showAt(p.x, p.y + el.offsetHeight);
-               return true;
-       }
-       function fixPosition(box) {
-               if (box.x < 0)
-                       box.x = 0;
-               if (box.y < 0)
-                       box.y = 0;
-               var cp = document.createElement("div");
-               var s = cp.style;
-               s.position = "absolute";
-               s.right = s.bottom = s.width = s.height = "0px";
-               document.body.appendChild(cp);
-               var br = Calendar.getAbsolutePos(cp);
-               document.body.removeChild(cp);
-               if (Calendar.is_ie) {
-                       br.y += document.body.scrollTop;
-                       br.x += document.body.scrollLeft;
-               } else {
-                       br.y += window.scrollY;
-                       br.x += window.scrollX;
-               }
-               var tmp = box.x + box.width - br.x;
-               if (tmp > 0) box.x -= tmp;
-               tmp = box.y + box.height - br.y;
-               if (tmp > 0) box.y -= tmp;
-       };
-       this.element.style.display = "block";
-       Calendar.continuation_for_the_fucking_khtml_browser = function() {
-               var w = self.element.offsetWidth;
-               var h = self.element.offsetHeight;
-               self.element.style.display = "none";
-               var valign = opts.substr(0, 1);
-               var halign = "l";
-               if (opts.length > 1) {
-                       halign = opts.substr(1, 1);
-               }
-               // vertical alignment
-               switch (valign) {
-                   case "T": p.y -= h; break;
-                   case "B": p.y += el.offsetHeight; break;
-                   case "C": p.y += (el.offsetHeight - h) / 2; break;
-                   case "t": p.y += el.offsetHeight - h; break;
-                   case "b": break; // already there
-               }
-               // horizontal alignment
-               switch (halign) {
-                   case "L": p.x -= w; break;
-                   case "R": p.x += el.offsetWidth; break;
-                   case "C": p.x += (el.offsetWidth - w) / 2; break;
-                   case "l": p.x += el.offsetWidth - w; break;
-                   case "r": break; // already there
-               }
-               p.width = w;
-               p.height = h + 40;
-               self.monthsCombo.style.display = "none";
-               fixPosition(p);
-               self.showAt(p.x, p.y);
-       };
-       if (Calendar.is_khtml)
-               setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10);
-       else
-               Calendar.continuation_for_the_fucking_khtml_browser();
-};
-
-/** Customizes the date format. */
-Calendar.prototype.setDateFormat = function (str) {
-       this.dateFormat = str;
-};
-
-/** Customizes the tooltip date format. */
-Calendar.prototype.setTtDateFormat = function (str) {
-       this.ttDateFormat = str;
-};
-
-/**
- *  Tries to identify the date represented in a string.  If successful it also
- *  calls this.setDate which moves the calendar to the given date.
- */
-Calendar.prototype.parseDate = function(str, fmt) {
-       if (!fmt)
-               fmt = this.dateFormat;
-       this.setDate(Date.parseDate(str, fmt));
-};
-
-Calendar.prototype.hideShowCovered = function () {
-       if (!Calendar.is_ie && !Calendar.is_opera)
-               return;
-       function getVisib(obj){
-               var value = obj.style.visibility;
-               if (!value) {
-                       if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
-                               if (!Calendar.is_khtml)
-                                       value = document.defaultView.
-                                               getComputedStyle(obj, "").getPropertyValue("visibility");
-                               else
-                                       value = '';
-                       } else if (obj.currentStyle) { // IE
-                               value = obj.currentStyle.visibility;
-                       } else
-                               value = '';
-               }
-               return value;
-       };
-
-       var tags = new Array("applet", "iframe", "select");
-       var el = this.element;
-
-       var p = Calendar.getAbsolutePos(el);
-       var EX1 = p.x;
-       var EX2 = el.offsetWidth + EX1;
-       var EY1 = p.y;
-       var EY2 = el.offsetHeight + EY1;
-
-       for (var k = tags.length; k > 0; ) {
-               var ar = document.getElementsByTagName(tags[--k]);
-               var cc = null;
-
-               for (var i = ar.length; i > 0;) {
-                       cc = ar[--i];
-
-                       p = Calendar.getAbsolutePos(cc);
-                       var CX1 = p.x;
-                       var CX2 = cc.offsetWidth + CX1;
-                       var CY1 = p.y;
-                       var CY2 = cc.offsetHeight + CY1;
-
-                       if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
-                               if (!cc.__msh_save_visibility) {
-                                       cc.__msh_save_visibility = getVisib(cc);
-                               }
-                               cc.style.visibility = cc.__msh_save_visibility;
-                       } else {
-                               if (!cc.__msh_save_visibility) {
-                                       cc.__msh_save_visibility = getVisib(cc);
-                               }
-                               cc.style.visibility = "hidden";
-                       }
-               }
-       }
-};
-
-/** Internal function; it displays the bar with the names of the weekday. */
-Calendar.prototype._displayWeekdays = function () {
-       var fdow = this.firstDayOfWeek;
-       var cell = this.firstdayname;
-       var weekend = Calendar._TT["WEEKEND"];
-       for (var i = 0; i < 7; ++i) {
-               cell.className = "day name";
-               var realday = (i + fdow) % 7;
-               if (i) {
-                       cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]);
-                       cell.navtype = 100;
-                       cell.calendar = this;
-                       cell.fdow = realday;
-                       Calendar._add_evs(cell);
-               }
-               if (weekend.indexOf(realday.toString()) != -1) {
-                       Calendar.addClass(cell, "weekend");
-               }
-               cell.innerHTML = Calendar._SDN[(i + fdow) % 7];
-               cell = cell.nextSibling;
-       }
-};
-
-/** Internal function.  Hides all combo boxes that might be displayed. */
-Calendar.prototype._hideCombos = function () {
-       this.monthsCombo.style.display = "none";
-       this.yearsCombo.style.display = "none";
-};
-
-/** Internal function.  Starts dragging the element. */
-Calendar.prototype._dragStart = function (ev) {
-       if (this.dragging) {
-               return;
-       }
-       this.dragging = true;
-       var posX;
-       var posY;
-       if (Calendar.is_ie) {
-               posY = window.event.clientY + document.body.scrollTop;
-               posX = window.event.clientX + document.body.scrollLeft;
-       } else {
-               posY = ev.clientY + window.scrollY;
-               posX = ev.clientX + window.scrollX;
-       }
-       var st = this.element.style;
-       this.xOffs = posX - parseInt(st.left);
-       this.yOffs = posY - parseInt(st.top);
-       with (Calendar) {
-               addEvent(document, "mousemove", calDragIt);
-               addEvent(document, "mouseup", calDragEnd);
-       }
-};
-
-// BEGIN: DATE OBJECT PATCHES
-
-/** Adds the number of days array to the Date object. */
-Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
-
-/** Constants used for time computations */
-Date.SECOND = 1000 /* milliseconds */;
-Date.MINUTE = 60 * Date.SECOND;
-Date.HOUR   = 60 * Date.MINUTE;
-Date.DAY    = 24 * Date.HOUR;
-Date.WEEK   =  7 * Date.DAY;
-
-Date.parseDate = function(str, fmt) {
-       var today = new Date();
-       var y = 0;
-       var m = -1;
-       var d = 0;
-       var a = str.split(/\W+/);
-       var b = fmt.match(/%./g);
-       var i = 0, j = 0;
-       var hr = 0;
-       var min = 0;
-       for (i = 0; i < a.length; ++i) {
-               if (!a[i])
-                       continue;
-               switch (b[i]) {
-                   case "%d":
-                   case "%e":
-                       d = parseInt(a[i], 10);
-                       break;
-
-                   case "%m":
-                       m = parseInt(a[i], 10) - 1;
-                       break;
-
-                   case "%Y":
-                   case "%y":
-                       y = parseInt(a[i], 10);
-                       (y < 100) && (y += (y > 29) ? 1900 : 2000);
-                       break;
-
-                   case "%b":
-                   case "%B":
-                       for (j = 0; j < 12; ++j) {
-                               if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
-                       }
-                       break;
-
-                   case "%H":
-                   case "%I":
-                   case "%k":
-                   case "%l":
-                       hr = parseInt(a[i], 10);
-                       break;
-
-                   case "%P":
-                   case "%p":
-                       if (/pm/i.test(a[i]) && hr < 12)
-                               hr += 12;
-                       else if (/am/i.test(a[i]) && hr >= 12)
-                               hr -= 12;
-                       break;
-
-                   case "%M":
-                       min = parseInt(a[i], 10);
-                       break;
-               }
-       }
-       if (isNaN(y)) y = today.getFullYear();
-       if (isNaN(m)) m = today.getMonth();
-       if (isNaN(d)) d = today.getDate();
-       if (isNaN(hr)) hr = today.getHours();
-       if (isNaN(min)) min = today.getMinutes();
-       if (y != 0 && m != -1 && d != 0)
-               return new Date(y, m, d, hr, min, 0);
-       y = 0; m = -1; d = 0;
-       for (i = 0; i < a.length; ++i) {
-               if (a[i].search(/[a-zA-Z]+/) != -1) {
-                       var t = -1;
-                       for (j = 0; j < 12; ++j) {
-                               if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
-                       }
-                       if (t != -1) {
-                               if (m != -1) {
-                                       d = m+1;
-                               }
-                               m = t;
-                       }
-               } else if (parseInt(a[i], 10) <= 12 && m == -1) {
-                       m = a[i]-1;
-               } else if (parseInt(a[i], 10) > 31 && y == 0) {
-                       y = parseInt(a[i], 10);
-                       (y < 100) && (y += (y > 29) ? 1900 : 2000);
-               } else if (d == 0) {
-                       d = a[i];
-               }
-       }
-       if (y == 0)
-               y = today.getFullYear();
-       if (m != -1 && d != 0)
-               return new Date(y, m, d, hr, min, 0);
-       return today;
-};
-
-/** Returns the number of days in the current month */
-Date.prototype.getMonthDays = function(month) {
-       var year = this.getFullYear();
-       if (typeof month == "undefined") {
-               month = this.getMonth();
-       }
-       if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
-               return 29;
-       } else {
-               return Date._MD[month];
-       }
-};
-
-/** Returns the number of day in the year. */
-Date.prototype.getDayOfYear = function() {
-       var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
-       var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
-       var time = now - then;
-       return Math.floor(time / Date.DAY);
-};
-
-/** Returns the number of the week in year, as defined in ISO 8601. */
-Date.prototype.getWeekNumber = function() {
-       var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
-       var DoW = d.getDay();
-       d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
-       var ms = d.valueOf(); // GMT
-       d.setMonth(0);
-       d.setDate(4); // Thu in Week 1
-       return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
-};
-
-/** Checks date and time equality */
-Date.prototype.equalsTo = function(date) {
-       return ((this.getFullYear() == date.getFullYear()) &&
-               (this.getMonth() == date.getMonth()) &&
-               (this.getDate() == date.getDate()) &&
-               (this.getHours() == date.getHours()) &&
-               (this.getMinutes() == date.getMinutes()));
-};
-
-/** Set only the year, month, date parts (keep existing time) */
-Date.prototype.setDateOnly = function(date) {
-       var tmp = new Date(date);
-       this.setDate(1);
-       this.setFullYear(tmp.getFullYear());
-       this.setMonth(tmp.getMonth());
-       this.setDate(tmp.getDate());
-};
-
-/** Prints the date in a string according to the given format. */
-Date.prototype.print = function (str) {
-       var m = this.getMonth();
-       var d = this.getDate();
-       var y = this.getFullYear();
-       var wn = this.getWeekNumber();
-       var w = this.getDay();
-       var s = {};
-       var hr = this.getHours();
-       var pm = (hr >= 12);
-       var ir = (pm) ? (hr - 12) : hr;
-       var dy = this.getDayOfYear();
-       if (ir == 0)
-               ir = 12;
-       var min = this.getMinutes();
-       var sec = this.getSeconds();
-       s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
-       s["%A"] = Calendar._DN[w]; // full weekday name
-       s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
-       s["%B"] = Calendar._MN[m]; // full month name
-       // FIXME: %c : preferred date and time representation for the current locale
-       s["%C"] = 1 + Math.floor(y / 100); // the century number
-       s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31)
-       s["%e"] = d; // the day of the month (range 1 to 31)
-       // FIXME: %D : american date style: %m/%d/%y
-       // FIXME: %E, %F, %G, %g, %h (man strftime)
-       s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format)
-       s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format)
-       s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366)
-       s["%k"] = hr;           // hour, range 0 to 23 (24h format)
-       s["%l"] = ir;           // hour, range 1 to 12 (12h format)
-       s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
-       s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
-       s["%n"] = "\n";         // a newline character
-       s["%p"] = pm ? "PM" : "AM";
-       s["%P"] = pm ? "pm" : "am";
-       // FIXME: %r : the time in am/pm notation %I:%M:%S %p
-       // FIXME: %R : the time in 24-hour notation %H:%M
-       s["%s"] = Math.floor(this.getTime() / 1000);
-       s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
-       s["%t"] = "\t";         // a tab character
-       // FIXME: %T : the time in 24-hour notation (%H:%M:%S)
-       s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn;
-       s["%u"] = w + 1;        // the day of the week (range 1 to 7, 1 = MON)
-       s["%w"] = w;            // the day of the week (range 0 to 6, 0 = SUN)
-       // FIXME: %x : preferred date representation for the current locale without the time
-       // FIXME: %X : preferred time representation for the current locale without the date
-       s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99)
-       s["%Y"] = y;            // year with the century
-       s["%%"] = "%";          // a literal '%' character
-
-       var re = /%./g;
-       if (!Calendar.is_ie5 && !Calendar.is_khtml)
-               return str.replace(re, function (par) { return s[par] || par; });
-
-       var a = str.match(re);
-       for (var i = 0; i < a.length; i++) {
-               var tmp = s[a[i]];
-               if (tmp) {
-                       re = new RegExp(a[i], 'g');
-                       str = str.replace(re, tmp);
-               }
-       }
-
-       return str;
-};
-
-Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear;
-Date.prototype.setFullYear = function(y) {
-       var d = new Date(this);
-       d.__msh_oldSetFullYear(y);
-       if (d.getMonth() != this.getMonth())
-               this.setDate(28);
-       this.__msh_oldSetFullYear(y);
-};
-
-// END: DATE OBJECT PATCHES
-
-
-// global object that remembers the calendar
-window._dynarch_popupCalendar = null;
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/calendar_stripped.js b/extra/webapps/article-manager/resources/jscalendar-1.0/calendar_stripped.js
deleted file mode 100644 (file)
index 4fe03f1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo
- * -----------------------------------------------------------
- *
- * The DHTML Calendar, version 1.0 "It is happening again"
- *
- * Details and latest version at:
- * www.dynarch.com/projects/calendar
- *
- * This script is developed by Dynarch.com.  Visit us at www.dynarch.com.
- *
- * This script is distributed under the GNU Lesser General Public License.
- * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
- */
- Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);}break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(halign){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "l":p.x+=el.offsetWidth-w;break;case "r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView. getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case "%b":case "%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case "%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-af.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-af.js
deleted file mode 100644 (file)
index aeda581..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// ** I18N Afrikaans
-Calendar._DN = new Array
-("Sondag",
- "Maandag",
- "Dinsdag",
- "Woensdag",
- "Donderdag",
- "Vrydag",
- "Saterdag",
- "Sondag");
-Calendar._MN = new Array
-("Januarie",
- "Februarie",
- "Maart",
- "April",
- "Mei",
- "Junie",
- "Julie",
- "Augustus",
- "September",
- "Oktober",
- "November",
- "Desember");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["TOGGLE"] = "Verander eerste dag van die week";
-Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)";
-Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)";
-Calendar._TT["GO_TODAY"] = "Gaan na vandag";
-Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)";
-Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)";
-Calendar._TT["SEL_DATE"] = "Kies datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif";
-Calendar._TT["PART_TODAY"] = " (vandag)";
-Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste";
-Calendar._TT["SUN_FIRST"] = "Display Sunday first";
-Calendar._TT["CLOSE"] = "Close";
-Calendar._TT["TODAY"] = "Today";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-al.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-al.js
deleted file mode 100644 (file)
index 4f701cf..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-// Calendar ALBANIAN language
-//author Rigels Gordani rige@hotmail.com
-
-// ditet
-Calendar._DN = new Array
-("E Diele",
-"E Hene",
-"E Marte",
-"E Merkure",
-"E Enjte",
-"E Premte",
-"E Shtune",
-"E Diele");
-
-//ditet shkurt
-Calendar._SDN = new Array
-("Die",
-"Hen",
-"Mar",
-"Mer",
-"Enj",
-"Pre",
-"Sht",
-"Die");
-
-// muajt
-Calendar._MN = new Array
-("Janar",
-"Shkurt",
-"Mars",
-"Prill",
-"Maj",
-"Qeshor",
-"Korrik",
-"Gusht",
-"Shtator",
-"Tetor",
-"Nentor",
-"Dhjetor");
-
-// muajte shkurt
-Calendar._SMN = new Array
-("Jan",
-"Shk",
-"Mar",
-"Pri",
-"Maj",
-"Qes",
-"Kor",
-"Gus",
-"Sht",
-"Tet",
-"Nen",
-"Dhj");
-
-// ndihmesa
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Per kalendarin";
-
-Calendar._TT["ABOUT"] =
-"Zgjedhes i ores/dates ne DHTML \n" +
-"\n\n" +"Zgjedhja e Dates:\n" +
-"- Perdor butonat \xab, \xbb per te zgjedhur vitin\n" +
-"- Perdor  butonat" + String.fromCharCode(0x2039) + ", " + 
-String.fromCharCode(0x203a) +
-" per te  zgjedhur muajin\n" +
-"- Mbani shtypur butonin e mousit per nje zgjedje me te shpejte.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Zgjedhja e kohes:\n" +
-"- Kliko tek ndonje nga pjeset e ores per ta rritur ate\n" +
-"- ose kliko me Shift per ta zvogeluar ate\n" +
-"- ose cliko dhe terhiq per zgjedhje me te shpejte.";
-
-Calendar._TT["PREV_YEAR"] = "Viti i shkuar (prit per menune)";
-Calendar._TT["PREV_MONTH"] = "Muaji i shkuar (prit per menune)";
-Calendar._TT["GO_TODAY"] = "Sot";
-Calendar._TT["NEXT_MONTH"] = "Muaji i ardhshem (prit per menune)";
-Calendar._TT["NEXT_YEAR"] = "Viti i ardhshem (prit per menune)";
-Calendar._TT["SEL_DATE"] = "Zgjidh daten";
-Calendar._TT["DRAG_TO_MOVE"] = "Terhiqe per te levizur";
-Calendar._TT["PART_TODAY"] = " (sot)";
-
-// "%s" eshte dita e pare e javes
-// %s do te zevendesohet me emrin e dite
-Calendar._TT["DAY_FIRST"] = "Trego te %s te paren";
-
-
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Mbyll";
-Calendar._TT["TODAY"] = "Sot";
-Calendar._TT["TIME_PART"] = "Kliko me (Shift-)ose terhiqe per te ndryshuar 
-vleren";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "Java";
-Calendar._TT["TIME"] = "Koha:";
-
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-bg.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-bg.js
deleted file mode 100644 (file)
index 5eb73ec..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// ** I18N\r
-\r
-// Calendar BG language\r
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>\r
-// Translator: Valentin Sheiretsky, <valio@valio.eu.org>\r
-// Encoding: Windows-1251\r
-// Distributed under the same terms as the calendar itself.\r
-\r
-// For translators: please use UTF-8 if possible.  We strongly believe that\r
-// Unicode is the answer to a real internationalized world.  Also please\r
-// include your contact information in the header, as can be seen above.\r
-\r
-// full day names\r
-Calendar._DN = new Array\r
-("Íåäåëÿ",\r
- "Ïîíåäåëíèê",\r
- "Âòîðíèê",\r
- "Ñðÿäà",\r
- "×åòâúðòúê",\r
- "Ïåòúê",\r
- "Ñúáîòà",\r
- "Íåäåëÿ");\r
-\r
-// Please note that the following array of short day names (and the same goes\r
-// for short month names, _SMN) isn't absolutely necessary.  We give it here\r
-// for exemplification on how one can customize the short day names, but if\r
-// they are simply the first N letters of the full name you can simply say:\r
-//\r
-//   Calendar._SDN_len = N; // short day name length\r
-//   Calendar._SMN_len = N; // short month name length\r
-//\r
-// If N = 3 then this is not needed either since we assume a value of 3 if not\r
-// present, to be compatible with translation files that were written before\r
-// this feature.\r
-\r
-// short day names\r
-Calendar._SDN = new Array\r
-("Íåä",\r
- "Ïîí",\r
- "Âòî",\r
- "Ñðÿ",\r
- "×åò",\r
- "Ïåò",\r
- "Ñúá",\r
- "Íåä");\r
-\r
-// full month names\r
-Calendar._MN = new Array\r
-("ßíóàðè",\r
- "Ôåâðóàðè",\r
- "Ìàðò",\r
- "Àïðèë",\r
- "Ìàé",\r
- "Þíè",\r
- "Þëè",\r
- "Àâãóñò",\r
- "Ñåïòåìâðè",\r
- "Îêòîìâðè",\r
- "Íîåìâðè",\r
- "Äåêåìâðè");\r
-\r
-// short month names\r
-Calendar._SMN = new Array\r
-("ßíó",\r
- "Ôåâ",\r
- "Ìàð",\r
- "Àïð",\r
- "Ìàé",\r
- "Þíè",\r
- "Þëè",\r
- "Àâã",\r
- "Ñåï",\r
- "Îêò",\r
- "Íîå",\r
- "Äåê");\r
-\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["INFO"] = "Èíôîðìàöèÿ çà êàëåíäàðà";\r
-\r
-Calendar._TT["ABOUT"] =\r
-"DHTML Date/Time Selector\n" +\r
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)\r
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +\r
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +\r
-"\n\n" +\r
-"Date selection:\n" +\r
-"- Use the \xab, \xbb buttons to select year\n" +\r
-"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +\r
-"- Hold mouse button on any of the above buttons for faster selection.";\r
-Calendar._TT["ABOUT_TIME"] = "\n\n" +\r
-"Time selection:\n" +\r
-"- Click on any of the time parts to increase it\n" +\r
-"- or Shift-click to decrease it\n" +\r
-"- or click and drag for faster selection.";\r
-\r
-Calendar._TT["PREV_YEAR"] = "Ïðåäíà ãîäèíà (çàäðúæòå çà ìåíþ)";\r
-Calendar._TT["PREV_MONTH"] = "Ïðåäåí ìåñåö (çàäðúæòå çà ìåíþ)";\r
-Calendar._TT["GO_TODAY"] = "Èçáåðåòå äíåñ";\r
-Calendar._TT["NEXT_MONTH"] = "Ñëåäâàù ìåñåö (çàäðúæòå çà ìåíþ)";\r
-Calendar._TT["NEXT_YEAR"] = "Ñëåäâàùà ãîäèíà (çàäðúæòå çà ìåíþ)";\r
-Calendar._TT["SEL_DATE"] = "Èçáåðåòå äàòà";\r
-Calendar._TT["DRAG_TO_MOVE"] = "Ïðåìåñòâàíå";\r
-Calendar._TT["PART_TODAY"] = " (äíåñ)";\r
-\r
-// the following is to inform that "%s" is to be the first day of week\r
-// %s will be replaced with the day name.\r
-Calendar._TT["DAY_FIRST"] = "%s êàòî ïúðâè äåí";\r
-\r
-// This may be locale-dependent.  It specifies the week-end days, as an array\r
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1\r
-// means Monday, etc.\r
-Calendar._TT["WEEKEND"] = "0,6";\r
-\r
-Calendar._TT["CLOSE"] = "Çàòâîðåòå";\r
-Calendar._TT["TODAY"] = "Äíåñ";\r
-Calendar._TT["TIME_PART"] = "(Shift-)Click èëè drag çà äà ïðîìåíèòå ñòîéíîñòòà";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";\r
-Calendar._TT["TT_DATE_FORMAT"] = "%A - %e %B %Y";\r
-\r
-Calendar._TT["WK"] = "Ñåäì";\r
-Calendar._TT["TIME"] = "×àñ:";\r
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5-utf8.js
deleted file mode 100644 (file)
index 14e0d5d..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar big5-utf8 language
-// Author: Gary Fu, <gary@garyfu.idv.tw>
-// Encoding: utf8
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-       
-// full day names
-Calendar._DN = new Array
-("星期日",
- "星期一",
- "星期二",
- "星期三",
- "星期四",
- "星期五",
- "星期六",
- "星期日");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("日",
- "一",
- "二",
- "三",
- "四",
- "五",
- "六",
- "日");
-
-// full month names
-Calendar._MN = new Array
-("一月",
- "二月",
- "三月",
- "四月",
- "五月",
- "六月",
- "七月",
- "八月",
- "九月",
- "十月",
- "十一月",
- "十二月");
-
-// short month names
-Calendar._SMN = new Array
-("一月",
- "二月",
- "三月",
- "四月",
- "五月",
- "六月",
- "七月",
- "八月",
- "九月",
- "十月",
- "十一月",
- "十二月");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "關於";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"日期選擇方法:\n" +
-"- 使用 \xab, \xbb 按鈕可選擇年份\n" +
-"- 使用 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 按鈕可選擇月份\n" +
-"- 按住上面的按鈕可以加快選取";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"時間選擇方法:\n" +
-"- 點擊任何的時間部份可增加其值\n" +
-"- 同時按Shift鍵再點擊可減少其值\n" +
-"- 點擊並拖曳可加快改變的值";
-
-Calendar._TT["PREV_YEAR"] = "上一年 (按住選單)";
-Calendar._TT["PREV_MONTH"] = "下一年 (按住選單)";
-Calendar._TT["GO_TODAY"] = "到今日";
-Calendar._TT["NEXT_MONTH"] = "上一月 (按住選單)";
-Calendar._TT["NEXT_YEAR"] = "下一月 (按住選單)";
-Calendar._TT["SEL_DATE"] = "選擇日期";
-Calendar._TT["DRAG_TO_MOVE"] = "拖曳";
-Calendar._TT["PART_TODAY"] = " (今日)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "將 %s 顯示在前";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "關閉";
-Calendar._TT["TODAY"] = "今日";
-Calendar._TT["TIME_PART"] = "點擊or拖曳可改變時間(同時按Shift為減)";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "週";
-Calendar._TT["TIME"] = "Time:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-big5.js
deleted file mode 100644 (file)
index a589358..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar big5 language
-// Author: Gary Fu, <gary@garyfu.idv.tw>
-// Encoding: big5
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-       
-// full day names
-Calendar._DN = new Array
-("¬P´Á¤é",
- "¬P´Á¤@",
- "¬P´Á¤G",
- "¬P´Á¤T",
- "¬P´Á¥|",
- "¬P´Á¤­",
- "¬P´Á¤»",
- "¬P´Á¤é");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("¤é",
- "¤@",
- "¤G",
- "¤T",
- "¥|",
- "¤­",
- "¤»",
- "¤é");
-
-// full month names
-Calendar._MN = new Array
-("¤@¤ë",
- "¤G¤ë",
- "¤T¤ë",
- "¥|¤ë",
- "¤­¤ë",
- "¤»¤ë",
- "¤C¤ë",
- "¤K¤ë",
- "¤E¤ë",
- "¤Q¤ë",
- "¤Q¤@¤ë",
- "¤Q¤G¤ë");
-
-// short month names
-Calendar._SMN = new Array
-("¤@¤ë",
- "¤G¤ë",
- "¤T¤ë",
- "¥|¤ë",
- "¤­¤ë",
- "¤»¤ë",
- "¤C¤ë",
- "¤K¤ë",
- "¤E¤ë",
- "¤Q¤ë",
- "¤Q¤@¤ë",
- "¤Q¤G¤ë");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Ãö©ó";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"¤é´Á¿ï¾Ü¤èªk:\n" +
-"- ¨Ï¥Î \xab, \xbb «ö¶s¥i¿ï¾Ü¦~¥÷\n" +
-"- ¨Ï¥Î " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " «ö¶s¥i¿ï¾Ü¤ë¥÷\n" +
-"- «ö¦í¤W­±ªº«ö¶s¥i¥H¥[§Ö¿ï¨ú";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"®É¶¡¿ï¾Ü¤èªk:\n" +
-"- ÂIÀ»¥ô¦óªº®É¶¡³¡¥÷¥i¼W¥[¨ä­È\n" +
-"- ¦P®É«öShiftÁä¦AÂIÀ»¥i´î¤Ö¨ä­È\n" +
-"- ÂIÀ»¨Ã©ì¦²¥i¥[§Ö§ïÅܪº­È";
-
-Calendar._TT["PREV_YEAR"] = "¤W¤@¦~ («ö¦í¿ï³æ)";
-Calendar._TT["PREV_MONTH"] = "¤U¤@¦~ («ö¦í¿ï³æ)";
-Calendar._TT["GO_TODAY"] = "¨ì¤µ¤é";
-Calendar._TT["NEXT_MONTH"] = "¤W¤@¤ë («ö¦í¿ï³æ)";
-Calendar._TT["NEXT_YEAR"] = "¤U¤@¤ë («ö¦í¿ï³æ)";
-Calendar._TT["SEL_DATE"] = "¿ï¾Ü¤é´Á";
-Calendar._TT["DRAG_TO_MOVE"] = "©ì¦²";
-Calendar._TT["PART_TODAY"] = " (¤µ¤é)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "±N %s Åã¥Ü¦b«e";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Ãö³¬";
-Calendar._TT["TODAY"] = "¤µ¤é";
-Calendar._TT["TIME_PART"] = "ÂIÀ»or©ì¦²¥i§ïÅܮɶ¡(¦P®É«öShift¬°´î)";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "¶g";
-Calendar._TT["TIME"] = "Time:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-br.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-br.js
deleted file mode 100644 (file)
index bfb0747..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-// ** I18N
-
-// Calendar pt-BR language
-// Author: Fernando Dourado, <fernando.dourado@ig.com.br>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Domingo",
- "Segunda",
- "Terça",
- "Quarta",
- "Quinta",
- "Sexta",
- "Sabádo",
- "Domingo");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-// [No changes using default values]
-
-// full month names
-Calendar._MN = new Array
-("Janeiro",
- "Fevereiro",
- "Março",
- "Abril",
- "Maio",
- "Junho",
- "Julho",
- "Agosto",
- "Setembro",
- "Outubro",
- "Novembro",
- "Dezembro");
-
-// short month names
-// [No changes using default values]
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Sobre o calendário";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Translate to portuguese Brazil (pt-BR) by Fernando Dourado (fernando.dourado@ig.com.br)\n" +
-"Tradução para o português Brasil (pt-BR) por Fernando Dourado (fernando.dourado@ig.com.br)" +
-"\n\n" +
-"Selecionar data:\n" +
-"- Use as teclas \xab, \xbb para selecionar o ano\n" +
-"- Use as teclas " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mês\n" +
-"- Clique e segure com o mouse em qualquer botão para selecionar rapidamente.";
-
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selecionar hora:\n" +
-"- Clique em qualquer uma das partes da hora para aumentar\n" +
-"- ou Shift-clique para diminuir\n" +
-"- ou clique e arraste para selecionar rapidamente.";
-
-Calendar._TT["PREV_YEAR"] = "Ano anterior (clique e segure para menu)";
-Calendar._TT["PREV_MONTH"] = "Mês anterior (clique e segure para menu)";
-Calendar._TT["GO_TODAY"] = "Ir para a data atual";
-Calendar._TT["NEXT_MONTH"] = "Próximo mês (clique e segure para menu)";
-Calendar._TT["NEXT_YEAR"] = "Próximo ano (clique e segure para menu)";
-Calendar._TT["SEL_DATE"] = "Selecione uma data";
-Calendar._TT["DRAG_TO_MOVE"] = "Clique e segure para mover";
-Calendar._TT["PART_TODAY"] = " (hoje)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Exibir %s primeiro";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Fechar";
-Calendar._TT["TODAY"] = "Hoje";
-Calendar._TT["TIME_PART"] = "(Shift-)Clique ou arraste para mudar o valor";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%d de %B de %Y";
-
-Calendar._TT["WK"] = "sem";
-Calendar._TT["TIME"] = "Hora:";
-
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ca.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ca.js
deleted file mode 100644 (file)
index a2121bc..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar CA language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Diumenge",
- "Dilluns",
- "Dimarts",
- "Dimecres",
- "Dijous",
- "Divendres",
- "Dissabte",
- "Diumenge");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Diu",
- "Dil",
- "Dmt",
- "Dmc",
- "Dij",
- "Div",
- "Dis",
- "Diu");
-
-// full month names
-Calendar._MN = new Array
-("Gener",
- "Febrer",
- "Març",
- "Abril",
- "Maig",
- "Juny",
- "Juliol",
- "Agost",
- "Setembre",
- "Octubre",
- "Novembre",
- "Desembre");
-
-// short month names
-Calendar._SMN = new Array
-("Gen",
- "Feb",
- "Mar",
- "Abr",
- "Mai",
- "Jun",
- "Jul",
- "Ago",
- "Set",
- "Oct",
- "Nov",
- "Des");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Sobre el calendari";
-
-Calendar._TT["ABOUT"] =
-"DHTML Selector de Data/Hora\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Sel.lecció de Dates:\n" +
-"- Fes servir els botons \xab, \xbb per sel.leccionar l'any\n" +
-"- Fes servir els botons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per se.lecciconar el mes\n" +
-"- Manté el ratolí apretat en qualsevol dels anteriors per sel.lecció ràpida.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Time selection:\n" +
-"- claca en qualsevol de les parts de la hora per augmentar-les\n" +
-"- o Shift-click per decrementar-la\n" +
-"- or click and arrastra per sel.lecció ràpida.";
-
-Calendar._TT["PREV_YEAR"] = "Any anterior (Mantenir per menu)";
-Calendar._TT["PREV_MONTH"] = "Mes anterior (Mantenir per menu)";
-Calendar._TT["GO_TODAY"] = "Anar a avui";
-Calendar._TT["NEXT_MONTH"] = "Mes següent (Mantenir per menu)";
-Calendar._TT["NEXT_YEAR"] = "Any següent (Mantenir per menu)";
-Calendar._TT["SEL_DATE"] = "Sel.leccionar data";
-Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar per moure";
-Calendar._TT["PART_TODAY"] = " (avui)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Mostra %s primer";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Tanca";
-Calendar._TT["TODAY"] = "Avui";
-Calendar._TT["TIME_PART"] = "(Shift-)Click a arrastra per canviar el valor";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "st";
-Calendar._TT["TIME"] = "Hora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-utf8.js
deleted file mode 100644 (file)
index f6bbbeb..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* 
-       calendar-cs-win.js
-       language: Czech
-       encoding: windows-1250
-       author: Lubos Jerabek (xnet@seznam.cz)
-               Jan Uhlir (espinosa@centrum.cz)
-*/
-
-// ** I18N
-Calendar._DN  = new Array('Neděle','Pondělí','Úterý','Středa','Čtvrtek','Pátek','Sobota','Neděle');
-Calendar._SDN = new Array('Ne','Po','Út','St','Čt','Pá','So','Ne');
-Calendar._MN  = new Array('Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec');
-Calendar._SMN = new Array('Led','Úno','Bře','Dub','Kvě','Črv','Čvc','Srp','Zář','Říj','Lis','Pro');
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "O komponentě kalendář";
-Calendar._TT["TOGGLE"] = "Změna prvního dne v týdnu";
-Calendar._TT["PREV_YEAR"] = "Předchozí rok (přidrž pro menu)";
-Calendar._TT["PREV_MONTH"] = "Předchozí měsíc (přidrž pro menu)";
-Calendar._TT["GO_TODAY"] = "Dnešní datum";
-Calendar._TT["NEXT_MONTH"] = "Další měsíc (přidrž pro menu)";
-Calendar._TT["NEXT_YEAR"] = "Další rok (přidrž pro menu)";
-Calendar._TT["SEL_DATE"] = "Vyber datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Chyť a táhni, pro přesun";
-Calendar._TT["PART_TODAY"] = " (dnes)";
-Calendar._TT["MON_FIRST"] = "Ukaž jako první Pondělí";
-//Calendar._TT["SUN_FIRST"] = "Ukaž jako první Neděli";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Výběr datumu:\n" +
-"- Use the \xab, \xbb buttons to select year\n" +
-"- Použijte tlačítka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k výběru měsíce\n" +
-"- Podržte tlačítko myši na jakémkoliv z těch tlačítek pro rychlejší výběr.";
-
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Výběr času:\n" +
-"- Klikněte na jakoukoliv z částí výběru času pro zvýšení.\n" +
-"- nebo Shift-click pro snížení\n" +
-"- nebo klikněte a táhněte pro rychlejší výběr.";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Zobraz %s první";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Zavřít";
-Calendar._TT["TODAY"] = "Dnes";
-Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo táhni pro změnu hodnoty";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Čas:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-win.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-cs-win.js
deleted file mode 100644 (file)
index 140dff3..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* 
-       calendar-cs-win.js
-       language: Czech
-       encoding: windows-1250
-       author: Lubos Jerabek (xnet@seznam.cz)
-               Jan Uhlir (espinosa@centrum.cz)
-*/
-
-// ** I18N
-Calendar._DN  = new Array('Nedìle','Pondìlí','Úterý','Støeda','Ètvrtek','Pátek','Sobota','Nedìle');
-Calendar._SDN = new Array('Ne','Po','Út','St','Èt','Pá','So','Ne');
-Calendar._MN  = new Array('Leden','Únor','Bøezen','Duben','Kvìten','Èerven','Èervenec','Srpen','Záøí','Øíjen','Listopad','Prosinec');
-Calendar._SMN = new Array('Led','Úno','Bøe','Dub','Kvì','Èrv','Èvc','Srp','Záø','Øíj','Lis','Pro');
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "O komponentì kalendáø";
-Calendar._TT["TOGGLE"] = "Zmìna prvního dne v týdnu";
-Calendar._TT["PREV_YEAR"] = "Pøedchozí rok (pøidr\9e pro menu)";
-Calendar._TT["PREV_MONTH"] = "Pøedchozí mìsíc (pøidr\9e pro menu)";
-Calendar._TT["GO_TODAY"] = "Dne\9aní datum";
-Calendar._TT["NEXT_MONTH"] = "Dal\9aí mìsíc (pøidr\9e pro menu)";
-Calendar._TT["NEXT_YEAR"] = "Dal\9aí rok (pøidr\9e pro menu)";
-Calendar._TT["SEL_DATE"] = "Vyber datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Chy\9d a táhni, pro pøesun";
-Calendar._TT["PART_TODAY"] = " (dnes)";
-Calendar._TT["MON_FIRST"] = "Uka\9e jako první Pondìlí";
-//Calendar._TT["SUN_FIRST"] = "Uka\9e jako první Nedìli";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Výbìr datumu:\n" +
-"- Use the \xab, \xbb buttons to select year\n" +
-"- Pou\9eijte tlaèítka " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " k výbìru mìsíce\n" +
-"- Podr\9ete tlaèítko my\9ai na jakémkoliv z tìch tlaèítek pro rychlej\9aí výbìr.";
-
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Výbìr èasu:\n" +
-"- Kliknìte na jakoukoliv z èástí výbìru èasu pro zvý\9aení.\n" +
-"- nebo Shift-click pro sní\9eení\n" +
-"- nebo kliknìte a táhnìte pro rychlej\9aí výbìr.";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Zobraz %s první";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Zavøít";
-Calendar._TT["TODAY"] = "Dnes";
-Calendar._TT["TIME_PART"] = "(Shift-)Klikni nebo táhni pro zmìnu hodnoty";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Èas:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-da.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-da.js
deleted file mode 100644 (file)
index a99b598..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar DA language
-// Author: Michael Thingmand Henriksen, <michael (a) thingmand dot dk>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible. We strongly believe that
-// Unicode is the answer to a real internationalized world. Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Søndag",
-"Mandag",
-"Tirsdag",
-"Onsdag",
-"Torsdag",
-"Fredag",
-"Lørdag",
-"Søndag");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary. We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-// Calendar._SDN_len = N; // short day name length
-// Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Søn",
-"Man",
-"Tir",
-"Ons",
-"Tor",
-"Fre",
-"Lør",
-"Søn");
-
-// full month names
-Calendar._MN = new Array
-("Januar",
-"Februar",
-"Marts",
-"April",
-"Maj",
-"Juni",
-"Juli",
-"August",
-"September",
-"Oktober",
-"November",
-"December");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
-"Feb",
-"Mar",
-"Apr",
-"Maj",
-"Jun",
-"Jul",
-"Aug",
-"Sep",
-"Okt",
-"Nov",
-"Dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Om Kalenderen";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For den seneste version besøg: http://www.dynarch.com/projects/calendar/\n"; +
-"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." +
-"\n\n" +
-"Valg af dato:\n" +
-"- Brug \xab, \xbb knapperne for at vælge år\n" +
-"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at vælge måned\n" +
-"- Hold knappen på musen nede på knapperne ovenfor for hurtigere valg.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Valg af tid:\n" +
-"- Klik på en vilkårlig del for større værdi\n" +
-"- eller Shift-klik for for mindre værdi\n" +
-"- eller klik og træk for hurtigere valg.";
-
-Calendar._TT["PREV_YEAR"] = "Ét år tilbage (hold for menu)";
-Calendar._TT["PREV_MONTH"] = "Én måned tilbage (hold for menu)";
-Calendar._TT["GO_TODAY"] = "Gå til i dag";
-Calendar._TT["NEXT_MONTH"] = "Én måned frem (hold for menu)";
-Calendar._TT["NEXT_YEAR"] = "Ét år frem (hold for menu)";
-Calendar._TT["SEL_DATE"] = "Vælg dag";
-Calendar._TT["DRAG_TO_MOVE"] = "Træk vinduet";
-Calendar._TT["PART_TODAY"] = " (i dag)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Vis %s først";
-
-// This may be locale-dependent. It specifies the week-end days, as an array
-// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Luk";
-Calendar._TT["TODAY"] = "I dag";
-Calendar._TT["TIME_PART"] = "(Shift-)klik eller træk for at ændre værdi";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "Uge";
-Calendar._TT["TIME"] = "Tid:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-de.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-de.js
deleted file mode 100644 (file)
index 4bc1137..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// ** I18N
-
-// Calendar DE language
-// Author: Jack (tR), <jack@jtr.de>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Sonntag",
- "Montag",
- "Dienstag",
- "Mittwoch",
- "Donnerstag",
- "Freitag",
- "Samstag",
- "Sonntag");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("So",
- "Mo",
- "Di",
- "Mi",
- "Do",
- "Fr",
- "Sa",
- "So");
-
-// full month names
-Calendar._MN = new Array
-("Januar",
- "Februar",
- "M\u00e4rz",
- "April",
- "Mai",
- "Juni",
- "Juli",
- "August",
- "September",
- "Oktober",
- "November",
- "Dezember");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Feb",
- "M\u00e4r",
- "Apr",
- "May",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Okt",
- "Nov",
- "Dez");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "\u00DCber dieses Kalendarmodul";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Datum ausw\u00e4hlen:\n" +
-"- Benutzen Sie die \xab, \xbb Buttons um das Jahr zu w\u00e4hlen\n" +
-"- Benutzen Sie die " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " Buttons um den Monat zu w\u00e4hlen\n" +
-"- F\u00fcr eine Schnellauswahl halten Sie die Maustaste \u00fcber diesen Buttons fest.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Zeit ausw\u00e4hlen:\n" +
-"- Klicken Sie auf die Teile der Uhrzeit, um diese zu erh\u00F6hen\n" +
-"- oder klicken Sie mit festgehaltener Shift-Taste um diese zu verringern\n" +
-"- oder klicken und festhalten f\u00fcr Schnellauswahl.";
-
-Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen";
-Calendar._TT["PREV_YEAR"] = "Voriges Jahr (Festhalten f\u00fcr Schnellauswahl)";
-Calendar._TT["PREV_MONTH"] = "Voriger Monat (Festhalten f\u00fcr Schnellauswahl)";
-Calendar._TT["GO_TODAY"] = "Heute ausw\u00e4hlen";
-Calendar._TT["NEXT_MONTH"] = "N\u00e4chst. Monat (Festhalten f\u00fcr Schnellauswahl)";
-Calendar._TT["NEXT_YEAR"] = "N\u00e4chst. Jahr (Festhalten f\u00fcr Schnellauswahl)";
-Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen";
-Calendar._TT["DRAG_TO_MOVE"] = "Zum Bewegen festhalten";
-Calendar._TT["PART_TODAY"] = " (Heute)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Woche beginnt mit %s ";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Schlie\u00dfen";
-Calendar._TT["TODAY"] = "Heute";
-Calendar._TT["TIME_PART"] = "(Shift-)Klick oder Festhalten und Ziehen um den Wert zu \u00e4ndern";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Zeit:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-du.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-du.js
deleted file mode 100644 (file)
index 2200448..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// ** I18N
-Calendar._DN = new Array
-("Zondag",
- "Maandag",
- "Dinsdag",
- "Woensdag",
- "Donderdag",
- "Vrijdag",
- "Zaterdag",
- "Zondag");
-Calendar._MN = new Array
-("Januari",
- "Februari",
- "Maart",
- "April",
- "Mei",
- "Juni",
- "Juli",
- "Augustus",
- "September",
- "Oktober",
- "November",
- "December");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["TOGGLE"] = "Toggle startdag van de week";
-Calendar._TT["PREV_YEAR"] = "Vorig jaar (indrukken voor menu)";
-Calendar._TT["PREV_MONTH"] = "Vorige month (indrukken voor menu)";
-Calendar._TT["GO_TODAY"] = "Naar Vandaag";
-Calendar._TT["NEXT_MONTH"] = "Volgende Maand (indrukken voor menu)";
-Calendar._TT["NEXT_YEAR"] = "Volgend jaar (indrukken voor menu)";
-Calendar._TT["SEL_DATE"] = "Selecteer datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te verplaatsen";
-Calendar._TT["PART_TODAY"] = " (vandaag)";
-Calendar._TT["MON_FIRST"] = "Toon Maandag eerst";
-Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst";
-Calendar._TT["CLOSE"] = "Sluiten";
-Calendar._TT["TODAY"] = "Vandaag";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
-Calendar._TT["TT_DATE_FORMAT"] = "D, M d";
-
-Calendar._TT["WK"] = "wk";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-el.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-el.js
deleted file mode 100644 (file)
index 43a9b2c..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-// ** I18N\r
-Calendar._DN = new Array\r
-("Κυριακή",\r
- "Δευτέρα",\r
- "Τρίτη",\r
- "Τετάρτη",\r
- "Πέμπτη",\r
- "Παρασκευή",\r
- "Σάββατο",\r
- "Κυριακή");\r
-\r
-Calendar._SDN = new Array\r
-("Κυ",\r
- "Δε",\r
- "Tρ",\r
- "Τε",\r
- "Πε",\r
- "Πα",\r
- "Σα",\r
- "Κυ");\r
-\r
-Calendar._MN = new Array\r
-("Ιανουάριος",\r
- "Φεβρουάριος",\r
- "Μάρτιος",\r
- "Απρίλιος",\r
- "Μάϊος",\r
- "Ιούνιος",\r
- "Ιούλιος",\r
- "Αύγουστος",\r
- "Σεπτέμβριος",\r
- "Οκτώβριος",\r
- "Νοέμβριος",\r
- "Δεκέμβριος");\r
-\r
-Calendar._SMN = new Array\r
-("Ιαν",\r
- "Φεβ",\r
- "Μαρ",\r
- "Απρ",\r
- "Μαι",\r
- "Ιουν",\r
- "Ιουλ",\r
- "Αυγ",\r
- "Σεπ",\r
- "Οκτ",\r
- "Νοε",\r
- "Δεκ");\r
-\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["INFO"] = "Για το ημερολόγιο";\r
-\r
-Calendar._TT["ABOUT"] =\r
-"Επιλογέας ημερομηνίας/ώρας σε DHTML\n" +\r
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)\r
-"Για τελευταία έκδοση: http://www.dynarch.com/projects/calendar/\n" +\r
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +\r
-"\n\n" +\r
-"Επιλογή ημερομηνίας:\n" +\r
-"- Χρησιμοποιείστε τα κουμπιά \xab, \xbb για επιλογή έτους\n" +\r
-"- Χρησιμοποιείστε τα κουμπιά " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " για επιλογή μήνα\n" +\r
-"- Κρατήστε κουμπί ποντικού πατημένο στα παραπάνω κουμπιά για πιο γρήγορη επιλογή.";\r
-Calendar._TT["ABOUT_TIME"] = "\n\n" +\r
-"Επιλογή ώρας:\n" +\r
-"- Κάντε κλικ σε ένα από τα μέρη της ώρας για αύξηση\n" +\r
-"- ή Shift-κλικ για μείωση\n" +\r
-"- ή κλικ και μετακίνηση για πιο γρήγορη επιλογή.";\r
-Calendar._TT["TOGGLE"] = "Μπάρα πρώτης ημέρας της εβδομάδας";\r
-Calendar._TT["PREV_YEAR"] = "Προηγ. έτος (κρατήστε για το μενού)";\r
-Calendar._TT["PREV_MONTH"] = "Προηγ. μήνας (κρατήστε για το μενού)";\r
-Calendar._TT["GO_TODAY"] = "Σήμερα";\r
-Calendar._TT["NEXT_MONTH"] = "Επόμενος μήνας (κρατήστε για το μενού)";\r
-Calendar._TT["NEXT_YEAR"] = "Επόμενο έτος (κρατήστε για το μενού)";\r
-Calendar._TT["SEL_DATE"] = "Επιλέξτε ημερομηνία";\r
-Calendar._TT["DRAG_TO_MOVE"] = "Σύρτε για να μετακινήσετε";\r
-Calendar._TT["PART_TODAY"] = " (σήμερα)";\r
-Calendar._TT["MON_FIRST"] = "Εμφάνιση Δευτέρας πρώτα";\r
-Calendar._TT["SUN_FIRST"] = "Εμφάνιση Κυριακής πρώτα";\r
-Calendar._TT["CLOSE"] = "Κλείσιμο";\r
-Calendar._TT["TODAY"] = "Σήμερα";\r
-Calendar._TT["TIME_PART"] = "(Shift-)κλικ ή μετακίνηση για αλλαγή";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";\r
-Calendar._TT["TT_DATE_FORMAT"] = "D, d M";\r
-\r
-Calendar._TT["WK"] = "εβδ";\r
-\r
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-en.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-en.js
deleted file mode 100644 (file)
index 0dbde79..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday",
- "Sunday");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "Sun");
-
-// First day of the week. "0" means display Sunday first, "1" means display
-// Monday first, etc.
-Calendar._FD = 0;
-
-// full month names
-Calendar._MN = new Array
-("January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Feb",
- "Mar",
- "Apr",
- "May",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Oct",
- "Nov",
- "Dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "About the calendar";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Date selection:\n" +
-"- Use the \xab, \xbb buttons to select year\n" +
-"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
-"- Hold mouse button on any of the above buttons for faster selection.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Time selection:\n" +
-"- Click on any of the time parts to increase it\n" +
-"- or Shift-click to decrease it\n" +
-"- or click and drag for faster selection.";
-
-Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
-Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
-Calendar._TT["GO_TODAY"] = "Go Today";
-Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
-Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
-Calendar._TT["SEL_DATE"] = "Select date";
-Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";
-Calendar._TT["PART_TODAY"] = " (today)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Display %s first";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Close";
-Calendar._TT["TODAY"] = "Today";
-Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Time:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-es.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-es.js
deleted file mode 100644 (file)
index 19c1b30..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-// ** I18N
-
-// Calendar ES (spanish) language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Updater: Servilio Afre Puentes <servilios@yahoo.com>
-// Updated: 2004-06-03
-// Encoding: utf-8
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Domingo",
- "Lunes",
- "Martes",
- "Miércoles",
- "Jueves",
- "Viernes",
- "Sábado",
- "Domingo");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Dom",
- "Lun",
- "Mar",
- "Mié",
- "Jue",
- "Vie",
- "Sáb",
- "Dom");
-
-// First day of the week. "0" means display Sunday first, "1" means display
-// Monday first, etc.
-Calendar._FD = 1;
-
-// full month names
-Calendar._MN = new Array
-("Enero",
- "Febrero",
- "Marzo",
- "Abril",
- "Mayo",
- "Junio",
- "Julio",
- "Agosto",
- "Septiembre",
- "Octubre",
- "Noviembre",
- "Diciembre");
-
-// short month names
-Calendar._SMN = new Array
-("Ene",
- "Feb",
- "Mar",
- "Abr",
- "May",
- "Jun",
- "Jul",
- "Ago",
- "Sep",
- "Oct",
- "Nov",
- "Dic");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Acerca del calendario";
-
-Calendar._TT["ABOUT"] =
-"Selector DHTML de Fecha/Hora\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Para conseguir la última versión visite: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para más detalles." +
-"\n\n" +
-"Selección de fecha:\n" +
-"- Use los botones \xab, \xbb para seleccionar el año\n" +
-"- Use los botones " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" +
-"- Mantenga pulsado el ratón en cualquiera de estos botones para una selección rápida.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selección de hora:\n" +
-"- Pulse en cualquiera de las partes de la hora para incrementarla\n" +
-"- o pulse las mayúsculas mientras hace clic para decrementarla\n" +
-"- o haga clic y arrastre el ratón para una selección más rápida.";
-
-Calendar._TT["PREV_YEAR"] = "Año anterior (mantener para menú)";
-Calendar._TT["PREV_MONTH"] = "Mes anterior (mantener para menú)";
-Calendar._TT["GO_TODAY"] = "Ir a hoy";
-Calendar._TT["NEXT_MONTH"] = "Mes siguiente (mantener para menú)";
-Calendar._TT["NEXT_YEAR"] = "Año siguiente (mantener para menú)";
-Calendar._TT["SEL_DATE"] = "Seleccionar fecha";
-Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar para mover";
-Calendar._TT["PART_TODAY"] = " (hoy)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Hacer %s primer día de la semana";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Cerrar";
-Calendar._TT["TODAY"] = "Hoy";
-Calendar._TT["TIME_PART"] = "(Mayúscula-)Clic o arrastre para cambiar valor";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y";
-
-Calendar._TT["WK"] = "sem";
-Calendar._TT["TIME"] = "Hora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fi.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fi.js
deleted file mode 100644 (file)
index 328eabb..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-// ** I18N
-
-// Calendar FI language (Finnish, Suomi)
-// Author: Jarno Käyhkö, <gambler@phnet.fi>
-// Encoding: UTF-8
-// Distributed under the same terms as the calendar itself.
-
-// full day names
-Calendar._DN = new Array
-("Sunnuntai",
- "Maanantai",
- "Tiistai",
- "Keskiviikko",
- "Torstai",
- "Perjantai",
- "Lauantai",
- "Sunnuntai");
-
-// short day names
-Calendar._SDN = new Array
-("Su",
- "Ma",
- "Ti",
- "Ke",
- "To",
- "Pe",
- "La",
- "Su");
-
-// full month names
-Calendar._MN = new Array
-("Tammikuu",
- "Helmikuu",
- "Maaliskuu",
- "Huhtikuu",
- "Toukokuu",
- "Kesäkuu",
- "Heinäkuu",
- "Elokuu",
- "Syyskuu",
- "Lokakuu",
- "Marraskuu",
- "Joulukuu");
-
-// short month names
-Calendar._SMN = new Array
-("Tam",
- "Hel",
- "Maa",
- "Huh",
- "Tou",
- "Kes",
- "Hei",
- "Elo",
- "Syy",
- "Lok",
- "Mar",
- "Jou");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Tietoja kalenterista";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Uusin versio osoitteessa: http://www.dynarch.com/projects/calendar/\n" +
-"Julkaistu GNU LGPL lisenssin alaisuudessa. Lisätietoja osoitteessa http://gnu.org/licenses/lgpl.html" +
-"\n\n" +
-"Päivämäärä valinta:\n" +
-"- Käytä \xab, \xbb painikkeita valitaksesi vuosi\n" +
-"- Käytä " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" +
-"- Pitämällä hiiren painiketta minkä tahansa yllä olevan painikkeen kohdalla, saat näkyviin valikon nopeampaan siirtymiseen.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Ajan valinta:\n" +
-"- Klikkaa kellonajan numeroita lisätäksesi aikaa\n" +
-"- tai pitämällä Shift-näppäintä pohjassa saat aikaa taaksepäin\n" +
-"- tai klikkaa ja pidä hiiren painike pohjassa sekä liikuta hiirtä muuttaaksesi aikaa nopeasti eteen- ja taaksepäin.";
-
-Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, näet valikon)";
-Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, näet valikon)";
-Calendar._TT["GO_TODAY"] = "Siirry tähän päivään";
-Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, näet valikon)";
-Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, näet valikon)";
-Calendar._TT["SEL_DATE"] = "Valitse päivämäärä";
-Calendar._TT["DRAG_TO_MOVE"] = "Siirrä kalenterin paikkaa";
-Calendar._TT["PART_TODAY"] = " (tänään)";
-Calendar._TT["MON_FIRST"] = "Näytä maanantai ensimmäisenä";
-Calendar._TT["SUN_FIRST"] = "Näytä sunnuntai ensimmäisenä";
-Calendar._TT["CLOSE"] = "Sulje";
-Calendar._TT["TODAY"] = "Tänään";
-Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y";
-
-Calendar._TT["WK"] = "Vko";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fr.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-fr.js
deleted file mode 100644 (file)
index 2a9e0b2..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// Translator: David Duret, <pilgrim@mala-template.net> from previous french version
-
-// full day names
-Calendar._DN = new Array
-("Dimanche",
- "Lundi",
- "Mardi",
- "Mercredi",
- "Jeudi",
- "Vendredi",
- "Samedi",
- "Dimanche");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Dim",
- "Lun",
- "Mar",
- "Mar",
- "Jeu",
- "Ven",
- "Sam",
- "Dim");
-
-// full month names
-Calendar._MN = new Array
-("Janvier",
- "Février",
- "Mars",
- "Avril",
- "Mai",
- "Juin",
- "Juillet",
- "Août",
- "Septembre",
- "Octobre",
- "Novembre",
- "Décembre");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Fev",
- "Mar",
- "Avr",
- "Mai",
- "Juin",
- "Juil",
- "Aout",
- "Sep",
- "Oct",
- "Nov",
- "Dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "A propos du calendrier";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Heure Selecteur\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Pour la derniere version visitez : http://www.dynarch.com/projects/calendar/\n" +
-"Distribué par GNU LGPL.  Voir http://gnu.org/licenses/lgpl.html pour les details." +
-"\n\n" +
-"Selection de la date :\n" +
-"- Utiliser les bouttons \xab, \xbb  pour selectionner l\'annee\n" +
-"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" +
-"- Garder la souris sur n'importe quels boutons pour une selection plus rapide";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selection de l\'heure :\n" +
-"- Cliquer sur heures ou minutes pour incrementer\n" +
-"- ou Maj-clic pour decrementer\n" +
-"- ou clic et glisser-deplacer pour une selection plus rapide";
-
-Calendar._TT["PREV_YEAR"] = "Année préc. (maintenir pour menu)";
-Calendar._TT["PREV_MONTH"] = "Mois préc. (maintenir pour menu)";
-Calendar._TT["GO_TODAY"] = "Atteindre la date du jour";
-Calendar._TT["NEXT_MONTH"] = "Mois suiv. (maintenir pour menu)";
-Calendar._TT["NEXT_YEAR"] = "Année suiv. (maintenir pour menu)";
-Calendar._TT["SEL_DATE"] = "Sélectionner une date";
-Calendar._TT["DRAG_TO_MOVE"] = "Déplacer";
-Calendar._TT["PART_TODAY"] = " (Aujourd'hui)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Afficher %s en premier";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Fermer";
-Calendar._TT["TODAY"] = "Aujourd'hui";
-Calendar._TT["TIME_PART"] = "(Maj-)Clic ou glisser pour modifier la valeur";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "Sem.";
-Calendar._TT["TIME"] = "Heure :";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-he-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-he-utf8.js
deleted file mode 100644 (file)
index 7861217..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Idan Sofer, <idan@idanso.dyndns.org>
-// Encoding: UTF-8
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("ראשון",
- "שני",
- "שלישי",
- "רביעי",
- "חמישי",
- "שישי",
- "שבת",
- "ראשון");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("א",
- "ב",
- "ג",
- "ד",
- "ה",
- "ו",
- "ש",
- "א");
-
-// full month names
-Calendar._MN = new Array
-("ינואר",
- "פברואר",
- "מרץ",
- "אפריל",
- "מאי",
- "יוני",
- "יולי",
- "אוגוסט",
- "ספטמבר",
- "אוקטובר",
- "נובמבר",
- "דצמבר");
-
-// short month names
-Calendar._SMN = new Array
-("ינא",
- "פבר",
- "מרץ",
- "אפר",
- "מאי",
- "יונ",
- "יול",
- "אוג",
- "ספט",
- "אוק",
- "נוב",
- "דצמ");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "אודות השנתון";
-
-Calendar._TT["ABOUT"] =
-"בחרן תאריך/שעה DHTML\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"הגירסא האחרונה זמינה ב: http://www.dynarch.com/projects/calendar/\n" +
-"מופץ תחת זיכיון ה GNU LGPL.  עיין ב http://gnu.org/licenses/lgpl.html לפרטים נוספים." +
-"\n\n" +
-בחירת תאריך:\n" +
-"- השתמש בכפתורים \xab, \xbb לבחירת שנה\n" +
-"- השתמש בכפתורים " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " לבחירת חודש\n" +
-"- החזק העכבר לחוץ מעל הכפתורים המוזכרים לעיל לבחירה מהירה יותר.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"בחירת זמן:\n" +
-"- לחץ על כל אחד מחלקי הזמן כדי להוסיף\n" +
-"- או shift בשילוב עם לחיצה כדי להחסיר\n" +
-"- או לחץ וגרור לפעולה מהירה יותר.";
-
-Calendar._TT["PREV_YEAR"] = "שנה קודמת - החזק לקבלת תפריט";
-Calendar._TT["PREV_MONTH"] = "חודש קודם - החזק לקבלת תפריט";
-Calendar._TT["GO_TODAY"] = "עבור להיום";
-Calendar._TT["NEXT_MONTH"] = "חודש הבא - החזק לתפריט";
-Calendar._TT["NEXT_YEAR"] = "שנה הבאה - החזק לתפריט";
-Calendar._TT["SEL_DATE"] = "בחר תאריך";
-Calendar._TT["DRAG_TO_MOVE"] = "גרור להזזה";
-Calendar._TT["PART_TODAY"] = " )היום(";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "הצג %s קודם";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "6";
-
-Calendar._TT["CLOSE"] = "סגור";
-Calendar._TT["TODAY"] = "היום";
-Calendar._TT["TIME_PART"] = "(שיפט-)לחץ וגרור כדי לשנות ערך";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "שעה::";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr-utf8.js
deleted file mode 100644 (file)
index d569cfd..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Croatian language file for the DHTML Calendar version 0.9.2 \r
-* Author Krunoslav Zubrinic <krunoslav.zubrinic@vip.hr>, June 2003.\r
-* Feel free to use this script under the terms of the GNU Lesser General\r
-* Public License, as long as you do not remove or alter this notice.\r
-*/\r
-Calendar._DN = new Array\r
-("Nedjelja",\r
- "Ponedjeljak",\r
- "Utorak",\r
- "Srijeda",\r
- "Četvrtak",\r
- "Petak",\r
- "Subota",\r
- "Nedjelja");\r
-Calendar._MN = new Array\r
-("Siječanj",\r
- "Veljača",\r
- "Ožujak",\r
- "Travanj",\r
- "Svibanj",\r
- "Lipanj",\r
- "Srpanj",\r
- "Kolovoz",\r
- "Rujan",\r
- "Listopad",\r
- "Studeni",\r
- "Prosinac");\r
-\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["TOGGLE"] = "Promjeni dan s kojim počinje tjedan";\r
-Calendar._TT["PREV_YEAR"] = "Prethodna godina (dugi pritisak za meni)";\r
-Calendar._TT["PREV_MONTH"] = "Prethodni mjesec (dugi pritisak za meni)";\r
-Calendar._TT["GO_TODAY"] = "Idi na tekući dan";\r
-Calendar._TT["NEXT_MONTH"] = "Slijedeći mjesec (dugi pritisak za meni)";\r
-Calendar._TT["NEXT_YEAR"] = "Slijedeća godina (dugi pritisak za meni)";\r
-Calendar._TT["SEL_DATE"] = "Izaberite datum";\r
-Calendar._TT["DRAG_TO_MOVE"] = "Pritisni i povuci za promjenu pozicije";\r
-Calendar._TT["PART_TODAY"] = " (today)";\r
-Calendar._TT["MON_FIRST"] = "Prikaži ponedjeljak kao prvi dan";\r
-Calendar._TT["SUN_FIRST"] = "Prikaži nedjelju kao prvi dan";\r
-Calendar._TT["CLOSE"] = "Zatvori";\r
-Calendar._TT["TODAY"] = "Danas";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";\r
-Calendar._TT["TT_DATE_FORMAT"] = "DD, dd.mm.y";\r
-\r
-Calendar._TT["WK"] = "Tje";
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr.js
deleted file mode 100644 (file)
index 6c27f60..0000000
Binary files a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hr.js and /dev/null differ
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hu.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-hu.js
deleted file mode 100644 (file)
index f5bf057..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// ** I18N
-
-// Calendar HU language
-// Author: ???
-// Modifier: KARASZI Istvan, <jscalendar@spam.raszi.hu>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Vasárnap",
- "Hétfõ",
- "Kedd",
- "Szerda",
- "Csütörtök",
- "Péntek",
- "Szombat",
- "Vasárnap");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("v",
- "h",
- "k",
- "sze",
- "cs",
- "p",
- "szo",
- "v");
-
-// full month names
-Calendar._MN = new Array
-("január",
- "február",
- "március",
- "április",
- "május",
- "június",
- "július",
- "augusztus",
- "szeptember",
- "október",
- "november",
- "december");
-
-// short month names
-Calendar._SMN = new Array
-("jan",
- "feb",
- "már",
- "ápr",
- "máj",
- "jún",
- "júl",
- "aug",
- "sze",
- "okt",
- "nov",
- "dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "A kalendáriumról";
-
-Calendar._TT["ABOUT"] =
-"DHTML dátum/idõ kiválasztó\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"a legfrissebb verzió megtalálható: http://www.dynarch.com/projects/calendar/\n" +
-"GNU LGPL alatt terjesztve.  Lásd a http://gnu.org/licenses/lgpl.html oldalt a részletekhez." +
-"\n\n" +
-"Dátum választás:\n" +
-"- használja a \xab, \xbb gombokat az év kiválasztásához\n" +
-"- használja a " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gombokat a hónap kiválasztásához\n" +
-"- tartsa lenyomva az egérgombot a gyors választáshoz.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Idõ választás:\n" +
-"- kattintva növelheti az idõt\n" +
-"- shift-tel kattintva csökkentheti\n" +
-"- lenyomva tartva és húzva gyorsabban kiválaszthatja.";
-
-Calendar._TT["PREV_YEAR"] = "Elõzõ év (tartsa nyomva a menühöz)";
-Calendar._TT["PREV_MONTH"] = "Elõzõ hónap (tartsa nyomva a menühöz)";
-Calendar._TT["GO_TODAY"] = "Mai napra ugrás";
-Calendar._TT["NEXT_MONTH"] = "Köv. hónap (tartsa nyomva a menühöz)";
-Calendar._TT["NEXT_YEAR"] = "Köv. év (tartsa nyomva a menühöz)";
-Calendar._TT["SEL_DATE"] = "Válasszon dátumot";
-Calendar._TT["DRAG_TO_MOVE"] = "Húzza a mozgatáshoz";
-Calendar._TT["PART_TODAY"] = " (ma)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "%s legyen a hét elsõ napja";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Bezár";
-Calendar._TT["TODAY"] = "Ma";
-Calendar._TT["TIME_PART"] = "(Shift-)Klikk vagy húzás az érték változtatásához";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%b %e, %a";
-
-Calendar._TT["WK"] = "hét";
-Calendar._TT["TIME"] = "idõ:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-it.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-it.js
deleted file mode 100644 (file)
index 7f84cde..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Translator: Fabio Di Bernardini, <altraqua@email.it>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Domenica",
- "Lunedì",
- "Martedì",
- "Mercoledì",
- "Giovedì",
- "Venerdì",
- "Sabato",
- "Domenica");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Dom",
- "Lun",
- "Mar",
- "Mer",
- "Gio",
- "Ven",
- "Sab",
- "Dom");
-
-// full month names
-Calendar._MN = new Array
-("Gennaio",
- "Febbraio",
- "Marzo",
- "Aprile",
- "Maggio",
- "Giugno",
- "Luglio",
- "Augosto",
- "Settembre",
- "Ottobre",
- "Novembre",
- "Dicembre");
-
-// short month names
-Calendar._SMN = new Array
-("Gen",
- "Feb",
- "Mar",
- "Apr",
- "Mag",
- "Giu",
- "Lug",
- "Ago",
- "Set",
- "Ott",
- "Nov",
- "Dic");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Informazioni sul calendario";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Per gli aggiornamenti: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuito sotto licenza GNU LGPL.  Vedi http://gnu.org/licenses/lgpl.html per i dettagli." +
-"\n\n" +
-"Selezione data:\n" +
-"- Usa \xab, \xbb per selezionare l'anno\n" +
-"- Usa  " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per i mesi\n" +
-"- Tieni premuto a lungo il mouse per accedere alle funzioni di selezione veloce.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selezione orario:\n" +
-"- Clicca sul numero per incrementarlo\n" +
-"- o Shift+click per decrementarlo\n" +
-"- o click e sinistra o destra per variarlo.";
-
-Calendar._TT["PREV_YEAR"] = "Anno prec.(clicca a lungo per il menù)";
-Calendar._TT["PREV_MONTH"] = "Mese prec. (clicca a lungo per il menù)";
-Calendar._TT["GO_TODAY"] = "Oggi";
-Calendar._TT["NEXT_MONTH"] = "Pross. mese (clicca a lungo per il menù)";
-Calendar._TT["NEXT_YEAR"] = "Pross. anno (clicca a lungo per il menù)";
-Calendar._TT["SEL_DATE"] = "Seleziona data";
-Calendar._TT["DRAG_TO_MOVE"] = "Trascina per spostarlo";
-Calendar._TT["PART_TODAY"] = " (oggi)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Mostra prima %s";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Chiudi";
-Calendar._TT["TODAY"] = "Oggi";
-Calendar._TT["TIME_PART"] = "(Shift-)Click o trascina per cambiare il valore";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a:%b:%e";
-
-Calendar._TT["WK"] = "set";
-Calendar._TT["TIME"] = "Ora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-jp.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-jp.js
deleted file mode 100644 (file)
index 3bca7eb..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// ** I18N
-Calendar._DN = new Array
-("\93ú",
- "\8c\8e",
- "\89Î",
- "\90\85",
- "\96Ø",
- "\8bà",
- "\93y",
- "\93ú");
-Calendar._MN = new Array
-("1\8c\8e",
- "2\8c\8e",
- "3\8c\8e",
- "4\8c\8e",
- "5\8c\8e",
- "6\8c\8e",
- "7\8c\8e",
- "8\8c\8e",
- "9\8c\8e",
- "10\8c\8e",
- "11\8c\8e",
- "12\8c\8e");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["TOGGLE"] = "\8fT\82Ì\8dÅ\8f\89\82Ì\97j\93ú\82ð\90Ø\82è\91Ö\82¦";
-Calendar._TT["PREV_YEAR"] = "\91O\94N";
-Calendar._TT["PREV_MONTH"] = "\91O\8c\8e";
-Calendar._TT["GO_TODAY"] = "\8d¡\93ú";
-Calendar._TT["NEXT_MONTH"] = "\97\82\8c\8e";
-Calendar._TT["NEXT_YEAR"] = "\97\82\94N";
-Calendar._TT["SEL_DATE"] = "\93ú\95t\91I\91ð";
-Calendar._TT["DRAG_TO_MOVE"] = "\83E\83B\83\93\83h\83E\82Ì\88Ú\93®";
-Calendar._TT["PART_TODAY"] = " (\8d¡\93ú)";
-Calendar._TT["MON_FIRST"] = "\8c\8e\97j\93ú\82ð\90æ\93ª\82É";
-Calendar._TT["SUN_FIRST"] = "\93ú\97j\93ú\82ð\90æ\93ª\82É";
-Calendar._TT["CLOSE"] = "\95Â\82\82é";
-Calendar._TT["TODAY"] = "\8d¡\93ú";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd";
-Calendar._TT["TT_DATE_FORMAT"] = "%m\8c\8e %d\93ú (%a)";
-
-Calendar._TT["WK"] = "\8fT";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko-utf8.js
deleted file mode 100644 (file)
index 035dd74..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Translation: Yourim Yi <yyi@yourim.net>
-// Encoding: EUC-KR
-// lang : ko
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-
-Calendar._DN = new Array
-("일요일",
- "월요일",
- "화요일",
- "수요일",
- "목요일",
- "금요일",
- "토요일",
- "일요일");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("일",
- "월",
- "화",
- "수",
- "목",
- "금",
- "토",
- "일");
-
-// full month names
-Calendar._MN = new Array
-("1월",
- "2월",
- "3월",
- "4월",
- "5월",
- "6월",
- "7월",
- "8월",
- "9월",
- "10월",
- "11월",
- "12월");
-
-// short month names
-Calendar._SMN = new Array
-("1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "10",
- "11",
- "12");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "calendar 에 대해서";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"\n"+
-"최신 버전을 받으시려면 http://www.dynarch.com/projects/calendar/ 에 방문하세요\n" +
-"\n"+
-"GNU LGPL 라이센스로 배포됩니다. \n"+
-"라이센스에 대한 자세한 내용은 http://gnu.org/licenses/lgpl.html 을 읽으세요." +
-"\n\n" +
-"날짜 선택:\n" +
-"- 연도를 선택하려면 \xab, \xbb 버튼을 사용합니다\n" +
-"- 달을 선택하려면 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 버튼을 누르세요\n" +
-"- 계속 누르고 있으면 위 값들을 빠르게 선택하실 수 있습니다.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"시간 선택:\n" +
-"- 마우스로 누르면 시간이 증가합니다\n" +
-"- Shift 키와 함께 누르면 감소합니다\n" +
-"- 누른 상태에서 마우스를 움직이면 좀 더 빠르게 값이 변합니다.\n";
-
-Calendar._TT["PREV_YEAR"] = "지난 해 (길게 누르면 목록)";
-Calendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목록)";
-Calendar._TT["GO_TODAY"] = "오늘 날짜로";
-Calendar._TT["NEXT_MONTH"] = "다음 달 (길게 누르면 목록)";
-Calendar._TT["NEXT_YEAR"] = "다음 해 (길게 누르면 목록)";
-Calendar._TT["SEL_DATE"] = "날짜를 선택하세요";
-Calendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 이동 하세요";
-Calendar._TT["PART_TODAY"] = " (오늘)";
-Calendar._TT["MON_FIRST"] = "월요일을 한 주의 시작 요일로";
-Calendar._TT["SUN_FIRST"] = "일요일을 한 주의 시작 요일로";
-Calendar._TT["CLOSE"] = "닫기";
-Calendar._TT["TODAY"] = "오늘";
-Calendar._TT["TIME_PART"] = "(Shift-)클릭 또는 드래그 하세요";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
-
-Calendar._TT["WK"] = "주";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ko.js
deleted file mode 100644 (file)
index 8cddf58..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-// ** I18N
-
-// Calendar EN language
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Translation: Yourim Yi <yyi@yourim.net>
-// Encoding: EUC-KR
-// lang : ko
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-
-Calendar._DN = new Array
-("ÀÏ¿äÀÏ",
- "¿ù¿äÀÏ",
- "È­¿äÀÏ",
- "¼ö¿äÀÏ",
- "¸ñ¿äÀÏ",
- "±Ý¿äÀÏ",
- "Åä¿äÀÏ",
- "ÀÏ¿äÀÏ");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("ÀÏ",
- "¿ù",
- "ȭ",
- "¼ö",
- "¸ñ",
- "±Ý",
- "Åä",
- "ÀÏ");
-
-// full month names
-Calendar._MN = new Array
-("1¿ù",
- "2¿ù",
- "3¿ù",
- "4¿ù",
- "5¿ù",
- "6¿ù",
- "7¿ù",
- "8¿ù",
- "9¿ù",
- "10¿ù",
- "11¿ù",
- "12¿ù");
-
-// short month names
-Calendar._SMN = new Array
-("1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "10",
- "11",
- "12");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "calendar ¿¡ ´ëÇؼ­";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"\n"+
-"ÃֽŠ¹öÀüÀ» ¹ÞÀ¸½Ã·Á¸é http://www.dynarch.com/projects/calendar/ ¿¡ ¹æ¹®Çϼ¼¿ä\n" +
-"\n"+
-"GNU LGPL ¶óÀ̼¾½º·Î ¹èÆ÷µË´Ï´Ù. \n"+
-"¶óÀ̼¾½º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº http://gnu.org/licenses/lgpl.html À» ÀÐÀ¸¼¼¿ä." +
-"\n\n" +
-"³¯Â¥ ¼±ÅÃ:\n" +
-"- ¿¬µµ¸¦ ¼±ÅÃÇÏ·Á¸é \xab, \xbb ¹öÆ°À» »ç¿ëÇÕ´Ï´Ù\n" +
-"- ´ÞÀ» ¼±ÅÃÇÏ·Á¸é " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ¹öÆ°À» ´©¸£¼¼¿ä\n" +
-"- °è¼Ó ´©¸£°í ÀÖÀ¸¸é À§ °ªµéÀ» ºü¸£°Ô ¼±ÅÃÇϽǠ¼ö ÀÖ½À´Ï´Ù.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"½Ã°£ ¼±ÅÃ:\n" +
-"- ¸¶¿ì½º·Î ´©¸£¸é ½Ã°£ÀÌ Áõ°¡ÇÕ´Ï´Ù\n" +
-"- Shift Å°¿Í ÇÔ²² ´©¸£¸é °¨¼ÒÇÕ´Ï´Ù\n" +
-"- ´©¸¥ »óÅ¿¡¼­ ¸¶¿ì½º¸¦ ¿òÁ÷À̸é Á» ´õ ºü¸£°Ô °ªÀÌ º¯ÇÕ´Ï´Ù.\n";
-
-Calendar._TT["PREV_YEAR"] = "Áö³­ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)";
-Calendar._TT["PREV_MONTH"] = "Áö³­ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)";
-Calendar._TT["GO_TODAY"] = "¿À´Ã ³¯Â¥·Î";
-Calendar._TT["NEXT_MONTH"] = "´ÙÀ½ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)";
-Calendar._TT["NEXT_YEAR"] = "´ÙÀ½ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)";
-Calendar._TT["SEL_DATE"] = "³¯Â¥¸¦ ¼±ÅÃÇϼ¼¿ä";
-Calendar._TT["DRAG_TO_MOVE"] = "¸¶¿ì½º µå·¡±×·Î À̵¿ Çϼ¼¿ä";
-Calendar._TT["PART_TODAY"] = " (¿À´Ã)";
-Calendar._TT["MON_FIRST"] = "¿ù¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î";
-Calendar._TT["SUN_FIRST"] = "ÀÏ¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î";
-Calendar._TT["CLOSE"] = "´Ý±â";
-Calendar._TT["TODAY"] = "¿À´Ã";
-Calendar._TT["TIME_PART"] = "(Shift-)Ŭ¸¯ ¶Ç´Â µå·¡±× Çϼ¼¿ä";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
-
-Calendar._TT["WK"] = "ÁÖ";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt-utf8.js
deleted file mode 100644 (file)
index d39653b..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-// ** I18N
-
-// Calendar LT language
-// Author: Martynas Majeris, <martynas@solmetra.lt>
-// Encoding: UTF-8
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Sekmadienis",
- "Pirmadienis",
- "Antradienis",
- "Trečiadienis",
- "Ketvirtadienis",
- "Pentadienis",
- "Šeštadienis",
- "Sekmadienis");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Sek",
- "Pir",
- "Ant",
- "Tre",
- "Ket",
- "Pen",
- "Šeš",
- "Sek");
-
-// full month names
-Calendar._MN = new Array
-("Sausis",
- "Vasaris",
- "Kovas",
- "Balandis",
- "Gegužė",
- "Birželis",
- "Liepa",
- "Rugpjūtis",
- "Rugsėjis",
- "Spalis",
- "Lapkritis",
- "Gruodis");
-
-// short month names
-Calendar._SMN = new Array
-("Sau",
- "Vas",
- "Kov",
- "Bal",
- "Geg",
- "Bir",
- "Lie",
- "Rgp",
- "Rgs",
- "Spa",
- "Lap",
- "Gru");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Apie kalendorių";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Naujausią versiją rasite: http://www.dynarch.com/projects/calendar/\n" +
-"Platinamas pagal GNU LGPL licenciją. Aplankykite http://gnu.org/licenses/lgpl.html" +
-"\n\n" +
-"Datos pasirinkimas:\n" +
-"- Metų pasirinkimas: \xab, \xbb\n" +
-"- Mėnesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
-"- Nuspauskite ir laikykite pelės klavišą greitesniam pasirinkimui.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Laiko pasirinkimas:\n" +
-"- Spustelkite ant valandų arba minučių - skaičius padidės vienetu.\n" +
-"- Jei spausite kartu su Shift, skaičius sumažės.\n" +
-"- Greitam pasirinkimui spustelkite ir pajudinkite pelę.";
-
-Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)";
-Calendar._TT["PREV_MONTH"] = "Ankstesnis mėnuo (laikykite, jei norite meniu)";
-Calendar._TT["GO_TODAY"] = "Pasirinkti šiandieną";
-Calendar._TT["NEXT_MONTH"] = "Kitas mėnuo (laikykite, jei norite meniu)";
-Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)";
-Calendar._TT["SEL_DATE"] = "Pasirinkite datą";
-Calendar._TT["DRAG_TO_MOVE"] = "Tempkite";
-Calendar._TT["PART_TODAY"] = " (šiandien)";
-Calendar._TT["MON_FIRST"] = "Pirma savaitės diena - pirmadienis";
-Calendar._TT["SUN_FIRST"] = "Pirma savaitės diena - sekmadienis";
-Calendar._TT["CLOSE"] = "Uždaryti";
-Calendar._TT["TODAY"] = "Šiandien";
-Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d";
-
-Calendar._TT["WK"] = "sav";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lt.js
deleted file mode 100644 (file)
index 43b93d6..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-// ** I18N
-
-// Calendar LT language
-// Author: Martynas Majeris, <martynas@solmetra.lt>
-// Encoding: Windows-1257
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Sekmadienis",
- "Pirmadienis",
- "Antradienis",
- "Treèiadienis",
- "Ketvirtadienis",
- "Pentadienis",
- "Ðeðtadienis",
- "Sekmadienis");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Sek",
- "Pir",
- "Ant",
- "Tre",
- "Ket",
- "Pen",
- "Ðeð",
- "Sek");
-
-// full month names
-Calendar._MN = new Array
-("Sausis",
- "Vasaris",
- "Kovas",
- "Balandis",
- "Geguþë",
- "Birþelis",
- "Liepa",
- "Rugpjûtis",
- "Rugsëjis",
- "Spalis",
- "Lapkritis",
- "Gruodis");
-
-// short month names
-Calendar._SMN = new Array
-("Sau",
- "Vas",
- "Kov",
- "Bal",
- "Geg",
- "Bir",
- "Lie",
- "Rgp",
- "Rgs",
- "Spa",
- "Lap",
- "Gru");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Apie kalendoriø";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Naujausià versijà rasite: http://www.dynarch.com/projects/calendar/\n" +
-"Platinamas pagal GNU LGPL licencijà. Aplankykite http://gnu.org/licenses/lgpl.html" +
-"\n\n" +
-"Datos pasirinkimas:\n" +
-"- Metø pasirinkimas: \xab, \xbb\n" +
-"- Mënesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
-"- Nuspauskite ir laikykite pelës klaviðà greitesniam pasirinkimui.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Laiko pasirinkimas:\n" +
-"- Spustelkite ant valandø arba minuèiø - skaièus padidës vienetu.\n" +
-"- Jei spausite kartu su Shift, skaièius sumaþës.\n" +
-"- Greitam pasirinkimui spustelkite ir pajudinkite pelæ.";
-
-Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)";
-Calendar._TT["PREV_MONTH"] = "Ankstesnis mënuo (laikykite, jei norite meniu)";
-Calendar._TT["GO_TODAY"] = "Pasirinkti ðiandienà";
-Calendar._TT["NEXT_MONTH"] = "Kitas mënuo (laikykite, jei norite meniu)";
-Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)";
-Calendar._TT["SEL_DATE"] = "Pasirinkite datà";
-Calendar._TT["DRAG_TO_MOVE"] = "Tempkite";
-Calendar._TT["PART_TODAY"] = " (ðiandien)";
-Calendar._TT["MON_FIRST"] = "Pirma savaitës diena - pirmadienis";
-Calendar._TT["SUN_FIRST"] = "Pirma savaitës diena - sekmadienis";
-Calendar._TT["CLOSE"] = "Uþdaryti";
-Calendar._TT["TODAY"] = "Ðiandien";
-Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d";
-
-Calendar._TT["WK"] = "sav";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lv.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-lv.js
deleted file mode 100644 (file)
index 407699d..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar LV language
-// Author: Juris Valdovskis, <juris@dc.lv>
-// Encoding: cp1257
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Svçtdiena",
- "Pirmdiena",
- "Otrdiena",
- "Treðdiena",
- "Ceturdiena",
- "Piektdiena",
- "Sestdiena",
- "Svçtdiena");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Sv",
- "Pr",
- "Ot",
- "Tr",
- "Ce",
- "Pk",
- "Se",
- "Sv");
-
-// full month names
-Calendar._MN = new Array
-("Janvâris",
- "Februâris",
- "Marts",
- "Aprîlis",
- "Maijs",
- "Jûnijs",
- "Jûlijs",
- "Augusts",
- "Septembris",
- "Oktobris",
- "Novembris",
- "Decembris");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Feb",
- "Mar",
- "Apr",
- "Mai",
- "Jûn",
- "Jûl",
- "Aug",
- "Sep",
- "Okt",
- "Nov",
- "Dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Par kalendâru";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Datuma izvçle:\n" +
-"- Izmanto \xab, \xbb pogas, lai izvçlçtos gadu\n" +
-"- Izmanto " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "pogas, lai izvçlçtos mçnesi\n" +
-"- Turi nospiestu peles pogu uz jebkuru no augstâk minçtajâm pogâm, lai paâtrinâtu izvçli.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Laika izvçle:\n" +
-"- Uzklikðíini uz jebkuru no laika daïâm, lai palielinâtu to\n" +
-"- vai Shift-klikðíis, lai samazinâtu to\n" +
-"- vai noklikðíini un velc uz attiecîgo virzienu lai mainîtu âtrâk.";
-
-Calendar._TT["PREV_YEAR"] = "Iepr. gads (turi izvçlnei)";
-Calendar._TT["PREV_MONTH"] = "Iepr. mçnesis (turi izvçlnei)";
-Calendar._TT["GO_TODAY"] = "Ðodien";
-Calendar._TT["NEXT_MONTH"] = "Nâkoðais mçnesis (turi izvçlnei)";
-Calendar._TT["NEXT_YEAR"] = "Nâkoðais gads (turi izvçlnei)";
-Calendar._TT["SEL_DATE"] = "Izvçlies datumu";
-Calendar._TT["DRAG_TO_MOVE"] = "Velc, lai pârvietotu";
-Calendar._TT["PART_TODAY"] = " (ðodien)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Attçlot %s kâ pirmo";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "1,7";
-
-Calendar._TT["CLOSE"] = "Aizvçrt";
-Calendar._TT["TODAY"] = "Ðodien";
-Calendar._TT["TIME_PART"] = "(Shift-)Klikðíis vai pârvieto, lai mainîtu";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Laiks:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-nl.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-nl.js
deleted file mode 100644 (file)
index a1dea94..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-// ** I18N
-Calendar._DN = new Array
-("Zondag",
- "Maandag",
- "Dinsdag",
- "Woensdag",
- "Donderdag",
- "Vrijdag",
- "Zaterdag",
- "Zondag");
-
-Calendar._SDN_len = 2;
-
-Calendar._MN = new Array
-("Januari",
- "Februari",
- "Maart",
- "April",
- "Mei",
- "Juni",
- "Juli",
- "Augustus",
- "September",
- "Oktober",
- "November",
- "December");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Info";
-
-Calendar._TT["ABOUT"] =
-"DHTML Datum/Tijd Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
-"Ga voor de meest recente versie naar: http://www.dynarch.com/projects/calendar/\n" +
-"Verspreid onder de GNU LGPL. Zie http://gnu.org/licenses/lgpl.html voor details." +
-"\n\n" +
-"Datum selectie:\n" +
-"- Gebruik de \xab \xbb knoppen om een jaar te selecteren\n" +
-"- Gebruik de " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knoppen om een maand te selecteren\n" +
-"- Houd de muis ingedrukt op de genoemde knoppen voor een snellere selectie.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Tijd selectie:\n" +
-"- Klik op een willekeurig onderdeel van het tijd gedeelte om het te verhogen\n" +
-"- of Shift-klik om het te verlagen\n" +
-"- of klik en sleep voor een snellere selectie.";
-
-//Calendar._TT["TOGGLE"] = "Selecteer de eerste week-dag";
-Calendar._TT["PREV_YEAR"] = "Vorig jaar (ingedrukt voor menu)";
-Calendar._TT["PREV_MONTH"] = "Vorige maand (ingedrukt voor menu)";
-Calendar._TT["GO_TODAY"] = "Ga naar Vandaag";
-Calendar._TT["NEXT_MONTH"] = "Volgende maand (ingedrukt voor menu)";
-Calendar._TT["NEXT_YEAR"] = "Volgend jaar (ingedrukt voor menu)";
-Calendar._TT["SEL_DATE"] = "Selecteer datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Klik en sleep om te verplaatsen";
-Calendar._TT["PART_TODAY"] = " (vandaag)";
-//Calendar._TT["MON_FIRST"] = "Toon Maandag eerst";
-//Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst";
-
-Calendar._TT["DAY_FIRST"] = "Toon %s eerst";
-
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Sluiten";
-Calendar._TT["TODAY"] = "(vandaag)";
-Calendar._TT["TIME_PART"] = "(Shift-)Klik of sleep om de waarde te veranderen";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b %Y";
-
-Calendar._TT["WK"] = "wk";
-Calendar._TT["TIME"] = "Tijd:";
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-no.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-no.js
deleted file mode 100644 (file)
index d9297d1..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-// ** I18N
-
-// Calendar NO language
-// Author: Daniel Holmen, <daniel.holmen@ciber.no>
-// Encoding: UTF-8
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Søndag",
- "Mandag",
- "Tirsdag",
- "Onsdag",
- "Torsdag",
- "Fredag",
- "Lørdag",
- "Søndag");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Søn",
- "Man",
- "Tir",
- "Ons",
- "Tor",
- "Fre",
- "Lør",
- "Søn");
-
-// full month names
-Calendar._MN = new Array
-("Januar",
- "Februar",
- "Mars",
- "April",
- "Mai",
- "Juni",
- "Juli",
- "August",
- "September",
- "Oktober",
- "November",
- "Desember");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Feb",
- "Mar",
- "Apr",
- "Mai",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Okt",
- "Nov",
- "Des");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Om kalenderen";
-
-Calendar._TT["ABOUT"] =
-"DHTML Dato-/Tidsvelger\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For nyeste versjon, gå til: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuert under GNU LGPL.  Se http://gnu.org/licenses/lgpl.html for detaljer." +
-"\n\n" +
-"Datovalg:\n" +
-"- Bruk knappene \xab og \xbb for å velge år\n" +
-"- Bruk knappene " + String.fromCharCode(0x2039) + " og " + String.fromCharCode(0x203a) + " for å velge måned\n" +
-"- Hold inne musknappen eller knappene over for raskere valg.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Tidsvalg:\n" +
-"- Klikk på en av tidsdelene for å øke den\n" +
-"- eller Shift-klikk for å senke verdien\n" +
-"- eller klikk-og-dra for raskere valg..";
-
-Calendar._TT["PREV_YEAR"] = "Forrige. år (hold for meny)";
-Calendar._TT["PREV_MONTH"] = "Forrige. måned (hold for meny)";
-Calendar._TT["GO_TODAY"] = "Gå til idag";
-Calendar._TT["NEXT_MONTH"] = "Neste måned (hold for meny)";
-Calendar._TT["NEXT_YEAR"] = "Neste år (hold for meny)";
-Calendar._TT["SEL_DATE"] = "Velg dato";
-Calendar._TT["DRAG_TO_MOVE"] = "Dra for å flytte";
-Calendar._TT["PART_TODAY"] = " (idag)";
-Calendar._TT["MON_FIRST"] = "Vis mandag først";
-Calendar._TT["SUN_FIRST"] = "Vis søndag først";
-Calendar._TT["CLOSE"] = "Lukk";
-Calendar._TT["TODAY"] = "Idag";
-Calendar._TT["TIME_PART"] = "(Shift-)Klikk eller dra for å endre verdi";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "uke";
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl-utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl-utf8.js
deleted file mode 100644 (file)
index 6b8ca67..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-// ** I18N
-
-// Calendar PL language
-// Author: Dariusz Pietrzak, <eyck@ghost.anime.pl>
-// Author: Janusz Piwowarski, <jpiw@go2.pl>
-// Encoding: utf-8
-// Distributed under the same terms as the calendar itself.
-
-Calendar._DN = new Array
-("Niedziela",
- "Poniedziałek",
- "Wtorek",
- "Środa",
- "Czwartek",
- "Piątek",
- "Sobota",
- "Niedziela");
-Calendar._SDN = new Array
-("Nie",
- "Pn",
- "Wt",
- "Śr",
- "Cz",
- "Pt",
- "So",
- "Nie");
-Calendar._MN = new Array
-("Styczeń",
- "Luty",
- "Marzec",
- "Kwiecień",
- "Maj",
- "Czerwiec",
- "Lipiec",
- "Sierpień",
- "Wrzesień",
- "Październik",
- "Listopad",
- "Grudzień");
-Calendar._SMN = new Array
-("Sty",
- "Lut",
- "Mar",
- "Kwi",
- "Maj",
- "Cze",
- "Lip",
- "Sie",
- "Wrz",
- "Paź",
- "Lis",
- "Gru");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "O kalendarzu";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Aby pobrać najnowszą wersję, odwiedź: http://www.dynarch.com/projects/calendar/\n" +
-"Dostępny na licencji GNU LGPL. Zobacz szczegóły na http://gnu.org/licenses/lgpl.html." +
-"\n\n" +
-"Wybór daty:\n" +
-"- Użyj przycisków \xab, \xbb by wybrać rok\n" +
-"- Użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybrać miesiąc\n" +
-"- Przytrzymaj klawisz myszy nad jednym z powyższych przycisków dla szybszego wyboru.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Wybór czasu:\n" +
-"- Kliknij na jednym z pól czasu by zwiększyć jego wartość\n" +
-"- lub kliknij trzymając Shift by zmiejszyć jego wartość\n" +
-"- lub kliknij i przeciągnij dla szybszego wyboru.";
-
-//Calendar._TT["TOGGLE"] = "Zmień pierwszy dzień tygodnia";
-Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)";
-Calendar._TT["PREV_MONTH"] = "Poprzedni miesiąc (przytrzymaj dla menu)";
-Calendar._TT["GO_TODAY"] = "Idź do dzisiaj";
-Calendar._TT["NEXT_MONTH"] = "Następny miesiąc (przytrzymaj dla menu)";
-Calendar._TT["NEXT_YEAR"] = "Następny rok (przytrzymaj dla menu)";
-Calendar._TT["SEL_DATE"] = "Wybierz datę";
-Calendar._TT["DRAG_TO_MOVE"] = "Przeciągnij by przesunąć";
-Calendar._TT["PART_TODAY"] = " (dzisiaj)";
-Calendar._TT["MON_FIRST"] = "Wyświetl poniedziałek jako pierwszy";
-Calendar._TT["SUN_FIRST"] = "Wyświetl niedzielę jako pierwszą";
-Calendar._TT["CLOSE"] = "Zamknij";
-Calendar._TT["TODAY"] = "Dzisiaj";
-Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeciągnij by zmienić wartość";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A";
-
-Calendar._TT["WK"] = "ty";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pl.js
deleted file mode 100644 (file)
index 76e0551..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// ** I18N
-// Calendar PL language
-// Author: Artur Filipiak, <imagen@poczta.fm>
-// January, 2004
-// Encoding: UTF-8
-Calendar._DN = new Array
-("Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela");
-
-Calendar._SDN = new Array
-("N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N");
-
-Calendar._MN = new Array
-("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
-
-Calendar._SMN = new Array
-("Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "O kalendarzu";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Wybór daty:\n" +
-"- aby wybrać rok użyj przycisków \xab, \xbb\n" +
-"- aby wybrać miesiąc użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" +
-"- aby przyspieszyć wybór przytrzymaj wciśnięty przycisk myszy nad ww. przyciskami.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Wybór czasu:\n" +
-"- aby zwiększyć wartość kliknij na dowolnym elemencie selekcji czasu\n" +
-"- aby zmniejszyć wartość użyj dodatkowo klawisza Shift\n" +
-"- możesz również poruszać myszkę w lewo i prawo wraz z wciśniętym lewym klawiszem.";
-
-Calendar._TT["PREV_YEAR"] = "Poprz. rok (przytrzymaj dla menu)";
-Calendar._TT["PREV_MONTH"] = "Poprz. miesiąc (przytrzymaj dla menu)";
-Calendar._TT["GO_TODAY"] = "Pokaż dziś";
-Calendar._TT["NEXT_MONTH"] = "Nast. miesiąc (przytrzymaj dla menu)";
-Calendar._TT["NEXT_YEAR"] = "Nast. rok (przytrzymaj dla menu)";
-Calendar._TT["SEL_DATE"] = "Wybierz datę";
-Calendar._TT["DRAG_TO_MOVE"] = "Przesuń okienko";
-Calendar._TT["PART_TODAY"] = " (dziś)";
-Calendar._TT["MON_FIRST"] = "Pokaż Poniedziałek jako pierwszy";
-Calendar._TT["SUN_FIRST"] = "Pokaż Niedzielę jako pierwszą";
-Calendar._TT["CLOSE"] = "Zamknij";
-Calendar._TT["TODAY"] = "Dziś";
-Calendar._TT["TIME_PART"] = "(Shift-)klik | drag, aby zmienić wartość";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
-
-Calendar._TT["WK"] = "wk";
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pt.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-pt.js
deleted file mode 100644 (file)
index deee8a1..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar pt_BR language
-// Author: Adalberto Machado, <betosm@terra.com.br>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Domingo",
- "Segunda",
- "Terca",
- "Quarta",
- "Quinta",
- "Sexta",
- "Sabado",
- "Domingo");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("Dom",
- "Seg",
- "Ter",
- "Qua",
- "Qui",
- "Sex",
- "Sab",
- "Dom");
-
-// full month names
-Calendar._MN = new Array
-("Janeiro",
- "Fevereiro",
- "Marco",
- "Abril",
- "Maio",
- "Junho",
- "Julho",
- "Agosto",
- "Setembro",
- "Outubro",
- "Novembro",
- "Dezembro");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Fev",
- "Mar",
- "Abr",
- "Mai",
- "Jun",
- "Jul",
- "Ago",
- "Set",
- "Out",
- "Nov",
- "Dez");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Sobre o calendario";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuido sobre GNU LGPL.  Veja http://gnu.org/licenses/lgpl.html para detalhes." +
-"\n\n" +
-"Selecao de data:\n" +
-"- Use os botoes \xab, \xbb para selecionar o ano\n" +
-"- Use os botoes " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mes\n" +
-"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selecao de hora:\n" +
-"- Clique em qualquer parte da hora para incrementar\n" +
-"- ou Shift-click para decrementar\n" +
-"- ou clique e segure para selecao rapida.";
-
-Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)";
-Calendar._TT["PREV_MONTH"] = "Ant. mes (segure para menu)";
-Calendar._TT["GO_TODAY"] = "Hoje";
-Calendar._TT["NEXT_MONTH"] = "Prox. mes (segure para menu)";
-Calendar._TT["NEXT_YEAR"] = "Prox. ano (segure para menu)";
-Calendar._TT["SEL_DATE"] = "Selecione a data";
-Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover";
-Calendar._TT["PART_TODAY"] = " (hoje)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Mostre %s primeiro";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Fechar";
-Calendar._TT["TODAY"] = "Hoje";
-Calendar._TT["TIME_PART"] = "(Shift-)Click ou arraste para mudar valor";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b";
-
-Calendar._TT["WK"] = "sm";
-Calendar._TT["TIME"] = "Hora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ro.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ro.js
deleted file mode 100644 (file)
index 116e358..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// ** I18N
-Calendar._DN = new Array
-("Duminică",
- "Luni",
- "Marţi",
- "Miercuri",
- "Joi",
- "Vineri",
- "Sâmbătă",
- "Duminică");
-Calendar._SDN_len = 2;
-Calendar._MN = new Array
-("Ianuarie",
- "Februarie",
- "Martie",
- "Aprilie",
- "Mai",
- "Iunie",
- "Iulie",
- "August",
- "Septembrie",
- "Octombrie",
- "Noiembrie",
- "Decembrie");
-
-// tooltips
-Calendar._TT = {};
-
-Calendar._TT["INFO"] = "Despre calendar";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Pentru ultima versiune vizitaţi: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuit sub GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Selecţia datei:\n" +
-"- Folosiţi butoanele \xab, \xbb pentru a selecta anul\n" +
-"- Folosiţi butoanele " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pentru a selecta luna\n" +
-"- Tineţi butonul mouse-ului apăsat pentru selecţie mai rapidă.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selecţia orei:\n" +
-"- Click pe ora sau minut pentru a mări valoarea cu 1\n" +
-"- Sau Shift-Click pentru a micşora valoarea cu 1\n" +
-"- Sau Click şi drag pentru a selecta mai repede.";
-
-Calendar._TT["PREV_YEAR"] = "Anul precedent (lung pt menu)";
-Calendar._TT["PREV_MONTH"] = "Luna precedentă (lung pt menu)";
-Calendar._TT["GO_TODAY"] = "Data de azi";
-Calendar._TT["NEXT_MONTH"] = "Luna următoare (lung pt menu)";
-Calendar._TT["NEXT_YEAR"] = "Anul următor (lung pt menu)";
-Calendar._TT["SEL_DATE"] = "Selectează data";
-Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a mişca";
-Calendar._TT["PART_TODAY"] = " (astăzi)";
-Calendar._TT["DAY_FIRST"] = "Afişează %s prima zi";
-Calendar._TT["WEEKEND"] = "0,6";
-Calendar._TT["CLOSE"] = "Închide";
-Calendar._TT["TODAY"] = "Astăzi";
-Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B";
-
-Calendar._TT["WK"] = "spt";
-Calendar._TT["TIME"] = "Ora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru.js
deleted file mode 100644 (file)
index 9f75a6a..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar RU language
-// Translation: Sly Golovanov, http://golovanov.net, <sly@golovanov.net>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("воскресенье",
- "понедельник",
- "вторник",
- "среда",
- "четверг",
- "пятница",
- "суббота",
- "воскресенье");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("вск",
- "пон",
- "втр",
- "срд",
- "чет",
- "пят",
- "суб",
- "вск");
-
-// full month names
-Calendar._MN = new Array
-("январь",
- "февраль",
- "март",
- "апрель",
- "май",
- "июнь",
- "июль",
- "август",
- "сентябрь",
- "октябрь",
- "ноябрь",
- "декабрь");
-
-// short month names
-Calendar._SMN = new Array
-("янв",
- "фев",
- "мар",
- "апр",
- "май",
- "июн",
- "июл",
- "авг",
- "сен",
- "окт",
- "ноя",
- "дек");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "О календаре...";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Как выбрать дату:\n" +
-"- При помощи кнопок \xab, \xbb можно выбрать год\n" +
-"- При помощи кнопок " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " можно выбрать месяц\n" +
-"- Подержите эти кнопки нажатыми, чтобы появилось меню быстрого выбора.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Как выбрать время:\n" +
-"- При клике на часах или минутах они увеличиваются\n" +
-"- при клике с нажатой клавишей Shift они уменьшаются\n" +
-"- если нажать и двигать мышкой влево/вправо, они будут меняться быстрее.";
-
-Calendar._TT["PREV_YEAR"] = "На год назад (удерживать для меню)";
-Calendar._TT["PREV_MONTH"] = "На месяц назад (удерживать для меню)";
-Calendar._TT["GO_TODAY"] = "Сегодня";
-Calendar._TT["NEXT_MONTH"] = "На месяц вперед (удерживать для меню)";
-Calendar._TT["NEXT_YEAR"] = "На год вперед (удерживать для меню)";
-Calendar._TT["SEL_DATE"] = "Выберите дату";
-Calendar._TT["DRAG_TO_MOVE"] = "Перетаскивайте мышкой";
-Calendar._TT["PART_TODAY"] = " (сегодня)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Первый день недели будет %s";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Закрыть";
-Calendar._TT["TODAY"] = "Сегодня";
-Calendar._TT["TIME_PART"] = "(Shift-)клик или нажать и двигать";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a";
-
-Calendar._TT["WK"] = "нед";
-Calendar._TT["TIME"] = "Время:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru_win_.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-ru_win_.js
deleted file mode 100644 (file)
index de455af..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N
-
-// Calendar RU language
-// Translation: Sly Golovanov, http://golovanov.net, <sly@golovanov.net>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("âîñêðåñåíüå",
- "ïîíåäåëüíèê",
- "âòîðíèê",
- "ñðåäà",
- "÷åòâåðã",
- "ïÿòíèöà",
- "ñóááîòà",
- "âîñêðåñåíüå");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("âñê",
- "ïîí",
- "âòð",
- "ñðä",
- "÷åò",
- "ïÿò",
- "ñóá",
- "âñê");
-
-// full month names
-Calendar._MN = new Array
-("ÿíâàðü",
- "ôåâðàëü",
- "ìàðò",
- "àïðåëü",
- "ìàé",
- "èþíü",
- "èþëü",
- "àâãóñò",
- "ñåíòÿáðü",
- "îêòÿáðü",
- "íîÿáðü",
- "äåêàáðü");
-
-// short month names
-Calendar._SMN = new Array
-("ÿíâ",
- "ôåâ",
- "ìàð",
- "àïð",
- "ìàé",
- "èþí",
- "èþë",
- "àâã",
- "ñåí",
- "îêò",
- "íîÿ",
- "äåê");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Πêàëåíäàðå...";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Êàê âûáðàòü äàòó:\n" +
-"- Ïðè ïîìîùè êíîïîê \xab, \xbb ìîæíî âûáðàòü ãîä\n" +
-"- Ïðè ïîìîùè êíîïîê " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ìîæíî âûáðàòü ìåñÿö\n" +
-"- Ïîäåðæèòå ýòè êíîïêè íàæàòûìè, ÷òîáû ïîÿâèëîñü ìåíþ áûñòðîãî âûáîðà.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Êàê âûáðàòü âðåìÿ:\n" +
-"- Ïðè êëèêå íà ÷àñàõ èëè ìèíóòàõ îíè óâåëè÷èâàþòñÿ\n" +
-"- ïðè êëèêå ñ íàæàòîé êëàâèøåé Shift îíè óìåíüøàþòñÿ\n" +
-"- åñëè íàæàòü è äâèãàòü ìûøêîé âëåâî/âïðàâî, îíè áóäóò ìåíÿòüñÿ áûñòðåå.";
-
-Calendar._TT["PREV_YEAR"] = "Íà ãîä íàçàä (óäåðæèâàòü äëÿ ìåíþ)";
-Calendar._TT["PREV_MONTH"] = "Íà ìåñÿö íàçàä (óäåðæèâàòü äëÿ ìåíþ)";
-Calendar._TT["GO_TODAY"] = "Ñåãîäíÿ";
-Calendar._TT["NEXT_MONTH"] = "Íà ìåñÿö âïåðåä (óäåðæèâàòü äëÿ ìåíþ)";
-Calendar._TT["NEXT_YEAR"] = "Íà ãîä âïåðåä (óäåðæèâàòü äëÿ ìåíþ)";
-Calendar._TT["SEL_DATE"] = "Âûáåðèòå äàòó";
-Calendar._TT["DRAG_TO_MOVE"] = "Ïåðåòàñêèâàéòå ìûøêîé";
-Calendar._TT["PART_TODAY"] = " (ñåãîäíÿ)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Ïåðâûé äåíü íåäåëè áóäåò %s";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Çàêðûòü";
-Calendar._TT["TODAY"] = "Ñåãîäíÿ";
-Calendar._TT["TIME_PART"] = "(Shift-)êëèê èëè íàæàòü è äâèãàòü";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%e %b, %a";
-
-Calendar._TT["WK"] = "íåä";
-Calendar._TT["TIME"] = "Âðåìÿ:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-si.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-si.js
deleted file mode 100644 (file)
index cb3dfb9..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Slovenian language file for the DHTML Calendar version 0.9.2 \r
-* Author David Milost <mercy@volja.net>, January 2004.\r
-* Feel free to use this script under the terms of the GNU Lesser General\r
-* Public License, as long as you do not remove or alter this notice.\r
-*/\r
- // full day names\r
-Calendar._DN = new Array\r
-("Nedelja",\r
- "Ponedeljek",\r
- "Torek",\r
- "Sreda",\r
- "Četrtek",\r
- "Petek",\r
- "Sobota",\r
- "Nedelja");\r
- // short day names\r
- Calendar._SDN = new Array\r
-("Ned",\r
- "Pon",\r
- "Tor",\r
- "Sre",\r
- "Čet",\r
- "Pet",\r
- "Sob",\r
- "Ned");\r
-// short month names\r
-Calendar._SMN = new Array\r
-("Jan",\r
- "Feb",\r
- "Mar",\r
- "Apr",\r
- "Maj",\r
- "Jun",\r
- "Jul",\r
- "Avg",\r
- "Sep",\r
- "Okt",\r
- "Nov",\r
- "Dec");\r
-  // full month names\r
-Calendar._MN = new Array\r
-("Januar",\r
- "Februar",\r
- "Marec",\r
- "April",\r
- "Maj",\r
- "Junij",\r
- "Julij",\r
- "Avgust",\r
- "September",\r
- "Oktober",\r
- "November",\r
- "December");\r
-\r
-// tooltips\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["INFO"] = "O koledarju";\r
-\r
-Calendar._TT["ABOUT"] =\r
-"DHTML Date/Time Selector\n" +\r
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)\r
-"Za zadnjo verzijo pojdine na naslov: http://www.dynarch.com/projects/calendar/\n" +\r
-"Distribuirano pod GNU LGPL.  Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." +\r
-"\n\n" +\r
-"Izbor datuma:\n" +\r
-"- Uporabite \xab, \xbb gumbe za izbor leta\n" +\r
-"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" +\r
-"- Zadržite klik na kateremkoli od zgornjih gumbov za hiter izbor.";\r
-Calendar._TT["ABOUT_TIME"] = "\n\n" +\r
-"Izbor ćasa:\n" +\r
-"- Kliknite na katerikoli del ćasa za poveć. le-tega\n" +\r
-"- ali Shift-click za zmanj. le-tega\n" +\r
-"- ali kliknite in povlecite za hiter izbor.";\r
-\r
-Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se prićne teden";\r
-Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)";\r
-Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)";\r
-Calendar._TT["GO_TODAY"] = "Pojdi na tekoći dan";\r
-Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)";\r
-Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)";\r
-Calendar._TT["SEL_DATE"] = "Izberite datum";\r
-Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije";\r
-Calendar._TT["PART_TODAY"] = " (danes)";\r
-Calendar._TT["MON_FIRST"] = "Prikaži ponedeljek kot prvi dan";\r
-Calendar._TT["SUN_FIRST"] = "Prikaži nedeljo kot prvi dan";\r
-Calendar._TT["CLOSE"] = "Zapri";\r
-Calendar._TT["TODAY"] = "Danes";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";\r
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";\r
-\r
-Calendar._TT["WK"] = "Ted";
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sk.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sk.js
deleted file mode 100644 (file)
index 4fe6a3c..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-// ** I18N
-
-// Calendar SK language
-// Author: Peter Valach (pvalach@gmx.net)
-// Encoding: utf-8
-// Last update: 2003/10/29
-// Distributed under the same terms as the calendar itself.
-
-// full day names
-Calendar._DN = new Array
-("NedeÄľa",
- "Pondelok",
- "Utorok",
- "Streda",
- "Ĺ tvrtok",
- "Piatok",
- "Sobota",
- "NedeÄľa");
-
-// short day names
-Calendar._SDN = new Array
-("Ned",
- "Pon",
- "Uto",
- "Str",
- "Ĺ tv",
- "Pia",
- "Sob",
- "Ned");
-
-// full month names
-Calendar._MN = new Array
-("Január",
- "Február",
- "Marec",
- "AprĂ­l",
- "Máj",
- "JĂşn",
- "JĂşl",
- "August",
- "September",
- "OktĂłber",
- "November",
- "December");
-
-// short month names
-Calendar._SMN = new Array
-("Jan",
- "Feb",
- "Mar",
- "Apr",
- "Máj",
- "JĂşn",
- "JĂşl",
- "Aug",
- "Sep",
- "Okt",
- "Nov",
- "Dec");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "O kalendári";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
-"PoslednĂş verziu nájdete na: http://www.dynarch.com/projects/calendar/\n" +
-"DistribuovanĂ© pod GNU LGPL.  ViÄŹ http://gnu.org/licenses/lgpl.html pre detaily." +
-"\n\n" +
-"VĂ˝ber dátumu:\n" +
-"- PouĹľite tlaÄŤidlá \xab, \xbb pre vĂ˝ber roku\n" +
-"- PouĹľite tlaÄŤidlá " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pre vĂ˝ber mesiaca\n" +
-"- Ak ktorĂ©koÄľvek z tĂ˝chto tlaÄŤidiel podržíte dlhšie, zobrazĂ­ sa rĂ˝chly vĂ˝ber.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"VĂ˝ber ÄŤasu:\n" +
-"- Kliknutie na niektorĂş poloĹľku ÄŤasu ju zvýši\n" +
-"- Shift-klik ju znĂ­Ĺľi\n" +
-"- Ak podržíte tlaÄŤĂ­tko stlaÄŤenĂ©, posĂşvanĂ­m menĂ­te hodnotu.";
-
-Calendar._TT["PREV_YEAR"] = "PredošlĂ˝ rok (podrĹľte pre menu)";
-Calendar._TT["PREV_MONTH"] = "PredošlĂ˝ mesiac (podrĹľte pre menu)";
-Calendar._TT["GO_TODAY"] = "PrejsĹĄ na dnešok";
-Calendar._TT["NEXT_MONTH"] = "Nasl. mesiac (podrĹľte pre menu)";
-Calendar._TT["NEXT_YEAR"] = "Nasl. rok (podrĹľte pre menu)";
-Calendar._TT["SEL_DATE"] = "ZvoÄľte dátum";
-Calendar._TT["DRAG_TO_MOVE"] = "PodrĹľanĂ­m tlaÄŤĂ­tka zmenĂ­te polohu";
-Calendar._TT["PART_TODAY"] = " (dnes)";
-Calendar._TT["MON_FIRST"] = "ZobraziĹĄ pondelok ako prvĂ˝";
-Calendar._TT["SUN_FIRST"] = "ZobraziĹĄ nedeÄľu ako prvĂş";
-Calendar._TT["CLOSE"] = "ZavrieĹĄ";
-Calendar._TT["TODAY"] = "Dnes";
-Calendar._TT["TIME_PART"] = "(Shift-)klik/ĹĄahanie zmenĂ­ hodnotu";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "$d. %m. %Y";
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %e. %b";
-
-Calendar._TT["WK"] = "týž";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sp.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sp.js
deleted file mode 100644 (file)
index 239d1b3..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-// ** I18N
-
-// Calendar SP language
-// Author: Rafael Velasco <rvu_at_idecnet_dot_com>
-// Encoding: any
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("Domingo",
- "Lunes",
- "Martes",
- "Miercoles",
- "Jueves",
- "Viernes",
- "Sabado",
- "Domingo");
-
-Calendar._SDN = new Array
-("Dom",
- "Lun",
- "Mar",
- "Mie",
- "Jue",
- "Vie",
- "Sab",
- "Dom");
-
-// full month names
-Calendar._MN = new Array
-("Enero",
- "Febrero",
- "Marzo",
- "Abril",
- "Mayo",
- "Junio",
- "Julio",
- "Agosto",
- "Septiembre",
- "Octubre",
- "Noviembre",
- "Diciembre");
-
-// short month names
-Calendar._SMN = new Array
-("Ene",
- "Feb",
- "Mar",
- "Abr",
- "May",
- "Jun",
- "Jul",
- "Ago",
- "Sep",
- "Oct",
- "Nov",
- "Dic");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Información del Calendario";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"Nuevas versiones en: http://www.dynarch.com/projects/calendar/\n" +
-"Distribuida bajo licencia GNU LGPL.  Para detalles vea http://gnu.org/licenses/lgpl.html ." +
-"\n\n" +
-"Selección de Fechas:\n" +
-"- Use  \xab, \xbb para seleccionar el año\n" +
-"- Use " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" +
-"- Mantenga presionado el botón del ratón en cualquiera de las opciones superiores para un acceso rapido .";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Selección del Reloj:\n" +
-"- Seleccione la hora para cambiar el reloj\n" +
-"- o presione  Shift-click para disminuirlo\n" +
-"- o presione click y arrastre del ratón para una selección rapida.";
-
-Calendar._TT["PREV_YEAR"] = "Año anterior (Presione para menu)";
-Calendar._TT["PREV_MONTH"] = "Mes Anterior (Presione para menu)";
-Calendar._TT["GO_TODAY"] = "Ir a Hoy";
-Calendar._TT["NEXT_MONTH"] = "Mes Siguiente (Presione para menu)";
-Calendar._TT["NEXT_YEAR"] = "Año Siguiente (Presione para menu)";
-Calendar._TT["SEL_DATE"] = "Seleccione fecha";
-Calendar._TT["DRAG_TO_MOVE"] = "Arrastre y mueva";
-Calendar._TT["PART_TODAY"] = " (Hoy)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "Mostrar %s primero";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "Cerrar";
-Calendar._TT["TODAY"] = "Hoy";
-Calendar._TT["TIME_PART"] = "(Shift-)Click o arrastra para cambar el valor";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%dd-%mm-%yy";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y";
-
-Calendar._TT["WK"] = "Sm";
-Calendar._TT["TIME"] = "Hora:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sv.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-sv.js
deleted file mode 100644 (file)
index db1f4b8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-// ** I18N
-
-// Calendar SV language (Swedish, svenska)
-// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
-// Translation team: <sv@li.org>
-// Translator: Leonard Norrgård <leonard.norrgard@refactor.fi>
-// Last translator: Leonard Norrgård <leonard.norrgard@refactor.fi>
-// Encoding: iso-latin-1
-// Distributed under the same terms as the calendar itself.
-
-// For translators: please use UTF-8 if possible.  We strongly believe that
-// Unicode is the answer to a real internationalized world.  Also please
-// include your contact information in the header, as can be seen above.
-
-// full day names
-Calendar._DN = new Array
-("söndag",
- "måndag",
- "tisdag",
- "onsdag",
- "torsdag",
- "fredag",
- "lördag",
- "söndag");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-Calendar._SDN_len = 2;
-Calendar._SMN_len = 3;
-
-// full month names
-Calendar._MN = new Array
-("januari",
- "februari",
- "mars",
- "april",
- "maj",
- "juni",
- "juli",
- "augusti",
- "september",
- "oktober",
- "november",
- "december");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "Om kalendern";
-
-Calendar._TT["ABOUT"] =
-"DHTML Datum/tid-väljare\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"För senaste version gå till: http://www.dynarch.com/projects/calendar/\n" +
-"Distribueras under GNU LGPL.  Se http://gnu.org/licenses/lgpl.html för detaljer." +
-"\n\n" +
-"Val av datum:\n" +
-"- Använd knapparna \xab, \xbb för att välja år\n" +
-"- Använd knapparna " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " för att välja månad\n" +
-"- Håll musknappen nedtryckt på någon av ovanstående knappar för snabbare val.";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Val av tid:\n" +
-"- Klicka på en del av tiden för att öka den delen\n" +
-"- eller skift-klicka för att minska den\n" +
-"- eller klicka och drag för snabbare val.";
-
-Calendar._TT["PREV_YEAR"] = "Föregående år (håll för menu)";
-Calendar._TT["PREV_MONTH"] = "Föregående månad (håll för menu)";
-Calendar._TT["GO_TODAY"] = "Gå till dagens datum";
-Calendar._TT["NEXT_MONTH"] = "Följande månad (håll för menu)";
-Calendar._TT["NEXT_YEAR"] = "Följande år (håll för menu)";
-Calendar._TT["SEL_DATE"] = "Välj datum";
-Calendar._TT["DRAG_TO_MOVE"] = "Drag för att flytta";
-Calendar._TT["PART_TODAY"] = " (idag)";
-Calendar._TT["MON_FIRST"] = "Visa måndag först";
-Calendar._TT["SUN_FIRST"] = "Visa söndag först";
-Calendar._TT["CLOSE"] = "Stäng";
-Calendar._TT["TODAY"] = "Idag";
-Calendar._TT["TIME_PART"] = "(Skift-)klicka eller drag för att ändra tid";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%A %d %b %Y";
-
-Calendar._TT["WK"] = "vecka";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-tr.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-tr.js
deleted file mode 100644 (file)
index 2164687..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////////////////////\r
-//     Turkish Translation by Nuri AKMAN\r
-//     Location: Ankara/TURKEY\r
-//     e-mail  : nuriakman@hotmail.com\r
-//     Date    : April, 9 2003\r
-//\r
-//     Note: if Turkish Characters does not shown on you screen\r
-//               please include falowing line your html code:\r
-//\r
-//               <meta http-equiv="Content-Type" content="text/html; charset=windows-1254">\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// ** I18N\r
-Calendar._DN = new Array\r
-("Pazar",\r
- "Pazartesi",\r
- "Salý",\r
- "Çarþamba",\r
- "Perþembe",\r
- "Cuma",\r
- "Cumartesi",\r
- "Pazar");\r
-Calendar._MN = new Array\r
-("Ocak",\r
- "Þubat",\r
- "Mart",\r
- "Nisan",\r
- "Mayýs",\r
- "Haziran",\r
- "Temmuz",\r
- "Aðustos",\r
- "Eylül",\r
- "Ekim",\r
- "Kasým",\r
- "Aralýk");\r
-\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["TOGGLE"] = "Haftanýn ilk gününü kaydýr";\r
-Calendar._TT["PREV_YEAR"] = "Önceki Yýl (Menü için basýlý tutunuz)";\r
-Calendar._TT["PREV_MONTH"] = "Önceki Ay (Menü için basýlý tutunuz)";\r
-Calendar._TT["GO_TODAY"] = "Bugün'e git";\r
-Calendar._TT["NEXT_MONTH"] = "Sonraki Ay (Menü için basýlý tutunuz)";\r
-Calendar._TT["NEXT_YEAR"] = "Sonraki Yýl (Menü için basýlý tutunuz)";\r
-Calendar._TT["SEL_DATE"] = "Tarih seçiniz";\r
-Calendar._TT["DRAG_TO_MOVE"] = "Taþýmak için sürükleyiniz";\r
-Calendar._TT["PART_TODAY"] = " (bugün)";\r
-Calendar._TT["MON_FIRST"] = "Takvim Pazartesi gününden baþlasýn";\r
-Calendar._TT["SUN_FIRST"] = "Takvim Pazar gününden baþlasýn";\r
-Calendar._TT["CLOSE"] = "Kapat";\r
-Calendar._TT["TODAY"] = "Bugün";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y";\r
-Calendar._TT["TT_DATE_FORMAT"] = "d MM y, DD";\r
-\r
-Calendar._TT["WK"] = "Hafta";\r
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-zh.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/calendar-zh.js
deleted file mode 100644 (file)
index 4a0feb6..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// ** I18N
-
-// Calendar ZH language
-// Author: muziq, <muziq@sina.com>
-// Encoding: GB2312 or GBK
-// Distributed under the same terms as the calendar itself.
-
-// full day names
-Calendar._DN = new Array
-("ÐÇÆÚÈÕ",
- "ÐÇÆÚÒ»",
- "ÐÇÆÚ¶þ",
- "ÐÇÆÚÈý",
- "ÐÇÆÚËÄ",
- "ÐÇÆÚÎå",
- "ÐÇÆÚÁù",
- "ÐÇÆÚÈÕ");
-
-// Please note that the following array of short day names (and the same goes
-// for short month names, _SMN) isn't absolutely necessary.  We give it here
-// for exemplification on how one can customize the short day names, but if
-// they are simply the first N letters of the full name you can simply say:
-//
-//   Calendar._SDN_len = N; // short day name length
-//   Calendar._SMN_len = N; // short month name length
-//
-// If N = 3 then this is not needed either since we assume a value of 3 if not
-// present, to be compatible with translation files that were written before
-// this feature.
-
-// short day names
-Calendar._SDN = new Array
-("ÈÕ",
- "һ",
- "¶þ",
- "Èý",
- "ËÄ",
- "Îå",
- "Áù",
- "ÈÕ");
-
-// full month names
-Calendar._MN = new Array
-("Ò»ÔÂ",
- "¶þÔÂ",
- "ÈýÔÂ",
- "ËÄÔÂ",
- "ÎåÔÂ",
- "ÁùÔÂ",
- "ÆßÔÂ",
- "°ËÔÂ",
- "¾ÅÔÂ",
- "Ê®ÔÂ",
- "ʮһÔÂ",
- "Ê®¶þÔÂ");
-
-// short month names
-Calendar._SMN = new Array
-("Ò»ÔÂ",
- "¶þÔÂ",
- "ÈýÔÂ",
- "ËÄÔÂ",
- "ÎåÔÂ",
- "ÁùÔÂ",
- "ÆßÔÂ",
- "°ËÔÂ",
- "¾ÅÔÂ",
- "Ê®ÔÂ",
- "ʮһÔÂ",
- "Ê®¶þÔÂ");
-
-// tooltips
-Calendar._TT = {};
-Calendar._TT["INFO"] = "°ïÖú";
-
-Calendar._TT["ABOUT"] =
-"DHTML Date/Time Selector\n" +
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
-"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
-"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
-"\n\n" +
-"Ñ¡ÔñÈÕÆÚ:\n" +
-"- µã»÷ \xab, \xbb °´Å¥Ñ¡ÔñÄê·Ý\n" +
-"- µã»÷ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " °´Å¥Ñ¡ÔñÔ·Ý\n" +
-"- ³¤°´ÒÔÉÏ°´Å¥¿É´Ó²Ëµ¥ÖпìËÙÑ¡ÔñÄê·Ý»òÔ·Ý";
-Calendar._TT["ABOUT_TIME"] = "\n\n" +
-"Ñ¡Ôñʱ¼ä:\n" +
-"- µã»÷Сʱ»ò·ÖÖÓ¿Éʹ¸ÄÊýÖµ¼ÓÒ»\n" +
-"- °´×¡Shift¼üµã»÷Сʱ»ò·ÖÖÓ¿Éʹ¸ÄÊýÖµ¼õÒ»\n" +
-"- µã»÷Í϶¯Êó±ê¿É½øÐпìËÙÑ¡Ôñ";
-
-Calendar._TT["PREV_YEAR"] = "ÉÏÒ»Äê (°´×¡³ö²Ëµ¥)";
-Calendar._TT["PREV_MONTH"] = "ÉÏÒ»Ô (°´×¡³ö²Ëµ¥)";
-Calendar._TT["GO_TODAY"] = "תµ½½ñÈÕ";
-Calendar._TT["NEXT_MONTH"] = "ÏÂÒ»Ô (°´×¡³ö²Ëµ¥)";
-Calendar._TT["NEXT_YEAR"] = "ÏÂÒ»Äê (°´×¡³ö²Ëµ¥)";
-Calendar._TT["SEL_DATE"] = "Ñ¡ÔñÈÕÆÚ";
-Calendar._TT["DRAG_TO_MOVE"] = "Í϶¯";
-Calendar._TT["PART_TODAY"] = " (½ñÈÕ)";
-
-// the following is to inform that "%s" is to be the first day of week
-// %s will be replaced with the day name.
-Calendar._TT["DAY_FIRST"] = "×î×ó±ßÏÔʾ%s";
-
-// This may be locale-dependent.  It specifies the week-end days, as an array
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1
-// means Monday, etc.
-Calendar._TT["WEEKEND"] = "0,6";
-
-Calendar._TT["CLOSE"] = "¹Ø±Õ";
-Calendar._TT["TODAY"] = "½ñÈÕ";
-Calendar._TT["TIME_PART"] = "(Shift-)µã»÷Êó±ê»òÍ϶¯¸Ä±äÖµ";
-
-// date formats
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
-Calendar._TT["TT_DATE_FORMAT"] = "%A, %b %eÈÕ";
-
-Calendar._TT["WK"] = "ÖÜ";
-Calendar._TT["TIME"] = "ʱ¼ä:";
diff --git a/extra/webapps/article-manager/resources/jscalendar-1.0/lang/cn_utf8.js b/extra/webapps/article-manager/resources/jscalendar-1.0/lang/cn_utf8.js
deleted file mode 100644 (file)
index a0ef7c6..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-// ** I18N\r
-\r
-// Calendar EN language\r
-// Author: Mihai Bazon, <mishoo@infoiasi.ro>\r
-// Encoding: any\r
-// Translator : Niko <nikoused@gmail.com>\r
-// Distributed under the same terms as the calendar itself.\r
-\r
-// For translators: please use UTF-8 if possible.  We strongly believe that\r
-// Unicode is the answer to a real internationalized world.  Also please\r
-// include your contact information in the header, as can be seen above.\r
-\r
-// full day names\r
-Calendar._DN = new Array\r
-("\u5468\u65e5",//\u5468\u65e5\r
- "\u5468\u4e00",//\u5468\u4e00\r
- "\u5468\u4e8c",//\u5468\u4e8c\r
- "\u5468\u4e09",//\u5468\u4e09\r
- "\u5468\u56db",//\u5468\u56db\r
- "\u5468\u4e94",//\u5468\u4e94\r
- "\u5468\u516d",//\u5468\u516d\r
- "\u5468\u65e5");//\u5468\u65e5\r
-\r
-// Please note that the following array of short day names (and the same goes\r
-// for short month names, _SMN) isn't absolutely necessary.  We give it here\r
-// for exemplification on how one can customize the short day names, but if\r
-// they are simply the first N letters of the full name you can simply say:\r
-//\r
-//   Calendar._SDN_len = N; // short day name length\r
-//   Calendar._SMN_len = N; // short month name length\r
-//\r
-// If N = 3 then this is not needed either since we assume a value of 3 if not\r
-// present, to be compatible with translation files that were written before\r
-// this feature.\r
-\r
-// short day names\r
-Calendar._SDN = new Array\r
-("\u5468\u65e5",\r
- "\u5468\u4e00",\r
- "\u5468\u4e8c",\r
- "\u5468\u4e09",\r
- "\u5468\u56db",\r
- "\u5468\u4e94",\r
- "\u5468\u516d",\r
- "\u5468\u65e5");\r
-\r
-// full month names\r
-Calendar._MN = new Array\r
-("\u4e00\u6708",\r
- "\u4e8c\u6708",\r
- "\u4e09\u6708",\r
- "\u56db\u6708",\r
- "\u4e94\u6708",\r
- "\u516d\u6708",\r
- "\u4e03\u6708",\r
- "\u516b\u6708",\r
- "\u4e5d\u6708",\r
- "\u5341\u6708",\r
- "\u5341\u4e00\u6708",\r
- "\u5341\u4e8c\u6708");\r
-\r
-// short month names\r
-Calendar._SMN = new Array\r
-("\u4e00\u6708",\r
- "\u4e8c\u6708",\r
- "\u4e09\u6708",\r
- "\u56db\u6708",\r
- "\u4e94\u6708",\r
- "\u516d\u6708",\r
- "\u4e03\u6708",\r
- "\u516b\u6708",\r
- "\u4e5d\u6708",\r
- "\u5341\u6708",\r
- "\u5341\u4e00\u6708",\r
- "\u5341\u4e8c\u6708");\r
-\r
-// tooltips\r
-Calendar._TT = {};\r
-Calendar._TT["INFO"] = "\u5173\u4e8e";\r
-\r
-Calendar._TT["ABOUT"] =\r
-"   DHTML \u65e5\u8d77/\u65f6\u95f4\u9009\u62e9\u63a7\u4ef6\n" +\r
-"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)\r
-"For latest version visit: \u6700\u65b0\u7248\u672c\u8bf7\u767b\u9646http://www.dynarch.com/projects/calendar/\u5bdf\u770b\n" +\r
-"\u9075\u5faaGNU LGPL.  \u7ec6\u8282\u53c2\u9605 http://gnu.org/licenses/lgpl.html" +\r
-"\n\n" +\r
-"\u65e5\u671f\u9009\u62e9:\n" +\r
-"- \u70b9\u51fb\xab(\xbb)\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e00\u5e74\u5ea6.\n" +\r
-"- \u70b9\u51fb" + String.fromCharCode(0x2039) + "(" + String.fromCharCode(0x203a) + ")\u6309\u94ae\u9009\u62e9\u4e0a(\u4e0b)\u4e2a\u6708\u4efd.\n" +\r
-"- \u957f\u65f6\u95f4\u6309\u7740\u6309\u94ae\u5c06\u51fa\u73b0\u66f4\u591a\u9009\u62e9\u9879.";\r
-Calendar._TT["ABOUT_TIME"] = "\n\n" +\r
-"\u65f6\u95f4\u9009\u62e9:\n" +\r
-"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u589e\u52a0\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\n" +\r
-"-\u5728\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2)\u4e0a\u6309\u4f4fShift\u952e\u540e\u5355\u51fb\u9f20\u6807\u5de6\u952e\u6765\u51cf\u5c11\u5f53\u524d\u65f6\u95f4\u90e8\u5206(\u5206\u6216\u8005\u79d2).";\r
-\r
-Calendar._TT["PREV_YEAR"] = "\u4e0a\u4e00\u5e74";\r
-Calendar._TT["PREV_MONTH"] = "\u4e0a\u4e2a\u6708";\r
-Calendar._TT["GO_TODAY"] = "\u5230\u4eca\u5929";\r
-Calendar._TT["NEXT_MONTH"] = "\u4e0b\u4e2a\u6708";\r
-Calendar._TT["NEXT_YEAR"] = "\u4e0b\u4e00\u5e74";\r
-Calendar._TT["SEL_DATE"] = "\u9009\u62e9\u65e5\u671f";\r
-Calendar._TT["DRAG_TO_MOVE"] = "\u62d6\u52a8";\r
-Calendar._TT["PART_TODAY"] = " (\u4eca\u5929)";\r
-\r
-// the following is to inform that "%s" is to be the first day of week\r
-// %s will be replaced with the day name.\r
-Calendar._TT["DAY_FIRST"] = "%s\u4e3a\u8fd9\u5468\u7684\u7b2c\u4e00\u5929";\r
-\r
-// This may be locale-dependent.  It specifies the week-end days, as an array\r
-// of comma-separated numbers.  The numbers are from 0 to 6: 0 means Sunday, 1\r
-// means Monday, etc.\r
-Calendar._TT["WEEKEND"] = "0,6";\r
-\r
-Calendar._TT["CLOSE"] = "\u5173\u95ed";\r
-Calendar._TT["TODAY"] = "\u4eca\u5929";\r
-Calendar._TT["TIME_PART"] = "(\u6309\u7740Shift\u952e)\u5355\u51fb\u6216\u62d6\u52a8\u6539\u53d8\u503c";\r
-\r
-// date formats\r
-Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";\r
-Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e\u65e5";\r
-\r
-Calendar._TT["WK"] = "\u5468";\r
-Calendar._TT["TIME"] = "\u65f6\u95f4:";\r
diff --git a/extra/webapps/article-manager/resources/style.css b/extra/webapps/article-manager/resources/style.css
deleted file mode 100644 (file)
index 301cd38..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-body {
-background-color : #cccccc;
-color : #000000;
-margin:10px 10px 0px 10px;
-padding:5px;
-}
-
-#navigation {
-position: absolute;
-left:10px;
-width:160px;
-background:#fff;
-border:1px solid #000;
-}
-
-#navigation h1 {
-font-size: 18px;
-text-align: center;
-}
-
-#article {
-background:#fff;
-margin-left: 159px;
-margin-right: 159px;
-border:1px solid #000;
-voice-family: "\"}\"";
-voice-family: inherit;
-margin-left: 161px;
-margin-right: 159px;
-}
-
-html>body #article {
-margin-left: 161px;
-margin-right: 159px;
-}
-
-p,h1,pre {
-margin:0px 10px 10px 10px;
-}
-               
-h1 {
-font-size:14px;
-padding-top:10px;
-}
-               
-#banner h1 {
-font-size:24px;
-padding:10px 10px 0px 10px;
-margin:0px;
-text-align: center;
-}
-
-#copyright { 
-text-align: center; 
-color: #FFF; 
-font-size: 65%;   
-}    
-
- pre { border: 1px dashed black; border-width: 1px; 
-            line-height:1.0em;
-            background: #ffe; 
-            margin: 0.5em 0.5em 0.5em 0.5em;
-            padding: 0.5em;
-            font-size: 70%;
-             }
\ No newline at end of file
diff --git a/extra/webapps/article-manager/resources/wiky.css b/extra/webapps/article-manager/resources/wiky.css
deleted file mode 100644 (file)
index 062f34e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/* == wiky == */\r
-*.wiki blockquote { background:#ddd; border:solid 1px #999; margin-left:1em; padding:0.5em;}\r
-*.wiki table {\r
-  border-collapse: collapse;\r
-  empty-cells: show;\r
-}\r
-\r
-*.wiki table td {\r
-  border: solid 1px black;\r
-  padding: 0.25em 0.5em 0.25em 0.5em;\r
-  text-align: center;\r
-}\r
-\r
-/*pre { font-size:100%; background: #eed; border:1px dotted #999; padding:0 0.5em; overflow:auto; }*/\r
-pre { font-family:courier new, monospace; overflow:auto; }\r
diff --git a/extra/webapps/article-manager/resources/wiky.js b/extra/webapps/article-manager/resources/wiky.js
deleted file mode 100644 (file)
index 002855b..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-/*     This work is licensed under Creative Commons GNU LGPL License.
-
-       License: http://creativecommons.org/licenses/LGPL/2.1/
-
-       Author:  Stefan Goessner/2005-06
-       Web:     http://goessner.net/ 
-*/
-var Wiky = {
-  version: 0.95,
-  blocks: null,
-  rules: {
-     all: [
-       "Wiky.rules.pre",
-       "Wiky.rules.nonwikiblocks",
-       "Wiky.rules.wikiblocks",
-       "Wiky.rules.post",
-     ],
-     pre: [
-       { rex:/(\r?\n)/g, tmplt:"\xB6" },  // replace line breaks with '¶' ..
-     ],
-     post: [
-       { rex:/(^\xB6)|(\xB6$)/g, tmplt:"" },  // .. remove linebreaks at BOS and EOS ..
-       { rex:/@([0-9]+)@/g, tmplt:function($0,$1){return Wiky.restore($1);} }, // resolve blocks ..
-       { rex:/\xB6/g, tmplt:"\n" } // replace '¶' with line breaks ..
-     ],
-     nonwikiblocks: [
-       { rex:/\\([%])/g, tmplt:function($0,$1){return Wiky.store($1);} },
-       { rex:/\[(?:\{([^}]*)\})?(?:\(([^)]*)\))?%(.*?)%\]/g, tmplt:function($0,$1,$2,$3){return ":p]"+Wiky.store("<pre"+($2?(" lang=\"x-"+Wiky.attr($2)+"\""):"")+Wiky.style($1)+">" + Wiky.apply($3, $2?Wiky.rules.lang[Wiky.attr($2)]:Wiky.rules.code) + "</pre>")+"[p:";} } //programm code block
-     ],
-     wikiblocks: [
-       "Wiky.rules.nonwikiinlines",
-       "Wiky.rules.escapes",
-       { rex:/(?:^|\xB6)(={1,6})(.*?)[=]*(?=\xB6|$)/g, tmplt:function($0,$1,$2){ var h=$1.length; return ":p]\xB6<h"+h+">"+$2+"</h"+h+">\xB6[p:";} }, // <h1> .. <h6>
-       { rex:/(?:^|\xB6)[-]{4}(?:\xB6|$)/g, tmplt:"\xB6<hr/>\xB6" },  // horizontal ruler ..
-       { rex:/\\\\([ \xB6])/g, tmplt:"<br/>$1" },  // forced line break ..
-       { rex:/(^|\xB6)([*01aAiIg]*[\.*])[ ]/g, tmplt:function($0,$1,$2){var state=$2.replace(/([*])/g,"u").replace(/([\.])/,"");return ":"+state+"]"+$1+"["+state+":";}},
-       { rex:/(?:^|\xB6);[ ](.*?):[ ]/g, tmplt:"\xB6:l][l:$1:d][d:"},  // ; term : definition
-       { rex:/\[(?:\{([^}]*)\})?(?:\(([^)]*)\))?\"/g, tmplt:function($0,$1,$2){return ":p]<blockquote"+Wiky.attr($2,"cite",0)+Wiky.attr($2,"title",1)+Wiky.style($1)+">[p:"; } }, // block quotation start
-       { rex:/\"\]/g, tmplt:":p]</blockquote>[p:" }, // block quotation end
-       { rex:/\[(\{[^}]*\})?\|/g, tmplt:":t]$1[r:" },  // .. start table ..
-       { rex:/\|\]/g, tmplt:":r][t:" },  // .. end table ..
-       { rex:/\|\xB6[ ]?\|/g, tmplt:":r]\xB6[r:" },  // .. end/start table row ..
-       { rex:/\|/g, tmplt:":c][c:" },  // .. end/start table cell ..
-       { rex:/^(.*)$/g, tmplt:"[p:$1:p]" },  // start paragraph '[p:' at BOS .. end paragraph ':p]' at EOS ..
-       { rex:/(([\xB6])([ \t\f\v\xB6]*?)){2,}/g, tmplt:":p]$1[p:" },  // .. separate paragraphs at blank lines ..
-       { rex:/\[([01AIacdgilprtu]+)[:](.*?)[:]([01AIacdgilprtu]+)\]/g, tmplt:function($0,$1,$2,$3){return Wiky.sectionRule($1==undefined?"":$1,"",Wiky.apply($2,Wiky.rules.wikiinlines),!$3?"":$3);} },
-       { rex:/\[[01AIacdgilprtu]+[:]|[:][01AIacdgilprtu]+\]/g, tmplt:"" },  // .. remove singular section delimiters (they frequently exist with incomplete documents while typing) ..
-       { rex:/<td>(?:([0-9]*)[>])?([ ]?)(.*?)([ ]?)<\/td>/g, tmplt:function($0,$1,$2,$3,$4){return "<td"+($1?" colspan=\""+$1+"\"":"")+($2==" "?(" style=\"text-align:"+($2==$4?"center":"right")+";\""):($4==" "?" style=\"text-align:left;\"":""))+">"+$2+$3+$4+"</td>";} },
-       { rex:/<(p|table)>(?:\xB6)?(?:\{(.*?)\})/g, tmplt:function($0,$1,$2){return "<"+$1+Wiky.style($2)+">";} },
-       { rex:/<p>([ \t\f\v\xB6]*?)<\/p>/g, tmplt:"$1" },  // .. remove empty paragraphs ..
-       "Wiky.rules.shortcuts"
-     ],
-     nonwikiinlines: [
-       { rex:/%(?:\{([^}]*)\})?(?:\(([^)]*)\))?(.*?)%/g, tmplt:function($0,$1,$2,$3){return Wiky.store("<code"+($2?(" lang=\"x-"+Wiky.attr($2)+"\""):"")+Wiky.style($1)+">" + Wiky.apply($3, $2?Wiky.rules.lang[Wiky.attr($2)]:Wiky.rules.code) + "</code>");} }, // inline code
-       { rex:/%(.*?)%/g, tmplt:function($0,$1){return Wiky.store("<code>" + Wiky.apply($2, Wiky.rules.code) + "</code>");} }
-     ],
-     wikiinlines: [
-       { rex:/\*([^*]+)\*/g, tmplt:"<strong>$1</strong>" },  // .. strong ..
-       { rex:/_([^_]+)_/g, tmplt:"<em>$1</em>" },
-       { rex:/\^([^^]+)\^/g, tmplt:"<sup>$1</sup>" },
-       { rex:/~([^~]+)~/g, tmplt:"<sub>$1</sub>" },
-       { rex:/\(-(.+?)-\)/g, tmplt:"<del>$1</del>" },
-       { rex:/\?([^ \t\f\v\xB6]+)\((.+)\)\?/g, tmplt:"<abbr title=\"$2\">$1</abbr>" },  // .. abbreviation ..
-       { rex:/\[(?:\{([^}]*)\})?[Ii]ma?ge?\:([^ ,\]]*)(?:[, ]([^\]]*))?\]/g, tmplt:function($0,$1,$2,$3){return Wiky.store("<img"+Wiky.style($1)+" src=\""+$2+"\" alt=\""+($3?$3:$2)+"\" title=\""+($3?$3:$2)+"\"/>");} },  // wikimedia image style ..
-       { rex:/\[([^ ,]+)[, ]([^\]]*)\]/g, tmplt:function($0,$1,$2){return Wiky.store("<a href=\""+$1+"\">"+$2+"</a>");}},  // wiki block style uri's ..
-       { rex:/(((http(s?))\:\/\/)?[A-Za-z0-9\._\/~\-:]+\.(?:png|jpg|jpeg|gif|bmp))/g, tmplt:function($0,$1,$2){return Wiky.store("<img src=\""+$1+"\" alt=\""+$1+"\"/>");} },  // simple images .. 
-       { rex:/((mailto\:|javascript\:|(news|file|(ht|f)tp(s?))\:\/\/)[A-Za-z0-9\.:_\/~%\-+&#?!=()@\x80-\xB5\xB7\xFF]+)/g, tmplt:"<a href=\"$1\">$1</a>" }  // simple uri's .. 
-     ],
-     escapes: [
-       { rex:/\\([|*_~\^])/g, tmplt:function($0,$1){return Wiky.store($1);} },
-       { rex:/\\&/g, tmplt:"&amp;" },
-       { rex:/\\>/g, tmplt:"&gt;" },
-       { rex:/\\</g, tmplt:"&lt;" }
-     ],
-     shortcuts: [
-       { rex:/---/g, tmplt:"&#8212;" },  // &mdash;
-       { rex:/--/g, tmplt:"&#8211;" },  // &ndash;
-       { rex:/[\.]{3}/g, tmplt:"&#8230;"}, // &hellip;
-       { rex:/<->/g, tmplt:"&#8596;"}, // $harr;
-       { rex:/<-/g, tmplt:"&#8592;"}, // &larr;
-       { rex:/->/g, tmplt:"&#8594;"}, //&rarr;
-     ],
-     code: [
-       { rex:/&/g, tmplt:"&amp;"},
-       { rex:/</g, tmplt:"&lt;"},
-       { rex:/>/g, tmplt:"&gt;"}
-     ],
-     lang: {}
-   },
-
-   inverse: {
-     all: [
-       "Wiky.inverse.pre",
-       "Wiky.inverse.nonwikiblocks",
-       "Wiky.inverse.wikiblocks",
-       "Wiky.inverse.post"
-     ],
-     pre: [
-       { rex:/(\r?\n)/g, tmplt:"\xB6" }  // replace line breaks with '¶' ..
-     ],
-     post: [
-       { rex:/@([0-9]+)@/g, tmplt:function($0,$1){return Wiky.restore($1);} },  // resolve blocks ..
-       { rex:/\xB6/g, tmplt:"\n" }  // replace '¶' with line breaks ..
-     ],
-     nonwikiblocks: [
-       { rex:/<pre([^>]*)>(.*?)<\/pre>/mgi, tmplt:function($0,$1,$2){return Wiky.store("["+Wiky.invStyle($1)+Wiky.invAttr($1,["lang"]).replace(/x\-/,"")+"%"+Wiky.apply($2, Wiky.hasAttr($1,"lang")?Wiky.inverse.lang[Wiky.attrVal($1,"lang").substr(2)]:Wiky.inverse.code)+"%]");} } //code block
-     ],
-     wikiblocks: [
-       "Wiky.inverse.nonwikiinlines",
-       "Wiky.inverse.escapes",
-       "Wiky.inverse.wikiinlines",
-       { rex:/<h1>(.*?)<\/h1>/mgi, tmplt:"=$1=" },
-       { rex:/<h2>(.*?)<\/h2>/mgi, tmplt:"==$1==" },
-       { rex:/<h3>(.*?)<\/h3>/mgi, tmplt:"===$1===" },
-       { rex:/<h4>(.*?)<\/h4>/mgi, tmplt:"====$1====" },
-       { rex:/<h5>(.*?)<\/h5>/mgi, tmplt:"=====$1=====" },
-       { rex:/<h6>(.*?)<\/h6>/mgi, tmplt:"======$1======" },
-       { rex:/<(p|table)[^>]+(style=\"[^\"]*\")[^>]*>/mgi, tmplt:function($0,$1,$2){return "<"+$1+">"+Wiky.invStyle($2);} },
-       { rex:/\xB6{2}<li/mgi, tmplt:"\xB6<li" },  // ie6 only ..
-       { rex:/<li class=\"?([^ >\"]*)\"?[^>]*?>([^<]*)/mgi, tmplt:function($0,$1,$2){return $1.replace(/u/g,"*").replace(/([01aAiIg])$/,"$1.")+" "+$2;}},  // list items ..
-       { rex:/(^|\xB6)<(u|o)l[^>]*?>\xB6/mgi, tmplt:"$1" },  // only outer level list start at BOL ...
-       { rex:/(<\/(?:dl|ol|ul|p)>[ \xB6]*<(?:p)>)/gi, tmplt:"\xB6\xB6" },
-       { rex:/<dt>(.*?)<\/dt>[ \f\n\r\t\v]*<dd>/mgi, tmplt:"; $1: " },
-       { rex:/<blockquote([^>]*)>/mgi, tmplt:function($0,$1){return Wiky.store("["+Wiky.invStyle($1)+Wiky.invAttr($1,["cite","title"])+"\"");} },
-       { rex:/<\/blockquote>/mgi, tmplt:"\"]" },
-       { rex:/<td class=\"?lft\"?>\xB6*[ ]?|<\/tr>/mgi, tmplt:"|" },  // ie6 only ..
-       { rex:/\xB6<tr(?:[^>]*?)>/mgi, tmplt:"\xB6" },
-       { rex:/<td colspan=\"([0-9]+)\"(?:[^>]*?)>/mgi, tmplt:"|$1>" },
-       { rex:/<td(?:[^>]*?)>/mgi, tmplt:"|" },
-       { rex:/<table>/mgi, tmplt:"[" },
-       { rex:/<\/table>/mgi, tmplt:"]" },
-       { rex:/<tr(?:[^>]*?)>\xB6*|<\/td>\xB6*|<tbody>\xB6*|<\/tbody>/mgi, tmplt:"" },
-       { rex:/<hr\/?>/mgi, tmplt:"----" },
-       { rex:/<br\/?>/mgi, tmplt:"\\\\" },
-       { rex:/(<p>|<(d|o|u)l[^>]*>|<\/(dl|ol|ul|p)>|<\/(li|dd)>)/mgi, tmplt:"" },
-       "Wiky.inverse.shortcuts"
-     ],
-     nonwikiinlines: [
-       { rex:/<code>(.*?)<\/code>/g, tmplt:function($0,$1){return Wiky.store("%"+Wiky.apply($1, Wiky.inverse["code"])+"%");} }
-     ],
-     wikiinlines: [
-       { rex:/<strong[^>]*?>(.*?)<\/strong>/mgi, tmplt:"*$1*" },
-       { rex:/<b[^>]*?>(.*?)<\/b>/mgi, tmplt:"*$1*" },
-       { rex:/<em[^>]*?>(.*?)<\/em>/mgi, tmplt:"_$1_" },
-       { rex:/<i[^>]*?>(.*?)<\/i>/mgi, tmplt:"_$1_" },
-       { rex:/<sup[^>]*?>(.*?)<\/sup>/mgi, tmplt:"^$1^" },
-       { rex:/<sub[^>]*?>(.*?)<\/sub>/mgi, tmplt:"~$1~" },
-       { rex:/<del[^>]*?>(.*?)<\/del>/mgi, tmplt:"(-$1-)" },
-       { rex:/<abbr title=\"([^\"]*)\">(.*?)<\/abbr>/mgi, tmplt:"?$2($1)?" },
-       { rex:/<a href=\"([^\"]*)\"[^>]*?>(.*?)<\/a>/mgi, tmplt:function($0,$1,$2){return $1==$2?$1:"["+$1+","+$2+"]";}},
-       { rex:/<img([^>]*)\/?>/mgi, tmplt:function($0,$1){var a=Wiky.attrVal($1,"alt"),h=Wiky.attrVal($1,"src"),t=Wiky.attrVal($1,"title"),s=Wiky.attrVal($1,"style");return s||(t&&h!=t)?("["+Wiky.invStyle($1)+"img:"+h+(t&&(","+t))+"]"):h;}},
-     ],
-     escapes: [
-       { rex:/([|*_~%\^])/g, tmplt:"\\$1" },
-       { rex:/&amp;/g, tmplt:"\\&" },
-       { rex:/&gt;/g, tmplt:"\\>" },
-       { rex:/&lt;/g, tmplt:"\\<" }
-     ],
-     shortcuts: [
-       { rex:/&#8211;|\u2013/g, tmplt:"--"},
-       { rex:/&#8212;|\u2014/g, tmplt:"---"},
-       { rex:/&#8230;|\u2026/g, tmplt:"..."},
-       { rex:/&#8596;|\u2194/g, tmplt:"<->"},
-       { rex:/&#8592;|\u2190/g, tmplt:"<-"},
-       { rex:/&#8594;|\u2192/g, tmplt:"->"}
-     ],
-     code: [
-       { rex:/&amp;/g, tmplt:"&"},
-       { rex:/&lt;/g, tmplt:"<"},
-       { rex:/&gt;/g, tmplt:">"}
-     ],
-     lang: {}
-   },
-
-   toHtml: function(str) {
-      Wiky.blocks = [];
-      return Wiky.apply(str, Wiky.rules.all);
-   },
-
-   toWiki: function(str) {
-      Wiky.blocks = [];
-      return Wiky.apply(str, Wiky.inverse.all);
-   },
-
-   apply: function(str, rules) {
-      if (str && rules)
-         for (var i in rules) {
-            if (typeof(rules[i]) == "string")
-               str = Wiky.apply(str, eval(rules[i]));
-            else
-               str = str.replace(rules[i].rex, rules[i].tmplt);
-         }
-      return str;
-   },
-   store: function(str, unresolved) {
-      return unresolved ? "@" + (Wiky.blocks.push(str)-1) + "@"
-                        : "@" + (Wiky.blocks.push(str.replace(/@([0-9]+)@/g, function($0,$1){return Wiky.restore($1);}))-1) + "@";
-   },
-   restore: function(idx) {
-      return Wiky.blocks[idx];
-   },
-   attr: function(str, name, idx) {
-      var a = str && str.split(",")[idx||0];
-      return a ? (name ? (" "+name+"=\""+a+"\"") : a) : "";
-   },
-   hasAttr: function(str, name) {
-      return new RegExp(name+"=").test(str);
-   },
-   attrVal: function(str, name) {
-      return str.replace(new RegExp("^.*?"+name+"=\"(.*?)\".*?$"), "$1");
-   },
-   invAttr: function(str, names) {
-      var a=[], x;
-      for (var i in names)
-         if (str.indexOf(names[i]+"=")>=0) 
-            a.push(str.replace(new RegExp("^.*?"+names[i]+"=\"(.*?)\".*?$"), "$1"));
-      return a.length ? ("("+a.join(",")+")") : "";
-   },
-   style: function(str) {
-      var s = str && str.split(/,|;/), p, style = "";
-      for (var i in s) {
-         p = s[i].split(":");
-         if (p[0] == ">")       style += "margin-left:4em;";
-         else if (p[0] == "<")  style += "margin-right:4em;";
-         else if (p[0] == ">>") style += "float:right;";
-         else if (p[0] == "<<") style += "float:left;";
-         else if (p[0] == "=") style += "display:block;margin:0 auto;";
-         else if (p[0] == "_")  style += "text-decoration:underline;";
-         else if (p[0] == "b")  style += "border:solid 1px;";
-         else if (p[0] == "c")  style += "color:"+p[1]+";";
-         else if (p[0] == "C")  style += "background:"+p[1]+";";
-         else if (p[0] == "w")  style += "width:"+p[1]+";";
-         else                   style += p[0]+":"+p[1]+";";
-      }
-      return style ? " style=\""+style+"\"" : "";
-   },
-   invStyle: function(str) {
-      var s = /style=/.test(str) ? str.replace(/^.*?style=\"(.*?)\".*?$/, "$1") : "",
-          p = s && s.split(";"), pi, prop = [];
-      for (var i in p) {
-         pi = p[i].split(":");
-         if (pi[0] == "margin-left" && pi[1]=="4em") prop.push(">");
-         else if (pi[0] == "margin-right" && pi[1]=="4em") prop.push("<");
-         else if (pi[0] == "float" && pi[1]=="right") prop.push(">>");
-         else if (pi[0] == "float" && pi[1]=="left") prop.push("<<");
-         else if (pi[0] == "margin" && pi[1]=="0 auto") prop.push("=");
-         else if (pi[0] == "display" && pi[1]=="block") ;
-         else if (pi[0] == "text-decoration" && pi[1]=="underline") prop.push("_");
-         else if (pi[0] == "border" && pi[1]=="solid 1px") prop.push("b");
-         else if (pi[0] == "color") prop.push("c:"+pi[1]);
-         else if (pi[0] == "background") prop.push("C:"+pi[1]);
-         else if (pi[0] == "width") prop.push("w:"+pi[1]);
-         else if (pi[0]) prop.push(pi[0]+":"+pi[1]);
-      }
-      return prop.length ? ("{" + prop.join(",") + "}") : "";
-   },
-   sectionRule: function(fromLevel, style, content, toLevel) {
-      var trf = { p_p: "<p>$1</p>",
-                  p_u: "<p>$1</p><ul$3>",
-                  p_o: "<p>$1</p><ol$3>",
-                  // p - ul
-                  // ul - p
-                  u_p: "<li$2>$1</li></ul>",
-                  u_c: "<li$2>$1</li></ul></td>",
-                  u_r: "<li$2>$1</li></ul></td></tr>",
-                  uu_p: "<li$2>$1</li></ul></li></ul>",
-                  uo_p: "<li$2>$1</li></ol></li></ul>",
-                  uuu_p: "<li$2>$1</li></ul></li></ul></li></ul>",
-                  uou_p: "<li$2>$1</li></ul></li></ol></li></ul>",
-                  uuo_p: "<li$2>$1</li></ol></li></ul></li></ul>",
-                  uoo_p: "<li$2>$1</li></ol></li></ol></li></ul>",
-                  // ul - ul
-                  u_u: "<li$2>$1</li>",
-                  uu_u: "<li$2>$1</li></ul></li>",
-                  uo_u: "<li$2>$1</li></ol></li>",
-                  uuu_u: "<li$2>$1</li></ul></li></ul></li>",
-                  uou_u: "<li$2>$1</li></ul></li></ol></li>",
-                  uuo_u: "<li$2>$1</li></ol></li></ul></li>",
-                  uoo_u: "<li$2>$1</li></ol></li></ol></li>",
-                  u_uu: "<li$2>$1<ul$3>",
-                  // ul - ol
-                  u_o: "<li$2>$1</li></ul><ol$3>",
-                  uu_o: "<li$2>$1</li></ul></li></ul><ol$3>",
-                  uo_o: "<li$2>$1</li></ol></li></ul><ol$3>",
-                  uuu_o: "<li$2>$1</li></ul></li></ul></li></ul><ol$3>",
-                  uou_o: "<li$2>$1</li></ul></li></ol></li></ul><ol$3>",
-                  uuo_o: "<li$2>$1</li></ol></li></ul></li></ul><ol$3>",
-                  uoo_o: "<li$2>$1</li></ol></li></ol></li></ul><ol$3>",
-                  u_uo: "<li$2>$1<ol$3>",
-                  // ol - p
-                  o_p: "<li$2>$1</li></ol>",
-                  oo_p: "<li$2>$1</li></ol></li></ol>",
-                  ou_p: "<li$2>$1</li></ul></li></ol>",
-                  ooo_p: "<li$2>$1</li></ol></li></ol>",
-                  ouo_p: "<li$2>$1</li></ol></li></ul></li></ol>",
-                  oou_p: "<li$2>$1</li></ul></li></ol></li></ol>",
-                  ouu_p: "<li$2>$1</li></ul></li></ul></li></ol>",
-                  // ol - ul
-                  o_u: "<li$2>$1</li></ol><ul$3>",
-                  oo_u: "<li$2>$1</li></ol></li></ol><ul$3>",
-                  ou_u: "<li$2>$1</li></ul></li></ol><ul$3>",
-                  ooo_u: "<li$2>$1</li></ol></li></ol></li></ol><ul$3>",
-                  ouo_u: "<li$2>$1</li></ol></li></ul></li></ol><ul$3>",
-                  oou_u: "<li$2>$1</li></ul></li></ol></li></ol><ul$3>",
-                  ouu_u: "<li$2>$1</li></ul></li></ul></li></ol><ul$3>",
-                  o_ou: "<li$2>$1<ul$3>",
-                  // -- ol - ol --
-                  o_o: "<li$2>$1</li>",
-                  oo_o: "<li$2>$1</li></ol></li>",
-                  ou_o: "<li$2>$1</li></ul></li>",
-                  ooo_o: "<li$2>$1</li></ol></li></ol></li>",
-                  ouo_o: "<li$2>$1</li></ol></li></ul></li>",
-                  oou_o: "<li$2>$1</li></ul></li></ol></li>",
-                  ouu_o: "<li$2>$1</li></ul></li></ul></li>",
-                  o_oo: "<li$2>$1<ol$3>",
-                  // -- dl --
-                  l_d: "<dt>$1</dt>",
-                  d_l: "<dd>$1</dd>",
-                  d_u: "<dd>$1</dd></dl><ul>",
-                  d_o: "<dd>$1</dd></dl><ol>",
-                  p_l: "<p>$1</p><dl>",
-                  u_l: "<li$2>$1</li></ul><dl>",
-                  o_l: "<li$2>$1</li></ol><dl>",
-                  uu_l: "<li$2>$1</li></ul></li></ul><dl>",
-                  uo_l: "<li$2>$1</li></ol></li></ul><dl>",
-                  ou_l: "<li$2>$1</li></ul></li></ol><dl>",
-                  oo_l: "<li$2>$1</li></ol></li></ol><dl>",
-                  d_p: "<dd>$1</dd></dl>",
-                  // -- table --
-                  p_t: "<p>$1</p><table>",
-                  p_r: "<p>$1</p></td></tr>",
-                  p_c: "<p>$1</p></td>",
-                  t_p: "</table><p>$1</p>",
-                  r_r: "<tr><td>$1</td></tr>",
-                  r_p: "<tr><td><p>$1</p>",
-                  r_c: "<tr><td>$1</td>",
-                  r_u: "<tr><td>$1<ul>",
-                  c_p: "<td><p>$1</p>",
-                  c_r: "<td>$1</td></tr>",
-                  c_c: "<td>$1</td>",
-//                  c_u: "<td>$1<ul>",
-                  u_t: "<li$2>$1</li></ul><table>",
-                  o_t: "<li$2>$1</li></ol><table>",
-                  d_t: "<dd>$1</dd></dl><table>",
-                  t_u: "</table><p>$1</p><ul>",
-                  t_o: "</table><p>$1</p><ol>",
-                  t_l: "</table><p>$1</p><dl>"
-      };
-      var type = { "0": "decimal-leading-zero",
-                   "1": "decimal",
-                   "a": "lower-alpha",
-                   "A": "upper-alpha",
-                   "i": "lower-roman",
-                   "I": "upper-roman",
-                   "g": "lower-greek" };
-
-      var from = "", to = "", maxlen = Math.max(fromLevel.length, toLevel.length), sync = true, sectiontype = type[toLevel.charAt(toLevel.length-1)], transition;
-
-      for (var i=0; i<maxlen; i++)
-         if (fromLevel.charAt(i+1) != toLevel.charAt(i+1) || !sync || i == maxlen-1)
-         {
-            from += fromLevel.charAt(i) == undefined ? " " : fromLevel.charAt(i);
-            to += toLevel.charAt(i) == undefined ? " " : toLevel.charAt(i);
-            sync = false;
-         }
-      transition = (from + "_" + to).replace(/([01AIagi])/g, "o");
-      return !trf[transition] ? ("?(" +  transition + ")")  // error string !
-                              : trf[transition].replace(/\$2/, " class=\"" + fromLevel + "\"")
-                                               .replace(/\$3/, !sectiontype ? "" : (" style=\"list-style-type:" + sectiontype + ";\""))
-                                               .replace(/\$1/, content)
-                                               .replace(/<p><\/p>/, "");
-   }
-}
diff --git a/extra/webapps/article-manager/resources/wiky.lang.css b/extra/webapps/article-manager/resources/wiky.lang.css
deleted file mode 100644 (file)
index 0d61d75..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-pre.syntax { font-size:100%; background: #eed; border:1px dotted #999; padding:0 0.5em; overflow:auto; }\r
-span.cmt { font-style: italic; color: green; }\r
-span.str { font-style: italic; color: darkred; }\r
-span.kwd { color: blue; }\r
-span.obj  { color: purple; }\r
-span.mbr  { color: gray; }\r
-span.xtag { color: blue; }\r
-span.xnam { color: purple; }\r
-span.xval { font-style: italic; color: darkred; }\r
diff --git a/extra/webapps/article-manager/resources/wiky.lang.js b/extra/webapps/article-manager/resources/wiky.lang.js
deleted file mode 100644 (file)
index dd53e83..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*     This work is licensed under Creative Commons GNU LGPL License.\r
-\r
-       License: http://creativecommons.org/licenses/LGPL/2.1/\r
-\r
-       Author:  Stefan Goessner/2005-06\r
-       Web:     http://goessner.net/\r
-\r
-   credits: http://www.regular-expressions.info/examplesprogrammer.html\r
-*/\r
-Wiky.rules.lang.js = [\r
-      "Wiky.rules.code",\r
-      { rex:/"([^"\\\xB6]*(\\.[^"\\\xB6]*)*)"/g, tmplt:function($0,$1){return Wiky.store("<span class=\"str\">\""+$1+"\"</span>");}}, // string delimited by '"' with '\"' allowed ..\r
-      { rex:/'([^'\\\xB6]*(\\.[^'\\\xB6]*)*)'/g, tmplt:function($0,$1){return Wiky.store("<span class=\"str\">\'"+$1+"\'</span>");}}, // string delimited by "'" with "\'" allowed ..\r
-      { rex:/\/\/(.*?)(?:\xB6|$)/g, tmplt:function($0,$1){return Wiky.store("<span class\=\"cmt\">//"+$1+"</span>\xB6");}}, // single line comment\r
-      { rex:/\/\*(.*?)\*\//g, tmplt:function($0,$1){return Wiky.store("<span class\=\"cmt\">\/*"+$1+"*\/</span>");}}, // multi-line comment\r
-//       { rex:/([\]\[\-+\|*!%<>=\{\}?:,\)\(]+)|(&#34;|&#47;|&#61;)+/g, tmplt:"<span class=\"op\">$1</span>"}, // operators\r
-      { rex:/\b(break|case|catch|continue|do|else|false|for|function|if|in|new|return|switch|this|throw|true|try|var|while|with)\b/g, tmplt:"<span class=\"kwd\">$1</span>" }, // keywords\r
-      { rex:/\b(arguments|Array|Boolean|Date|Error|Function|Global|Math|Number|Object|RegExp|String)\b/g, tmplt:"<span class=\"obj\">$1</span>" }, // objects\r
-      { rex:/\.(abs|acos|anchor|arguments|asin|atan|atan2|big|blink|bold|callee|caller|ceil|charAt|charCodeAt|concat|constructor|cos|E|escape|eval|exp|fixed|floor|fontcolor|fontsize|fromCharCode|getDate|getDay|getFullYear|getHours|getMilliseconds|getMinutes|getMonth|getSeconds|getTime|getTimezoneOffset|getUTCDate|getUTCDay|getUTCFullYear|getUTCHours|getUTCMilliseconds|getUTCMinutes|getUTCMonth|getUTCSeconds|getVarDate|getYear|index|indexOf|Infinity|input|isFinite|isNaN|italics|join|lastIndex|lastIndexOf|lastMatch|lastParen|leftContext|length|link|LN10|LN2|log|LOG10E|LOG2E|match|max|MAX_VALUE|min|MIN_VALUE|NaN|NaN|NEGATIVE_INFINITY|parse|parseFloat|parseInt|PI|pop|POSITIVE_INFINITY|pow|prototype|push|random|replace|reverse|rightContext|round|search|setDate|setFullYear|setHours|setMilliseconds|setMinutes|setMonth|setSeconds|setTime|setUTCDate|setUTCFullYear|setUTCHours|setUTCMilliseconds|setUTCMinutes|setUTCMonth|setUTCSeconds|setYear|shift|sin|slice|slice|small|sort|splice|split|sqrt|SQRT1_2|SQRT2|strike|sub|substr|substring|sup|tan|toGMTString|toLocaleString|toLowerCase|toString|toUpperCase|toUTCString|unescape|unshift|UTC|valueOf)\b/g, tmplt:".<span class=\"mbr\">$1</span>" }, // members\r
-];\r
-Wiky.rules.lang.xml = [\r
-      { rex:/<script([^>]*)>(.*?)<\/script>/g, tmplt:function($0,$1,$2){return "<script"+$1+">"+Wiky.store(Wiky.apply($2, Wiky.rules.lang.js))+"</script>";} }, // script blocks ..\r
-      { rex:/<!\[CDATA\[(.*?)\]\]>/g, tmplt:function($0,$1){return Wiky.store("&lt;![CDATA["+$1+"]]&gt;");} }, // CDATA sections, ..\r
-      { rex:/<!(.*?)>/g, tmplt:function($0,$1){return Wiky.store("<span class=\"cmt\">&lt;!"+$1+"&gt;</span>");} }, // inline xml comments, doctypes, ..\r
-      { rex:/</g, tmplt:"\xAB"}, // replace '<' by '«'\r
-      { rex:/>/g, tmplt:"\xBB"}, // replace '>' by '»'\r
-      { rex:/([-A-Za-z0-9_:]+)[ ]*=[ ]*\"(.*?)\"/g, tmplt:"<span class=\"xnam\">$1</span>=<span class=\"xval\">&quot;$2&quot;</span>"}, // "xml attribute value strings ..\r
-      { rex:/(\xAB[\/]?)([-A-Za-z0-9_:]+)/g, tmplt:"$1<span class=\"xtag\">$2</span>"}, // "xml tag ..\r
-      { rex:/\xAB/g, tmplt:"&lt;"}, // replace '«' by '<'\r
-      { rex:/\xBB/g, tmplt:"&gt;"}, // replace '»' by '>'\r
-];\r
-Wiky.inverse.lang.js = [\r
-     { rex:/<span class=\"?(cmt|kwd|mbr|obj|str)\"?>|<\/span>/mgi, tmplt:"" },\r
-     { rex:/<strong>(.*?)<\/strong>/mgi, tmplt:"[*$1*]" },\r
-      "Wiky.inverse.code"\r
-];\r
-Wiky.inverse.lang.xml = [\r
-     { rex:/<span class=\"?(cmt|xtag|xnam|xval)\"?>|<\/span>/mgi, tmplt:"" },\r
-     "Wiky.inverse.lang.js"\r
-];\r
diff --git a/extra/webapps/article-manager/resources/wiky.math.css b/extra/webapps/article-manager/resources/wiky.math.css
deleted file mode 100644 (file)
index de2a6f5..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/* math */\r
-dfn, div.eq {\r
-  white-space: nowrap;\r
-  font-family: sans-serif;\r
-  font-style: normal;\r
-  color: navy;\r
-}\r
-div.eq {\r
-   margin-left: 3em;\r
-   margin-right: 1em;\r
-}\r
-div.eq a {float:right}\r
-\r
-span.h {  /* huge */\r
-  font-size:150%; \r
-}\r
-\r
-span.o, span.s, span.f {\r
-  display:-moz-inline-box;\r
-  -moz-box-orient:vertical;\r
-  display:inline-block; \r
-  vertical-align:middle; \r
-  margin:0 0.2em;\r
-}\r
-\r
-span.x, span.i, span.d, span.n, span.o span {\r
-  display: block;\r
-}\r
-\r
-span.x, span.d, span.n, span.s, span.o span {\r
-  text-align:center;\r
-  margin:0 0.2em;\r
-}\r
-\r
-span.n, span.d {\r
-  font-size: 90%;\r
-}\r
-\r
-span.i {\r
-  text-align: left;\r
-  margin:0 0.2em 0 0;\r
-}\r
-span.b {\r
-  font-weight: bold;\r
-}\r
-\r
-span.x, span.i, span.f span.f {\r
-  font-size: 80%;\r
-}\r
-\r
-span.n {\r
-  border-bottom:solid 1px navy;\r
-}\r
-\r
-span.v, span.m {\r
-  display:-moz-inline-box;\r
-  -moz-box-orient:vertical;\r
-  display:inline-block;\r
-  vertical-align:middle; \r
-}\r
-span.v span.e, span.m span.e {\r
-  font-size: 90%;\r
-  white-space:nowrap;\r
-  display: block;\r
-  text-align:center;\r
-  margin:0.2em;\r
-}\r
-/*span.m > span.e { height:2em; }*/ /* hide ie 6 */\r
-\r
-span.lb, span.rb {\r
-  margin:0; \r
-  padding:0; \r
-  vertical-align: middle; \r
-  border-top:1px solid navy; \r
-  border-bottom:1px solid navy;\r
-}\r
-span.lb {\r
-  border-left:1px solid navy; \r
-}\r
-span.rb {\r
-  border-right:1px solid navy; \r
-}\r
-span.lbrk2, span.rbrk2 {\r
-  font-size:200%; \r
-}\r
-span.lbrk3, span.rbrk3 {\r
-  font-size:300%; \r
-}\r
diff --git a/extra/webapps/article-manager/resources/wiky.math.js b/extra/webapps/article-manager/resources/wiky.math.js
deleted file mode 100644 (file)
index 26cf41e..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-/*     This work is licensed under Creative Commons GNU LGPL License.
-
-       License: http://creativecommons.org/licenses/LGPL/2.1/
-
-       Author:  Stefan Goessner/2005-06
-       Web:     http://goessner.net/ 
-   inspired by: http://xml-maiden.com/
-*/
-Wiky.rules.math = {
-   version: 0.95,
-   preshortcuts: [
-//      { rex:/[ ]/g, tmplt:"`"},   // omit due to charset support ie6
-      { rex:/\+\-/g, tmplt:"&#177;"},
-      { rex:/\/O|\\Oslash/g, tmplt:"&#216;"},
-      { rex:/\/o|\\oslash/g, tmplt:"&#248;"},
-      { rex:/<->|\\harr/g, tmplt:"&#8596;"},
-      { rex:/<-|\\larr/g, tmplt:"&#8592;"},
-      { rex:/->|\\rarr/g, tmplt:"&#8594;"},
-      { rex:/<=>|\\hArr/g, tmplt:"&#8660;"},
-      { rex:/=>|\\rArr/g, tmplt:"&#8658;"},
-      { rex:/-=|\\equiv/g, tmplt:"&#8801;"},
-      { rex:/<=|\\le/g, tmplt:"&#8804;"},
-      { rex:/>=|\\ge/g, tmplt:"&#8805;"},
-      { rex:/</g, tmplt:"&lt;"},
-      { rex:/>/g, tmplt:"&gt;"}
-   ],
-   postshortcuts: [
-      { rex:/\*|\\middot/g, tmplt:"&#183;"},
-      { rex:/\\x|\\times/g, tmplt:"&#215;"},
-      { rex:/~=|\\cong/g, tmplt:"&#8773;"},
-      { rex:/~~|\\asymp/g, tmplt:"&#8776;"},
-      { rex:/~|\\sim/g, tmplt:"&#8764;"},
-      { rex:/!=|\\neq|\\ne/g, tmplt:"&#8800;"},
-      { rex:/\.\.\.|\\ldots/g, tmplt:"&#8230;"},
-      { rex:/\\in|\\isin/g, tmplt:"&#8712;"},
-      { rex:/([0-9])x([0-9])/g, tmplt:"$1&#215;$2"}, 
-      { rex:/([A-Za-z]) x ([A-Za-z])/g, tmplt:"$1&#215;$2"},
-//      { rex:/[`]{4}/g, tmplt:"&#8195;"},  // omit due to charset support ie6
-//      { rex:/[`]{3}/g, tmplt:"&#8194;"},
-//      { rex:/[`]{2}/g, tmplt:"  "},
-//      { rex:/[`]/g, tmplt:"&#8201;"},
-      { rex:/\{/g, tmplt:"&#8206;"},  // unvisible left-to-right mark,
-      { rex:/\}/g, tmplt:"&#8207;"}   // unvisible right-to-left mark,
-   ],
-   expr: [
-      { rex:/\^\^/g, tmplt:"^&#94;"},  // ^ overindex
-      { rex:/(\\sum|\\prod|\\int)_([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})\^([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<span class=\"o\"><span class=\"x\">$3</span>$1<span class=\"x\">$2</span></span>"}, // over-/underscript (\sum, \prod, \int)
-      { rex:/(\\sum|\\prod|\\int)\^([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<span class=\"o\"><span class=\"x\">$2</span>$1<span>&#160;</span></span>"},
-      { rex:/(\\sum|\\prod|\\int)_([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<span class=\"o\"><span>&#160;</span>$1<span class=\"x\">$2</span></span>"},
-      { rex:/_([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})\^([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<span class=\"s\"><span class=\"i\">$2</span><span class=\"i\">$1</span></span>"}, // over-/underindex
-      { rex:/\^([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<sup class=\"i\">$1</sup>"}, // overindex
-      { rex:/_([-]?[a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<sub class=\"i\">$1</sub>"}, // underindex
-      { rex:/-/g, tmplt:"&#8722;"},
-      { rex:/([a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})\/([a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<span class=\"f\"><span class=\"n\">$1</span><span class=\"d\">$2</span></span>"},  // fraction
-      { rex:/([a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})\/\/([a-zA-Z0-9\.&;#\\]+|\{@[0-9]+@\})/g, tmplt:"<sup>$1</sup>&#8260;<sub>$2</sub>"}, // fraction 
-      { rex:/\[((\[(([^,\]]+[,]){1,}[^\]]+)\][ \n]*){1,})\]/g, tmplt:function($0,$1){var m=Wiky.math.transpose($1.replace(/(^\[|\]$)/g,"").replace(/(\][ \n]*\[)/g,"|").split("|")),sz=" style=\"font-size:"+(m.len)+"00%;\"";/*alert("{("+m.mat.join(")}\n{(").split(",").join(")(")+")}");*/ return "<span class=\"lb\""+sz+">"+Wiky.math.fence()+"</span><span class=\"m\"><span class=\"e\">"+m.mat.join("</span></span>\n<span class=\"m\"><span class=\"e\">").split(",").join("</span><span class=\"e\">")+"</span></span><span class=\"rb\""+sz+">"+Wiky.math.fence()+"</span>";}}, // matrix
-      { rex:/\[((?:[^,\]]){1,}[^\]]+)\]/g, tmplt:function($0,$1){var v=$1.split(","),sz=" style=\"font-size:"+v.length+"00%;\""; return "<span class=\"lb\""+sz+">"+Wiky.math.fence()+"</span><span class=\"v\"><span class=\"e\">"+v.join("</span><span class=\"e\">")+"</span></span><span class=\"rb\""+sz+">"+Wiky.math.fence()+"</span>";}}, // vector
-      { rex:/!([a-zA-Z0-9\.&;]+)/g, tmplt:"<span class=\"b\">$1</span>" }, // bold vector symbol ..
-      { rex:/\\prod/g, tmplt:"<span class=\"h\">&#8719;</span>"},
-      { rex:/\\sum/g, tmplt:"<span class=\"h\">&#8721;</span>"},
-      { rex:/\\int/g, tmplt:"<span class=\"h\">&#8747;</span>"},
-      "Wiky.rules.math.postshortcuts"
-   ],
-   symbols: [
-      { rex:/\\Alpha/g, tmplt:"&#913;"},
-      { rex:/\\Beta/g, tmplt:"&#914;"},
-      { rex:/\\Gamma/g, tmplt:"&#915;"},
-      { rex:/\\Delta/g, tmplt:"&#916;"},
-      { rex:/\\Epsilon/g, tmplt:"&#917;"},
-      { rex:/\\Zeta/g, tmplt:"&#918;"},
-      { rex:/\\Eta/g, tmplt:"&#919;"},
-      { rex:/\\Theta/g, tmplt:"&#920;"},
-      { rex:/\\Iota/g, tmplt:"&#921;"},
-      { rex:/\\Kappa/g, tmplt:"&#922;"},
-      { rex:/\\Lambda/g, tmplt:"&#923;"},
-      { rex:/\\Mu/g, tmplt:"&#924;"},
-      { rex:/\\Nu/g, tmplt:"&#925;"},
-      { rex:/\\Xi/g, tmplt:"&#926;"},
-      { rex:/\\Omicron/g, tmplt:"&#927;"},
-      { rex:/\\Pi/g, tmplt:"&#928;"},
-      { rex:/\\Rho/g, tmplt:"&#929;"},
-      { rex:/\\Sigma/g, tmplt:"&#931;"},
-      { rex:/\\Tau/g, tmplt:"&#932;"},
-      { rex:/\\Upsilon/g, tmplt:"&#933;"},
-      { rex:/\\Phi/g, tmplt:"&#934;"},
-      { rex:/\\Chi/g, tmplt:"&#935;"},
-      { rex:/\\Psi/g, tmplt:"&#936;"},
-      { rex:/\\Omega/g, tmplt:"&#937;"},
-      { rex:/\\alpha/g, tmplt:"&#945;"},
-      { rex:/\\beta/g, tmplt:"&#946;"},
-      { rex:/\\gamma/g, tmplt:"&#947;"},
-      { rex:/\\delta/g, tmplt:"&#948;"},
-      { rex:/\\epsilon/g, tmplt:"&#949;"},
-      { rex:/\\zeta/g, tmplt:"&#950;"},
-      { rex:/\\eta/g, tmplt:"&#951;"},
-      { rex:/\\thetasym/g, tmplt:"&#977;"},
-      { rex:/\\theta/g, tmplt:"&#952;"},
-      { rex:/\\iota/g, tmplt:"&#953;"},
-      { rex:/\\kappa/g, tmplt:"&#954;"},
-      { rex:/\\lambda/g, tmplt:"&#955;"},
-      { rex:/\\mu/g, tmplt:"&#956;"},
-      { rex:/\\nu/g, tmplt:"&#957;"},
-      { rex:/\\xi/g, tmplt:"&#958;"},
-      { rex:/\\omicron/g, tmplt:"&#959;"},
-      { rex:/\\piv/g, tmplt:"&#982;"},
-      { rex:/\\pi/g, tmplt:"&#960;"},
-      { rex:/\\rho/g, tmplt:"&#961;"},
-      { rex:/\\sigmaf/g, tmplt:"&#962;"},
-      { rex:/\\sigma/g, tmplt:"&#963;"},
-      { rex:/\\tau/g, tmplt:"&#964;"},
-      { rex:/\\upsilon/g, tmplt:"&#965;"},
-      { rex:/\\phi/g, tmplt:"&#966;"},
-      { rex:/\\chi/g, tmplt:"&#967;"},
-      { rex:/\\psi/g, tmplt:"&#968;"},
-      { rex:/\\omega/g, tmplt:"&#969;"},
-      { rex:/\\upsih/g, tmplt:"&#978;"},
-      // miscellaneous symbols
-      { rex:/\\bull/g, tmplt:"&#8226;"},
-      { rex:/\\uarr/g, tmplt:"&#8593;"},
-      { rex:/\\darr/g, tmplt:"&#8595;"},
-      { rex:/\\crarr/g, tmplt:"&#8629;"},
-      { rex:/\\lArr/g, tmplt:"&#8656;"},
-      { rex:/\\uArr/g, tmplt:"&#8657;"},
-      { rex:/\\dArr/g, tmplt:"&#8659;"},
-      { rex:/\\forall/g, tmplt:"&#8704;"},
-      { rex:/\\part/g, tmplt:"&#8706;"},
-      { rex:/\\exist/g, tmplt:"&#8707;"},
-      { rex:/\\empty/g, tmplt:"&#8709;"},
-      { rex:/\\nabla/g, tmplt:"&#8711;"},
-      { rex:/\\notin/g, tmplt:"&#8713;"},
-      { rex:/\\ni/g, tmplt:"&#8715;"},
-      { rex:/\\minus/g, tmplt:"&#8722;"},
-      { rex:/\\lowast/g, tmplt:"&#8727;"},
-      { rex:/\\sqrt|\\radic/g, tmplt:"&#8730;"},
-      { rex:/\\prop/g, tmplt:"&#8733;"},
-      { rex:/\\infin/g, tmplt:"&#8734;"},
-      { rex:/\\ang/g, tmplt:"&#8736;"},
-      { rex:/\\and/g, tmplt:"&#8743;"},
-      { rex:/\\or/g, tmplt:"&#8744;"},
-      { rex:/\\cap/g, tmplt:"&#8745;"},
-      { rex:/\\cup/g, tmplt:"&#8746;"},
-      { rex:/\\there4/g, tmplt:"&#8756;"},
-      { rex:/\\sub/g, tmplt:"&#8834;"},
-      { rex:/\\sup/g, tmplt:"&#8835;"},
-      { rex:/\\nsub/g, tmplt:"&#8836;"},
-      { rex:/\\sube/g, tmplt:"&#8838;"},
-      { rex:/\\supe/g, tmplt:"&#8839;"},
-      { rex:/\\oplus/g, tmplt:"&#8853;"},
-      { rex:/\\otimes/g, tmplt:"&#8855;"},
-      { rex:/\\perp/g, tmplt:"&#8869;"},
-      { rex:/\\sdot/g, tmplt:"&#8901;"}
-   ]
-};
-
-Wiky.inverse.math = {
-   pre: [
-      { rex:/&#8722;|\u2212/g, tmplt:"-"},
-      { rex:/&#8201;|\u2009/g, tmplt:"&#8201;"},
-      { rex:/&#8206;|\u200E/g, tmplt:"{"},
-      { rex:/&#8207;|\u200F/g, tmplt:"}"}
-   ],
-   post: [
-//      { rex:/([$])/g, tmplt:"\\$1" },
-      { rex:/&#94;|\x5E/g, tmplt:"^"},
-      { rex:/&lt;/g, tmplt:"<"},
-      { rex:/&gt;/g, tmplt:">"}
-   ],
-   shortcuts: [
-//      { rex:/&#8195;|\u2003/g, tmplt:"    "}, // omit due to charset support ie6
-//      { rex:/&#8194;|\u2002/g, tmplt:"   "},
-//      { rex:/&#8201;|\u2009/g, tmplt:" "},
-      { rex:/&#177;|\xB1/g, tmplt:"+-"},
-      { rex:/&#183;|\xB7/g, tmplt:"*"},
-      { rex:/&#215;|\xD7/g, tmplt:"\\x"},
-      { rex:/&#216;|\xD8/g, tmplt:"/O"},
-      { rex:/&#248;|\xF8/g, tmplt:"/o"},
-      { rex:/&#8592;|\u2190/g, tmplt:"&lt;-"},
-      { rex:/&#8594;|\u2192/g, tmplt:"-&gt;"},
-      { rex:/&#8596;|\u2194/g, tmplt:"&lt;-&gt;"},
-      { rex:/&#8658;|\u21D2/g, tmplt:"=&gt;"},
-      { rex:/&#8660;|\u21D4/g, tmplt:"&lt;=&gt;"},
-      { rex:/&#8764;|\u223C/g, tmplt:"~"},
-      { rex:/&#8773;|\u2245/g, tmplt:"~="},
-      { rex:/&#8776;|\u2248/g, tmplt:"~~"},
-      { rex:/&#8800;|\u2260/g, tmplt:"!="},
-      { rex:/&#8230;/g, tmplt:"..."},
-      { rex:/&#8801;|\u2261/g, tmplt:"-="},
-      { rex:/&#8804;|\u2264/g, tmplt:"&lt;="},
-      { rex:/&#8805;|\u2265/g, tmplt:"&gt;="}
-   ],
-   expr: [
-      { rex:/<span class=\"s\"><span class=\"i\">(\{?@[0-9]+@\}?)<\/span><span class="i">(\{?@[0-9]+@\}?)<\/span><\/span>/g, tmplt:"_$2^$1"}, // superscript + subscript
-      { rex:/<span class=\"o\"><span class=\"x\">(\{?@[0-9]+@\}?)<\/span>(\\prod|\\sum|\\int)<span class=\"x\">(\{?@[0-9]+@\}?)<\/span><\/span>/g, tmplt:"$2_$3^$1"},  // overscript + underscript
-      { rex:/<span class=\"o\"><span>@[0-9]+@<\/span>(\\prod|\\sum|\\int)<span class=\"x\">(\{?@[0-9]+@\}?)<\/span><\/span>/mgi, tmplt:"$1_$2", dbg:true},  // underscript
-      { rex:/<span class=\"o\"><span class=\"x\">(\{?@[0-9]+@\}?)<\/span>(\\prod|\\sum|\\int)<span>@[0-9]+@<\/span><\/span>/mgi, tmplt:"$2^$1"},  // overscript
-      { rex:/<span class=\"f\"><span class=\"n\">(\{?@[0-9]+@\}?)<\/span><span class="d">(\{?@[0-9]+@\}?)<\/span><\/span>/mgi, tmplt:"$1/$2"},  // fraction
-      { rex:/<span class=\"lb\"[^>]*>&[^;]+;<\/span><span class=\"v\">((?:<span class=\"e\">[^>]*<\/span>){2,})<\/span><span class=\"rb\"[^>]*>&[^;]+;<\/span>/mgi, tmplt:function($0,$1){return "["+$1.replace(/(?:^<span class=\"e\">|<\/span>$)/g,"").replace(/<\/span><span class=\"e\">/g,",")+"]";}}, // vector ..
-      { rex:/<span class=\"lb\"[^>]*>&[^;]+;<\/span>((?:<span class=\"m\">(?:(?:<span class=\"e\">[^>]*<\/span>){2,})<\/span>[^>]*){2,})<span class=\"rb\"[^>]*>&[^;]+;<\/span>/mgi, tmplt:function($0,$1){return "[["+Wiky.math.transpose($1.replace(/(?:^<span class=\"m\"><span class=\"e\">|<\/span><\/span>$)/g,"").replace(/<\/span><span class=\"e\">/g,",").replace(/<\/span><\/span>[^>]*<span class=\"m\"><span class=\"e\">/g,"|").split("|")).mat.join("][")+"]]";}}, // matrix ..
-      { rex:/<span class=\"b\">(@[0-9]+@)<\/span>/mgi, tmplt:"!$1"}, // bold vector ..
-      { rex:/<sup>(\{?@[0-9]+@\}?)<\/sup>&#8260;<sub>(\{?@[0-9]+@\}?)<\/sub>/mgi, tmplt:"$1//$2"},
-      { rex:/<sup class=\"i\">(\{?@[0-9]+@\}?)<\/sup>/mgi, tmplt:"^$1" }, 
-      { rex:/<sub class=\"i\">(\{?@[0-9]+@\}?)<\/sub>/mgi, tmplt:"_$1" }
-   ],
-   symbols: [
-      // greek symbols
-      { rex:/&#913;|\u391/g, tmplt:"\\Alpha"},
-      { rex:/&#914;|\u392/g, tmplt:"\\Beta"},
-      { rex:/&#915;|\u393/g, tmplt:"\\Gamma"},
-      { rex:/&#916;|\u394/g, tmplt:"\\Delta"},
-      { rex:/&#917;|\u395/g, tmplt:"\\Epsilon"},
-      { rex:/&#918;|\u396/g, tmplt:"\\Zeta"},
-      { rex:/&#919;|\u397/g, tmplt:"\\Eta"},
-      { rex:/&#920;|\u398/g, tmplt:"\\Theta"},
-      { rex:/&#921;|\u399/g, tmplt:"\\Iota"},
-      { rex:/&#922;|\u39A/g, tmplt:"\\Kappa"},
-      { rex:/&#923;|\u39B/g, tmplt:"\\Lambda"},
-      { rex:/&#924;|\u39C/g, tmplt:"\\Mu"},
-      { rex:/&#925;|\u39D/g, tmplt:"\\Nu"},
-      { rex:/&#926;|\u39E/g, tmplt:"\\Xi"},
-      { rex:/&#927;|\u39F/g, tmplt:"\\Omicron"},
-      { rex:/&#928;|\u3A0/g, tmplt:"\\Pi"},
-      { rex:/&#929;|\u3A1/g, tmplt:"\\Rho"},
-      { rex:/&#931;|\u3A3/g, tmplt:"\\Sigma"},
-      { rex:/&#932;|\u3A4/g, tmplt:"\\Tau"},
-      { rex:/&#933;|\u3A5/g, tmplt:"\\Upsilon"},
-      { rex:/&#934;|\u3A6/g, tmplt:"\\Phi"},
-      { rex:/&#935;|\u3A7/g, tmplt:"\\Chi"},
-      { rex:/&#936;|\u3A8/g, tmplt:"\\Psi"},
-      { rex:/&#937;|\u3A9/g, tmplt:"\\Omega"},
-      { rex:/&#945;|\u3B1/g, tmplt:"\\alpha"},
-      { rex:/&#946;|\u3B2/g, tmplt:"\\beta"},
-      { rex:/&#947;|\u3B3/g, tmplt:"\\gamma"},
-      { rex:/&#948;|\u3B4/g, tmplt:"\\delta"},
-      { rex:/&#949;|\u3B5/g, tmplt:"\\epsilon"},
-      { rex:/&#950;|\u3B6/g, tmplt:"\\zeta"},
-      { rex:/&#951;|\u3B7/g, tmplt:"\\eta"},
-      { rex:/&#977;|\u3D1/g, tmplt:"\\thetasym"},
-      { rex:/&#952;|\u3B8/g, tmplt:"\\theta"},
-      { rex:/&#953;|\u3B9/g, tmplt:"\\iota"},
-      { rex:/&#954;|\u3BA/g, tmplt:"\\kappa"},
-      { rex:/&#955;|\u3BB/g, tmplt:"\\lambda"},
-      { rex:/&#956;|\u3BC/g, tmplt:"\\mu"},
-      { rex:/&#957;|\u3BD/g, tmplt:"\\nu"},
-      { rex:/&#958;|\u3BE/g, tmplt:"\\xi"},
-      { rex:/&#959;|\u3BF/g, tmplt:"\\omicron"},
-      { rex:/&#960;|\u3C0/g, tmplt:"\\pi"},
-      { rex:/&#961;|\u3C1/g, tmplt:"\\rho"},
-      { rex:/&#962;|\u3C2/g, tmplt:"\\sigmaf"},
-      { rex:/&#963;|\u3C3/g, tmplt:"\\sigma"},
-      { rex:/&#964;|\u3C4/g, tmplt:"\\tau"},
-      { rex:/&#965;|\u3C5/g, tmplt:"\\upsilon"},
-      { rex:/&#966;|\u3C6/g, tmplt:"\\phi"},
-      { rex:/&#967;|\u3C7/g, tmplt:"\\chi"},
-      { rex:/&#968;|\u3C8/g, tmplt:"\\psi"},
-      { rex:/&#969;|\u3C9/g, tmplt:"\\omega"},
-      // miscellaneous symbols
-      { rex:/&#978;|\u3D2/g, tmplt:"\\upsih"},
-      { rex:/&#982;|\u3D6/g, tmplt:"\\piv"},
-      { rex:/&#8226;|\u2022/g, tmplt:"\\bull"},
-      { rex:/&#8593;|\u2191/g, tmplt:"\\uarr"},
-      { rex:/&#8595;|\u2193/g, tmplt:"\\darr"},
-      { rex:/&#8629;|\u21B5/g, tmplt:"\\crarr"},
-      { rex:/&#8656;|\u21D0/g, tmplt:"\\lArr"},
-      { rex:/&#8657;|\u21D1/g, tmplt:"\\uArr"},
-      { rex:/&#8659;|\u21D3/g, tmplt:"\\dArr"},
-      { rex:/&#8704;|\u2200/g, tmplt:"\\forall"},
-      { rex:/&#8706;|\u2202/g, tmplt:"\\part"},
-      { rex:/&#8707;|\u2203/g, tmplt:"\\exist"},
-      { rex:/&#8709;|\u2205/g, tmplt:"\\empty"},
-      { rex:/&#8711;|\u2207/g, tmplt:"\\nabla"},
-      { rex:/&#8712;|\u2208/g, tmplt:"\\isin"},
-      { rex:/&#8713;|\u2209/g, tmplt:"\\notin"},
-      { rex:/&#8715;|\u220B/g, tmplt:"\\ni"},
-      { rex:/<span class=\"h\">(&#8719;|\u220F)<\/span>/g, tmplt:"\\prod"},
-      { rex:/<span class=\"h\">(&#8721;|\u2211)<\/span>/g, tmplt:"\\sum"},
-      { rex:/&#8727;|\u2217/g, tmplt:"\\lowast"},
-      { rex:/&#8730;|\u221A/g, tmplt:"\\sqrt"},
-      { rex:/&#8733;|\u221D/g, tmplt:"\\prop"},
-      { rex:/&#8734;|\u221E/g, tmplt:"\\infin"},
-      { rex:/&#8736;|\u2220/g, tmplt:"\\ang"},
-      { rex:/&#8743;|\u2227/g, tmplt:"\\and"},
-      { rex:/&#8744;|\u2228/g, tmplt:"\\or"},
-      { rex:/&#8745;|\u2229/g, tmplt:"\\cap"},
-      { rex:/&#8746;|\u222A/g, tmplt:"\\cup"},
-      { rex:/<span class=\"h\">(?:&#8747;|\u222B)<\/span>/g, tmplt:"\\int"},
-      { rex:/&#8756;|\u2234/g, tmplt:"\\there4"},
-      { rex:/&#8834;|\u2282/g, tmplt:"\\sub"},
-      { rex:/&#8835;|\u2283/g, tmplt:"\\sup"},
-      { rex:/&#8836;|\u2284/g, tmplt:"\\nsub"},
-      { rex:/&#8838;|\u2286/g, tmplt:"\\sube"},
-      { rex:/&#8839;|\u2287/g, tmplt:"\\supe"},
-      { rex:/&#8853;|\u2295/g, tmplt:"\\oplus"},
-      { rex:/&#8855;|\u2297/g, tmplt:"\\otimes"},
-      { rex:/&#8869;|\u22A5/g, tmplt:"\\perp"},
-      { rex:/&#8901;|\u22C5/g, tmplt:"\\sdot"}
-   ]
-};
-
-Wiky.math = {
-   toHtml: function(str) {
-      var expr = function(itr) {  // region from "{" to "}", nesting allowed ..
-         var s = "";
-         for (var c = itr.str.charAt(itr.pos++); itr.pos <= itr.str.length && c != "}"; c = itr.str.charAt(itr.pos++))
-            s += (c == "{") ? ("{"+expr(itr)+"}") : c;
-         return Wiky.store(Wiky.apply(s, Wiky.rules.math.expr));
-      };
-      str = Wiky.apply(str, Wiky.rules.math.preshortcuts);
-      str = Wiky.apply(str, Wiky.rules.math.symbols);
-      str = expr({str:str,pos:0});
-      return str;
-   },
-   toWiki: function(str) {
-      var parseTree = function(itr, endtag) {
-         var c, s="",gt,nam,idxof=function(s,c,p){var i=s.indexOf(c,p);return i>=0?i:s.length;}
-         for (itr.buf=itr.str.substr(itr.pos,endtag.length); 
-              itr.pos<itr.str.length && (!endtag || itr.buf!=endtag); 
-              itr.buf=itr.str.substr(++itr.pos,endtag.length)) {
-            if ((c=itr.str.charAt(itr.pos))=="<" && (gt=idxof(itr.str,">",itr.pos)) < idxof(itr.str,"/",itr.pos)) { // start tags .. no empty elements or endtags ..
-               nam = itr.str.substring(itr.pos+1,Math.min(idxof(itr.str," ",itr.pos),gt));
-               s += itr.str.substring(itr.pos,itr.pos=gt+1) + parseTree(itr, "</" + nam + ">") + "</" + nam + ">";
-               itr.pos += nam.length+3;
-            }
-            else
-               s += c;
-         }
-         itr.pos--;
-         return Wiky.store(s, true);
-      };
-      str = Wiky.apply(str, Wiky.inverse.math.pre);
-      str = Wiky.apply(str, Wiky.inverse.math.symbols);
-      str = parseTree({str:str,pos:0,buf:null}, "");
-      while (str.match(/@[0-9]+@/g) != null)
-         str = Wiky.apply(str.replace(/@([0-9]+)@/g, function($0,$1){return Wiky.restore($1);}), Wiky.inverse.math.expr);
-      str = Wiky.apply(str, Wiky.inverse.math.shortcuts);
-      str = Wiky.apply(str, Wiky.inverse.math.post);
-      return str;
-   },
-   fence: function(str) {
-      return window && window.ActiveXObject ? "&#160;" : "&#8201;";
-   },
-   transpose: function (m) {
-      var t=[];
-      for (var i in m) {
-         m[i] = m[i].split(",");
-         for (var j in m[i]) {
-            if (!t[j]) t[j]=[];
-            t[j][i] = m[i][j];
-         }
-      }
-      for (var i in t)
-         t[i] = t[i].join(",");
-     return {mat:t, len:m.length};
-  }
-};
-
-Wiky.rules.pre = Wiky.rules.pre.concat({ rex:/\\([$])/g, tmplt:function($0,$1){return Wiky.store($1);} });
-Wiky.rules.nonwikiblocks = Wiky.rules.nonwikiblocks.concat(
-[
-    { rex:/\[\(([a-zA-Z0-9\.-]+)\)\$([^$]*)\$\]/g, tmplt:function($0,$1,$2){return ":p]<div class=\"eq\"><a name=\"eq"+$1+"\">("+$1+")</a>" + Wiky.math.toHtml($2) + "</div>[p:";} }, // numbered equation
-    { rex:/\[\$([^$]*)\$\]/g, tmplt:function($0,$1){return ":p]<div class=\"eq\">" + Wiky.math.toHtml($1) + "</div>[p:";} }, // equation
-]);
-Wiky.rules.nonwikiinlines = Wiky.rules.nonwikiinlines.concat(
-    { rex:/\$([^$]*)\$/g, tmplt:function($0,$1){return "<dfn>" + Wiky.math.toHtml($1) + "</dfn>";} } // inline equation
-);
-
-Wiky.inverse.pre = Wiky.inverse.pre.concat({ rex:/([\$])/g, tmplt:"\\$1" });
-Wiky.inverse.nonwikiblocks = Wiky.inverse.nonwikiblocks.concat(
-[
-    { rex:/<div class=\"eq\"><a name=\"eq([0-9]+)\">(?:.*?)<\/a>(.*?)<\/div>/g, tmplt:function($0,$1,$2){return Wiky.store("[("+$1+")$"+Wiky.math.toWiki($2)+"$]");} }, // numbered equation
-    { rex:/<div class=\"eq\">(.*?)<\/div>/g, tmplt:function($0,$1){return Wiky.store("[$"+Wiky.math.toWiki($1)+"$]");} }, // equation
-]);
-Wiky.inverse.nonwikiinlines = Wiky.inverse.nonwikiinlines.concat(
-    { rex:/<dfn>(.*?)<\/dfn>/g, tmplt:function($0,$1){return Wiky.store("$"+Wiky.math.toWiki($1)+"$");} } // inline equation
-);
diff --git a/extra/webapps/article-manager/summary.txt b/extra/webapps/article-manager/summary.txt
deleted file mode 100644 (file)
index cc43bdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Article Manager web application
diff --git a/extra/webapps/article-manager/tags.txt b/extra/webapps/article-manager/tags.txt
deleted file mode 100644 (file)
index 1b93c9e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-webapp
diff --git a/unmaintained/jni/jni-internals.factor b/unmaintained/jni/jni-internals.factor
deleted file mode 100644 (file)
index 49bc57b..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-IN: jni-internals
-USING: kernel alien arrays sequences ;
-
-LIBRARY: jvm
-
-TYPEDEF: int jint
-TYPEDEF: uchar jboolean
-TYPEDEF: void* JNIEnv
-
-C-STRUCT: jdk-init-args
-       { "jint" "version" }
-       { "void*" "properties" }
-       { "jint" "check-source" }
-       { "jint" "native-stack-size" }
-       { "jint" "java-stack-size" }
-       { "jint" "min-heap-size" }
-       { "jint" "max-heap-size" }
-       { "jint" "verify-mode" }
-       { "char*" "classpath" }
-       { "void*" "vprintf" }
-       { "void*" "exit" }
-       { "void*" "abort" }
-       { "jint" "enable-class-gc" }
-       { "jint" "enable-verbose-gc" }
-       { "jint" "disable-async-gc" }
-       { "jint" "verbose" }
-       { "jboolean" "debugging" }
-       { "jint" "debug-port" } ;
-
-C-STRUCT: JNIInvokeInterface
-       { "void*" "reserved0" }
-       { "void*" "reserved1" }
-       { "void*" "reserved2" }
-       { "void*" "DestroyJavaVM" }
-       { "void*" "AttachCurrentThread" }
-       { "void*" "DetachCurrentThread" }
-       { "void*" "GetEnv" }
-       { "void*" "AttachCurrentThreadAsDaemon" } ;
-
-C-STRUCT: JavaVM
-       { "JNIInvokeInterface*" "functions" } ;
-
-C-STRUCT: JNINativeInterface
-    { "void*" "reserved0" }
-    { "void*" "reserved1" }
-    { "void*" "reserved2" }
-    { "void*" "reserved3" }
-    { "void*" "GetVersion" }
-    { "void*" "DefineClass" }
-    { "void*" "FindClass" }
-    { "void*" "FromReflectedMethod" }
-    { "void*" "FromReflectedField" }
-    { "void*" "ToReflectedMethod" }
-    { "void*" "GetSuperclass" }
-    { "void*" "IsAssignableFrom" }
-    { "void*" "ToReflectedField" }
-    { "void*" "Throw" }
-    { "void*" "ThrowNew" }
-    { "void*" "ExceptionOccurred" }
-    { "void*" "ExceptionDescribe" }
-    { "void*" "ExceptionClear" }
-    { "void*" "FatalError" }
-    { "void*" "PushLocalFrame" }
-    { "void*" "PopLocalFrame" }
-    { "void*" "NewGlobalRef" }
-    { "void*" "DeleteGlobalRef" }
-    { "void*" "DeleteLocalRef" }
-    { "void*" "IsSameObject" }
-    { "void*" "NewLocalRef" }
-    { "void*" "EnsureLocalCapacity" }
-    { "void*" "AllocObject" }
-    { "void*" "NewObject" }
-    { "void*" "NewObjectV" }
-    { "void*" "NewObjectA" }
-    { "void*" "GetObjectClass" }
-    { "void*" "IsInstanceOf" }
-    { "void*" "GetMethodID" }
-    { "void*" "CallObjectMethod" }
-    { "void*" "CallObjectMethodV" }
-    { "void*" "CallObjectMethodA" }
-    { "void*" "CallBooleanMethod" }
-    { "void*" "CallBooleanMethodV" }
-    { "void*" "CallBooleanMethodA" }
-    { "void*" "CallByteMethod" }
-    { "void*" "CallByteMethodV" }
-    { "void*" "CallByteMethodA" }
-    { "void*" "CallCharMethod" }
-    { "void*" "CallCharMethodV" }
-    { "void*" "CallCharMethodA" }
-    { "void*" "CallShortMethod" }
-    { "void*" "CallShortMethodV" }
-    { "void*" "CallShortMethodA" }
-    { "void*" "CallIntMethod" }
-    { "void*" "CallIntMethodV" }
-    { "void*" "CallIntMethodA" }
-    { "void*" "CallLongMethod" }
-    { "void*" "CallLongMethodV" }
-    { "void*" "CallLongMethodA" }
-    { "void*" "CallFloatMethod" }
-    { "void*" "CallFloatMethodV" }
-    { "void*" "CallFloatMethodA" }
-    { "void*" "CallDoubleMethod" }
-    { "void*" "CallDoubleMethodV" }
-    { "void*" "CallDoubleMethodA" }
-    { "void*" "CallVoidMethod" }
-    { "void*" "CallVoidMethodV" }
-    { "void*" "CallVoidMethodA" }
-    { "void*" "CallNonvirtualObjectMethod" }
-    { "void*" "CallNonvirtualObjectMethodV" }
-    { "void*" "CallNonvirtualObjectMethodA" }
-    { "void*" "CallNonvirtualBooleanMethod" }
-    { "void*" "CallNonvirtualBooleanMethodV" }
-    { "void*" "CallNonvirtualBooleanMethodA" }
-    { "void*" "CallNonvirtualByteMethod" }
-    { "void*" "CallNonvirtualByteMethodV" }
-    { "void*" "CallNonvirtualByteMethodA" }
-    { "void*" "CallNonvirtualCharMethod" }
-    { "void*" "CallNonvirtualCharMethodV" }
-    { "void*" "CallNonvirtualCharMethodA" }
-    { "void*" "CallNonvirtualShortMethod" }
-    { "void*" "CallNonvirtualShortMethodV" }
-    { "void*" "CallNonvirtualShortMethodA" }
-    { "void*" "CallNonvirtualIntMethod" }
-    { "void*" "CallNonvirtualIntMethodV" }
-    { "void*" "CallNonvirtualIntMethodA" }
-    { "void*" "CallNonvirtualLongMethod" }
-    { "void*" "CallNonvirtualLongMethodV" }
-    { "void*" "CallNonvirtualLongMethodA" }
-    { "void*" "CallNonvirtualFloatMethod" }
-    { "void*" "CallNonvirtualFloatMethodV" }
-    { "void*" "CallNonvirtualFloatMethodA" }
-    { "void*" "CallNonvirtualDoubleMethod" }
-    { "void*" "CallNonvirtualDoubleMethodV" }
-    { "void*" "CallNonvirtualDoubleMethodA" }
-    { "void*" "CallNonvirtualVoidMethod" }
-    { "void*" "CallNonvirtualVoidMethodV" }
-    { "void*" "CallNonvirtualVoidMethodA" }
-    { "void*" "GetFieldID" }
-    { "void*" "GetObjectField" }
-    { "void*" "GetBooleanField" }
-    { "void*" "GetByteField" }
-    { "void*" "GetCharField" }
-    { "void*" "GetShortField" }
-    { "void*" "GetIntField" }
-    { "void*" "GetLongField" }
-    { "void*" "GetFloatField" }
-    { "void*" "GetDoubleField" }
-    { "void*" "SetObjectField" }
-    { "void*" "SetBooleanField" }
-    { "void*" "SetByteField" }
-    { "void*" "SetCharField" }
-    { "void*" "SetShortField" }
-    { "void*" "SetIntField" }
-    { "void*" "SetLongField" }
-    { "void*" "SetFloatField" }
-    { "void*" "SetDoubleField" }
-    { "void*" "GetStaticMethodID" }
-    { "void*" "CallStaticObjectMethod" }
-    { "void*" "CallStaticObjectMethodV" }
-    { "void*" "CallStaticObjectMethodA" }
-    { "void*" "CallStaticBooleanMethod" }
-    { "void*" "CallStaticBooleanMethodV" }
-    { "void*" "CallStaticBooleanMethodA" }
-    { "void*" "CallStaticByteMethod" }
-    { "void*" "CallStaticByteMethodV" }
-    { "void*" "CallStaticByteMethodA" }
-    { "void*" "CallStaticCharMethod" }
-    { "void*" "CallStaticCharMethodV" }
-    { "void*" "CallStaticCharMethodA" }
-    { "void*" "CallStaticShortMethod" }
-    { "void*" "CallStaticShortMethodV" }
-    { "void*" "CallStaticShortMethodA" }
-    { "void*" "CallStaticIntMethod" }
-    { "void*" "CallStaticIntMethodV" }
-    { "void*" "CallStaticIntMethodA" }
-    { "void*" "CallStaticLongMethod" }
-    { "void*" "CallStaticLongMethodV" }
-    { "void*" "CallStaticLongMethodA" }
-    { "void*" "CallStaticFloatMethod" }
-    { "void*" "CallStaticFloatMethodV" }
-    { "void*" "CallStaticFloatMethodA" }
-    { "void*" "CallStaticDoubleMethod" }
-    { "void*" "CallStaticDoubleMethodV" }
-    { "void*" "CallStaticDoubleMethodA" }
-    { "void*" "CallStaticVoidMethod" }
-    { "void*" "CallStaticVoidMethodV" }
-    { "void*" "CallStaticVoidMethodA" }
-    { "void*" "GetStaticFieldID" }
-    { "void*" "GetStaticObjectField" }
-    { "void*" "GetStaticBooleanField" }
-    { "void*" "GetStaticByteField" }
-    { "void*" "GetStaticCharField" }
-    { "void*" "GetStaticShortField" }
-    { "void*" "GetStaticIntField" }
-    { "void*" "GetStaticLongField" }
-    { "void*" "GetStaticFloatField" }
-    { "void*" "GetStaticDoubleField" }
-    { "void*" "SetStaticObjectField" }
-    { "void*" "SetStaticBooleanField" }
-    { "void*" "SetStaticByteField" }
-    { "void*" "SetStaticCharField" }
-    { "void*" "SetStaticShortField" }
-    { "void*" "SetStaticIntField" }
-    { "void*" "SetStaticLongField" }
-    { "void*" "SetStaticFloatField" }
-    { "void*" "SetStaticDoubleField" }
-    { "void*" "NewString" }
-    { "void*" "GetStringLength" }
-    { "void*" "GetStringChars" }
-    { "void*" "ReleaseStringChars" }
-    { "void*" "NewStringUTF" }
-    { "void*" "GetStringUTFLength" }
-    { "void*" "GetStringUTFChars" }
-    { "void*" "ReleaseStringUTFChars" }
-    { "void*" "GetArrayLength" }
-    { "void*" "NewObjectArray" }
-    { "void*" "GetObjectArrayElement" }
-    { "void*" "SetObjectArrayElement" }
-    { "void*" "NewBooleanArray" }
-    { "void*" "NewByteArray" }
-    { "void*" "NewCharArray" }
-    { "void*" "NewShortArray" }
-    { "void*" "NewIntArray" }
-    { "void*" "NewLongArray" }
-    { "void*" "NewFloatArray" }
-    { "void*" "NewDoubleArray" }
-    { "void*" "GetBooleanArrayElements" }
-    { "void*" "GetByteArrayElements" }
-    { "void*" "GetCharArrayElements" }
-    { "void*" "GetShortArrayElements" }
-    { "void*" "GetIntArrayElements" }
-    { "void*" "GetLongArrayElements" }
-    { "void*" "GetFloatArrayElements" }
-    { "void*" "GetDoubleArrayElements" }
-    { "void*" "ReleaseBooleanArrayElements" }
-    { "void*" "ReleaseByteArrayElements" }
-    { "void*" "ReleaseCharArrayElements" }
-    { "void*" "ReleaseShortArrayElements" }
-    { "void*" "ReleaseIntArrayElements" }
-    { "void*" "ReleaseLongArrayElements" }
-    { "void*" "ReleaseFloatArrayElements" }
-    { "void*" "ReleaseDoubleArrayElements" }
-    { "void*" "GetBooleanArrayRegion" }
-    { "void*" "GetByteArrayRegion" }
-    { "void*" "GetCharArrayRegion" }
-    { "void*" "GetShortArrayRegion" }
-    { "void*" "GetIntArrayRegion" }
-    { "void*" "GetLongArrayRegion" }
-    { "void*" "GetFloatArrayRegion" }
-    { "void*" "GetDoubleArrayRegion" }
-    { "void*" "SetBooleanArrayRegion" }
-    { "void*" "SetByteArrayRegion" }
-    { "void*" "SetCharArrayRegion" }
-    { "void*" "SetShortArrayRegion" }
-    { "void*" "SetIntArrayRegion" }
-    { "void*" "SetLongArrayRegion" }
-    { "void*" "SetFloatArrayRegion" }
-    { "void*" "SetDoubleArrayRegion" }
-    { "void*" "RegisterNatives" }
-    { "void*" "UnregisterNatives" }
-    { "void*" "MonitorEnter" }
-    { "void*" "MonitorExit" }
-    { "void*" "GetJavaVM" }
-    { "void*" "GetStringRegion" }
-    { "void*" "GetStringUTFRegion" }
-    { "void*" "GetPrimitiveArrayCritical" }
-    { "void*" "ReleasePrimitiveArrayCritical" }
-    { "void*" "GetStringCritical" }
-    { "void*" "ReleaseStringCritical" }
-    { "void*" "NewWeakGlobalRef" }
-    { "void*" "DeleteWeakGlobalRef" }
-    { "void*" "ExceptionCheck" }
-    { "void*" "NewDirectByteBuffer" }
-    { "void*" "GetDirectBufferAddress" }
-    { "void*" "GetDirectBufferCapacity" } ;
-
-C-STRUCT: JNIEnv
-       { "JNINativeInterface*" "functions" } ;
-
-FUNCTION: jint JNI_GetDefaultJavaVMInitArgs ( jdk-init-args* args ) ;
-FUNCTION: jint JNI_CreateJavaVM ( void** pvm, void** penv, void* args ) ;
-
-: <jdk-init-args> ( -- jdk-init-args )
-  "jdk-init-args" <c-object>  HEX: 00010004 over set-jdk-init-args-version ;
-
-: jni1 ( -- init-args int )
-  <jdk-init-args> dup JNI_GetDefaultJavaVMInitArgs ;
-
-: jni2 ( -- vm env int )
-  f <void*> f <void*> [
-    jni1 drop JNI_CreateJavaVM
-  ] 2keep rot dup 0 = [
-    >r >r 0 swap void*-nth r> 0 swap void*-nth r> 
-  ] when ;
-
-: (destroy-java-vm) 
-  "int" { "void*" } "cdecl" alien-indirect ;
-
-: (attach-current-thread) 
-  "int" { "void*" "void*" "void*" } "cdecl" alien-indirect ;
-
-: (detach-current-thread) 
-  "int" { "void*" } "cdecl" alien-indirect ;
-
-: (get-env) 
-  "int" { "void*" "void*" "int" } "cdecl" alien-indirect ;
-
-: (attach-current-thread-as-daemon) 
-  "int" { "void*" "void*" "void*" } "cdecl" alien-indirect ;
-
-: destroy-java-vm ( javavm -- int )
-  dup JavaVM-functions JNIInvokeInterface-DestroyJavaVM (destroy-java-vm) ;
-
-: (get-version) 
-  "jint" { "JNIEnv*" } "cdecl" alien-indirect ;
-
-: get-version ( jnienv -- int )
-  dup JNIEnv-functions JNINativeInterface-GetVersion (get-version) ;
-  
-: (find-class) 
-  "void*" { "JNINativeInterface*" "char*" } "cdecl" alien-indirect ;
-
-: find-class ( name jnienv -- int )
-  dup swapd JNIEnv-functions JNINativeInterface-FindClass (find-class) ;
-
-: (get-static-field-id) 
-  "void*" { "JNINativeInterface*" "void*" "char*" "char*" } "cdecl" alien-indirect ;
-
-: get-static-field-id ( class name sig jnienv -- int )
-  dup >r >r 3array r> swap first3 r> JNIEnv-functions JNINativeInterface-GetStaticFieldID (get-static-field-id) ;
-
-: (get-static-object-field) 
-  "void*" { "JNINativeInterface*" "void*" "void*" } "cdecl" alien-indirect ;
-
-: get-static-object-field ( class id jnienv -- int )
-  dup >r >r 2array r> swap first2 r> JNIEnv-functions JNINativeInterface-GetStaticObjectField (get-static-object-field) ;
-
-: (get-method-id) 
-  "void*" { "JNINativeInterface*" "void*" "char*" "char*" } "cdecl" alien-indirect ;
-
-: get-method-id ( class name sig jnienv -- int )
-  dup >r >r 3array r> swap first3 r> JNIEnv-functions JNINativeInterface-GetMethodID (get-method-id) ;
-
-: (new-string) 
-  "void*" { "JNINativeInterface*" "char*" "int" } "cdecl" alien-indirect ;
-
-: new-string ( str jnienv -- str )
-  dup >r >r dup length 2array r> swap first2 r> JNIEnv-functions JNINativeInterface-NewString (new-string) ;
-
-: (call1) 
-  "void" { "JNINativeInterface*" "void*" "void*" "int" } "cdecl" alien-indirect ;
-
-: call1 ( obj method-id jstr jnienv -- )
-  dup >r >r 3array r> swap first3 r> JNIEnv-functions JNINativeInterface-CallObjectMethod (call1) ;
-
diff --git a/unmaintained/jni/jni.factor b/unmaintained/jni/jni.factor
deleted file mode 100644 (file)
index 86e1670..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-IN: jni
-USING: kernel jni-internals namespaces ;
-
-! High level interface for JNI to be added here...
-
-: test0 ( -- )
-  jni2 drop nip "env" set ;
-
-: test1 ( -- system )
-  "java/lang/System" "env" get find-class ;
-
-: test2 ( system -- system.out )
-  dup "out" "Ljava/io/PrintStream;" "env" get get-static-field-id 
-  "env" get get-static-object-field ;
-
-: test3 ( int system.out -- )
-  "java/io/PrintStream" "env" get find-class ! jstr out class
-  "println" "(I)V" "env" get get-method-id ! jstr out id
-  rot "env" get call1 ;
-  
\ No newline at end of file
diff --git a/unmaintained/jni/load.factor b/unmaintained/jni/load.factor
deleted file mode 100644 (file)
index f5fd45c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-PROVIDE: libs/jni
-{ +files+ { "jni-internals.factor" "jni.factor" } } ;
diff --git a/unmaintained/reader/reader.factor b/unmaintained/reader/reader.factor
deleted file mode 100644 (file)
index 205b51b..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-! Create a test database like follows:
-!
-!   sqlite3 history.db
-!   > create table rss (url text, title text, link text, primary key (url));
-!   > create table entries (url text, link text, title text, description text, pubdate text, primary key(url, link));
-!   > [eof]
-!
-IN: rss.reader
-USING: kernel html namespaces sequences io quotations
-assocs sqlite.tuple-db sqlite io.files html.elements
-rss webapps.continuation ;
-   
-TUPLE: reader-feed url title link ;
-
-C: <reader-feed> reader-feed
-
-TUPLE: reader-entry url link title description pubdate ;
-
-C: <reader-entry> reader-entry
-
-reader-feed default-mapping set-mapping
-reader-entry default-mapping set-mapping
-
-: init-db ( -- )
-  db get-global [ sqlite-close ] when*
-  "rss-reader.db" exists? [
-    "rss-reader.db" sqlite-open db set-global
-  ] [
-    "rss-reader.db" sqlite-open dup db set-global
-    dup reader-feed create-tuple-table
-    reader-entry create-tuple-table
-  ] if ;
-
-: add-feed ( url -- )
-  "" "" <reader-feed> db get swap insert-tuple ;
-
-: remove-feed ( url -- )
-  f f <reader-feed> db get swap find-tuples [ db get swap delete-tuple ] each ;
-
-: all-urls ( -- urls )
-  f f f <reader-feed> db get swap find-tuples [ reader-feed-url ] map ;
-
-: ask-for-url ( -- url )
-  [
-    <html>
-      <head> <title> "Enter a Feed URL" write </title> </head>
-      <body>
-        <form =action "post" =method form>
-          "URL: " write
-          <input "text" =type "url" =name "100" =size input/>
-          <input "submit" =type input/>
-        </form>
-      </body>
-    </html>
-  ] show "url" swap at ;
-
-: get-entries ( url -- entries )
-  f f f f <reader-entry> db get swap find-tuples ;
-  
-: display-entries ( url -- )
-  [
-    <html> 
-      <head> <title> "View entries for " write over write </title> </head>
-      <body>
-        swap get-entries [
-         <h2> dup reader-entry-title write </h2>
-         <p>
-           reader-entry-description write
-         </p>        
-        ] each        
-        <p> <a =href a> "Back" write </a> </p>
-      </body>
-    </html>
-  ] show 2drop ;
-
-: rss>reader-feed ( url rss -- reader-feed )
-  [ feed-title ] keep feed-link <reader-feed> ;   
-
-: rss-entry>reader-entry ( url entry -- reader-entry )
-  [ entry-link ] keep
-  [ entry-title ] keep
-  [ entry-description ] keep
-  entry-pub-date 
-  <reader-entry> ;
-
-: update-feed-database ( url -- )
-  dup remove-feed
-  dup news-get 
-  2dup rss>reader-feed db get swap save-tuple
-  feed-entries [
-    dupd rss-entry>reader-entry
-    dup >r reader-entry-link f f f <reader-entry> db get swap find-tuples [ db get swap delete-tuple ] each r>
-    db get swap save-tuple
-  ] curry* each ;
-
-: update-feeds ( seq -- )
-  [ update-feed-database ] each
-  [
-    <html>
-      <head> <title> "Feeds Updated" write </title> </head>
-      <body>
-        <p> "Feeds Updated." write </p>
-        <p> <a =href a> "Back" write </a> </p>
-      </body>
-    </html>          
-  ] show drop ;
-  
-: maintain-feeds ( -- )
-  [
-    <html>
-      <head> <title> "Maintain Feeds" write </title> </head>
-      <body>
-       <p>
-          <table "1" =border table>
-            all-urls [
-              <tr> 
-                <td> dup write </td>
-                <td> dup [ remove-feed ] curry "Remove" swap quot-href </td>
-                <td> [ display-entries ] curry "Database" swap quot-href </td>
-              </tr>
-            ] each
-          </table>
-        </p>
-        <p> "Add Feed" [ ask-for-url add-feed ] quot-href </p>
-        <p> "Update Feeds" [ all-urls update-feeds ] quot-href </p>
-      </body>
-    </html>
-  ] show-final ;
-
-"maintain-feeds" [ init-db maintain-feeds ] install-cont-responder
diff --git a/unmaintained/usb/load.factor b/unmaintained/usb/load.factor
deleted file mode 100644 (file)
index 7c5eda2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel ;
-
-PROVIDE: libs/usb
-{ +files+ {
-       "usb-common.factor"
-       { "usb-unix.factor" [ unix? ] }
-       { "usb-win32.factor" [ win32? ] }
-       { "usb-macosx.factor" [ macosx? ] }
-       "usb.factor" 
-       "usb.facts" 
-} } ;
diff --git a/unmaintained/usb/usb-common.factor b/unmaintained/usb/usb-common.factor
deleted file mode 100644 (file)
index 0baca0e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-IN: usb
-
-: +packed+ ; parsing
diff --git a/unmaintained/usb/usb-macosx.factor b/unmaintained/usb/usb-macosx.factor
deleted file mode 100644 (file)
index 43a6caa..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-IN: usb
-USING: kernel alien ;
-
-"usb" "libusb.dylib" "cdecl" add-library
-
-LIBRARY: usb
-
-C-STRUCT: usb_bus
-    { "void*" "next" }
-    { "void*" "prev" }
-    { { "char" 1025 } "dirname" }
-    { "void*" "devices" }
-    { "uint" "location" }
-    { "void*" "root_dev" } ;
-
-C-STRUCT: usb_device_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "bcdUSB" }
-    { +packed+ "uchar" "bDeviceClass" }
-    { +packed+ "uchar" "bDeviceSubClass" }
-    { +packed+ "uchar" "bDeviceProtocol" }
-    { +packed+ "uchar" "bMaxPacketSize0" }
-    { +packed+ "ushort" "idVendor" }
-    { +packed+ "ushort" "idProduct" }
-    { +packed+ "ushort" "bcdDevice;" }
-    { +packed+ "uchar" "iManufacturer" }
-    { +packed+ "uchar" "iProduct" }
-    { +packed+ "uchar" "iSerialNumber" }
-    { +packed+ "uchar" "bNumConfigurations" } ;
-
-C-STRUCT: usb_config_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "wTotalLength" }
-    { +packed+ "uchar" "bNumInterfaces" }
-    { +packed+ "uchar" "bConfigurationValue" }
-    { +packed+ "uchar" "iConfiguration" }
-    { +packed+ "uchar" "bmAttributes" }
-    { +packed+ "uchar" "MaxPower" }
-    
-    { "void*" "interface" }
-    
-    { "uchar*" "extra" }
-    { "int" "extralen" } ;
-
-C-STRUCT: usb_device
-    { "void*" "next" }
-    { "void*" "prev" }
-    { { "char" 1025 } "filename" }
-    { "usb_bus*" "bus" }
-    { "usb_device_descriptor" "descriptor" }
-    { "usb_config_descriptor*" "config" }
-    { "void*" "dev" }
-    { "uchar" "devnum" }
-    { "uchar" "num_children" }
-    { "void*" "children" } ;
-
diff --git a/unmaintained/usb/usb-unix.factor b/unmaintained/usb/usb-unix.factor
deleted file mode 100644 (file)
index 8274cb5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-IN: usb
-USING: kernel alien ;
-
-"usb" "libusb.so" "cdecl" add-library
-
-LIBRARY: usb
-
-C-STRUCT: usb_bus
-    { "void*" "next" }
-    { "void*" "prev" }
-    { { "char" 4097 } "dirname" }
-    { "void*" "devices" }
-    { "uint" "location" }
-    { "void*" "root_dev" } ;
-
-! __attribute__ ((packed))
-C-STRUCT: usb_device_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "bcdUSB" }
-    { +packed+ "uchar" "bDeviceClass" }
-    { +packed+ "uchar" "bDeviceSubClass" }
-    { +packed+ "uchar" "bDeviceProtocol" }
-    { +packed+ "uchar" "bMaxPacketSize0" }
-    { +packed+ "ushort" "idVendor" }
-    { +packed+ "ushort" "idProduct" }
-    { +packed+ "ushort" "bcdDevice" }
-    { +packed+ "uchar" "iManufacturer" }
-    { +packed+ "uchar" "iProduct" }
-    { +packed+ "uchar" "iSerialNumber" }
-    { +packed+ "uchar" "bNumConfigurations" } ;
-
-C-STRUCT: usb_config_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "wTotalLength" }
-    { +packed+ "uchar" "bNumInterfaces" }
-    { +packed+ "uchar" "bConfigurationValue" }
-    { +packed+ "uchar" "iConfiguration" }
-    { +packed+ "uchar" "bmAttributes" }
-    { +packed+ "uchar" "MaxPower" }
-    
-    { "void*" "interface" }
-    
-    { "uchar*" "extra" }
-    { "int" "extralen" } ;
-
-C-STRUCT: usb_device
-    { "void*" "next" }
-    { "void*" "prev" }
-    { { "char" 4097 } "filename" }
-    { "usb_bus*" "bus" }
-    { "usb_device_descriptor" "descriptor" }
-    { "usb_config_descriptor*" "config" }
-    { "void*" "dev" }
-    { "uchar" "devnum" }
-    { "uchar" "num_children" }
-    { "void*" "children" } ;
\ No newline at end of file
diff --git a/unmaintained/usb/usb-win32.factor b/unmaintained/usb/usb-win32.factor
deleted file mode 100644 (file)
index a4b1355..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-IN: usb
-USING: kernel alien ;
-
-"usb" "libusb.dll" "cdecl" add-library
-
-LIBRARY: usb
-
-C-STRUCT: usb_bus
-    { "void*" "next" }
-    { "void*" "prev" }
-    { { "char" 261 } "dirname" }
-    { "void*" "devices" }
-    { "uint" "location" }
-    { "void*" "root_dev" } ;
-
-C-STRUCT: usb_device_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "bcdUSB" }
-    { +packed+ "uchar" "bDeviceClass" }
-    { +packed+ "uchar" "bDeviceSubClass" }
-    { +packed+ "uchar" "bDeviceProtocol" }
-    { +packed+ "uchar" "bMaxPacketSize0" }
-    { +packed+ "ushort" "idVendor" }
-    { +packed+ "ushort" "idProduct" }
-    { +packed+ "ushort" "bcdDevice;" }
-    { +packed+ "uchar" "iManufacturer" }
-    { +packed+ "uchar" "iProduct" }
-    { +packed+ "uchar" "iSerialNumber" }
-    { +packed+ "uchar" "bNumConfigurations" } ;
-
-C-STRUCT: usb_config_descriptor
-    { +packed+ "uchar" "bLength" }
-    { +packed+ "uchar" "bDescriptorType" }
-    { +packed+ "ushort" "wTotalLength" }
-    { +packed+ "uchar" "bNumInterfaces" }
-    { +packed+ "uchar" "bConfigurationValue" }
-    { +packed+ "uchar" "iConfiguration" }
-    { +packed+ "uchar" "bmAttributes" }
-    { +packed+ "uchar" "MaxPower" }
-    
-    { "void*" "interface" }
-    
-    { "uchar*" "extra" }
-    { "int" "extralen" } ;
-
-C-STRUCT: usb_device
-     { "void*" "next" }
-     { "void*" "prev" }
-     { { "char"  261 } "filename" }
-     { "usb_bus*" "bus" }
-     { "usb_device_descriptor" "descriptor" }
-     { "usb_config_descriptor*" "config" }
-     { "void*" "dev" }
-     { "uchar" "devnum" }
-     { "uchar" "num_children" }
-     { "void*" "children" } ;
-
diff --git a/unmaintained/usb/usb.factor b/unmaintained/usb/usb.factor
deleted file mode 100644 (file)
index 662b6e9..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-!
-IN: usb
-USING: kernel alien io math arrays sequences ;
-
-LIBRARY: usb
-
-TYPEDEF: void* usb_dev_handle*
-
-FUNCTION: usb_dev_handle* usb_open ( usb_device* dev ) ;
-FUNCTION: int usb_close ( usb_dev_handle* dev ) ;
-FUNCTION: int usb_get_string ( usb_dev_handle* dev, int index, int langid, char *buf, int buflen ) ;
-FUNCTION: int usb_get_string_simple ( usb_dev_handle* dev, int index, char* buf, int buflen ) ;
-
-FUNCTION: int usb_get_descriptor_by_endpoint ( usb_dev_handle* udev, int ep, uchar type, uchar index, void* buf, int size ) ;
-FUNCTION: int usb_get_descriptor ( usb_dev_handle* udev, uchar type, uchar index, void* buf, int size ) ;
-
-FUNCTION: int usb_bulk_write ( usb_dev_handle* dev, int ep, void* bytes, int size, int timeout ) ;
-FUNCTION: int usb_bulk_read ( usb_dev_handle* dev, int ep, void* bytes, int size, int timeout ) ;
-FUNCTION: int usb_interrupt_write ( usb_dev_handle* dev, int ep, char* bytes, int size, int timeout ) ;
-FUNCTION: int usb_interrupt_read ( usb_dev_handle* dev, int ep, char* bytes, int size, int timeout ) ;
-FUNCTION: int usb_control_msg ( usb_dev_handle* dev, int requesttype, int request, int value, int index, char* bytes, int size, int timeout ) ;
-FUNCTION: int usb_set_configuration ( usb_dev_handle* dev, int configuration ) ;
-FUNCTION: int usb_claim_interface ( usb_dev_handle* dev, int interface ) ;
-FUNCTION: int usb_release_interface ( usb_dev_handle* dev, int interface ) ;
-FUNCTION: int usb_set_altinterface ( usb_dev_handle* dev, int alternate ) ;
-FUNCTION: int usb_resetep ( usb_dev_handle* dev, uint ep ) ;
-FUNCTION: int usb_clear_halt ( usb_dev_handle* dev, uint ep ) ;
-FUNCTION: int usb_reset ( usb_dev_handle* dev ) ;
-FUNCTION: int usb_get_driver_np ( usb_dev_handle* dev, int interface, char* name, uint namelen ) ;
-FUNCTION: char* usb_strerror ( ) ;
-
-FUNCTION: void usb_init ( ) ;
-FUNCTION: void usb_set_debug ( int level ) ;
-FUNCTION: int usb_find_busses (  ) ;
-FUNCTION: int usb_find_devices ( ) ;
-FUNCTION: usb_device* usb_device ( usb_dev_handle* dev ) ;
-FUNCTION: usb_bus* usb_get_busses ( ) ;
-
-: bus-each ( usb_bus quot -- ) 
-  [ call ] 2keep >r usb_bus-next r> over [ bus-each ] [ 2drop ] if ;
-
-: device-each ( usb_device quot -- )
-  [ call ] 2keep >r usb_device-next r> over [ device-each ] [ 2drop ] if ;
-
-: vendor-id-matches? ( id usb_device -- bool )
-  usb_device-descriptor usb_device_descriptor-idVendor = ;
-
-: product-id-matches? ( id usb_device  -- bool )
-  usb_device-descriptor usb_device_descriptor-idProduct = ;
-
-: is-device? ( vendor-id product-id usb_device -- bool )
-  tuck product-id-matches? >r vendor-id-matches? r> and ;
-
-: find-devices ( vendor-id product-id -- seq )
-  2array
-  V{ } clone
-  usb_get_busses [
-    usb_bus-devices [
-      pick first2 pick is-device? [
-        over push
-      ] [
-        drop
-      ] if
-    ] device-each
-  ] bus-each nip ;
-
-: init ( -- )
-  #! Initialize libusb and find devices and busses
-  usb_init usb_find_busses drop usb_find_devices drop ;
-       
-: display-devices ( -- )
-  #! Example function to list all usb devices on system
-  usb_get_busses [
-    dup usb_bus-dirname alien>char-string write " - " write 
-    usb_bus-devices [
-      nl "  " write
-      dup usb_device-filename alien>char-string write 
-      " - " write 
-      dup usb_device-descriptor usb_device_descriptor-bLength number>string write 
-      " - " write 
-      dup usb_device-descriptor usb_device_descriptor-idVendor >hex write 
-      " - " write 
-      usb_device-descriptor usb_device_descriptor-idProduct >hex write
-    ] device-each
-    nl
-  ] bus-each ;
diff --git a/unmaintained/usb/usb.facts b/unmaintained/usb/usb.facts
deleted file mode 100644 (file)
index bd67f64..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-! Copyright (C) 2006 Chris Double.
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: help usb ;
-
-HELP: bus-each 
-{ $values { "usb_bus" "an alien pointing to a usb_bus structure" } { "quot" "A quotation with stack effect " { $snippet "( usb_bus -- )" } } }
-{ $description "Starting with the given usb_bus, traverse the linked list of busses calling the quotation on each one." } 
-{ $examples
-  { $code "usb_get_busses [ display-devices ]" }
-}
-{ $see-also device-each find-devices } ;
-
-HELP: device-each 
-{ $values { "usb_device" "an alien pointing to a usb_device structure" } { "quot" "A quotation with stack effect " { $snippet "( usb_device -- )" } } }
-{ $description "Starting with the given usb_device, traverse the linked list of devices calling the quotation on each one." } 
-{ $examples
-  { $code "usb_get_busses [\n  usb_bus-devices [ display-device ]\n] bus-each" }
-}
-{ $see-also bus-each find-devices } ;
-
-HELP: vendor-id-matches?
-{ $values { "id" "the integer vendor id" } { "usb_device" "an alien pointing to a usb_device structure" } { "bool" "a boolean" } }
-{ $description "Return true if the device has the given vendor id." } 
-{ $see-also product-id-matches? is-device? } ;
-
-HELP: product-id-matches?
-{ $values { "id" "the integer product id" } { "usb_device" "an alien pointing to a usb_device structure" } { "bool" "a boolean" } }
-{ $description "Return true if the device has the given product id." } 
-{ $see-also vendor-id-matches? is-device? } ;
-
-HELP: is-device?
-{ $values { "vendor-id" "the integer vendor id" } { "product-id" "the integer product-id" } { "usb_device" "an alien pointing to a usb_device structure" } { "bool" "a boolean" } }
-{ $description "Return true if the device has the given vendor and product id." } 
-{ $see-also vendor-id-matches? product-id-matches? } ;
-
-HELP: find-devices 
-{ $values { "vendor-id" "the integer vendor id for the device to find" } { "product-id" "the integer product id for the device to find" } { "seq" "a sequence containing the usb_devices found" } }
-{ $description "Traverse the devices on all USB busses looking for a device with the given vendor and product id's. Return a sequence containing all the usb_device structures found matcing the vendor and product id's." } 
-{ $examples
-  { $code "HEX: 10D6 HEX: 1100 find-devices" }
-}
-{ $see-also bus-each device-each } ;
-