[bknr-cvs] r2234 - in branches/trunk-reorg/projects/scrabble: src website website/images website/images/de website/images/en

bknr at bknr.net bknr at bknr.net
Tue Oct 9 07:11:52 UTC 2007


Author: hhubner
Date: 2007-10-09 03:11:50 -0400 (Tue, 09 Oct 2007)
New Revision: 2234

Added:
   branches/trunk-reorg/projects/scrabble/website/images/
   branches/trunk-reorg/projects/scrabble/website/images/de/
   branches/trunk-reorg/projects/scrabble/website/images/de/double-letter.png
   branches/trunk-reorg/projects/scrabble/website/images/de/double-word.png
   branches/trunk-reorg/projects/scrabble/website/images/de/triple-letter.png
   branches/trunk-reorg/projects/scrabble/website/images/de/triple-word.png
   branches/trunk-reorg/projects/scrabble/website/images/en/
Removed:
   branches/trunk-reorg/projects/scrabble/website/de/
   branches/trunk-reorg/projects/scrabble/website/en/
   branches/trunk-reorg/projects/scrabble/website/images/de/double-letter.png
   branches/trunk-reorg/projects/scrabble/website/images/de/double-word.png
   branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.css
   branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.html
   branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.js
   branches/trunk-reorg/projects/scrabble/website/images/de/triple-letter.png
   branches/trunk-reorg/projects/scrabble/website/images/de/triple-word.png
   branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.css
   branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.html
   branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.js
Modified:
   branches/trunk-reorg/projects/scrabble/src/package.lisp
   branches/trunk-reorg/projects/scrabble/src/scrabble.asd
   branches/trunk-reorg/projects/scrabble/src/start-webserver.lisp
   branches/trunk-reorg/projects/scrabble/src/web.lisp
   branches/trunk-reorg/projects/scrabble/website/scrabble.css
   branches/trunk-reorg/projects/scrabble/website/scrabble.html
   branches/trunk-reorg/projects/scrabble/website/scrabble.js
Log:
checkpoint


Modified: branches/trunk-reorg/projects/scrabble/src/package.lisp
===================================================================
--- branches/trunk-reorg/projects/scrabble/src/package.lisp	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/src/package.lisp	2007-10-09 07:11:50 UTC (rev 2234)
@@ -48,6 +48,11 @@
 	:hunchentoot
 	:bknr.datastore
 	:bknr.user
+	:cl-who
+	:cl-interpol
+	:cl-ppcre
 	:json
-	:scrabble))
+	:scrabble)
+  (:shadowing-import-from :cl-interpol "QUOTE-META-CHARS")
+  (:export "START-WEBSERVER"))
   
\ No newline at end of file

Modified: branches/trunk-reorg/projects/scrabble/src/scrabble.asd
===================================================================
--- branches/trunk-reorg/projects/scrabble/src/scrabble.asd	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/src/scrabble.asd	2007-10-09 07:11:50 UTC (rev 2234)
@@ -13,7 +13,10 @@
     :depends-on (:bknr-datastore
 		 :bknr-web
 		 :hunchentoot
+		 :cl-who
 		 :cl-json
+		 :cl-ppcre
+		 :cl-interpol
 		 :vecto
 		 :alexandria
 		 :anaphora)
@@ -23,5 +26,6 @@
                  (:file "rules")
 		 (:file "game")
 		 (:file "web")
+		 (:file "start-webserver")
                  (:file "make-html")
                  (:file "make-letters")))

Modified: branches/trunk-reorg/projects/scrabble/src/start-webserver.lisp
===================================================================
--- branches/trunk-reorg/projects/scrabble/src/start-webserver.lisp	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/src/start-webserver.lisp	2007-10-09 07:11:50 UTC (rev 2234)
@@ -9,11 +9,15 @@
   (make-pathname :name nil :type nil :version nil
 		 :defaults (merge-pathnames #p"../../../thirdparty/MochiKit/MochiKit/")))
 
-(when (and (boundp '*server*) *server*)
-  (stop-server *server*))
+(defun start-webserver (&key (port 4242))
+  (when (and (boundp '*server*) *server*)
+    (stop-server *server*))
 
-(setq *dispatch-table*
-      (list (create-folder-dispatcher-and-handler "/MochiKit/" *mochikit-directory*)
-	    (create-folder-dispatcher-and-handler "/scrabble/" *website-directory*)))
+  (setq *dispatch-table*
+	(list 'dispatch-easy-handlers
+	      (create-prefix-dispatcher "/game/" 'game-handler)
+	      (create-folder-dispatcher-and-handler "/MochiKit/" *mochikit-directory*)
+	      (create-folder-dispatcher-and-handler "/images/" (merge-pathnames "images/de/" *website-directory*))
+	      (create-folder-dispatcher-and-handler "/" *website-directory*)))
 
-(setq *server* (start-server :port 4242))
\ No newline at end of file
+  (setq *server* (start-server :port port)))
\ No newline at end of file

Modified: branches/trunk-reorg/projects/scrabble/src/web.lisp
===================================================================
--- branches/trunk-reorg/projects/scrabble/src/web.lisp	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/src/web.lisp	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1,5 +1,7 @@
 (in-package :scrabble.web)
 
+(enable-interpol-syntax)
+
 (defparameter *ignore-slots* '(bknr.datastore::id bknr.indices::destroyed-p))
 
 (defun encode-json-alist (alist stream)
@@ -23,7 +25,7 @@
   (princ #\} stream))
 
 (defmethod encode-json ((tile-bag tile-bag) stream)
-  (encode-json-alist (list "remainingTiles" (remaining-tile-count tile-bag)) stream))
+  (encode-json-alist (list :remaining-tiles (remaining-tile-count tile-bag)) stream))
 
 (defmethod encode-json ((board board) stream)
   (princ #\[ stream)
@@ -35,7 +37,55 @@
   (princ #\] stream))
 
 (defmethod encode-json ((participant participant) stream)
-  (encode-json-alist (list :name (user-login (player-of participant))
+  (encode-json-alist (list :name (user-full-name (player-of participant))
 			   :remaining-tiles (length (tray-of participant)))
 		     stream))
 
+(define-easy-handler (login :uri "/login" :default-request-type :post)
+    (login password)
+  (when (and login
+	     (find-user login))
+    (start-session)
+    (setf (session-value :user) login)
+    (redirect "/games"))
+  (with-html-output-to-string (*standard-output* nil)
+  
+    (:html
+     (:head
+      (:title "scrabble login"))
+     (:body
+      (:form :method "POST"
+	     (:table
+	      (:tr (:td "Username") (:td (:input :type "TEXT" :name "login")))
+	      (:tr (:td "Password") (:td (:input :type "PASSWORD" :name "password")))
+	      (:tr (:td) (:td (:input :type "SUBMIT")))))))))
+
+(define-easy-handler (games :uri "/games") ()
+  (start-session)
+  (with-html-output-to-string (*standard-output* nil)
+    (:html
+     (:head
+      (:title "scrabble game list"))
+     (:body
+      (:ul
+       (dolist (game (remove-if-not (lambda (game)
+				      (member (find-user (session-value :user)) (participants-of game)
+					      :key #'player-of))
+				    (class-instances 'game)))
+	 (htm
+	  (:li (:a :href (str (format nil "/game/~A" (store-object-id game))) "game")))))))))
+
+(defun game-handler ()
+  (start-session)
+  (register-groups-bind (object-id-string) (#?r".*/(\d+)$" (request-uri))
+    (let ((object (find-store-object (parse-integer object-id-string))))
+      (when (typep object 'game)
+	(return-from game-handler
+	  (with-output-to-string (s)
+	    (encode-json object s))))))
+  (with-html-output-to-string (*standard-output* nil)
+    (:html
+     (:head
+      (:title "Invalid game ID"))
+     (:body 
+      (:div "Invalid game ID")))))
\ No newline at end of file

Copied: branches/trunk-reorg/projects/scrabble/website/images/de (from rev 2213, branches/trunk-reorg/projects/scrabble/website/de)

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/double-letter.png
===================================================================
(Binary files differ)

Copied: branches/trunk-reorg/projects/scrabble/website/images/de/double-letter.png (from rev 2233, branches/trunk-reorg/projects/scrabble/website/de/double-letter.png)

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/double-word.png
===================================================================
(Binary files differ)

Copied: branches/trunk-reorg/projects/scrabble/website/images/de/double-word.png (from rev 2233, branches/trunk-reorg/projects/scrabble/website/de/double-word.png)

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.css
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/de/scrabble.css	2007-10-04 22:25:38 UTC (rev 2213)
+++ branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.css	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1,229 +0,0 @@
-body { background-color: #004B36 }
-#playfield { position: absolute }
-#playfield div { position: absolute; width: 40px; height: 40px }
-#playfield img { position: absolute; top: 3px; left: 3px }
-#playfield #field-0-0 { background-image: url(triple-word.png); left: 0; top: 0 }
-#playfield #field-0-1 { background-image: url(standard.png); left: 0; top: 44 }
-#playfield #field-0-2 { background-image: url(standard.png); left: 0; top: 88 }
-#playfield #field-0-3 { background-image: url(double-letter.png); left: 0; top: 132 }
-#playfield #field-0-4 { background-image: url(standard.png); left: 0; top: 176 }
-#playfield #field-0-5 { background-image: url(standard.png); left: 0; top: 220 }
-#playfield #field-0-6 { background-image: url(standard.png); left: 0; top: 264 }
-#playfield #field-0-7 { background-image: url(triple-word.png); left: 0; top: 308 }
-#playfield #field-0-8 { background-image: url(standard.png); left: 0; top: 352 }
-#playfield #field-0-9 { background-image: url(standard.png); left: 0; top: 396 }
-#playfield #field-0-10 { background-image: url(standard.png); left: 0; top: 440 }
-#playfield #field-0-11 { background-image: url(double-letter.png); left: 0; top: 484 }
-#playfield #field-0-12 { background-image: url(standard.png); left: 0; top: 528 }
-#playfield #field-0-13 { background-image: url(standard.png); left: 0; top: 572 }
-#playfield #field-0-14 { background-image: url(triple-word.png); left: 0; top: 616 }
-#playfield #field-1-0 { background-image: url(standard.png); left: 44; top: 0 }
-#playfield #field-1-1 { background-image: url(double-word.png); left: 44; top: 44 }
-#playfield #field-1-2 { background-image: url(standard.png); left: 44; top: 88 }
-#playfield #field-1-3 { background-image: url(standard.png); left: 44; top: 132 }
-#playfield #field-1-4 { background-image: url(standard.png); left: 44; top: 176 }
-#playfield #field-1-5 { background-image: url(triple-letter.png); left: 44; top: 220 }
-#playfield #field-1-6 { background-image: url(standard.png); left: 44; top: 264 }
-#playfield #field-1-7 { background-image: url(standard.png); left: 44; top: 308 }
-#playfield #field-1-8 { background-image: url(standard.png); left: 44; top: 352 }
-#playfield #field-1-9 { background-image: url(triple-letter.png); left: 44; top: 396 }
-#playfield #field-1-10 { background-image: url(standard.png); left: 44; top: 440 }
-#playfield #field-1-11 { background-image: url(standard.png); left: 44; top: 484 }
-#playfield #field-1-12 { background-image: url(standard.png); left: 44; top: 528 }
-#playfield #field-1-13 { background-image: url(double-word.png); left: 44; top: 572 }
-#playfield #field-1-14 { background-image: url(standard.png); left: 44; top: 616 }
-#playfield #field-2-0 { background-image: url(standard.png); left: 88; top: 0 }
-#playfield #field-2-1 { background-image: url(standard.png); left: 88; top: 44 }
-#playfield #field-2-2 { background-image: url(double-word.png); left: 88; top: 88 }
-#playfield #field-2-3 { background-image: url(standard.png); left: 88; top: 132 }
-#playfield #field-2-4 { background-image: url(standard.png); left: 88; top: 176 }
-#playfield #field-2-5 { background-image: url(standard.png); left: 88; top: 220 }
-#playfield #field-2-6 { background-image: url(double-letter.png); left: 88; top: 264 }
-#playfield #field-2-7 { background-image: url(standard.png); left: 88; top: 308 }
-#playfield #field-2-8 { background-image: url(double-letter.png); left: 88; top: 352 }
-#playfield #field-2-9 { background-image: url(standard.png); left: 88; top: 396 }
-#playfield #field-2-10 { background-image: url(standard.png); left: 88; top: 440 }
-#playfield #field-2-11 { background-image: url(standard.png); left: 88; top: 484 }
-#playfield #field-2-12 { background-image: url(double-word.png); left: 88; top: 528 }
-#playfield #field-2-13 { background-image: url(standard.png); left: 88; top: 572 }
-#playfield #field-2-14 { background-image: url(standard.png); left: 88; top: 616 }
-#playfield #field-3-0 { background-image: url(double-letter.png); left: 132; top: 0 }
-#playfield #field-3-1 { background-image: url(standard.png); left: 132; top: 44 }
-#playfield #field-3-2 { background-image: url(standard.png); left: 132; top: 88 }
-#playfield #field-3-3 { background-image: url(double-word.png); left: 132; top: 132 }
-#playfield #field-3-4 { background-image: url(standard.png); left: 132; top: 176 }
-#playfield #field-3-5 { background-image: url(standard.png); left: 132; top: 220 }
-#playfield #field-3-6 { background-image: url(standard.png); left: 132; top: 264 }
-#playfield #field-3-7 { background-image: url(double-letter.png); left: 132; top: 308 }
-#playfield #field-3-8 { background-image: url(standard.png); left: 132; top: 352 }
-#playfield #field-3-9 { background-image: url(standard.png); left: 132; top: 396 }
-#playfield #field-3-10 { background-image: url(standard.png); left: 132; top: 440 }
-#playfield #field-3-11 { background-image: url(double-word.png); left: 132; top: 484 }
-#playfield #field-3-12 { background-image: url(standard.png); left: 132; top: 528 }
-#playfield #field-3-13 { background-image: url(standard.png); left: 132; top: 572 }
-#playfield #field-3-14 { background-image: url(double-letter.png); left: 132; top: 616 }
-#playfield #field-4-0 { background-image: url(standard.png); left: 176; top: 0 }
-#playfield #field-4-1 { background-image: url(standard.png); left: 176; top: 44 }
-#playfield #field-4-2 { background-image: url(standard.png); left: 176; top: 88 }
-#playfield #field-4-3 { background-image: url(standard.png); left: 176; top: 132 }
-#playfield #field-4-4 { background-image: url(double-word.png); left: 176; top: 176 }
-#playfield #field-4-5 { background-image: url(standard.png); left: 176; top: 220 }
-#playfield #field-4-6 { background-image: url(standard.png); left: 176; top: 264 }
-#playfield #field-4-7 { background-image: url(standard.png); left: 176; top: 308 }
-#playfield #field-4-8 { background-image: url(standard.png); left: 176; top: 352 }
-#playfield #field-4-9 { background-image: url(standard.png); left: 176; top: 396 }
-#playfield #field-4-10 { background-image: url(double-word.png); left: 176; top: 440 }
-#playfield #field-4-11 { background-image: url(standard.png); left: 176; top: 484 }
-#playfield #field-4-12 { background-image: url(standard.png); left: 176; top: 528 }
-#playfield #field-4-13 { background-image: url(standard.png); left: 176; top: 572 }
-#playfield #field-4-14 { background-image: url(standard.png); left: 176; top: 616 }
-#playfield #field-5-0 { background-image: url(standard.png); left: 220; top: 0 }
-#playfield #field-5-1 { background-image: url(triple-letter.png); left: 220; top: 44 }
-#playfield #field-5-2 { background-image: url(standard.png); left: 220; top: 88 }
-#playfield #field-5-3 { background-image: url(standard.png); left: 220; top: 132 }
-#playfield #field-5-4 { background-image: url(standard.png); left: 220; top: 176 }
-#playfield #field-5-5 { background-image: url(triple-letter.png); left: 220; top: 220 }
-#playfield #field-5-6 { background-image: url(standard.png); left: 220; top: 264 }
-#playfield #field-5-7 { background-image: url(standard.png); left: 220; top: 308 }
-#playfield #field-5-8 { background-image: url(standard.png); left: 220; top: 352 }
-#playfield #field-5-9 { background-image: url(triple-letter.png); left: 220; top: 396 }
-#playfield #field-5-10 { background-image: url(standard.png); left: 220; top: 440 }
-#playfield #field-5-11 { background-image: url(standard.png); left: 220; top: 484 }
-#playfield #field-5-12 { background-image: url(standard.png); left: 220; top: 528 }
-#playfield #field-5-13 { background-image: url(triple-letter.png); left: 220; top: 572 }
-#playfield #field-5-14 { background-image: url(standard.png); left: 220; top: 616 }
-#playfield #field-6-0 { background-image: url(standard.png); left: 264; top: 0 }
-#playfield #field-6-1 { background-image: url(standard.png); left: 264; top: 44 }
-#playfield #field-6-2 { background-image: url(double-letter.png); left: 264; top: 88 }
-#playfield #field-6-3 { background-image: url(standard.png); left: 264; top: 132 }
-#playfield #field-6-4 { background-image: url(standard.png); left: 264; top: 176 }
-#playfield #field-6-5 { background-image: url(standard.png); left: 264; top: 220 }
-#playfield #field-6-6 { background-image: url(double-letter.png); left: 264; top: 264 }
-#playfield #field-6-7 { background-image: url(standard.png); left: 264; top: 308 }
-#playfield #field-6-8 { background-image: url(double-letter.png); left: 264; top: 352 }
-#playfield #field-6-9 { background-image: url(standard.png); left: 264; top: 396 }
-#playfield #field-6-10 { background-image: url(standard.png); left: 264; top: 440 }
-#playfield #field-6-11 { background-image: url(standard.png); left: 264; top: 484 }
-#playfield #field-6-12 { background-image: url(double-letter.png); left: 264; top: 528 }
-#playfield #field-6-13 { background-image: url(standard.png); left: 264; top: 572 }
-#playfield #field-6-14 { background-image: url(standard.png); left: 264; top: 616 }
-#playfield #field-7-0 { background-image: url(triple-word.png); left: 308; top: 0 }
-#playfield #field-7-1 { background-image: url(standard.png); left: 308; top: 44 }
-#playfield #field-7-2 { background-image: url(standard.png); left: 308; top: 88 }
-#playfield #field-7-3 { background-image: url(double-letter.png); left: 308; top: 132 }
-#playfield #field-7-4 { background-image: url(standard.png); left: 308; top: 176 }
-#playfield #field-7-5 { background-image: url(standard.png); left: 308; top: 220 }
-#playfield #field-7-6 { background-image: url(standard.png); left: 308; top: 264 }
-#playfield #field-7-7 { background-image: url(triple-word.png); left: 308; top: 308 }
-#playfield #field-7-8 { background-image: url(standard.png); left: 308; top: 352 }
-#playfield #field-7-9 { background-image: url(standard.png); left: 308; top: 396 }
-#playfield #field-7-10 { background-image: url(standard.png); left: 308; top: 440 }
-#playfield #field-7-11 { background-image: url(double-letter.png); left: 308; top: 484 }
-#playfield #field-7-12 { background-image: url(standard.png); left: 308; top: 528 }
-#playfield #field-7-13 { background-image: url(standard.png); left: 308; top: 572 }
-#playfield #field-7-14 { background-image: url(triple-word.png); left: 308; top: 616 }
-#playfield #field-8-0 { background-image: url(standard.png); left: 352; top: 0 }
-#playfield #field-8-1 { background-image: url(standard.png); left: 352; top: 44 }
-#playfield #field-8-2 { background-image: url(double-letter.png); left: 352; top: 88 }
-#playfield #field-8-3 { background-image: url(standard.png); left: 352; top: 132 }
-#playfield #field-8-4 { background-image: url(standard.png); left: 352; top: 176 }
-#playfield #field-8-5 { background-image: url(standard.png); left: 352; top: 220 }
-#playfield #field-8-6 { background-image: url(double-letter.png); left: 352; top: 264 }
-#playfield #field-8-7 { background-image: url(standard.png); left: 352; top: 308 }
-#playfield #field-8-8 { background-image: url(double-letter.png); left: 352; top: 352 }
-#playfield #field-8-9 { background-image: url(standard.png); left: 352; top: 396 }
-#playfield #field-8-10 { background-image: url(standard.png); left: 352; top: 440 }
-#playfield #field-8-11 { background-image: url(standard.png); left: 352; top: 484 }
-#playfield #field-8-12 { background-image: url(double-letter.png); left: 352; top: 528 }
-#playfield #field-8-13 { background-image: url(standard.png); left: 352; top: 572 }
-#playfield #field-8-14 { background-image: url(standard.png); left: 352; top: 616 }
-#playfield #field-9-0 { background-image: url(standard.png); left: 396; top: 0 }
-#playfield #field-9-1 { background-image: url(triple-letter.png); left: 396; top: 44 }
-#playfield #field-9-2 { background-image: url(standard.png); left: 396; top: 88 }
-#playfield #field-9-3 { background-image: url(standard.png); left: 396; top: 132 }
-#playfield #field-9-4 { background-image: url(standard.png); left: 396; top: 176 }
-#playfield #field-9-5 { background-image: url(triple-letter.png); left: 396; top: 220 }
-#playfield #field-9-6 { background-image: url(standard.png); left: 396; top: 264 }
-#playfield #field-9-7 { background-image: url(standard.png); left: 396; top: 308 }
-#playfield #field-9-8 { background-image: url(standard.png); left: 396; top: 352 }
-#playfield #field-9-9 { background-image: url(triple-letter.png); left: 396; top: 396 }
-#playfield #field-9-10 { background-image: url(standard.png); left: 396; top: 440 }
-#playfield #field-9-11 { background-image: url(standard.png); left: 396; top: 484 }
-#playfield #field-9-12 { background-image: url(standard.png); left: 396; top: 528 }
-#playfield #field-9-13 { background-image: url(triple-letter.png); left: 396; top: 572 }
-#playfield #field-9-14 { background-image: url(standard.png); left: 396; top: 616 }
-#playfield #field-10-0 { background-image: url(standard.png); left: 440; top: 0 }
-#playfield #field-10-1 { background-image: url(standard.png); left: 440; top: 44 }
-#playfield #field-10-2 { background-image: url(standard.png); left: 440; top: 88 }
-#playfield #field-10-3 { background-image: url(standard.png); left: 440; top: 132 }
-#playfield #field-10-4 { background-image: url(double-word.png); left: 440; top: 176 }
-#playfield #field-10-5 { background-image: url(standard.png); left: 440; top: 220 }
-#playfield #field-10-6 { background-image: url(standard.png); left: 440; top: 264 }
-#playfield #field-10-7 { background-image: url(standard.png); left: 440; top: 308 }
-#playfield #field-10-8 { background-image: url(standard.png); left: 440; top: 352 }
-#playfield #field-10-9 { background-image: url(standard.png); left: 440; top: 396 }
-#playfield #field-10-10 { background-image: url(double-word.png); left: 440; top: 440 }
-#playfield #field-10-11 { background-image: url(standard.png); left: 440; top: 484 }
-#playfield #field-10-12 { background-image: url(standard.png); left: 440; top: 528 }
-#playfield #field-10-13 { background-image: url(standard.png); left: 440; top: 572 }
-#playfield #field-10-14 { background-image: url(standard.png); left: 440; top: 616 }
-#playfield #field-11-0 { background-image: url(double-letter.png); left: 484; top: 0 }
-#playfield #field-11-1 { background-image: url(standard.png); left: 484; top: 44 }
-#playfield #field-11-2 { background-image: url(standard.png); left: 484; top: 88 }
-#playfield #field-11-3 { background-image: url(double-word.png); left: 484; top: 132 }
-#playfield #field-11-4 { background-image: url(standard.png); left: 484; top: 176 }
-#playfield #field-11-5 { background-image: url(standard.png); left: 484; top: 220 }
-#playfield #field-11-6 { background-image: url(standard.png); left: 484; top: 264 }
-#playfield #field-11-7 { background-image: url(double-letter.png); left: 484; top: 308 }
-#playfield #field-11-8 { background-image: url(standard.png); left: 484; top: 352 }
-#playfield #field-11-9 { background-image: url(standard.png); left: 484; top: 396 }
-#playfield #field-11-10 { background-image: url(standard.png); left: 484; top: 440 }
-#playfield #field-11-11 { background-image: url(double-word.png); left: 484; top: 484 }
-#playfield #field-11-12 { background-image: url(standard.png); left: 484; top: 528 }
-#playfield #field-11-13 { background-image: url(standard.png); left: 484; top: 572 }
-#playfield #field-11-14 { background-image: url(double-letter.png); left: 484; top: 616 }
-#playfield #field-12-0 { background-image: url(standard.png); left: 528; top: 0 }
-#playfield #field-12-1 { background-image: url(standard.png); left: 528; top: 44 }
-#playfield #field-12-2 { background-image: url(double-word.png); left: 528; top: 88 }
-#playfield #field-12-3 { background-image: url(standard.png); left: 528; top: 132 }
-#playfield #field-12-4 { background-image: url(standard.png); left: 528; top: 176 }
-#playfield #field-12-5 { background-image: url(standard.png); left: 528; top: 220 }
-#playfield #field-12-6 { background-image: url(double-letter.png); left: 528; top: 264 }
-#playfield #field-12-7 { background-image: url(standard.png); left: 528; top: 308 }
-#playfield #field-12-8 { background-image: url(double-letter.png); left: 528; top: 352 }
-#playfield #field-12-9 { background-image: url(standard.png); left: 528; top: 396 }
-#playfield #field-12-10 { background-image: url(standard.png); left: 528; top: 440 }
-#playfield #field-12-11 { background-image: url(standard.png); left: 528; top: 484 }
-#playfield #field-12-12 { background-image: url(double-word.png); left: 528; top: 528 }
-#playfield #field-12-13 { background-image: url(standard.png); left: 528; top: 572 }
-#playfield #field-12-14 { background-image: url(standard.png); left: 528; top: 616 }
-#playfield #field-13-0 { background-image: url(standard.png); left: 572; top: 0 }
-#playfield #field-13-1 { background-image: url(double-word.png); left: 572; top: 44 }
-#playfield #field-13-2 { background-image: url(standard.png); left: 572; top: 88 }
-#playfield #field-13-3 { background-image: url(standard.png); left: 572; top: 132 }
-#playfield #field-13-4 { background-image: url(standard.png); left: 572; top: 176 }
-#playfield #field-13-5 { background-image: url(triple-letter.png); left: 572; top: 220 }
-#playfield #field-13-6 { background-image: url(standard.png); left: 572; top: 264 }
-#playfield #field-13-7 { background-image: url(standard.png); left: 572; top: 308 }
-#playfield #field-13-8 { background-image: url(standard.png); left: 572; top: 352 }
-#playfield #field-13-9 { background-image: url(triple-letter.png); left: 572; top: 396 }
-#playfield #field-13-10 { background-image: url(standard.png); left: 572; top: 440 }
-#playfield #field-13-11 { background-image: url(standard.png); left: 572; top: 484 }
-#playfield #field-13-12 { background-image: url(standard.png); left: 572; top: 528 }
-#playfield #field-13-13 { background-image: url(double-word.png); left: 572; top: 572 }
-#playfield #field-13-14 { background-image: url(standard.png); left: 572; top: 616 }
-#playfield #field-14-0 { background-image: url(triple-word.png); left: 616; top: 0 }
-#playfield #field-14-1 { background-image: url(standard.png); left: 616; top: 44 }
-#playfield #field-14-2 { background-image: url(standard.png); left: 616; top: 88 }
-#playfield #field-14-3 { background-image: url(double-letter.png); left: 616; top: 132 }
-#playfield #field-14-4 { background-image: url(standard.png); left: 616; top: 176 }
-#playfield #field-14-5 { background-image: url(standard.png); left: 616; top: 220 }
-#playfield #field-14-6 { background-image: url(standard.png); left: 616; top: 264 }
-#playfield #field-14-7 { background-image: url(triple-word.png); left: 616; top: 308 }
-#playfield #field-14-8 { background-image: url(standard.png); left: 616; top: 352 }
-#playfield #field-14-9 { background-image: url(standard.png); left: 616; top: 396 }
-#playfield #field-14-10 { background-image: url(standard.png); left: 616; top: 440 }
-#playfield #field-14-11 { background-image: url(double-letter.png); left: 616; top: 484 }
-#playfield #field-14-12 { background-image: url(standard.png); left: 616; top: 528 }
-#playfield #field-14-13 { background-image: url(standard.png); left: 616; top: 572 }
-#playfield #field-14-14 { background-image: url(triple-word.png); left: 616; top: 616 }

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.html
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/de/scrabble.html	2007-10-04 22:25:38 UTC (rev 2213)
+++ branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.html	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1,236 +0,0 @@
-<html>
- <head>
-  <link rel="stylesheet" type="text/css" href="scrabble.css" />
-  <script type="text/javascript" src="/MochiKit/MochiKit.js"> </script>
-  <script type="text/javascript" src="scrabble.js"> </script>
- </head>
- <body onload="init()">
-  <div id='playfield'>
-   <div id='field-0-0'/></div>
-   <div id='field-0-1'/></div>
-   <div id='field-0-2'/></div>
-   <div id='field-0-3'/></div>
-   <div id='field-0-4'/></div>
-   <div id='field-0-5'/></div>
-   <div id='field-0-6'/></div>
-   <div id='field-0-7'/></div>
-   <div id='field-0-8'/></div>
-   <div id='field-0-9'/></div>
-   <div id='field-0-10'/></div>
-   <div id='field-0-11'/></div>
-   <div id='field-0-12'/></div>
-   <div id='field-0-13'/></div>
-   <div id='field-0-14'/></div>
-   <div id='field-1-0'/></div>
-   <div id='field-1-1'/></div>
-   <div id='field-1-2'/></div>
-   <div id='field-1-3'/></div>
-   <div id='field-1-4'/></div>
-   <div id='field-1-5'/></div>
-   <div id='field-1-6'/></div>
-   <div id='field-1-7'/></div>
-   <div id='field-1-8'/></div>
-   <div id='field-1-9'/></div>
-   <div id='field-1-10'/></div>
-   <div id='field-1-11'/></div>
-   <div id='field-1-12'/></div>
-   <div id='field-1-13'/></div>
-   <div id='field-1-14'/></div>
-   <div id='field-2-0'/></div>
-   <div id='field-2-1'/></div>
-   <div id='field-2-2'/></div>
-   <div id='field-2-3'/></div>
-   <div id='field-2-4'/></div>
-   <div id='field-2-5'/></div>
-   <div id='field-2-6'/></div>
-   <div id='field-2-7'/></div>
-   <div id='field-2-8'/></div>
-   <div id='field-2-9'/></div>
-   <div id='field-2-10'/></div>
-   <div id='field-2-11'/></div>
-   <div id='field-2-12'/></div>
-   <div id='field-2-13'/></div>
-   <div id='field-2-14'/></div>
-   <div id='field-3-0'/></div>
-   <div id='field-3-1'/></div>
-   <div id='field-3-2'/></div>
-   <div id='field-3-3'/></div>
-   <div id='field-3-4'/></div>
-   <div id='field-3-5'/></div>
-   <div id='field-3-6'/></div>
-   <div id='field-3-7'/></div>
-   <div id='field-3-8'/></div>
-   <div id='field-3-9'/></div>
-   <div id='field-3-10'/></div>
-   <div id='field-3-11'/></div>
-   <div id='field-3-12'/></div>
-   <div id='field-3-13'/></div>
-   <div id='field-3-14'/></div>
-   <div id='field-4-0'/></div>
-   <div id='field-4-1'/></div>
-   <div id='field-4-2'/></div>
-   <div id='field-4-3'/></div>
-   <div id='field-4-4'/></div>
-   <div id='field-4-5'/></div>
-   <div id='field-4-6'/></div>
-   <div id='field-4-7'/></div>
-   <div id='field-4-8'/></div>
-   <div id='field-4-9'/></div>
-   <div id='field-4-10'/></div>
-   <div id='field-4-11'/></div>
-   <div id='field-4-12'/></div>
-   <div id='field-4-13'/></div>
-   <div id='field-4-14'/></div>
-   <div id='field-5-0'/></div>
-   <div id='field-5-1'/></div>
-   <div id='field-5-2'/></div>
-   <div id='field-5-3'/></div>
-   <div id='field-5-4'/></div>
-   <div id='field-5-5'/></div>
-   <div id='field-5-6'/></div>
-   <div id='field-5-7'/></div>
-   <div id='field-5-8'/></div>
-   <div id='field-5-9'/></div>
-   <div id='field-5-10'/></div>
-   <div id='field-5-11'/></div>
-   <div id='field-5-12'/></div>
-   <div id='field-5-13'/></div>
-   <div id='field-5-14'/></div>
-   <div id='field-6-0'/></div>
-   <div id='field-6-1'/></div>
-   <div id='field-6-2'/></div>
-   <div id='field-6-3'/></div>
-   <div id='field-6-4'/></div>
-   <div id='field-6-5'/></div>
-   <div id='field-6-6'/></div>
-   <div id='field-6-7'/></div>
-   <div id='field-6-8'/></div>
-   <div id='field-6-9'/></div>
-   <div id='field-6-10'/></div>
-   <div id='field-6-11'/></div>
-   <div id='field-6-12'/></div>
-   <div id='field-6-13'/></div>
-   <div id='field-6-14'/></div>
-   <div id='field-7-0'/></div>
-   <div id='field-7-1'/></div>
-   <div id='field-7-2'/></div>
-   <div id='field-7-3'/></div>
-   <div id='field-7-4'/></div>
-   <div id='field-7-5'/></div>
-   <div id='field-7-6'/></div>
-   <div id='field-7-7'/></div>
-   <div id='field-7-8'/></div>
-   <div id='field-7-9'/></div>
-   <div id='field-7-10'/></div>
-   <div id='field-7-11'/></div>
-   <div id='field-7-12'/></div>
-   <div id='field-7-13'/></div>
-   <div id='field-7-14'/></div>
-   <div id='field-8-0'/></div>
-   <div id='field-8-1'/></div>
-   <div id='field-8-2'/></div>
-   <div id='field-8-3'/></div>
-   <div id='field-8-4'/></div>
-   <div id='field-8-5'/></div>
-   <div id='field-8-6'/></div>
-   <div id='field-8-7'/></div>
-   <div id='field-8-8'/></div>
-   <div id='field-8-9'/></div>
-   <div id='field-8-10'/></div>
-   <div id='field-8-11'/></div>
-   <div id='field-8-12'/></div>
-   <div id='field-8-13'/></div>
-   <div id='field-8-14'/></div>
-   <div id='field-9-0'/></div>
-   <div id='field-9-1'/></div>
-   <div id='field-9-2'/></div>
-   <div id='field-9-3'/></div>
-   <div id='field-9-4'/></div>
-   <div id='field-9-5'/></div>
-   <div id='field-9-6'/></div>
-   <div id='field-9-7'/></div>
-   <div id='field-9-8'/></div>
-   <div id='field-9-9'/></div>
-   <div id='field-9-10'/></div>
-   <div id='field-9-11'/></div>
-   <div id='field-9-12'/></div>
-   <div id='field-9-13'/></div>
-   <div id='field-9-14'/></div>
-   <div id='field-10-0'/></div>
-   <div id='field-10-1'/></div>
-   <div id='field-10-2'/></div>
-   <div id='field-10-3'/></div>
-   <div id='field-10-4'/></div>
-   <div id='field-10-5'/></div>
-   <div id='field-10-6'/></div>
-   <div id='field-10-7'/></div>
-   <div id='field-10-8'/></div>
-   <div id='field-10-9'/></div>
-   <div id='field-10-10'/></div>
-   <div id='field-10-11'/></div>
-   <div id='field-10-12'/></div>
-   <div id='field-10-13'/></div>
-   <div id='field-10-14'/></div>
-   <div id='field-11-0'/></div>
-   <div id='field-11-1'/></div>
-   <div id='field-11-2'/></div>
-   <div id='field-11-3'/></div>
-   <div id='field-11-4'/></div>
-   <div id='field-11-5'/></div>
-   <div id='field-11-6'/></div>
-   <div id='field-11-7'/></div>
-   <div id='field-11-8'/></div>
-   <div id='field-11-9'/></div>
-   <div id='field-11-10'/></div>
-   <div id='field-11-11'/></div>
-   <div id='field-11-12'/></div>
-   <div id='field-11-13'/></div>
-   <div id='field-11-14'/></div>
-   <div id='field-12-0'/></div>
-   <div id='field-12-1'/></div>
-   <div id='field-12-2'/></div>
-   <div id='field-12-3'/></div>
-   <div id='field-12-4'/></div>
-   <div id='field-12-5'/></div>
-   <div id='field-12-6'/></div>
-   <div id='field-12-7'/></div>
-   <div id='field-12-8'/></div>
-   <div id='field-12-9'/></div>
-   <div id='field-12-10'/></div>
-   <div id='field-12-11'/></div>
-   <div id='field-12-12'/></div>
-   <div id='field-12-13'/></div>
-   <div id='field-12-14'/></div>
-   <div id='field-13-0'/></div>
-   <div id='field-13-1'/></div>
-   <div id='field-13-2'/></div>
-   <div id='field-13-3'/></div>
-   <div id='field-13-4'/></div>
-   <div id='field-13-5'/></div>
-   <div id='field-13-6'/></div>
-   <div id='field-13-7'/></div>
-   <div id='field-13-8'/></div>
-   <div id='field-13-9'/></div>
-   <div id='field-13-10'/></div>
-   <div id='field-13-11'/></div>
-   <div id='field-13-12'/></div>
-   <div id='field-13-13'/></div>
-   <div id='field-13-14'/></div>
-   <div id='field-14-0'/></div>
-   <div id='field-14-1'/></div>
-   <div id='field-14-2'/></div>
-   <div id='field-14-3'/></div>
-   <div id='field-14-4'/></div>
-   <div id='field-14-5'/></div>
-   <div id='field-14-6'/></div>
-   <div id='field-14-7'/></div>
-   <div id='field-14-8'/></div>
-   <div id='field-14-9'/></div>
-   <div id='field-14-10'/></div>
-   <div id='field-14-11'/></div>
-   <div id='field-14-12'/></div>
-   <div id='field-14-13'/></div>
-   <div id='field-14-14'/></div>
-  </div>
- </body>
-</html>
\ No newline at end of file

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.js
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/de/scrabble.js	2007-10-04 22:25:38 UTC (rev 2213)
+++ branches/trunk-reorg/projects/scrabble/website/images/de/scrabble.js	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1,22 +0,0 @@
-// -*- Java -*- (really Javascript)
-
-function setLetter(x, y, letter) {
-    $('field-' + x + '-' + y).innerHTML = '<img src="' + letter + '.png"/>';
-}
-
-function setWord(x, y, word, down) {
-    for (i = 0; i < word.length; i++) {
-        setLetter(x, y, word.charAt(i));
-        if (down) {
-            y++;
-        } else {
-            x++;
-        }
-    };
-}
-
-function init() {
-    setWord(6, 6, "ICH");
-    setWord(7, 7, "LIEBE");
-    setWord(8, 8, "DICH");
-}

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/triple-letter.png
===================================================================
(Binary files differ)

Copied: branches/trunk-reorg/projects/scrabble/website/images/de/triple-letter.png (from rev 2233, branches/trunk-reorg/projects/scrabble/website/de/triple-letter.png)

Deleted: branches/trunk-reorg/projects/scrabble/website/images/de/triple-word.png
===================================================================
(Binary files differ)

Copied: branches/trunk-reorg/projects/scrabble/website/images/de/triple-word.png (from rev 2233, branches/trunk-reorg/projects/scrabble/website/de/triple-word.png)

Copied: branches/trunk-reorg/projects/scrabble/website/images/en (from rev 2228, branches/trunk-reorg/projects/scrabble/website/en)

Deleted: branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.css
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/en/scrabble.css	2007-10-06 23:09:39 UTC (rev 2228)
+++ branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.css	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1 +0,0 @@
-link ../de/scrabble.css
\ No newline at end of file

Deleted: branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.html
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/en/scrabble.html	2007-10-06 23:09:39 UTC (rev 2228)
+++ branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.html	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1 +0,0 @@
-link ../de/scrabble.html
\ No newline at end of file

Deleted: branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.js
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/en/scrabble.js	2007-10-06 23:09:39 UTC (rev 2228)
+++ branches/trunk-reorg/projects/scrabble/website/images/en/scrabble.js	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1 +0,0 @@
-link ../de/scrabble.js
\ No newline at end of file

Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.css
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/scrabble.css	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/website/scrabble.css	2007-10-09 07:11:50 UTC (rev 2234)
@@ -2,228 +2,235 @@
 #playfield { position: absolute }
 #playfield div { position: absolute; width: 40px; height: 40px }
 #playfield img { position: absolute; top: 3px; left: 3px }
-#playfield #field-0-0 { background-image: url(triple-word.png); left: 0; top: 0 }
-#playfield #field-0-1 { background-image: url(standard.png); left: 0; top: 44 }
-#playfield #field-0-2 { background-image: url(standard.png); left: 0; top: 88 }
-#playfield #field-0-3 { background-image: url(double-letter.png); left: 0; top: 132 }
-#playfield #field-0-4 { background-image: url(standard.png); left: 0; top: 176 }
-#playfield #field-0-5 { background-image: url(standard.png); left: 0; top: 220 }
-#playfield #field-0-6 { background-image: url(standard.png); left: 0; top: 264 }
-#playfield #field-0-7 { background-image: url(triple-word.png); left: 0; top: 308 }
-#playfield #field-0-8 { background-image: url(standard.png); left: 0; top: 352 }
-#playfield #field-0-9 { background-image: url(standard.png); left: 0; top: 396 }
-#playfield #field-0-10 { background-image: url(standard.png); left: 0; top: 440 }
-#playfield #field-0-11 { background-image: url(double-letter.png); left: 0; top: 484 }
-#playfield #field-0-12 { background-image: url(standard.png); left: 0; top: 528 }
-#playfield #field-0-13 { background-image: url(standard.png); left: 0; top: 572 }
-#playfield #field-0-14 { background-image: url(triple-word.png); left: 0; top: 616 }
-#playfield #field-1-0 { background-image: url(standard.png); left: 44; top: 0 }
-#playfield #field-1-1 { background-image: url(double-word.png); left: 44; top: 44 }
-#playfield #field-1-2 { background-image: url(standard.png); left: 44; top: 88 }
-#playfield #field-1-3 { background-image: url(standard.png); left: 44; top: 132 }
-#playfield #field-1-4 { background-image: url(standard.png); left: 44; top: 176 }
-#playfield #field-1-5 { background-image: url(triple-letter.png); left: 44; top: 220 }
-#playfield #field-1-6 { background-image: url(standard.png); left: 44; top: 264 }
-#playfield #field-1-7 { background-image: url(standard.png); left: 44; top: 308 }
-#playfield #field-1-8 { background-image: url(standard.png); left: 44; top: 352 }
-#playfield #field-1-9 { background-image: url(triple-letter.png); left: 44; top: 396 }
-#playfield #field-1-10 { background-image: url(standard.png); left: 44; top: 440 }
-#playfield #field-1-11 { background-image: url(standard.png); left: 44; top: 484 }
-#playfield #field-1-12 { background-image: url(standard.png); left: 44; top: 528 }
-#playfield #field-1-13 { background-image: url(double-word.png); left: 44; top: 572 }
-#playfield #field-1-14 { background-image: url(standard.png); left: 44; top: 616 }
-#playfield #field-2-0 { background-image: url(standard.png); left: 88; top: 0 }
-#playfield #field-2-1 { background-image: url(standard.png); left: 88; top: 44 }
-#playfield #field-2-2 { background-image: url(double-word.png); left: 88; top: 88 }
-#playfield #field-2-3 { background-image: url(standard.png); left: 88; top: 132 }
-#playfield #field-2-4 { background-image: url(standard.png); left: 88; top: 176 }
-#playfield #field-2-5 { background-image: url(standard.png); left: 88; top: 220 }
-#playfield #field-2-6 { background-image: url(double-letter.png); left: 88; top: 264 }
-#playfield #field-2-7 { background-image: url(standard.png); left: 88; top: 308 }
-#playfield #field-2-8 { background-image: url(double-letter.png); left: 88; top: 352 }
-#playfield #field-2-9 { background-image: url(standard.png); left: 88; top: 396 }
-#playfield #field-2-10 { background-image: url(standard.png); left: 88; top: 440 }
-#playfield #field-2-11 { background-image: url(standard.png); left: 88; top: 484 }
-#playfield #field-2-12 { background-image: url(double-word.png); left: 88; top: 528 }
-#playfield #field-2-13 { background-image: url(standard.png); left: 88; top: 572 }
-#playfield #field-2-14 { background-image: url(standard.png); left: 88; top: 616 }
-#playfield #field-3-0 { background-image: url(double-letter.png); left: 132; top: 0 }
-#playfield #field-3-1 { background-image: url(standard.png); left: 132; top: 44 }
-#playfield #field-3-2 { background-image: url(standard.png); left: 132; top: 88 }
-#playfield #field-3-3 { background-image: url(double-word.png); left: 132; top: 132 }
-#playfield #field-3-4 { background-image: url(standard.png); left: 132; top: 176 }
-#playfield #field-3-5 { background-image: url(standard.png); left: 132; top: 220 }
-#playfield #field-3-6 { background-image: url(standard.png); left: 132; top: 264 }
-#playfield #field-3-7 { background-image: url(double-letter.png); left: 132; top: 308 }
-#playfield #field-3-8 { background-image: url(standard.png); left: 132; top: 352 }
-#playfield #field-3-9 { background-image: url(standard.png); left: 132; top: 396 }
-#playfield #field-3-10 { background-image: url(standard.png); left: 132; top: 440 }
-#playfield #field-3-11 { background-image: url(double-word.png); left: 132; top: 484 }
-#playfield #field-3-12 { background-image: url(standard.png); left: 132; top: 528 }
-#playfield #field-3-13 { background-image: url(standard.png); left: 132; top: 572 }
-#playfield #field-3-14 { background-image: url(double-letter.png); left: 132; top: 616 }
-#playfield #field-4-0 { background-image: url(standard.png); left: 176; top: 0 }
-#playfield #field-4-1 { background-image: url(standard.png); left: 176; top: 44 }
-#playfield #field-4-2 { background-image: url(standard.png); left: 176; top: 88 }
-#playfield #field-4-3 { background-image: url(standard.png); left: 176; top: 132 }
-#playfield #field-4-4 { background-image: url(double-word.png); left: 176; top: 176 }
-#playfield #field-4-5 { background-image: url(standard.png); left: 176; top: 220 }
-#playfield #field-4-6 { background-image: url(standard.png); left: 176; top: 264 }
-#playfield #field-4-7 { background-image: url(standard.png); left: 176; top: 308 }
-#playfield #field-4-8 { background-image: url(standard.png); left: 176; top: 352 }
-#playfield #field-4-9 { background-image: url(standard.png); left: 176; top: 396 }
-#playfield #field-4-10 { background-image: url(double-word.png); left: 176; top: 440 }
-#playfield #field-4-11 { background-image: url(standard.png); left: 176; top: 484 }
-#playfield #field-4-12 { background-image: url(standard.png); left: 176; top: 528 }
-#playfield #field-4-13 { background-image: url(standard.png); left: 176; top: 572 }
-#playfield #field-4-14 { background-image: url(standard.png); left: 176; top: 616 }
-#playfield #field-5-0 { background-image: url(standard.png); left: 220; top: 0 }
-#playfield #field-5-1 { background-image: url(triple-letter.png); left: 220; top: 44 }
-#playfield #field-5-2 { background-image: url(standard.png); left: 220; top: 88 }
-#playfield #field-5-3 { background-image: url(standard.png); left: 220; top: 132 }
-#playfield #field-5-4 { background-image: url(standard.png); left: 220; top: 176 }
-#playfield #field-5-5 { background-image: url(triple-letter.png); left: 220; top: 220 }
-#playfield #field-5-6 { background-image: url(standard.png); left: 220; top: 264 }
-#playfield #field-5-7 { background-image: url(standard.png); left: 220; top: 308 }
-#playfield #field-5-8 { background-image: url(standard.png); left: 220; top: 352 }
-#playfield #field-5-9 { background-image: url(triple-letter.png); left: 220; top: 396 }
-#playfield #field-5-10 { background-image: url(standard.png); left: 220; top: 440 }
-#playfield #field-5-11 { background-image: url(standard.png); left: 220; top: 484 }
-#playfield #field-5-12 { background-image: url(standard.png); left: 220; top: 528 }
-#playfield #field-5-13 { background-image: url(triple-letter.png); left: 220; top: 572 }
-#playfield #field-5-14 { background-image: url(standard.png); left: 220; top: 616 }
-#playfield #field-6-0 { background-image: url(standard.png); left: 264; top: 0 }
-#playfield #field-6-1 { background-image: url(standard.png); left: 264; top: 44 }
-#playfield #field-6-2 { background-image: url(double-letter.png); left: 264; top: 88 }
-#playfield #field-6-3 { background-image: url(standard.png); left: 264; top: 132 }
-#playfield #field-6-4 { background-image: url(standard.png); left: 264; top: 176 }
-#playfield #field-6-5 { background-image: url(standard.png); left: 264; top: 220 }
-#playfield #field-6-6 { background-image: url(double-letter.png); left: 264; top: 264 }
-#playfield #field-6-7 { background-image: url(standard.png); left: 264; top: 308 }
-#playfield #field-6-8 { background-image: url(double-letter.png); left: 264; top: 352 }
-#playfield #field-6-9 { background-image: url(standard.png); left: 264; top: 396 }
-#playfield #field-6-10 { background-image: url(standard.png); left: 264; top: 440 }
-#playfield #field-6-11 { background-image: url(standard.png); left: 264; top: 484 }
-#playfield #field-6-12 { background-image: url(double-letter.png); left: 264; top: 528 }
-#playfield #field-6-13 { background-image: url(standard.png); left: 264; top: 572 }
-#playfield #field-6-14 { background-image: url(standard.png); left: 264; top: 616 }
-#playfield #field-7-0 { background-image: url(triple-word.png); left: 308; top: 0 }
-#playfield #field-7-1 { background-image: url(standard.png); left: 308; top: 44 }
-#playfield #field-7-2 { background-image: url(standard.png); left: 308; top: 88 }
-#playfield #field-7-3 { background-image: url(double-letter.png); left: 308; top: 132 }
-#playfield #field-7-4 { background-image: url(standard.png); left: 308; top: 176 }
-#playfield #field-7-5 { background-image: url(standard.png); left: 308; top: 220 }
-#playfield #field-7-6 { background-image: url(standard.png); left: 308; top: 264 }
-#playfield #field-7-7 { background-image: url(double-word.png); left: 308; top: 308 }
-#playfield #field-7-8 { background-image: url(standard.png); left: 308; top: 352 }
-#playfield #field-7-9 { background-image: url(standard.png); left: 308; top: 396 }
-#playfield #field-7-10 { background-image: url(standard.png); left: 308; top: 440 }
-#playfield #field-7-11 { background-image: url(double-letter.png); left: 308; top: 484 }
-#playfield #field-7-12 { background-image: url(standard.png); left: 308; top: 528 }
-#playfield #field-7-13 { background-image: url(standard.png); left: 308; top: 572 }
-#playfield #field-7-14 { background-image: url(triple-word.png); left: 308; top: 616 }
-#playfield #field-8-0 { background-image: url(standard.png); left: 352; top: 0 }
-#playfield #field-8-1 { background-image: url(standard.png); left: 352; top: 44 }
-#playfield #field-8-2 { background-image: url(double-letter.png); left: 352; top: 88 }
-#playfield #field-8-3 { background-image: url(standard.png); left: 352; top: 132 }
-#playfield #field-8-4 { background-image: url(standard.png); left: 352; top: 176 }
-#playfield #field-8-5 { background-image: url(standard.png); left: 352; top: 220 }
-#playfield #field-8-6 { background-image: url(double-letter.png); left: 352; top: 264 }
-#playfield #field-8-7 { background-image: url(standard.png); left: 352; top: 308 }
-#playfield #field-8-8 { background-image: url(double-letter.png); left: 352; top: 352 }
-#playfield #field-8-9 { background-image: url(standard.png); left: 352; top: 396 }
-#playfield #field-8-10 { background-image: url(standard.png); left: 352; top: 440 }
-#playfield #field-8-11 { background-image: url(standard.png); left: 352; top: 484 }
-#playfield #field-8-12 { background-image: url(double-letter.png); left: 352; top: 528 }
-#playfield #field-8-13 { background-image: url(standard.png); left: 352; top: 572 }
-#playfield #field-8-14 { background-image: url(standard.png); left: 352; top: 616 }
-#playfield #field-9-0 { background-image: url(standard.png); left: 396; top: 0 }
-#playfield #field-9-1 { background-image: url(triple-letter.png); left: 396; top: 44 }
-#playfield #field-9-2 { background-image: url(standard.png); left: 396; top: 88 }
-#playfield #field-9-3 { background-image: url(standard.png); left: 396; top: 132 }
-#playfield #field-9-4 { background-image: url(standard.png); left: 396; top: 176 }
-#playfield #field-9-5 { background-image: url(triple-letter.png); left: 396; top: 220 }
-#playfield #field-9-6 { background-image: url(standard.png); left: 396; top: 264 }
-#playfield #field-9-7 { background-image: url(standard.png); left: 396; top: 308 }
-#playfield #field-9-8 { background-image: url(standard.png); left: 396; top: 352 }
-#playfield #field-9-9 { background-image: url(triple-letter.png); left: 396; top: 396 }
-#playfield #field-9-10 { background-image: url(standard.png); left: 396; top: 440 }
-#playfield #field-9-11 { background-image: url(standard.png); left: 396; top: 484 }
-#playfield #field-9-12 { background-image: url(standard.png); left: 396; top: 528 }
-#playfield #field-9-13 { background-image: url(triple-letter.png); left: 396; top: 572 }
-#playfield #field-9-14 { background-image: url(standard.png); left: 396; top: 616 }
-#playfield #field-10-0 { background-image: url(standard.png); left: 440; top: 0 }
-#playfield #field-10-1 { background-image: url(standard.png); left: 440; top: 44 }
-#playfield #field-10-2 { background-image: url(standard.png); left: 440; top: 88 }
-#playfield #field-10-3 { background-image: url(standard.png); left: 440; top: 132 }
-#playfield #field-10-4 { background-image: url(double-word.png); left: 440; top: 176 }
-#playfield #field-10-5 { background-image: url(standard.png); left: 440; top: 220 }
-#playfield #field-10-6 { background-image: url(standard.png); left: 440; top: 264 }
-#playfield #field-10-7 { background-image: url(standard.png); left: 440; top: 308 }
-#playfield #field-10-8 { background-image: url(standard.png); left: 440; top: 352 }
-#playfield #field-10-9 { background-image: url(standard.png); left: 440; top: 396 }
-#playfield #field-10-10 { background-image: url(double-word.png); left: 440; top: 440 }
-#playfield #field-10-11 { background-image: url(standard.png); left: 440; top: 484 }
-#playfield #field-10-12 { background-image: url(standard.png); left: 440; top: 528 }
-#playfield #field-10-13 { background-image: url(standard.png); left: 440; top: 572 }
-#playfield #field-10-14 { background-image: url(standard.png); left: 440; top: 616 }
-#playfield #field-11-0 { background-image: url(double-letter.png); left: 484; top: 0 }
-#playfield #field-11-1 { background-image: url(standard.png); left: 484; top: 44 }
-#playfield #field-11-2 { background-image: url(standard.png); left: 484; top: 88 }
-#playfield #field-11-3 { background-image: url(double-word.png); left: 484; top: 132 }
-#playfield #field-11-4 { background-image: url(standard.png); left: 484; top: 176 }
-#playfield #field-11-5 { background-image: url(standard.png); left: 484; top: 220 }
-#playfield #field-11-6 { background-image: url(standard.png); left: 484; top: 264 }
-#playfield #field-11-7 { background-image: url(double-letter.png); left: 484; top: 308 }
-#playfield #field-11-8 { background-image: url(standard.png); left: 484; top: 352 }
-#playfield #field-11-9 { background-image: url(standard.png); left: 484; top: 396 }
-#playfield #field-11-10 { background-image: url(standard.png); left: 484; top: 440 }
-#playfield #field-11-11 { background-image: url(double-word.png); left: 484; top: 484 }
-#playfield #field-11-12 { background-image: url(standard.png); left: 484; top: 528 }
-#playfield #field-11-13 { background-image: url(standard.png); left: 484; top: 572 }
-#playfield #field-11-14 { background-image: url(double-letter.png); left: 484; top: 616 }
-#playfield #field-12-0 { background-image: url(standard.png); left: 528; top: 0 }
-#playfield #field-12-1 { background-image: url(standard.png); left: 528; top: 44 }
-#playfield #field-12-2 { background-image: url(double-word.png); left: 528; top: 88 }
-#playfield #field-12-3 { background-image: url(standard.png); left: 528; top: 132 }
-#playfield #field-12-4 { background-image: url(standard.png); left: 528; top: 176 }
-#playfield #field-12-5 { background-image: url(standard.png); left: 528; top: 220 }
-#playfield #field-12-6 { background-image: url(double-letter.png); left: 528; top: 264 }
-#playfield #field-12-7 { background-image: url(standard.png); left: 528; top: 308 }
-#playfield #field-12-8 { background-image: url(double-letter.png); left: 528; top: 352 }
-#playfield #field-12-9 { background-image: url(standard.png); left: 528; top: 396 }
-#playfield #field-12-10 { background-image: url(standard.png); left: 528; top: 440 }
-#playfield #field-12-11 { background-image: url(standard.png); left: 528; top: 484 }
-#playfield #field-12-12 { background-image: url(double-word.png); left: 528; top: 528 }
-#playfield #field-12-13 { background-image: url(standard.png); left: 528; top: 572 }
-#playfield #field-12-14 { background-image: url(standard.png); left: 528; top: 616 }
-#playfield #field-13-0 { background-image: url(standard.png); left: 572; top: 0 }
-#playfield #field-13-1 { background-image: url(double-word.png); left: 572; top: 44 }
-#playfield #field-13-2 { background-image: url(standard.png); left: 572; top: 88 }
-#playfield #field-13-3 { background-image: url(standard.png); left: 572; top: 132 }
-#playfield #field-13-4 { background-image: url(standard.png); left: 572; top: 176 }
-#playfield #field-13-5 { background-image: url(triple-letter.png); left: 572; top: 220 }
-#playfield #field-13-6 { background-image: url(standard.png); left: 572; top: 264 }
-#playfield #field-13-7 { background-image: url(standard.png); left: 572; top: 308 }
-#playfield #field-13-8 { background-image: url(standard.png); left: 572; top: 352 }
-#playfield #field-13-9 { background-image: url(triple-letter.png); left: 572; top: 396 }
-#playfield #field-13-10 { background-image: url(standard.png); left: 572; top: 440 }
-#playfield #field-13-11 { background-image: url(standard.png); left: 572; top: 484 }
-#playfield #field-13-12 { background-image: url(standard.png); left: 572; top: 528 }
-#playfield #field-13-13 { background-image: url(double-word.png); left: 572; top: 572 }
-#playfield #field-13-14 { background-image: url(standard.png); left: 572; top: 616 }
-#playfield #field-14-0 { background-image: url(triple-word.png); left: 616; top: 0 }
-#playfield #field-14-1 { background-image: url(standard.png); left: 616; top: 44 }
-#playfield #field-14-2 { background-image: url(standard.png); left: 616; top: 88 }
-#playfield #field-14-3 { background-image: url(double-letter.png); left: 616; top: 132 }
-#playfield #field-14-4 { background-image: url(standard.png); left: 616; top: 176 }
-#playfield #field-14-5 { background-image: url(standard.png); left: 616; top: 220 }
-#playfield #field-14-6 { background-image: url(standard.png); left: 616; top: 264 }
-#playfield #field-14-7 { background-image: url(triple-word.png); left: 616; top: 308 }
-#playfield #field-14-8 { background-image: url(standard.png); left: 616; top: 352 }
-#playfield #field-14-9 { background-image: url(standard.png); left: 616; top: 396 }
-#playfield #field-14-10 { background-image: url(standard.png); left: 616; top: 440 }
-#playfield #field-14-11 { background-image: url(double-letter.png); left: 616; top: 484 }
-#playfield #field-14-12 { background-image: url(standard.png); left: 616; top: 528 }
-#playfield #field-14-13 { background-image: url(standard.png); left: 616; top: 572 }
-#playfield #field-14-14 { background-image: url(triple-word.png); left: 616; top: 616 }
+#playfield #field-0-0 { background-image: url(images/triple-word.png); left: 0; top: 0 }
+#playfield #field-0-1 { background-image: url(images/standard.png); left: 0; top: 44 }
+#playfield #field-0-2 { background-image: url(images/standard.png); left: 0; top: 88 }
+#playfield #field-0-3 { background-image: url(images/double-letter.png); left: 0; top: 132 }
+#playfield #field-0-4 { background-image: url(images/standard.png); left: 0; top: 176 }
+#playfield #field-0-5 { background-image: url(images/standard.png); left: 0; top: 220 }
+#playfield #field-0-6 { background-image: url(images/standard.png); left: 0; top: 264 }
+#playfield #field-0-7 { background-image: url(images/triple-word.png); left: 0; top: 308 }
+#playfield #field-0-8 { background-image: url(images/standard.png); left: 0; top: 352 }
+#playfield #field-0-9 { background-image: url(images/standard.png); left: 0; top: 396 }
+#playfield #field-0-10 { background-image: url(images/standard.png); left: 0; top: 440 }
+#playfield #field-0-11 { background-image: url(images/double-letter.png); left: 0; top: 484 }
+#playfield #field-0-12 { background-image: url(images/standard.png); left: 0; top: 528 }
+#playfield #field-0-13 { background-image: url(images/standard.png); left: 0; top: 572 }
+#playfield #field-0-14 { background-image: url(images/triple-word.png); left: 0; top: 616 }
+#playfield #field-1-0 { background-image: url(images/standard.png); left: 44; top: 0 }
+#playfield #field-1-1 { background-image: url(images/double-word.png); left: 44; top: 44 }
+#playfield #field-1-2 { background-image: url(images/standard.png); left: 44; top: 88 }
+#playfield #field-1-3 { background-image: url(images/standard.png); left: 44; top: 132 }
+#playfield #field-1-4 { background-image: url(images/standard.png); left: 44; top: 176 }
+#playfield #field-1-5 { background-image: url(images/triple-letter.png); left: 44; top: 220 }
+#playfield #field-1-6 { background-image: url(images/standard.png); left: 44; top: 264 }
+#playfield #field-1-7 { background-image: url(images/standard.png); left: 44; top: 308 }
+#playfield #field-1-8 { background-image: url(images/standard.png); left: 44; top: 352 }
+#playfield #field-1-9 { background-image: url(images/triple-letter.png); left: 44; top: 396 }
+#playfield #field-1-10 { background-image: url(images/standard.png); left: 44; top: 440 }
+#playfield #field-1-11 { background-image: url(images/standard.png); left: 44; top: 484 }
+#playfield #field-1-12 { background-image: url(images/standard.png); left: 44; top: 528 }
+#playfield #field-1-13 { background-image: url(images/double-word.png); left: 44; top: 572 }
+#playfield #field-1-14 { background-image: url(images/standard.png); left: 44; top: 616 }
+#playfield #field-2-0 { background-image: url(images/standard.png); left: 88; top: 0 }
+#playfield #field-2-1 { background-image: url(images/standard.png); left: 88; top: 44 }
+#playfield #field-2-2 { background-image: url(images/double-word.png); left: 88; top: 88 }
+#playfield #field-2-3 { background-image: url(images/standard.png); left: 88; top: 132 }
+#playfield #field-2-4 { background-image: url(images/standard.png); left: 88; top: 176 }
+#playfield #field-2-5 { background-image: url(images/standard.png); left: 88; top: 220 }
+#playfield #field-2-6 { background-image: url(images/double-letter.png); left: 88; top: 264 }
+#playfield #field-2-7 { background-image: url(images/standard.png); left: 88; top: 308 }
+#playfield #field-2-8 { background-image: url(images/double-letter.png); left: 88; top: 352 }
+#playfield #field-2-9 { background-image: url(images/standard.png); left: 88; top: 396 }
+#playfield #field-2-10 { background-image: url(images/standard.png); left: 88; top: 440 }
+#playfield #field-2-11 { background-image: url(images/standard.png); left: 88; top: 484 }
+#playfield #field-2-12 { background-image: url(images/double-word.png); left: 88; top: 528 }
+#playfield #field-2-13 { background-image: url(images/standard.png); left: 88; top: 572 }
+#playfield #field-2-14 { background-image: url(images/standard.png); left: 88; top: 616 }
+#playfield #field-3-0 { background-image: url(images/double-letter.png); left: 132; top: 0 }
+#playfield #field-3-1 { background-image: url(images/standard.png); left: 132; top: 44 }
+#playfield #field-3-2 { background-image: url(images/standard.png); left: 132; top: 88 }
+#playfield #field-3-3 { background-image: url(images/double-word.png); left: 132; top: 132 }
+#playfield #field-3-4 { background-image: url(images/standard.png); left: 132; top: 176 }
+#playfield #field-3-5 { background-image: url(images/standard.png); left: 132; top: 220 }
+#playfield #field-3-6 { background-image: url(images/standard.png); left: 132; top: 264 }
+#playfield #field-3-7 { background-image: url(images/double-letter.png); left: 132; top: 308 }
+#playfield #field-3-8 { background-image: url(images/standard.png); left: 132; top: 352 }
+#playfield #field-3-9 { background-image: url(images/standard.png); left: 132; top: 396 }
+#playfield #field-3-10 { background-image: url(images/standard.png); left: 132; top: 440 }
+#playfield #field-3-11 { background-image: url(images/double-word.png); left: 132; top: 484 }
+#playfield #field-3-12 { background-image: url(images/standard.png); left: 132; top: 528 }
+#playfield #field-3-13 { background-image: url(images/standard.png); left: 132; top: 572 }
+#playfield #field-3-14 { background-image: url(images/double-letter.png); left: 132; top: 616 }
+#playfield #field-4-0 { background-image: url(images/standard.png); left: 176; top: 0 }
+#playfield #field-4-1 { background-image: url(images/standard.png); left: 176; top: 44 }
+#playfield #field-4-2 { background-image: url(images/standard.png); left: 176; top: 88 }
+#playfield #field-4-3 { background-image: url(images/standard.png); left: 176; top: 132 }
+#playfield #field-4-4 { background-image: url(images/double-word.png); left: 176; top: 176 }
+#playfield #field-4-5 { background-image: url(images/standard.png); left: 176; top: 220 }
+#playfield #field-4-6 { background-image: url(images/standard.png); left: 176; top: 264 }
+#playfield #field-4-7 { background-image: url(images/standard.png); left: 176; top: 308 }
+#playfield #field-4-8 { background-image: url(images/standard.png); left: 176; top: 352 }
+#playfield #field-4-9 { background-image: url(images/standard.png); left: 176; top: 396 }
+#playfield #field-4-10 { background-image: url(images/double-word.png); left: 176; top: 440 }
+#playfield #field-4-11 { background-image: url(images/standard.png); left: 176; top: 484 }
+#playfield #field-4-12 { background-image: url(images/standard.png); left: 176; top: 528 }
+#playfield #field-4-13 { background-image: url(images/standard.png); left: 176; top: 572 }
+#playfield #field-4-14 { background-image: url(images/standard.png); left: 176; top: 616 }
+#playfield #field-5-0 { background-image: url(images/standard.png); left: 220; top: 0 }
+#playfield #field-5-1 { background-image: url(images/triple-letter.png); left: 220; top: 44 }
+#playfield #field-5-2 { background-image: url(images/standard.png); left: 220; top: 88 }
+#playfield #field-5-3 { background-image: url(images/standard.png); left: 220; top: 132 }
+#playfield #field-5-4 { background-image: url(images/standard.png); left: 220; top: 176 }
+#playfield #field-5-5 { background-image: url(images/triple-letter.png); left: 220; top: 220 }
+#playfield #field-5-6 { background-image: url(images/standard.png); left: 220; top: 264 }
+#playfield #field-5-7 { background-image: url(images/standard.png); left: 220; top: 308 }
+#playfield #field-5-8 { background-image: url(images/standard.png); left: 220; top: 352 }
+#playfield #field-5-9 { background-image: url(images/triple-letter.png); left: 220; top: 396 }
+#playfield #field-5-10 { background-image: url(images/standard.png); left: 220; top: 440 }
+#playfield #field-5-11 { background-image: url(images/standard.png); left: 220; top: 484 }
+#playfield #field-5-12 { background-image: url(images/standard.png); left: 220; top: 528 }
+#playfield #field-5-13 { background-image: url(images/triple-letter.png); left: 220; top: 572 }
+#playfield #field-5-14 { background-image: url(images/standard.png); left: 220; top: 616 }
+#playfield #field-6-0 { background-image: url(images/standard.png); left: 264; top: 0 }
+#playfield #field-6-1 { background-image: url(images/standard.png); left: 264; top: 44 }
+#playfield #field-6-2 { background-image: url(images/double-letter.png); left: 264; top: 88 }
+#playfield #field-6-3 { background-image: url(images/standard.png); left: 264; top: 132 }
+#playfield #field-6-4 { background-image: url(images/standard.png); left: 264; top: 176 }
+#playfield #field-6-5 { background-image: url(images/standard.png); left: 264; top: 220 }
+#playfield #field-6-6 { background-image: url(images/double-letter.png); left: 264; top: 264 }
+#playfield #field-6-7 { background-image: url(images/standard.png); left: 264; top: 308 }
+#playfield #field-6-8 { background-image: url(images/double-letter.png); left: 264; top: 352 }
+#playfield #field-6-9 { background-image: url(images/standard.png); left: 264; top: 396 }
+#playfield #field-6-10 { background-image: url(images/standard.png); left: 264; top: 440 }
+#playfield #field-6-11 { background-image: url(images/standard.png); left: 264; top: 484 }
+#playfield #field-6-12 { background-image: url(images/double-letter.png); left: 264; top: 528 }
+#playfield #field-6-13 { background-image: url(images/standard.png); left: 264; top: 572 }
+#playfield #field-6-14 { background-image: url(images/standard.png); left: 264; top: 616 }
+#playfield #field-7-0 { background-image: url(images/triple-word.png); left: 308; top: 0 }
+#playfield #field-7-1 { background-image: url(images/standard.png); left: 308; top: 44 }
+#playfield #field-7-2 { background-image: url(images/standard.png); left: 308; top: 88 }
+#playfield #field-7-3 { background-image: url(images/double-letter.png); left: 308; top: 132 }
+#playfield #field-7-4 { background-image: url(images/standard.png); left: 308; top: 176 }
+#playfield #field-7-5 { background-image: url(images/standard.png); left: 308; top: 220 }
+#playfield #field-7-6 { background-image: url(images/standard.png); left: 308; top: 264 }
+#playfield #field-7-7 { background-image: url(images/double-word.png); left: 308; top: 308 }
+#playfield #field-7-8 { background-image: url(images/standard.png); left: 308; top: 352 }
+#playfield #field-7-9 { background-image: url(images/standard.png); left: 308; top: 396 }
+#playfield #field-7-10 { background-image: url(images/standard.png); left: 308; top: 440 }
+#playfield #field-7-11 { background-image: url(images/double-letter.png); left: 308; top: 484 }
+#playfield #field-7-12 { background-image: url(images/standard.png); left: 308; top: 528 }
+#playfield #field-7-13 { background-image: url(images/standard.png); left: 308; top: 572 }
+#playfield #field-7-14 { background-image: url(images/triple-word.png); left: 308; top: 616 }
+#playfield #field-8-0 { background-image: url(images/standard.png); left: 352; top: 0 }
+#playfield #field-8-1 { background-image: url(images/standard.png); left: 352; top: 44 }
+#playfield #field-8-2 { background-image: url(images/double-letter.png); left: 352; top: 88 }
+#playfield #field-8-3 { background-image: url(images/standard.png); left: 352; top: 132 }
+#playfield #field-8-4 { background-image: url(images/standard.png); left: 352; top: 176 }
+#playfield #field-8-5 { background-image: url(images/standard.png); left: 352; top: 220 }
+#playfield #field-8-6 { background-image: url(images/double-letter.png); left: 352; top: 264 }
+#playfield #field-8-7 { background-image: url(images/standard.png); left: 352; top: 308 }
+#playfield #field-8-8 { background-image: url(images/double-letter.png); left: 352; top: 352 }
+#playfield #field-8-9 { background-image: url(images/standard.png); left: 352; top: 396 }
+#playfield #field-8-10 { background-image: url(images/standard.png); left: 352; top: 440 }
+#playfield #field-8-11 { background-image: url(images/standard.png); left: 352; top: 484 }
+#playfield #field-8-12 { background-image: url(images/double-letter.png); left: 352; top: 528 }
+#playfield #field-8-13 { background-image: url(images/standard.png); left: 352; top: 572 }
+#playfield #field-8-14 { background-image: url(images/standard.png); left: 352; top: 616 }
+#playfield #field-9-0 { background-image: url(images/standard.png); left: 396; top: 0 }
+#playfield #field-9-1 { background-image: url(images/triple-letter.png); left: 396; top: 44 }
+#playfield #field-9-2 { background-image: url(images/standard.png); left: 396; top: 88 }
+#playfield #field-9-3 { background-image: url(images/standard.png); left: 396; top: 132 }
+#playfield #field-9-4 { background-image: url(images/standard.png); left: 396; top: 176 }
+#playfield #field-9-5 { background-image: url(images/triple-letter.png); left: 396; top: 220 }
+#playfield #field-9-6 { background-image: url(images/standard.png); left: 396; top: 264 }
+#playfield #field-9-7 { background-image: url(images/standard.png); left: 396; top: 308 }
+#playfield #field-9-8 { background-image: url(images/standard.png); left: 396; top: 352 }
+#playfield #field-9-9 { background-image: url(images/triple-letter.png); left: 396; top: 396 }
+#playfield #field-9-10 { background-image: url(images/standard.png); left: 396; top: 440 }
+#playfield #field-9-11 { background-image: url(images/standard.png); left: 396; top: 484 }
+#playfield #field-9-12 { background-image: url(images/standard.png); left: 396; top: 528 }
+#playfield #field-9-13 { background-image: url(images/triple-letter.png); left: 396; top: 572 }
+#playfield #field-9-14 { background-image: url(images/standard.png); left: 396; top: 616 }
+#playfield #field-10-0 { background-image: url(images/standard.png); left: 440; top: 0 }
+#playfield #field-10-1 { background-image: url(images/standard.png); left: 440; top: 44 }
+#playfield #field-10-2 { background-image: url(images/standard.png); left: 440; top: 88 }
+#playfield #field-10-3 { background-image: url(images/standard.png); left: 440; top: 132 }
+#playfield #field-10-4 { background-image: url(images/double-word.png); left: 440; top: 176 }
+#playfield #field-10-5 { background-image: url(images/standard.png); left: 440; top: 220 }
+#playfield #field-10-6 { background-image: url(images/standard.png); left: 440; top: 264 }
+#playfield #field-10-7 { background-image: url(images/standard.png); left: 440; top: 308 }
+#playfield #field-10-8 { background-image: url(images/standard.png); left: 440; top: 352 }
+#playfield #field-10-9 { background-image: url(images/standard.png); left: 440; top: 396 }
+#playfield #field-10-10 { background-image: url(images/double-word.png); left: 440; top: 440 }
+#playfield #field-10-11 { background-image: url(images/standard.png); left: 440; top: 484 }
+#playfield #field-10-12 { background-image: url(images/standard.png); left: 440; top: 528 }
+#playfield #field-10-13 { background-image: url(images/standard.png); left: 440; top: 572 }
+#playfield #field-10-14 { background-image: url(images/standard.png); left: 440; top: 616 }
+#playfield #field-11-0 { background-image: url(images/double-letter.png); left: 484; top: 0 }
+#playfield #field-11-1 { background-image: url(images/standard.png); left: 484; top: 44 }
+#playfield #field-11-2 { background-image: url(images/standard.png); left: 484; top: 88 }
+#playfield #field-11-3 { background-image: url(images/double-word.png); left: 484; top: 132 }
+#playfield #field-11-4 { background-image: url(images/standard.png); left: 484; top: 176 }
+#playfield #field-11-5 { background-image: url(images/standard.png); left: 484; top: 220 }
+#playfield #field-11-6 { background-image: url(images/standard.png); left: 484; top: 264 }
+#playfield #field-11-7 { background-image: url(images/double-letter.png); left: 484; top: 308 }
+#playfield #field-11-8 { background-image: url(images/standard.png); left: 484; top: 352 }
+#playfield #field-11-9 { background-image: url(images/standard.png); left: 484; top: 396 }
+#playfield #field-11-10 { background-image: url(images/standard.png); left: 484; top: 440 }
+#playfield #field-11-11 { background-image: url(images/double-word.png); left: 484; top: 484 }
+#playfield #field-11-12 { background-image: url(images/standard.png); left: 484; top: 528 }
+#playfield #field-11-13 { background-image: url(images/standard.png); left: 484; top: 572 }
+#playfield #field-11-14 { background-image: url(images/double-letter.png); left: 484; top: 616 }
+#playfield #field-12-0 { background-image: url(images/standard.png); left: 528; top: 0 }
+#playfield #field-12-1 { background-image: url(images/standard.png); left: 528; top: 44 }
+#playfield #field-12-2 { background-image: url(images/double-word.png); left: 528; top: 88 }
+#playfield #field-12-3 { background-image: url(images/standard.png); left: 528; top: 132 }
+#playfield #field-12-4 { background-image: url(images/standard.png); left: 528; top: 176 }
+#playfield #field-12-5 { background-image: url(images/standard.png); left: 528; top: 220 }
+#playfield #field-12-6 { background-image: url(images/double-letter.png); left: 528; top: 264 }
+#playfield #field-12-7 { background-image: url(images/standard.png); left: 528; top: 308 }
+#playfield #field-12-8 { background-image: url(images/double-letter.png); left: 528; top: 352 }
+#playfield #field-12-9 { background-image: url(images/standard.png); left: 528; top: 396 }
+#playfield #field-12-10 { background-image: url(images/standard.png); left: 528; top: 440 }
+#playfield #field-12-11 { background-image: url(images/standard.png); left: 528; top: 484 }
+#playfield #field-12-12 { background-image: url(images/double-word.png); left: 528; top: 528 }
+#playfield #field-12-13 { background-image: url(images/standard.png); left: 528; top: 572 }
+#playfield #field-12-14 { background-image: url(images/standard.png); left: 528; top: 616 }
+#playfield #field-13-0 { background-image: url(images/standard.png); left: 572; top: 0 }
+#playfield #field-13-1 { background-image: url(images/double-word.png); left: 572; top: 44 }
+#playfield #field-13-2 { background-image: url(images/standard.png); left: 572; top: 88 }
+#playfield #field-13-3 { background-image: url(images/standard.png); left: 572; top: 132 }
+#playfield #field-13-4 { background-image: url(images/standard.png); left: 572; top: 176 }
+#playfield #field-13-5 { background-image: url(images/triple-letter.png); left: 572; top: 220 }
+#playfield #field-13-6 { background-image: url(images/standard.png); left: 572; top: 264 }
+#playfield #field-13-7 { background-image: url(images/standard.png); left: 572; top: 308 }
+#playfield #field-13-8 { background-image: url(images/standard.png); left: 572; top: 352 }
+#playfield #field-13-9 { background-image: url(images/triple-letter.png); left: 572; top: 396 }
+#playfield #field-13-10 { background-image: url(images/standard.png); left: 572; top: 440 }
+#playfield #field-13-11 { background-image: url(images/standard.png); left: 572; top: 484 }
+#playfield #field-13-12 { background-image: url(images/standard.png); left: 572; top: 528 }
+#playfield #field-13-13 { background-image: url(images/double-word.png); left: 572; top: 572 }
+#playfield #field-13-14 { background-image: url(images/standard.png); left: 572; top: 616 }
+#playfield #field-14-0 { background-image: url(images/triple-word.png); left: 616; top: 0 }
+#playfield #field-14-1 { background-image: url(images/standard.png); left: 616; top: 44 }
+#playfield #field-14-2 { background-image: url(images/standard.png); left: 616; top: 88 }
+#playfield #field-14-3 { background-image: url(images/double-letter.png); left: 616; top: 132 }
+#playfield #field-14-4 { background-image: url(images/standard.png); left: 616; top: 176 }
+#playfield #field-14-5 { background-image: url(images/standard.png); left: 616; top: 220 }
+#playfield #field-14-6 { background-image: url(images/standard.png); left: 616; top: 264 }
+#playfield #field-14-7 { background-image: url(images/triple-word.png); left: 616; top: 308 }
+#playfield #field-14-8 { background-image: url(images/standard.png); left: 616; top: 352 }
+#playfield #field-14-9 { background-image: url(images/standard.png); left: 616; top: 396 }
+#playfield #field-14-10 { background-image: url(images/standard.png); left: 616; top: 440 }
+#playfield #field-14-11 { background-image: url(images/double-letter.png); left: 616; top: 484 }
+#playfield #field-14-12 { background-image: url(images/standard.png); left: 616; top: 528 }
+#playfield #field-14-13 { background-image: url(images/standard.png); left: 616; top: 572 }
+#playfield #field-14-14 { background-image: url(images/triple-word.png); left: 616; top: 616 }
+#playfield #my-tray-0 { left: 194; top: 665 }
+#playfield #my-tray-1 { left: 232; top: 665 }
+#playfield #my-tray-2 { left: 270; top: 665 }
+#playfield #my-tray-3 { left: 308; top: 665 }
+#playfield #my-tray-4 { left: 346; top: 665 }
+#playfield #my-tray-5 { left: 384; top: 665 }
+#playfield #my-tray-6 { left: 422; top: 665 }

Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.html
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/scrabble.html	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/website/scrabble.html	2007-10-09 07:11:50 UTC (rev 2234)
@@ -6,231 +6,238 @@
  </head>
  <body onload="init()">
   <div id='playfield'>
-   <div id='field-0-0'/></div>
-   <div id='field-0-1'/></div>
-   <div id='field-0-2'/></div>
-   <div id='field-0-3'/></div>
-   <div id='field-0-4'/></div>
-   <div id='field-0-5'/></div>
-   <div id='field-0-6'/></div>
-   <div id='field-0-7'/></div>
-   <div id='field-0-8'/></div>
-   <div id='field-0-9'/></div>
-   <div id='field-0-10'/></div>
-   <div id='field-0-11'/></div>
-   <div id='field-0-12'/></div>
-   <div id='field-0-13'/></div>
-   <div id='field-0-14'/></div>
-   <div id='field-1-0'/></div>
-   <div id='field-1-1'/></div>
-   <div id='field-1-2'/></div>
-   <div id='field-1-3'/></div>
-   <div id='field-1-4'/></div>
-   <div id='field-1-5'/></div>
-   <div id='field-1-6'/></div>
-   <div id='field-1-7'/></div>
-   <div id='field-1-8'/></div>
-   <div id='field-1-9'/></div>
-   <div id='field-1-10'/></div>
-   <div id='field-1-11'/></div>
-   <div id='field-1-12'/></div>
-   <div id='field-1-13'/></div>
-   <div id='field-1-14'/></div>
-   <div id='field-2-0'/></div>
-   <div id='field-2-1'/></div>
-   <div id='field-2-2'/></div>
-   <div id='field-2-3'/></div>
-   <div id='field-2-4'/></div>
-   <div id='field-2-5'/></div>
-   <div id='field-2-6'/></div>
-   <div id='field-2-7'/></div>
-   <div id='field-2-8'/></div>
-   <div id='field-2-9'/></div>
-   <div id='field-2-10'/></div>
-   <div id='field-2-11'/></div>
-   <div id='field-2-12'/></div>
-   <div id='field-2-13'/></div>
-   <div id='field-2-14'/></div>
-   <div id='field-3-0'/></div>
-   <div id='field-3-1'/></div>
-   <div id='field-3-2'/></div>
-   <div id='field-3-3'/></div>
-   <div id='field-3-4'/></div>
-   <div id='field-3-5'/></div>
-   <div id='field-3-6'/></div>
-   <div id='field-3-7'/></div>
-   <div id='field-3-8'/></div>
-   <div id='field-3-9'/></div>
-   <div id='field-3-10'/></div>
-   <div id='field-3-11'/></div>
-   <div id='field-3-12'/></div>
-   <div id='field-3-13'/></div>
-   <div id='field-3-14'/></div>
-   <div id='field-4-0'/></div>
-   <div id='field-4-1'/></div>
-   <div id='field-4-2'/></div>
-   <div id='field-4-3'/></div>
-   <div id='field-4-4'/></div>
-   <div id='field-4-5'/></div>
-   <div id='field-4-6'/></div>
-   <div id='field-4-7'/></div>
-   <div id='field-4-8'/></div>
-   <div id='field-4-9'/></div>
-   <div id='field-4-10'/></div>
-   <div id='field-4-11'/></div>
-   <div id='field-4-12'/></div>
-   <div id='field-4-13'/></div>
-   <div id='field-4-14'/></div>
-   <div id='field-5-0'/></div>
-   <div id='field-5-1'/></div>
-   <div id='field-5-2'/></div>
-   <div id='field-5-3'/></div>
-   <div id='field-5-4'/></div>
-   <div id='field-5-5'/></div>
-   <div id='field-5-6'/></div>
-   <div id='field-5-7'/></div>
-   <div id='field-5-8'/></div>
-   <div id='field-5-9'/></div>
-   <div id='field-5-10'/></div>
-   <div id='field-5-11'/></div>
-   <div id='field-5-12'/></div>
-   <div id='field-5-13'/></div>
-   <div id='field-5-14'/></div>
-   <div id='field-6-0'/></div>
-   <div id='field-6-1'/></div>
-   <div id='field-6-2'/></div>
-   <div id='field-6-3'/></div>
-   <div id='field-6-4'/></div>
-   <div id='field-6-5'/></div>
-   <div id='field-6-6'/></div>
-   <div id='field-6-7'/></div>
-   <div id='field-6-8'/></div>
-   <div id='field-6-9'/></div>
-   <div id='field-6-10'/></div>
-   <div id='field-6-11'/></div>
-   <div id='field-6-12'/></div>
-   <div id='field-6-13'/></div>
-   <div id='field-6-14'/></div>
-   <div id='field-7-0'/></div>
-   <div id='field-7-1'/></div>
-   <div id='field-7-2'/></div>
-   <div id='field-7-3'/></div>
-   <div id='field-7-4'/></div>
-   <div id='field-7-5'/></div>
-   <div id='field-7-6'/></div>
-   <div id='field-7-7'/></div>
-   <div id='field-7-8'/></div>
-   <div id='field-7-9'/></div>
-   <div id='field-7-10'/></div>
-   <div id='field-7-11'/></div>
-   <div id='field-7-12'/></div>
-   <div id='field-7-13'/></div>
-   <div id='field-7-14'/></div>
-   <div id='field-8-0'/></div>
-   <div id='field-8-1'/></div>
-   <div id='field-8-2'/></div>
-   <div id='field-8-3'/></div>
-   <div id='field-8-4'/></div>
-   <div id='field-8-5'/></div>
-   <div id='field-8-6'/></div>
-   <div id='field-8-7'/></div>
-   <div id='field-8-8'/></div>
-   <div id='field-8-9'/></div>
-   <div id='field-8-10'/></div>
-   <div id='field-8-11'/></div>
-   <div id='field-8-12'/></div>
-   <div id='field-8-13'/></div>
-   <div id='field-8-14'/></div>
-   <div id='field-9-0'/></div>
-   <div id='field-9-1'/></div>
-   <div id='field-9-2'/></div>
-   <div id='field-9-3'/></div>
-   <div id='field-9-4'/></div>
-   <div id='field-9-5'/></div>
-   <div id='field-9-6'/></div>
-   <div id='field-9-7'/></div>
-   <div id='field-9-8'/></div>
-   <div id='field-9-9'/></div>
-   <div id='field-9-10'/></div>
-   <div id='field-9-11'/></div>
-   <div id='field-9-12'/></div>
-   <div id='field-9-13'/></div>
-   <div id='field-9-14'/></div>
-   <div id='field-10-0'/></div>
-   <div id='field-10-1'/></div>
-   <div id='field-10-2'/></div>
-   <div id='field-10-3'/></div>
-   <div id='field-10-4'/></div>
-   <div id='field-10-5'/></div>
-   <div id='field-10-6'/></div>
-   <div id='field-10-7'/></div>
-   <div id='field-10-8'/></div>
-   <div id='field-10-9'/></div>
-   <div id='field-10-10'/></div>
-   <div id='field-10-11'/></div>
-   <div id='field-10-12'/></div>
-   <div id='field-10-13'/></div>
-   <div id='field-10-14'/></div>
-   <div id='field-11-0'/></div>
-   <div id='field-11-1'/></div>
-   <div id='field-11-2'/></div>
-   <div id='field-11-3'/></div>
-   <div id='field-11-4'/></div>
-   <div id='field-11-5'/></div>
-   <div id='field-11-6'/></div>
-   <div id='field-11-7'/></div>
-   <div id='field-11-8'/></div>
-   <div id='field-11-9'/></div>
-   <div id='field-11-10'/></div>
-   <div id='field-11-11'/></div>
-   <div id='field-11-12'/></div>
-   <div id='field-11-13'/></div>
-   <div id='field-11-14'/></div>
-   <div id='field-12-0'/></div>
-   <div id='field-12-1'/></div>
-   <div id='field-12-2'/></div>
-   <div id='field-12-3'/></div>
-   <div id='field-12-4'/></div>
-   <div id='field-12-5'/></div>
-   <div id='field-12-6'/></div>
-   <div id='field-12-7'/></div>
-   <div id='field-12-8'/></div>
-   <div id='field-12-9'/></div>
-   <div id='field-12-10'/></div>
-   <div id='field-12-11'/></div>
-   <div id='field-12-12'/></div>
-   <div id='field-12-13'/></div>
-   <div id='field-12-14'/></div>
-   <div id='field-13-0'/></div>
-   <div id='field-13-1'/></div>
-   <div id='field-13-2'/></div>
-   <div id='field-13-3'/></div>
-   <div id='field-13-4'/></div>
-   <div id='field-13-5'/></div>
-   <div id='field-13-6'/></div>
-   <div id='field-13-7'/></div>
-   <div id='field-13-8'/></div>
-   <div id='field-13-9'/></div>
-   <div id='field-13-10'/></div>
-   <div id='field-13-11'/></div>
-   <div id='field-13-12'/></div>
-   <div id='field-13-13'/></div>
-   <div id='field-13-14'/></div>
-   <div id='field-14-0'/></div>
-   <div id='field-14-1'/></div>
-   <div id='field-14-2'/></div>
-   <div id='field-14-3'/></div>
-   <div id='field-14-4'/></div>
-   <div id='field-14-5'/></div>
-   <div id='field-14-6'/></div>
-   <div id='field-14-7'/></div>
-   <div id='field-14-8'/></div>
-   <div id='field-14-9'/></div>
-   <div id='field-14-10'/></div>
-   <div id='field-14-11'/></div>
-   <div id='field-14-12'/></div>
-   <div id='field-14-13'/></div>
-   <div id='field-14-14'/></div>
+   <div id='field-0-0'></div>
+   <div id='field-0-1'></div>
+   <div id='field-0-2'></div>
+   <div id='field-0-3'></div>
+   <div id='field-0-4'></div>
+   <div id='field-0-5'></div>
+   <div id='field-0-6'></div>
+   <div id='field-0-7'></div>
+   <div id='field-0-8'></div>
+   <div id='field-0-9'></div>
+   <div id='field-0-10'></div>
+   <div id='field-0-11'></div>
+   <div id='field-0-12'></div>
+   <div id='field-0-13'></div>
+   <div id='field-0-14'></div>
+   <div id='field-1-0'></div>
+   <div id='field-1-1'></div>
+   <div id='field-1-2'></div>
+   <div id='field-1-3'></div>
+   <div id='field-1-4'></div>
+   <div id='field-1-5'></div>
+   <div id='field-1-6'></div>
+   <div id='field-1-7'></div>
+   <div id='field-1-8'></div>
+   <div id='field-1-9'></div>
+   <div id='field-1-10'></div>
+   <div id='field-1-11'></div>
+   <div id='field-1-12'></div>
+   <div id='field-1-13'></div>
+   <div id='field-1-14'></div>
+   <div id='field-2-0'></div>
+   <div id='field-2-1'></div>
+   <div id='field-2-2'></div>
+   <div id='field-2-3'></div>
+   <div id='field-2-4'></div>
+   <div id='field-2-5'></div>
+   <div id='field-2-6'></div>
+   <div id='field-2-7'></div>
+   <div id='field-2-8'></div>
+   <div id='field-2-9'></div>
+   <div id='field-2-10'></div>
+   <div id='field-2-11'></div>
+   <div id='field-2-12'></div>
+   <div id='field-2-13'></div>
+   <div id='field-2-14'></div>
+   <div id='field-3-0'></div>
+   <div id='field-3-1'></div>
+   <div id='field-3-2'></div>
+   <div id='field-3-3'></div>
+   <div id='field-3-4'></div>
+   <div id='field-3-5'></div>
+   <div id='field-3-6'></div>
+   <div id='field-3-7'></div>
+   <div id='field-3-8'></div>
+   <div id='field-3-9'></div>
+   <div id='field-3-10'></div>
+   <div id='field-3-11'></div>
+   <div id='field-3-12'></div>
+   <div id='field-3-13'></div>
+   <div id='field-3-14'></div>
+   <div id='field-4-0'></div>
+   <div id='field-4-1'></div>
+   <div id='field-4-2'></div>
+   <div id='field-4-3'></div>
+   <div id='field-4-4'></div>
+   <div id='field-4-5'></div>
+   <div id='field-4-6'></div>
+   <div id='field-4-7'></div>
+   <div id='field-4-8'></div>
+   <div id='field-4-9'></div>
+   <div id='field-4-10'></div>
+   <div id='field-4-11'></div>
+   <div id='field-4-12'></div>
+   <div id='field-4-13'></div>
+   <div id='field-4-14'></div>
+   <div id='field-5-0'></div>
+   <div id='field-5-1'></div>
+   <div id='field-5-2'></div>
+   <div id='field-5-3'></div>
+   <div id='field-5-4'></div>
+   <div id='field-5-5'></div>
+   <div id='field-5-6'></div>
+   <div id='field-5-7'></div>
+   <div id='field-5-8'></div>
+   <div id='field-5-9'></div>
+   <div id='field-5-10'></div>
+   <div id='field-5-11'></div>
+   <div id='field-5-12'></div>
+   <div id='field-5-13'></div>
+   <div id='field-5-14'></div>
+   <div id='field-6-0'></div>
+   <div id='field-6-1'></div>
+   <div id='field-6-2'></div>
+   <div id='field-6-3'></div>
+   <div id='field-6-4'></div>
+   <div id='field-6-5'></div>
+   <div id='field-6-6'></div>
+   <div id='field-6-7'></div>
+   <div id='field-6-8'></div>
+   <div id='field-6-9'></div>
+   <div id='field-6-10'></div>
+   <div id='field-6-11'></div>
+   <div id='field-6-12'></div>
+   <div id='field-6-13'></div>
+   <div id='field-6-14'></div>
+   <div id='field-7-0'></div>
+   <div id='field-7-1'></div>
+   <div id='field-7-2'></div>
+   <div id='field-7-3'></div>
+   <div id='field-7-4'></div>
+   <div id='field-7-5'></div>
+   <div id='field-7-6'></div>
+   <div id='field-7-7'></div>
+   <div id='field-7-8'></div>
+   <div id='field-7-9'></div>
+   <div id='field-7-10'></div>
+   <div id='field-7-11'></div>
+   <div id='field-7-12'></div>
+   <div id='field-7-13'></div>
+   <div id='field-7-14'></div>
+   <div id='field-8-0'></div>
+   <div id='field-8-1'></div>
+   <div id='field-8-2'></div>
+   <div id='field-8-3'></div>
+   <div id='field-8-4'></div>
+   <div id='field-8-5'></div>
+   <div id='field-8-6'></div>
+   <div id='field-8-7'></div>
+   <div id='field-8-8'></div>
+   <div id='field-8-9'></div>
+   <div id='field-8-10'></div>
+   <div id='field-8-11'></div>
+   <div id='field-8-12'></div>
+   <div id='field-8-13'></div>
+   <div id='field-8-14'></div>
+   <div id='field-9-0'></div>
+   <div id='field-9-1'></div>
+   <div id='field-9-2'></div>
+   <div id='field-9-3'></div>
+   <div id='field-9-4'></div>
+   <div id='field-9-5'></div>
+   <div id='field-9-6'></div>
+   <div id='field-9-7'></div>
+   <div id='field-9-8'></div>
+   <div id='field-9-9'></div>
+   <div id='field-9-10'></div>
+   <div id='field-9-11'></div>
+   <div id='field-9-12'></div>
+   <div id='field-9-13'></div>
+   <div id='field-9-14'></div>
+   <div id='field-10-0'></div>
+   <div id='field-10-1'></div>
+   <div id='field-10-2'></div>
+   <div id='field-10-3'></div>
+   <div id='field-10-4'></div>
+   <div id='field-10-5'></div>
+   <div id='field-10-6'></div>
+   <div id='field-10-7'></div>
+   <div id='field-10-8'></div>
+   <div id='field-10-9'></div>
+   <div id='field-10-10'></div>
+   <div id='field-10-11'></div>
+   <div id='field-10-12'></div>
+   <div id='field-10-13'></div>
+   <div id='field-10-14'></div>
+   <div id='field-11-0'></div>
+   <div id='field-11-1'></div>
+   <div id='field-11-2'></div>
+   <div id='field-11-3'></div>
+   <div id='field-11-4'></div>
+   <div id='field-11-5'></div>
+   <div id='field-11-6'></div>
+   <div id='field-11-7'></div>
+   <div id='field-11-8'></div>
+   <div id='field-11-9'></div>
+   <div id='field-11-10'></div>
+   <div id='field-11-11'></div>
+   <div id='field-11-12'></div>
+   <div id='field-11-13'></div>
+   <div id='field-11-14'></div>
+   <div id='field-12-0'></div>
+   <div id='field-12-1'></div>
+   <div id='field-12-2'></div>
+   <div id='field-12-3'></div>
+   <div id='field-12-4'></div>
+   <div id='field-12-5'></div>
+   <div id='field-12-6'></div>
+   <div id='field-12-7'></div>
+   <div id='field-12-8'></div>
+   <div id='field-12-9'></div>
+   <div id='field-12-10'></div>
+   <div id='field-12-11'></div>
+   <div id='field-12-12'></div>
+   <div id='field-12-13'></div>
+   <div id='field-12-14'></div>
+   <div id='field-13-0'></div>
+   <div id='field-13-1'></div>
+   <div id='field-13-2'></div>
+   <div id='field-13-3'></div>
+   <div id='field-13-4'></div>
+   <div id='field-13-5'></div>
+   <div id='field-13-6'></div>
+   <div id='field-13-7'></div>
+   <div id='field-13-8'></div>
+   <div id='field-13-9'></div>
+   <div id='field-13-10'></div>
+   <div id='field-13-11'></div>
+   <div id='field-13-12'></div>
+   <div id='field-13-13'></div>
+   <div id='field-13-14'></div>
+   <div id='field-14-0'></div>
+   <div id='field-14-1'></div>
+   <div id='field-14-2'></div>
+   <div id='field-14-3'></div>
+   <div id='field-14-4'></div>
+   <div id='field-14-5'></div>
+   <div id='field-14-6'></div>
+   <div id='field-14-7'></div>
+   <div id='field-14-8'></div>
+   <div id='field-14-9'></div>
+   <div id='field-14-10'></div>
+   <div id='field-14-11'></div>
+   <div id='field-14-12'></div>
+   <div id='field-14-13'></div>
+   <div id='field-14-14'></div>
+   <div id='my-tray-0'></div>
+   <div id='my-tray-1'></div>
+   <div id='my-tray-2'></div>
+   <div id='my-tray-3'></div>
+   <div id='my-tray-4'></div>
+   <div id='my-tray-5'></div>
+   <div id='my-tray-6'></div>
   </div>
  </body>
 </html>
\ No newline at end of file

Modified: branches/trunk-reorg/projects/scrabble/website/scrabble.js
===================================================================
--- branches/trunk-reorg/projects/scrabble/website/scrabble.js	2007-10-09 05:52:40 UTC (rev 2233)
+++ branches/trunk-reorg/projects/scrabble/website/scrabble.js	2007-10-09 07:11:50 UTC (rev 2234)
@@ -1,32 +1,38 @@
 // -*- Java -*- (really Javascript)
 
 function setLetter(x, y, letter) {
-    $('field-' + x + '-' + y).innerHTML = '<img src="' + letter + '.png"/>';
+    $('field-' + x + '-' + y).innerHTML = '<img src="images/' + letter + '.png"/>';
 }
 
-function setWord(x, y, word, down) {
-    for (i = 0; i < word.length; i++) {
-        setLetter(x, y, word.charAt(i));
-        if (down) {
-            y++;
-        } else {
-            x++;
-        }
-    };
+function setMyTray(n, letter) {
+    $('my-tray-' + n).innerHTML = letter ? '<img src="images/' + letter + '.png"/>' : '';
 }
 
+function drawGameState (gameState) {
+    for (var i = 0; i < gameState.board.length; i++) {
+	var x = gameState.board[i][0];
+	var y = gameState.board[i][1];
+	var char = gameState.board[i][2];
+	setLetter(x, y, char);
+    }
+}
+
+function trayClick(letter) {
+    this.clicked = !this.clicked;
+    setElementPosition(this, { y: (this.clicked ? 680 : 665) });
+}
+
 function init() {
+    for (var i = 0; i < 7; i++) {
+	$('my-tray-' + i).onclick = trayClick;
+    }
+    setMyTray(0, 'A');
+    setMyTray(1, 'B');
+    setMyTray(2, 'C');
+    setMyTray(3, 'D');
+    setMyTray(4, 'E');
+    setMyTray(5, 'F');
+    setMyTray(6, 'G');
     var d = loadJSONDoc("/game/108");
-    d.addCallbacks(
-		   function (gameState) {
-	for (var i = 0; i < gameState.board.length; i++) {
-	    var x = gameState.board[i][0];
-	    var y = gameState.board[i][1];
-	    var char = gameState.board[i][2];
-	    setLetter(x, y, char);
-	}
-    },
-		   function (error) {
-		       alert(error);
-		   });
+    d.addCallbacks(drawGameState, alert);
 }




More information about the Bknr-cvs mailing list