new Fx.Elements(Kwicks, {duration: 500,wait: false, transition:Fx.Transitions.quadOut})

If you’re reading this book, you probably already know what PHP is—one of the world’s most popular programming languages for web development. Flexible, scalable, easy to program in, and supported by an international community of developers and users, PHP is today in use on over fifteen million web sites, an impressive achievement, especially considering that the language was originally developed by volunteers who made its source code freely available to anyone who cared to ask for it! One of the most important factors driving PHP’s popularity over the last couple of years has been its support for a variety of databases, including MySQL, mSQL, Oracle, and Microsoft Access. By simplifying and streamlining database access, PHP enables developers to build complex data-driven web applications, while enjoying short development cycles because of the simplicity and flexibility of the language. One of the most powerful combinations in the open source arena today is the PHP/ MySQL combination. Like PHP, MySQL has open-source roots: it is a fast and reliable database management system that is rapidly acquiring a worldwide user base. By using PHP and MySQL together, users can benefit from the cost savings that accompany community-driven software, and also leverage off the immense number of freely available PHP/MySQL applications to reduce development and deployment time.

Internet scripting technology has come along at a very brisk pace. While its roots are lodged in text-based displays (due to very limited amounts of storage space and memory), over the years it has rapidly evolved into a visual and highly functional medium. As it grows, so do the tools necessary to maintain, produce, and develop for it. As developers continue to stretch the boundaries of what they can accomplish with this rapidly advancing technology, they have begun to request increasingly robust development tools. Indeed, to satisfy this demand, a great many tools have been created and made available to the self-proclaimed “web developer.” Languages such as HTML, PHP, ASP, and JavaScript have arisen to help the developer create and deploy his wares to the Internet. Each has evolved over the years, leaving today’s web developer with an amazingly powerful array of tools. However, while these tools grow increasingly powerful every day, several distinctions truly separate Internet applications from the more rooted desktop applications. Of the visible distinctions, perhaps the most obvious is the page request. In order to make something happen in a web application, a call has to be made to the server. In order to do that, the page must be refreshed to retrieve the updated information from the server to the client (typically a web browser such as Firefox or Internet Explorer). This is not a browser-specific liability; rather, the HTTP request/response protocol inherent in all web browsers (see Figure 1-1) is built to function in this manner. While theoretically this works fine, developers have begun to ask for a more seamless approach so that their application response times can more closely resemble the desktop application.

MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API. MooTools code respects strict standards and doesn't throw any warnings. It's well commented and has meaningful variable names: a joy to browse and a snap to understand. The base class object of the framework. Creates a new class, its initialize method will fire upon class instantiation. Initialize wont fire on instantiation when you pass null. Method implement => mplements the passed in properties to the base Class prototypes, altering the base class, unlike Class.extend.
Method extend =>Returns the copy of the Class extended with the passed in properties.

This book is intended as an in-depth introduction to the Prototype and Scriptaculous libraries. When documenting libraries, it is important to present a feature-by-feature account of the details, but also to present the libraries in context, and show how they fit into the bigger picture. This part of the book deals with the bigger picture. Chapter 1 provides an introduction to both libraries and concludes with a quick example of how they can be made to work for us. Prototype and Scriptaculous are designed to make the development of Ajax web applications simpler and easier, and to remove a lot of the repetitive drudge work. We therefore present the same application twice, first with and then without the help of these powerful libraries. We devote the rest of this part of the book to exploring a more detailed example application—an image browser called QuickGallery. We introduce the vanilla, non- Ajax version of the app in chapter 2, and discuss some of the limitations of traditional web applications. In chapters 3 and 4, we set about resolving these issues by introducing a variety of techniques for Ajax-enabling the QuickGallery app. The real purpose of chapters 3 and 4 is not to show you how to make a better image browser. Throughout these chapters, we explore Prototype’s Ajax helper classes and examine not only how they work, but what they can do to improve the workflow of a web application. We conclude by evaluating the various styles of Ajax that Prototype enables.