@AngelEyes:
Najlepsza książka, jaką znam, do nauki samego JĘZYKA JavaScript, to "JavaScript -- Mocne strony" (autor: Douglas Crockford). Ale tam nie ma za wiele praktycznych skryptów do wklejenia na stronę po ew. zmodyfikowaniu. Książka uczy wykorzystywać sprawnie JavaScript do napisania DOWOLNEGO algorytmu. Skupia się na jego funkcyjności i niespotykanym modelu obiektowym (dziedziczenie prototypowe, a nie klasyczne).
Książka do tego jest zwięzła, niedroga i dobrze napisana.
Musisz jednak chcieć faktycznie nauczyć się tego języka i musisz samemu umieć wymyślać algorytmy.
Do tego trzeba się koniecznie nauczyć DOM. DOM to (w tym kontekście) odwzorowanie dokumentu HTML widoczne z poziomu języka JavaScript. Dzięki DOM można wpływać na dokument z poziomu JavaScriptu, czyli np. dodawać elementy (takie jak wiersze tabeli, nagłówki, paragrafy...), usuwać je i modyfikować/odczytywać czy to ich zawartość, czy to atrybuty. DOM to dość kiepski i niezbyt wygodny w użyciu interfejs, ale to standard opisany przez konsorcjum W3C, zaimplementowany w wielu językach programowania. W przeglądarkowym JavaScripcie też.
W sumie ciężko mi jest odpowiedzieć na Twoje pytanie. Ja wiedzę z zakresu JavaScriptu z jednej strony zbierałem latami, a z drugiej strony ucząc się go tak naprawdę na poważnie znałem już wiele języków programowania (w tym również i coś funkcyjnego) i nawet miałem solidne podstawy z dziedziny definiowania języków formalnych (czyli: jak się tworzy języki programowania) i kompilatorów/interpreterów (czyli: w jaki sposób przeglądarka przetwarza JavaScript). Więc niemal od razu rozumiałem pewne w JavaScripcie na o wiele głębszym poziomie niż ktoś, kto jest początkującym programistą.
Jedno jest pewne: jest dużo źródeł, które są strasznie lipne. Nie tylko źródła w Internecie, ale również książki. Ja od jakiegoś czasu nie kupuję już raczej książek o JS, na pewno nie takich dla początkujących, bo nie są mi potrzebne.
Dobrą książką, którą przeczytałem o JS był "Kuloodporny Ajax" (Jeremy Keith). Cienka książka skupiająca się na Ajaxie, choć na początku jest małe wprowadzenie do języka JavaScript od samych podstaw. Ale jakość kodu w tej książce jest bardzo dobra, sam styl pisania i rozdzielenie warstw też jest bardzo fajnie przedstawione. Książka dość cienka.
Przyzwoita jest też "Ajax dla zaawansowanych. Architektura i najlepsze rozwiązania" (Shawn M. Lauriat). To już jest grubsza książka, niestety skupia się trochę na Ajaxie, choć wcale nie tylko. Zawiera sporo informacji o obsłudze zdarzeń, tzw. wzorcu Obserwator, choć nie jest to chyba napisane w książce explicite. Wzorzec ten jest w przypadku projektowania interfejsów bardzo ważny. Obsługi zdarzeń używasz nawet w pierwszym poście tego topicu, choć akurat atrybuty onclick są prymitywnym narzędziem (normalnie używa się raczej addEventListener).
To nie są idealne książki dla Ciebie. Po prostu je znam i wiem, że są przyzwoite.
Jeśli napiszesz jakieś źródła czy książki to -- o ile znajdę czas -- postaram się tam zajrzeć i sprawdzić, czy chociaż jakość kodu jest przyzwoita, bo nieraz znajduje się prawdziwe suchary uczące złych nawyków :/. Dlatego np. książka Keitha jest taka dobra: niby bardziej o Ajaxie, ale uczy również DOM i podzielenia kodu na warstwy: po jednej dla struktury dokumentu (HTML), jego sposobu prezentacji, czyli wyglądu (CSS) i jego dynamicznego zachowania (JavaScript). Np. chodzi o to, że w JavaScripcie generalnie nie powinieneś ustawiać bezpośrednio koloru wiersza, który ma być dynamicznie podświetlony. Lepiej nadać wierszowi klasę o nazwie np. "highlight", a potem w CSS napisać ".highlight td { background: #EDD; ".
Możesz poszukać też w necie wykładów Douglasa Crockforda. Są bardzo fajne, choć dotyczą również zaawansowanych (ale bardzo, bardzo, BARDZO przydatnych) części języka. Crockrord jest znany jako "dziad JavaScriptu"; jest zresztą współtwórcą specyfikacji języka. Nie szczędzi jednak JavaScriptowi oszczerstw i mówi wprost, że to i to jest błędem czy jest bez sensu i powinno być inaczej.
Jeśli chcesz pisać poważny kod, to musisz zdawać sobie sprawę, że JavaScript to nie są takie proste wstawki jak masz w pierwszym poście. Gdzie w bliżej nieokreślony sposób rzucasz słowem kluczowym this i łączysz je z innymi elementami na stronie za pomocą kropek, nie do końca wiedząc co tu się dzieje ;). JavaScript to normalny język programowania. Kod JS przechowujesz w osobnym pliku i wygląda to całkiem podobnie do kodu C, C++ czy PHP. Ja np. pisałem w JavaScripcie aplikacje na 5-10 tys. linii kodu, podzielonego na moduły i (pseudo)klasy.