Vous êtes sur la page 1sur 122

A

PROJECT ON
ONLINE SHOPPING
For partial fulfillment of the requirement of award
Of

Master of Computer Application

Dr.Sivanthi Aditanar College of


Engineering
Tiruchendur
SUBMITTED TO : SUBMITTED BY :
Mr. VetBosSel J.Vetrivel Pamdian

1
DATA
REPORT

2
ACKNOWLEDGEMENT

First and foremost we would like to express our gratitude to our guide
MR. NEERAJ GUPTA sir & other faculty member for giving us
wonderful opportunity to work on the project. We are very thankful to
him who was always ready to lend their helping hand to us. This project
has giving us fair exposure to some of the very interesting features of
“ONLINE SHOPPING” and “PHP” along beyond doubt it will help us
in the short and long run. We are very grateful to him introducing me to
some of very exciting features of “ONLINE SHOPPING”.

We are also thankful to all my teachers of DEWAN INSTITUTE


OF MANAGEMENT STUDIES. Who were simply full ideas and
whenever there was any need they shared those great ideas and concept
with us. And in the end, we would like to thank all those who helped us
during the testing phase of the project.

THAKING YOU………

3
DECLARATION
I hereby declare that this project report entitled
“ONLINE SHOPPING” submitting for partially
fulfillment of the requirement for the MCA VI SEM.
This report is only for educational purpose and not
for any other purpose.

DEEPSHIKHA SRIVASTVA 1207414016


MCA VI sem

4
“ONLINE
SHOPPING ”

5
INDEX
Sr no. Topics Page no.
1. Introduction
2 Objective
3 Requirement Analysis
4 Hardware & Software requirement
5 A Word about PHP
6 SDLC
7 System analysis
8 Feasibility study

9 System design

10 E – R diagram

11 Data flow diagram

12 Project layout

13 Database

6
14 Benefits

15 Coding

16 TESTING
17 IMPLEMENTATION
18 FUTURISTIC SCOPE
19 BIBLIOGRAPHY
20 CONCLUSION

7
INTRODUCTION
Shopping Cart

 Project Features
 Software Requirement
 Installation Steps
 Download Project

Shopping Cart System


Use of Shopping Cart system

Shopping Cart System is the Simple shopping Solution. It's a full-featured website and
shopping cart system that bends over backwards to give you the flexibility you need to
run your online store. The basic concept of the application is to allow the customer to
shop virtually using the Internet and allow customers to buy the items and articles of
their desire from the store. The information pertaining to the products are stores on an
RDBMS at the server side (store). The Server process the customers and the items are
shipped to the address submitted by them. The details of the items are brought
forward from the database for the customer view based on the selection through the
menu and the database of all the products are updated at the end of each transaction.

What is Shopping Cart system?

Online shopping is a form of electronic shopping store where the buyer is directly
online to the seller's computer usually via the internet. There is no intermediary
service. The sale and purchase transaction is completed electronically and
interactively in real-time. The development of this new system contains the following
activities, which try to develop on-line application by keeping the entire process in the
view of database integration approach. User gets its eamil id and password to acces
their account.
Administrator of Shopping Cart System has multiple features such as Add, Delete,
Update shopping Items.

Features of shopping cart system.

1. Secure registration and profile management facilities for Customers.

8
2. Browsing through the e-Mall to see the items that are there in each category
of products like Apparel, Kitchen accessories, Bath accessories, Food items etc.
3. Creating a Shopping cart so that customer can Shop N number of items and
checkout finally with the entire shopping cart
4. Customers should be able to mail the Shop about the items they would like to
see in the Shop
5. Secured mechanism for checking out from the Shop( Credit card verification
mechanism ).Updates to customers about the Recent Items in the Shop.
6. Uploading Most Purchased Items in each category of products in the Shop like
Apparel, Kitchen accessories, Bath accessories, Food items etc.

Brief overview of the technology:


Front end: HTML, CSS, JavaScript

1. HTML: HTML is used to create and save web document. E.g.


Notepad/Notepad++
2. CSS : (Cascading Style Sheets) Create attractive Layout
3. JavaScript: it is a programming language, commonly use with web browsers.

Back end: PHP, MySQL

1. PHP: Hypertext Preprocessor (PHP) is a technology that allows software


developers to create dynamically generated web pages, in HTML, XML, or
other document types, as per client request. PHP is open source software.
2. MySQL: MySql is a database, widely used for accessing querying, updating,
and managing data in databases.

Software Requirement(any one):

 WAMP Server
 XAMPP Server
 MAMP Server
 LAMP Server

Installation Steps:

1. Download zip file and Unzip file on your local server.


2. Put this file inside “c:/wamp/www/― .

9
3. Database Configuration:
Open phpmyadmin
Create Database named shop.
Import database shop.sql.
4. Open Your browser put inside URL: http://localhost/Design_Klara3/
5. To Login as admin putinside URL: http://localhost/Design_Klara3/admin

Admin login details: Login Id: admin


Password: priya123

10
OBJECTIVE
Starting the project, we should fully know about the meaning of project. There are
seven letters in the word “PROJECT”. Each character has its own technical
meaning.

P – planning : this deals with the idea at thinking and which are required for
project.

R – Resource : the money problem will be solved and resources from which
collected.

O – Operating : the procedure from which getting job is prepared in a systematic


way is known as operation.

J – Joint effort : this is directly proper to a operation output is a made of several


person working sincerely is known as JOIN EFFORT.

E – Engineering : A well educated engineer can do this work in a better way to


find out better result. Hence the project is as engineer function.

C – Cooperation : To make the project successfully, it is necessary for its success


and completion of project.

T – Technique : It must as it gives a better shape. It is not possible to complete the


project without technique.

The project is a system that gives the systematic way of planning and working.

Or

It representing the temporary task, in a scientific manner carried out of


engineers to achieve a goal.

11
REQUIREMENT ANALYSIS

A Subject People are Interested In


The most successful blogs are written about topics that have a broad appeal. The more people
who are interested in the topic you write about at your blog, the more people will search for
information on that topic and want to read about it.

Passion for Your Subject


As a blogger, you have to write about your blog's subject a lot. The writing is nonstop. If you
don't love your blog's topic, it will show. Readers can detect when a blogger is just going through
the motions rather than speaking from the heart.

Commitment
Successful blogging requires a massive amount of sweat equity and dedication. Building a
successful blog requires more than just publishing a new post a few times a week. The most
successful blogs are updated frequently (often several times each day), and the bloggers behind
those blogs work relentlessly to promote their blogs and drive traffic to them.

Time
Building a successful blog requires a massive time investment. Growing a blog doesn't stop with
publishing post. Top bloggers spend a lot of time everyday promoting their blogs, researching
and reading to drive traffic to it.

A Desire to Network
Socializing is a critical component of developing a successful blog. Blogging by nature is a
social medium, and successful blogs become so primarily because of the strong sense of
community surrounding them. Top bloggers take time to respond to comments and interact with

12
their blogs' readers as well as network on social sites, forums and more all in an effort to further
promote their blogs.

A Desire to Keep Learning


The blogosphere is ever-changing, which means top bloggers are always looking for new ways
to enhance their blogs by persistently researching anything and everything related to blogging.

A Love of Research and Reading


Successful bloggers read a lot in order to stay updated on their blogs' topics and the blogosphere
as a whole.

Creativity
A successful blog is typically updated very frequently. That means successful blogs always
provide fresh, unique content to their readers. Writing that new content requires a great deal of
creativity to keep readers from feeling bored or from feeling like the blog does not bring them
any value.

Patience
Blogging success does not happen overnight. Be prepared to stay dedicated to promoting your
blog for the long haul. Eventually, your hard work should pay off with increased traffic and a
significant growth in popularity of your blog. The key is to not give up.

13
HARDWARE & SOFTWARE
REQUIREMENT

Hardware requirement of project are :

Section Requirements and Recommendations

Supported Operating Systems Microsoft Windows 7 32/64 bit


Microsoft Windows 8 32/64 bit

Adobe Acrobat Reader 4.0 or higher


Additional Software
Requirements

Minimum resolution 800 x 600 pixel


Display 1024 x 768 pixel recommended

2 GB or more
RAM 4 GB or more recommended especially
for Microsoft Windows Vista, 7 and 8

1.5 GHz processor speed or higher


CPU

Software requirement of project are :

14
Section Requirements and Recommendations

Microsoft Windows XP
Supported Operating Systems Microsoft Windows Vista
Microsoft Windows 7 32/64 bit

.NET Framework 1.1 and SP 1 for .Net


Additional Software FrameWork 1.1
Requirements

15
A WORD ABOUT PHP

What is PHP?
PHP (Hypertext Preprocessor) is a widely-used open source general-purpose
scripting language that is especially suited for web development and can be
embedded into HTML.
The best things in using PHP are that it is extremely simple for a newcomer, but
offers many advanced features for a professional programmer. Don't be afraid
reading the long list of PHP's features. You can jump in, in a short time, and start
writing simple scripts in a few hours.

PHP is an acronym for "PHP: Hypertext Preprocessor". PHP is a widely-used,


open source scripting language. PHP scripts are executed on the server. PHP is free
to download and use

PHP is an amazing and popular language!


It is powerful enough to be at the core of the biggest blogging system on the web (Word
Press)!
It is deep enough to run the largest social network (Facebook)
It is also easy enough to be a beginner's first server side language

What is a PHP File?


PHP files can contain text, HTML, CSS, JavaScript, and PHP code. PHP code are
executed on the server, and the result is returned to the browser as plain HTML.
PHP files have extension ".php"

16
What Can PHP Do?
PHP can generate dynamic page content. PHP can create, open, read, write, delete,
and close files on the server. PHP can collect form data. PHP can send and receive
cookies. PHP can add, delete, modify data in your database. PHP can be used to
control user-access. PHP can encrypt data.

With PHP you are not limited to output HTML. You can output images, PDF files,
and even flash movies. You can also output any text, such as XHTML and XML.

Why PHP?
PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.) PHP is
compatible with almost all servers used today (Apache, IIS, etc.) PHP supports a
wide range of databases. PHP is free. Download it from the official PHP
resource: www.php.net. PHP is easy to learn and runs efficiently on the server side

How Can We Set Up PHP on Your Own PC :


However, if your server does not support PHP, you must:

Install a web server

Install PHP

Install a database, such as MySQL

The official PHP website (PHP.net) has installation instructions for


PHP: http://php.net/manual/en/install.php

17
SDLC
SOFTWARE DEVELOPMENT LIFE CYCLE
The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process. SDLC is a structure
followed by a development team within the software organization. It consists of a
detailed plan describing how to develop, maintain and replace specific software.
The life cycle defines a methodology for improving the quality of software and the
overall development process.
This term is also known as the software development process.

SDLC consists of following activities:

Planning:
The most important parts of software development, requirement gathering or
requirement analysis are usually done by the most skilled and experienced software
engineers in the organization. After the requirements are gathered from the client, a
scope document is created in which the scope of the project is determined and
documented.

Implementation:
The software engineers start writing the code according to the client's
requirements.

Testing:
This is the process of finding defects or bugs in the created software.

Documentation:

18
Every step in the project is documented for future reference and for the
improvement of the software in the development process. The design
documentation may include writing the application programming interface (API).

Deployment and maintenance:


The software is deployed after it has been approved for release.

Maintaining:
Software maintenance is done for future reference. Software improvement and
new requirements (change requests) can take longer than the time needed to create
the initial development of the software.

There are several software development models followed by various


organizations:

Waterfall Model:
This model involves finishing the first phase completely before commencing the
next one. When each phase is completed successfully, it is reviewed to see if the
project is on track and whether it is feasible to continue.

V-Shaped Model:
This model focuses on execution of processes in a sequential manner, similar to
the waterfall model but with more importance placed on testing. Testing
procedures are written even before the commencement of writing code. A system
plan is generated before starting the development phase.

Incremental Model:
This life cycle model involves multiple development cycles. The cycles are
divided up into smaller iterations. These iterations can be easily managed and go
through a set of phases including requirements, design, implementation and testing.
A working version of the software is produced during the first iteration, so working
software is created early in the development process.

19
SYSTEM ANALYSIS
System analysis is the process of examining a business situation for the purpose of
developing a system solution to a problem or devising improvements to such a
situation. Before the development of any system can begin, a project proposal is
prepared by the users of the potential system and/or by systems analysts and
submitted to an appropriate managerial structure within the organization.

Assuming that a new system is to be developed, the next phase is a system


analysis. Analysis involved a detailed study of the current system, leading to
specifications of a new system. Analysis is a detailed study of various operations
performed by a system and their relationship with in and outside the system.
During analysis, data are collected on the available files, decision points and
transactions handled by the present system. Interviews, on-site observation and
questionnaire are the tools used for system analysis. Using the following step it
becomes easy to draw the exact boundary of the new system under consideration :

Keeping in view the problems and new requirements workout the pros and cons
including new areas of the system.

All procedures, requirement must be analysed and documented in the form of


detailed data flow diagrams, data dictionary, logical data structures and miniature
specifications. System analysis also includes sub-dividing of complex process
involving the entire system, identifiers of data stores and manual processes.

The main points to be discussed in system analysis are :


Specification of what the new system is to accomplish based on the user
requirements.

Functional hierarchy showing the function to be performed by the new system and
their relationship with each other.
Function network which are similar to function hierarchy but they highlight the
those functions which are common to more than one procedure.

20
FEASIBILITY STUDY
The feasibility study investigates the problem and the information needs of the
stakeholders. It seeks to determine the resources required to provide an information
systems solution, the cost and benefits of such a solution, and the feasibility of
such a solution. The analyst conducting the study gathers information using a
variety of methods, the most popular of which are:

 Interviewing users, employees, managers, and customers.


 Developing and administering questionnaires to interested stakeholders,
such as potential users of the information system.
 Observing or monitoring users of the current system to determine their needs
as well as their satisfaction and dissatisfaction with the current system.
 Collecting, examining, and analyzing documents, reports, layouts,
procedures, manuals, and any other documentation relating to the operations
of the current system.
 Modeling, observing, and simulating the work activities of the current
system.

The goal of the feasibility study is to consider alternative information systems


solutions, evaluate their feasibility, and propose the alternative most suitable to the
organization. The feasibility of a proposed solution is evaluated in terms of its
components. These components are:

Economic feasibility :
The economic viability of the proposed system. The proposed project's cost and
benefits are evaluated. Tangible costs include fixed and variable costs, while
tangible benefits include cost savings, increased revenue, and increased profit. A
project is approved only if it covers its cost in a given period of time. However, a

21
project may be approved only on its intangible benefits such as those relating to
government regulations, the image of the organization, or similar considerations.

Technical feasibility :
The possibility that the organization has or can procure the necessary resources.
This is demonstrated if the needed hardware and software are available in the
marketplace or can be developed by the time of implementation.

Operational feasibility:
The ability, desire, and willingness of the stakeholders to use, support, and operate
the proposed computer information system. The stakeholders include management,
employees, customers, and suppliers. The stakeholders are interested in systems
that are easy to operate, make few, if any, errors, produce the desired information,
and fall within the objectives of the organization.

22
SYSTEM DESIGN
What is systems design?
Systems design is simply the design of systems. It implies a systematic and
rigorous approach to design—an approach demanded by the scale and complexity
of many systems problems.

Where did it come from?


Systems design first appeared shortly before World War II as engineers grappled
with complex communications and control problems. They formalized their work
in the new disciplines of information theory, operations research, and cybernetics.
In the 1960s, members of the design methods movement (especially Horst Rittel
and others at Ulm and Berkeley) transferred this knowledge to the design world.
Systems design continues to flourish at schools interested in design planning and
within the world of computer science. Among its most important legacies is a
research field known as design rationale, which concerns systems for making and
documenting design decisions.

What can designers learn from systems design?


Today, ideas from design methods and systems design may be more relevant to
designers than ever before—as more and more designers collaborate on designing
software and complex information spaces. Frameworks suggested by systems
design are especially useful in modeling interaction and conversation. They are
also useful in modeling the design process itself.

What is the most important thing to be aware of in systems


design?
A systems approach to design asks:
For this situation, what is the system?

23
What is the environment?
What goal does the system have in relation to its environment?
What is the feedback loop by which the system corrects its actions?
How does the system measure whether it has achieved its goal?
Who defines the system, environment, goal, etc.—and monitors it?
What resources does the system have for maintaining the relationship it desires?
Are its resources sufficient to meet its purpose?

Is systems design incompatible with user-centered design?


A systems approach to design is entirely compatible with a user-centered approach.
Indeed, the core of both approaches is understanding user goals. A systems
approach looks at users in relation to a context and in terms of their interaction
with devices, with each other, and with themselves.

What is the relationship between systems design and


cybernetics?
Cybernetics (the science of feedback) provides an approach to systems and a set of
frameworks and tools. Among the most important ideas for designers:
Definition of a system depends on point of view.
We are responsible for our actions.
All interaction is a form of conversation
All conversation involves goals, understandings, and agreement.

Are there times when systems design isn’t appropriate?


A systems approach to design is most appropriate for projects involving large
systems or systems of systems. Such projects typically involve many people, from
many disciplines, working together over an extended period of time. They need
tools to cope with their project’s complexity: to define goals, facilitate
communications, and manage processes. Solo designers working on small projects
may find the same tools a bit cumbersome for their needs.

24
E – R DIAGRAM
Entity Relationship Diagrams are a major data modeling tool and will help organize
the data in your project into entities and define the relationships between the entities.
This process has proved to enable the analyst to produce a good database structure so
that the data can be stored and retrieved in a most efficient manner.

Entity
A data entity is anything real or abstract about which we want to store data. Entity
types fall into five classes: roles, events, locations, tangible things or concepts. E.g.
employee, payment, campus, book. Specific examples of an entity are
called instances. E.g. the employee John Jones, Mary Smith's payment, etc.

Relationship
A data relationship is a natural association that exists between one or more entities.
E.g. Employees process payments. .

Attribute
A data attribute is a characteristic common to all or most instances of a particular
entity. Synonyms include property, data element, field. E.g. Name, address, Employee
Number, pay rate are all attributes of the entity employee. An attribute or combination
of attributes that uniquely identifies one and only one instance of an entity is called a
primary key or identifier. E.g. Employee Number is a primary key for Employee.

DATA FLOW DIAGRAM


25
A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data
through an information system. A DFD is often used as a preliminary step to
create an overview of the system. DFDs can also be used for the visualization of
data processing (structured design).
A DFD shows what kind of information will be input to and output from the
system, where the data will come from and go to, and where the data will be
stored. It does not show information about the timing of process or information
about whether processes will operate in sequence or in parallel.
History
Data flow diagrams were proposed by Larry Constantine. The original developer
of structured design, based on Martin and Estrin's "Data Flow Graph" model of
computation. Starting in the 1970s, data flow diagrams (DFD) became a popular
way to visualize the major steps and data involved in software system processes.
DFDs were usually used to show data flows in a computer system, although they
could in theory be applied to business process modeling. DFD were useful to
document the major data flows or to explore a new high-level design in terms of
data flow.

Data flow diagram Symbols:


External entities: rectangular box

26
Data flow: arrow headed lines
Process/ function: bubble/ circle.
Data store: narrow opened rectangle.

A data flow diagram represents the following:


External devices sending or receiving data.
Processes that change the data.
Data flow themselves.
data storage locations.

Types of data flow diagram :


There are two types of data flow diagrams, namely physical data flow diagrams
and logical data flow diagram and it is important to difference between the two:

27
Physical data flow diagram:
An implementation dependent view of the current system, showing what tasks are
carried out and how they are performed. Physical characteristic can include:
Names of people.
Form and document name and number.
Name of departments.
Master and transaction files.
Equipment and device used.
Locations.
Names of procedures.

Logical data flow diagram :


An implementation independent view of the system, focusing on the flow of data
between processes without regard for the specific devices, storage location or
people in the system. The physical characterstics listed above for physical data
flow diagram will not be specified.

28
PROJECT LAYOUT

PROJECT PLAN:
The Project Plan (sometimes called project initiation document or project scoping
report) is produced by the Project Manager following a brief Scoping Project
Study. It should establish:

What the project is to achieve

A detailed time schedule for carrying out the project

Details of the resources required - people, money, sections

Who is to be involved in the project

What the risks and implementation issues are.

A typical format is given below. As you may notice, the first five items (Part A)
focus on what the project is to achieve whilst the last four items (Part B) go into
more depth about how the project should be carried out.

Project Plan

Part A

1. Title of project,
2. Background to the Project
3. Terms of Reference & Key Objectives
4. Benefits & Costs Analysis
5. Risk Assessment

Part B

6. Resources likely to be needed


7. Costs
8. Proposed Project Organisation
9. Time Schedule
29
Project Plan

Part A
1. Title of project,
Together with the names of the Project Manager and Project Sponsor.

2. Background to the Project


A brief description of the background to the project including how the project
came about, what the project is about, why we are undertaking the project, and
what in very broad terms the outcome of the project will be to the organization.

3. Terms of Reference & Key Objectives


First, a brief overall definition and description of the project and its aims including
some reference to likely timescales, budget and resources, and what the project
will aim to deliver. Then a statement of what the project is to deliver - the key
objectives. The latter is often done as a listing the main stakeholders of the project
with a statement for each of what the project will aim to deliver to them.

4. Benefits & Costs Analysis


A brief statement of the main benefits to be gained from undertaking this project
and the main costs which will be incurred and which need to be controlled and
contained. Not necessarily a full cost-benefit analysis but a brief overview.

30
5. Risk Assessment
The main risks - implementation issues which may delay the project. The priority
items should be identified with suggestions as to how they could be averted or their
impact lessened.

One of the simplest and best ways of doing this is to create a ‘risk register’
identifying all the events that could cause problems for the project, and then
mapping these onto a Hi-Lo diagram.

Part B
6. Resources likely to be needed
The resources, money and peoples time, which the project manager will need to
carry out this project.

7. Costs
A good estimate of overall costs to be incurred and the required budget.

8. Proposed Project Organization


A description of the overall project organisation, in particular the project manager,
project sponsor (individual or group), team members if any, key contributors (IT,
stats, etc).

Also, if the project warrants project review meetings, when they should take place
and who should be involved.

9. Time Schedule
A time plan showing the key activities which need to take place and estimates of
when the activity needs to be carried out, with key milestone dates.

Best done with one of the planning techniques - Gantt Charts, Milestone Plans,
Stages Diagram, or even Critical Path Analysis if the project warrants it.
31
DATA BASE

SQL REPORT
Host: localhost
Database: blog
Generation Time: Apr 15, 2015 at 10:07 AM
Generated by: phpMyAdmin 3.3.2deb1ubuntu1 / MySQL 5.1.73-0ubuntu0.10.04.1
SQL query: SELECT * FROM `blog_comments` LIMIT 30, 30 ;
Rows: 22

comment_id post_id name comment comment_time

2012-06-07
31 10 Asd aaaaaaaaaaaaaaaaaaaaa
19:48:17

2012-06-08
32 12 Channi comments
08:46:41

2012-06-09
38 18 asdfdsaf A
18:52:19

2012-06-09
45 23 Channi asdfsf asdfsf asdfsf asdfsf asdfsf asdfsf asdfsf a...
20:14:26

2012-06-10
46 26 Poink here's a comment by poink
12:27:37

Some 2012-06-10
47 35 Wow...what an article....(js kidding..u suck!!)
User 19:18:00

Some s coming week, have fun doing this exercise 2012-06-10


48 35
User Becaus... 19:18:12

Some Then she does a rough sketch in pencil on the 2012-06-10


49 35
User canv... 19:18:21

32
comment_id post_id name comment comment_time

Some major scientific breakthroughs come after years 2012-06-10


50 26
User an... 19:18:33

Some f funny to keep watching people who want things 2012-06-10


51 26
User to... 19:18:41

Some Knowing what your dream is the beginning of 2012-06-10


52 34
User living... 19:21:28

Some 2012-06-10
53 34 May your life be filled with love, happiness and i...
User 19:21:38

Some 2012-06-10
54 33 Sublime Text 2 is currently available for all majo...
User 19:21:52

Some 2012-06-10
55 33 Sublime is in active development.
User 19:22:14

Some About the Author: I am a biotechnologist from 2012-06-10


56 32
User Indi... 19:22:32

Some It has also been observed by many throughout the 2012-06-10


57 32
User c... 19:22:44

Some 2012-06-10
58 32 Be brave and live a courageous life!
User 19:22:51

Some I have received a lot from this world through 2012-06-10


59 32
User many... 19:23:06

Some If the world would look at each one of us and ask 2012-06-10
61 31
User ... 19:23:45

Some 2012-06-10
62 31 If only we will recognize the importance of failur...
User 19:23:55

Some I have received a lot from this world through 2012-06-10


63 31
User many... 19:24:09

2015-03-20
64 39 Vinni Nbotug
13:36:23

33
BENEFITS
20 years ago, blogs didn’t exist. Today, there are over 150 million of them.

Still, I get a lot of puzzled looks when I tell people that having a blog is the single
most important thing a business, cause, or person can do to advance online. Even
though ‘blogging’ has hit it big, most people don’t get what makes blogging so
powerful, helpful, and beneficial.

To put an end to that, I’ve compile a list of the 20 biggest benefits of having a blog
below. If you’re among the uninitiated, prepare to be enlightened. If you’ve
already started a blog of your own then you can consider this an affirmation of why
you do what you — and a good place to direct people who still think that a blog is
just a pointless public diary.

The 20 Biggest Benefits of Blogging Are Given


Below:
1 Get a Better Job.

2 Start a New Business.

3 Get More Clients to Your Existing Business.

4 Become a Better Writer.

5 Become a Published Author.

34
6 Get Immediate Feedback.

7 Learn More About a Group of People.

8 Gain Influence.

9 Establish Yourself as an Expert in Your Field.

10 Build a Network.

11 Learn In-Demand Skills.

12 Improve Your SEO.

13 Collect Emails.

14 Stay Knowledgeable in Your Field.

15 Sell a Product.

16 Talk to Your Idols.

17 Express Yourself.

18 Help Others.

19 Build Trust Online.

20 Take Control of Your Online Identity.

35
ONLINE
SHOPPING

CODING……
36
/**

* jQuery lightBox plugin

* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)

* and adapted to me for use like a plugin from jQuery.

* @name jquery-lightbox-0.5.css

* @author Leandro Vieira Pinho - http://leandrovieira.com

* @version 0.5

* @date April 11, 2008

* @category jQuery plugin

* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)

* @license CCAttribution-ShareAlike 2.5 Brazil -


http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US

* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more


informations about this jQuery plugin

*/

#jquery-overlay {

position: absolute;

top: 0;

left: 0;

z-index: 90;

width: 100%;

height: 500px;

37
}

#jquery-lightbox {

position: absolute;

top: 0;

left: 0;

width: 100%;

z-index: 100;

text-align: center;

line-height: 0;

#jquery-lightbox a img { border: none; }

#lightbox-container-image-box {

position: relative;

background-color: #fff;

width: 250px;

height: 250px;

margin: 0 auto;

#lightbox-container-image { padding: 10px; }

#lightbox-loading {

position: absolute;

top: 40%;

left: 0%;
38
height: 25%;

width: 100%;

text-align: center;

line-height: 0;

#lightbox-nav {

position: absolute;

top: 0;

left: 0;

height: 100%;

width: 100%;

z-index: 10;

#lightbox-container-image-box > #lightbox-nav { left: 0; }

#lightbox-nav a { outline: none;}

#lightbox-nav-btnPrev, #lightbox-nav-btnNext {

width: 49%;

height: 100%;

zoom: 1;

display: block;

#lightbox-nav-btnPrev {

left: 0;
39
float: left;

#lightbox-nav-btnNext {

right: 0;

float: right;

#lightbox-container-image-data-box {

font: 10px Verdana, Helvetica, sans-serif;

background-color: #fff;

margin: 0 auto;

line-height: 1.4em;

overflow: auto;

width: 100%;

padding: 0 10px 0;

#lightbox-container-image-data {

padding: 0 10px;

color: #666;

#lightbox-container-image-data #lightbox-image-details {

width: 70%;

float: left;

text-align: left;
40
}

#lightbox-image-details-caption { font-weight: bold; }

#lightbox-image-details-currentNumber {

display: block;

clear: left;

padding-bottom: 1.0em;

#lightbox-secNav-btnClose {

width: 66px;

float: right;

padding-bottom: 0.7em;

/*

* jQuery 1.2.3 - New Wave Javascript

* Copyright (c) 2008 John Resig (jquery.com)

* Dual licensed under the MIT (MIT-LICENSE.txt)

* and GPL (GPL-LICENSE.txt) licenses.

* $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $

* $Rev: 4663 $

*/

41
(function(){if(window.jQuery)var _jQuery=window.jQuery;var
jQuery=window.jQuery=function(selector,context){return new
jQuery.prototype.init(selector,context);};if(window.$)var
_$=window.$;window.$=jQuery;var
quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var
isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,contex
t){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=
1;return this;}else if(typeof selector=="string"){var
match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])sel
ector=jQuery.clean([match[1]],context);else{var
elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return
jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else

selector=[];}}else

return new jQuery(context).find(selector);}else


if(jQuery.isFunction(selector))return new
jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return
this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.len
gth&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&sele
ctor[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:
function(){return this.length;},length:0,get:function(num){return
num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){
var ret=jQuery(elems);ret.prevObject=this;return
ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elem
s);return this;},each:function(callback,args){return
jQuery.each(this,callback,args);},index:function(elem){var ret=-
1;this.each(function(i){if(this==elem)ret=i;});return
ret;},attr:function(name,value,type){var
options=name;if(name.constructor==String)if(value==undefined)return
this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};option
s[name]=value;}return this.each(function(i){for(name in
options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i
,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat
(value)<0)value=undefined;return
this.attr(key,value,"curCSS");},text:function(text){if(typeof
42
text!="object"&&text!=null)return
this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNod
e(text));var
ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(t
his.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});}
);return
ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone
().insertBefore(this[0]).map(function(){var
elem=this;while(elem.firstChild)elem=elem.firstChild;return
elem;}).append(this);return this;},wrapInner:function(html){return
this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html
){return
this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return
this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appe
ndChild(elem);});},prepend:function(){return
this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insert
Before(elem,this.firstChild);});},before:function(){return
this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(
elem,this);});},after:function(){return
this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(
elem,this.nextSibling);});},end:function(){return
this.prevObject||jQuery([]);},find:function(selector){var
elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return
this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-
1?jQuery.unique(elems):elems);},clone:function(events){var
ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var
clone=this.cloneNode(true),container=document.createElement("div");container.ap
pendChild(clone);return jQuery.clean([container.innerHTML])[0];}else

return this.cloneNode(true);});var
clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[exp
ando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nod
eType==3)return;var events=jQuery.data(this,"events");for(var type in
events)for(var handler in
events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][han

43
dler].data);});return ret;},filter:function(selector){return
this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){re
turn
selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if
(selector.constructor==String)if(isSimple.test(selector))return
this.pushStack(jQuery.multiFilter(selector,this,true));else

selector=jQuery.multiFilter(selector,this);var
isArrayLike=selector.length&&selector[selector.length-
1]!==undefined&&!selector.nodeType;return this.filter(function(){return
isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selec
tor){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructo
r==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeNa
me||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector
){return
selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(select
or){return
this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var
elem=this[0];if(jQuery.nodeName(elem,"select")){var
index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select
-one";if(index<0)return null;for(var
i=one?index:0,max=one?index+1:options.length;i<max;i++){var
option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attrib
utes.value.specified?option.text:option.value;if(one)return
value;values.push(value);}}return values;}else

return(this[0].value||"").replace(/\r/g,"");}return undefined;}return
this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/ra
dio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||j
Query.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var
values=value.constructor==Array?value:[value];jQuery("option",this).each(functio
n(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,v
alues)>=0);});if(!values.length)this.selectedIndex=-1;}else

this.value=value;});},html:function(value){return
value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value

44
);},replaceWith:function(value){return
this.after(value).remove();},eq:function(i){return
this.slice(i,i+1);},slice:function(){return
this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callba
ck){return this.pushStack(jQuery.map(this,function(elem,i){return
callback.call(elem,i,elem);}));},andSelf:function(){return
this.add(this.prevObject);},data:function(key,value){var
parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var
data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&
this.length)data=jQuery.data(this[0],key);return
data==null&&parts[1]?this.data(parts[0]):data;}else

return
this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(th
is,key,value);});},removeData:function(key){return
this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,ta
ble,reverse,callback){var clone=this.length>1,elems;return
this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(r
everse)elems.reverse();}var
obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0]
,"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerD
ocument.createElement("tbody"));var
scripts=jQuery([]);jQuery.each(elems,function(){var
elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){s
cripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("s
cript",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQ
uery.prototype.init.prototype=jQuery.prototype;function
evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"scri
pt"});else

jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.paren
tNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=fun
ction(){var
target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.c
onstructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof
target!="object"&&typeof
45
target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((o
ptions=arguments[i])!=null)for(var name in
options){if(target===options[name])continue;if(deep&&options[name]&&typeof
options[name]=="object"&&target[name]&&!options[name].nodeType)target[nam
e]=jQuery.extend(target[name],options[name]);else
if(options[name]!=undefined)target[name]=options[name];}return target;};var
expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var
exclude=/z-?index|font-?weight|opacity|zoom|line-
?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window
.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof
fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");
},isXMLDoc:function(elem){return
elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&
&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data)
;if(data){var
head=document.getElementsByTagName("head")[0]||document.documentElement,
script=document.createElement("script");script.type="text/javascript";if(jQuery.br
owser.msie)script.text=data;else

script.appendChild(document.createTextNode(data));head.appendChild(script);hea
d.removeChild(script);}},nodeName:function(elem,name){return
elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cach
e:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var
id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return
name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem=
=window?windowData:elem;var
id=elem[expando];if(name){if(jQuery.cache[id]){delete
jQuery.cache[id][name];name="";for(name in
jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete
elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando)
;}delete
jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length=
=undefined){for(var name in
object)if(callback.apply(object[name],args)===false)break;}else

46
for(var
i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)bre
ak;}else{if(object.length==undefined){for(var name in
object)if(callback.call(object[name],name,object[name])===false)break;}else

for(var
i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!=
=false;value=object[++i]){}}return
object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=
value.call(elem,i);return
value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?
value+"px":value;},className:{add:function(elem,classNames){jQuery.each((clas
sNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.cl
assName.has(elem.className,className))elem.className+=(elem.className?"
":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)el
em.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),f
unction(className){return!jQuery.className.has(classNames,className);}).join(
" "):"";},has:function(elem,className){return
jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-
1;}},swap:function(elem,options,callback){var old={};for(var name in
options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.
call(elem);for(var name in
options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="
width"||name=="height"){var
val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=
="width"?["Left","Right"]:["Top","Bottom"];function
getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var
padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.c
urCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"bor
der"+this+"Width",true))||0;});val-
=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else

jQuery.swap(elem,props,getWH);return Math.max(0,val);}return
jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var
ret;function color(elem){if(!jQuery.browser.safari)return false;var
ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getProperty
47
Value("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr
(elem.style,"opacity");return
ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var
save=elem.style.outline;elem.style.outline="0 solid
black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force
&&elem.style&&elem.style[name])ret=elem.style[name];else
if(document.defaultView&&document.defaultView.getComputedStyle){if(name.m
atch(/float/i))name="float";name=name.replace(/([A-Z])/g,"-
$1").toLowerCase();var
getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getCo
mputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else
{var swap=[],stack=[];for(var
a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var
i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].sty
le.display="block";}ret=name=="display"&&swap[stack.length-
1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name
))||"";for(var
i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="
opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var
camelCase=name.replace(/\-(\w)/g,function(all,letter){return
letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase
];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var
style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=e
lem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style
.left=style;elem.runtimeStyle.left=runtimeStyle;}}return
ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof
context.createElement=='undefined')context=context.ownerDocument||context[0]&
&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!el
em)return;if(elem.constructor==Number)elem=elem.toString();if(typeof
elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){re
turn
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"><
/"+tag+">";});var
tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var
wrap=!tags.indexOf("<opt")&&[1,"<select
48
multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fiel
dset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!t
ags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<
td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!
tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></
table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTM
L=wrap[1]+elem+wrap[2];while(wrap[0]--
)div=div.lastChild;if(jQuery.browser.msie){var
tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.
firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.child
Nodes:[];for(var j=tbody.length-1;j>=0;--
j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].p
arentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.create
TextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.chil
dNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.no
deName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"fo
rm")||elem.options)ret.push(elem);else

ret=jQuery.merge(ret,elem);});return
ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType
==8)return undefined;var
fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.bro
wser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)ele
m[fix[name]]=value;return elem[fix[name]];}else
if(jQuery.browser.msie&&name=="style")return
jQuery.attr(elem.style,"cssText",value);else
if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")
&&(name=="action"||name=="method"))return
elem.getAttributeNode(name).nodeValue;else
if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(el
em,"input")&&elem.parentNode)throw"type property can't be
changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.t
est(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return
elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(va
lue!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,

49
"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}r
eturn
elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/o
pacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-
z])/ig,function(all,letter){return
letter.toUpperCase();});if(value!=undefined)elem[name]=value;return
elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeA
rray:function(array){var ret=[];if(typeof array!="array")for(var
i=0,length=array.length;i<length;i++)ret.push(array[i]);else

ret=array.slice(0);return ret;},inArray:function(elem,array){for(var
i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-
1;},merge:function(first,second){if(jQuery.browser.msie){for(var
i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else

for(var i=0;second[i];i++)first.push(second[i]);return
first;},unique:function(array){var ret=[],done={};try{for(var
i=0,length=array.length;i<length;i++){var
id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e)
{ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var
i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callba
ck(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var
ret=[];for(var i=0,length=elems.length;i<length;i++){var
value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.construct
or!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var
userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAg
ent.match(/.+(?:rv|it|ra|ie)[\/:
]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:
/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent
)&&!/(compatible|webkit)/.test(userAgent)};var
styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel
:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"ht
mlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFl
oat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"di
sabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"m
axLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"t
50
agName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return
elem.parentNode;},parents:function(elem){return
jQuery.dir(elem,"parentNode");},next:function(elem){return
jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return
jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return
jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return
jQuery.dir(elem,"previousSibling");},siblings:function(elem){return
jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return
jQuery.sibling(elem.firstChild);},contents:function(elem){return
jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.d
ocument:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[na
me]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof
selector=="string")ret=jQuery.multiFilter(selector,ret);return
this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prepend
To:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},f
unction(name,original){jQuery.fn[name]=function(){var args=arguments;return
this.each(function(){for(var
i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.e
ach({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)th
is.removeAttribute(name);},addClass:function(classNames){jQuery.className.ad
d(this,classNames);},removeClass:function(classNames){jQuery.className.remov
e(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.
className.has(this,classNames)?"remove":"add"](this,classNames);},remove:func
tion(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).a
dd(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(
this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery("
>*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},functi
on(name,fn){jQuery.fn[name]=function(){return
this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var
type=name.toLowerCase();jQuery.fn[type]=function(size){return
this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuer
y.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Com
pat"&&document.documentElement["client"+name]||document.body["client"+nam
e]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],docu
ment.documentElement["scroll"+name]),Math.max(document.body["offset"+name
51
],document.documentElement["offset"+name])):size==undefined?(this.length?jQu
ery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};
});var
chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-
]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new
RegExp("^>\\s*("+chars+"+)"),quickID=new
RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new
RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return
m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return
a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-
0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-
0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return
i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return
i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return
a.parentNode.getElementsByTagName("*")[0]==a;},"last-
child":function(a){return
jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-
child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");}
,parent:function(a){return
a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){retu
rn(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:func
tion(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(
a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(
a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){r
eturn!a.disabled;},disabled:function(a){return
a.disabled;},checked:function(a){return a.checked;},selected:function(a){return
a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:
function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.ty
pe;},file:function(a){return"file"==a.type;},password:function(a){return"password
"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return
"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){ret
urn"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/inp
ut|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return
jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},an
imated:function(a){return jQuery.grep(jQuery.timers,function(fn){return
52
a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4
*\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new
RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var
old,cur=[];while(expr&&expr!=old){old=expr;var
f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQ
uery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof
t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)r
eturn[];context=context||document;var
ret=[context],done=[],last,nodeName;while(t&&last!=t){var
r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var
m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var
c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nod
eName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(
"
")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=
null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var
j=0,rl=ret.length;j<rl;j++){var
n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.
nodeType==1){var
id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUp
perCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}
}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(
!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[
context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var
m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-
1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){
var
oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&
&oid&&typeof
oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oi
d&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var
i=0;ret[i];i++){var
tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].
nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getEle
53
mentsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#")
{var tmp=[];for(var
i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.r
eplace(re2,"");}}if(t){var
val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context
==ret[0])ret.shift();done=jQuery.merge(done,ret);return
done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var
i=0;r[i];i++){var pass=(" "+r[i].className+"
").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return
tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var
p=jQuery.parse,m;for(var
i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\
\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQ
uery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else
if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var
tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var
a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQ
uery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=
m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-
m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.
push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var
merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-
)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"
0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var
i=0,rl=r.length;i<rl;i++){var
node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]
){var c=1;for(var
n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;
merge[id]=true;}var
add=false;if(first==0){if(node.nodeIndex==last)add=true;}else
if((node.nodeIndex-last)%first==0&&(node.nodeIndex-
last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var
fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof
fn=="string")fn=eval("false||function(a,i){return
"+fn+";}");r=jQuery.grep(r,function(elem,i){return
54
fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var
cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cu
r);cur=cur[dir];}return
matched;},nth:function(cur,result,dir,elem){result=result||1;var
num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return
cur;},sibling:function(n,elem){var
r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}ret
urn
r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||
elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)
elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var
fn=handler;handler=function(){return
fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var
events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.
data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof
jQuery=="undefined"||jQuery.event.triggered)return
val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return
val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var
parts=type.split(".");type=parts[0];handler.type=parts[1];var
handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.spe
cial[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventL
istener)elem.addEventListener(type,handle,false);else
if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]
=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:f
unction(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var
events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(type
of types=="string"&&types.charAt(0)=="."))for(var type in
events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handl
er;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var
parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete
events[type][handler.guid];else

for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete
events[type][handler];for(ret in
events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[typ

55
e].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEvent
Listener(type,jQuery.data(elem,"handle"),false);else
if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret
=null;delete events[type];}}});}for(ret in events)break;if(!ret){var
handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeDat
a(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data
,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){t
ype=type.slice(0,-1);var
exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]
).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return
undefined;var
val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefa
ult;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(excl
usive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val
=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem[
"on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQu
ery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret
!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.node
Name(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){
}}this.triggered=false;}return val;},handle:function(event){var
val;event=jQuery.event.fix(event||window.event||{});var
parts=event.type.split(".");event.type=parts[0];var
handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args
=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in
handlers){var
handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]
&&!event.exclusive||handler.type==parts[1]){var
ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDe
fault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.prev
entDefault=event.stopPropagation=event.handler=event.data=null;return
val;},fix:function(event){var
originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault
=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();origin
alEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.sto
pPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};i
56
f(!event.target)event.target=event.srcElement||document;if(event.target.nodeType=
=3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.f
romElement)event.relatedTarget=event.fromElement==event.target?event.toEleme
nt:event.fromElement;if(event.pageX==null&&event.clientX!=null){var
doc=document.documentElement,body=document.body;event.pageX=event.client
X+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-
(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&bod
y.scrollTop||0)-
(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?ev
ent.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!eve
nt.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&eve
nt.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0
)));return
event;},special:{ready:{setup:function(){bindReady();return;},teardown:function()
{return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return
false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);retu
rn true;},teardown:function(){if(jQuery.browser.msie)return
false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);r
eturn true;},handler:function(event){if(withinElement(event,this))return
true;arguments[0].type="mouseenter";return
jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQu
ery.browser.msie)return
false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);retur
n true;},teardown:function(){if(jQuery.browser.msie)return
false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);re
turn true;},handler:function(event){if(withinElement(event,this))return
true;arguments[0].type="mouseleave";return
jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(t
ype,data,fn){return
type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,t
ype,fn||data,fn&&data);});},one:function(type,data,fn){return
this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbin
d(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(t
ype,fn){return
this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,d
57
ata,fn){return
this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler
:function(type,data,fn){if(this[0])return
jQuery.event.trigger(type,data,this[0],false,fn);return
undefined;},toggle:function(){var args=arguments;return
this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDe
fault();return
args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut
){return
this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bind
Ready();if(jQuery.isReady)fn.call(document,jQuery);else

jQuery.readyList.push(function(){return fn.call(this,jQuery);});return
this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isR
eady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,fu
nction(){this.apply(document);});jQuery.readyList=null;}jQuery(document).trigge
rHandler("ready");}}});var readyBound=false;function
bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListen
er&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",j
Query.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.
isReady)return;try{document.documentElement.doScroll("left");}catch(error){setT
imeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)do
cument.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)ret
urn;for(var
i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTi
meout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari
){var
numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"
&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(
numStyles===undefined)numStyles=jQuery("style,
link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTime
out(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"lo
ad",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclic
k,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"sub
mit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=f

58
unction(fn){return fn?this.bind(name,fn):this.trigger(name);};});var
withinElement=function(event,elem){var
parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parent
Node;}catch(error){parent=elem;}return
parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(docum
ent).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.is
Function(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var
selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){
};var
type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=n
ull;}else{params=jQuery.param(params);type="POST";}var
self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:fun
ction(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQ
uery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find
(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});re
turn this;},serialize:function(){return
jQuery.param(this.serializeArray());},serializeArray:function(){return
this.map(function(){return
jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(fun
ction(){return
this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||
/text|hidden|password/i.test(this.type));}).map(function(i,elem){var
val=jQuery(this).val();return
val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{nam
e:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("
ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),functio
n(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new
Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isF
unction(data)){callback=data;data=null;}return
jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getS
cript:function(url,callback){return
jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return
jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQue
ry.isFunction(data)){callback=data;data={};}return
jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},aja
59
xSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettin
gs:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-
urlencoded",processData:true,async:true,data:null,username:null,password:null,acc
epts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript,
application/javascript",json:"application/json,
text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){
var
jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQ
uery.ajaxSettings,s));if(s.data&&s.processData&&typeof
s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.to
LowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.js
onp||"callback")+"=?";}else
if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"
=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.u
rl.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+
jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[
jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;tr
y{delete
window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="s
cript"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()
=="get"){var ts=(new Date()).getTime();var
ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.
match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url
+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)j
Query.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s
.dataType=="script"&&s.type.toLowerCase()=="get"){var
head=document.getElementsByTagName("head")[0];var
script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.c
harset=s.scriptCharset;if(!jsonp){var
done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.r
eadyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;su
ccess();complete();head.removeChild(script);}};}head.appendChild(script);return
undefined;}var requestDone=false;var xml=window.ActiveXObject?new
ActiveXObject("Microsoft.XMLHTTP"):new
XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.
60
data)xml.setRequestHeader("Content-
Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-
Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00
GMT");xml.setRequestHeader("X-Requested-
With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accep
ts[s.dataType]?s.accepts[s.dataType]+",
*/*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)j
Query.event.trigger("ajaxSend",[xml,s]);var
onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readySt
ate==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival
=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"e
rror"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"succe
ss";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){stat
us="parsererror";}}if(status=="success"){var
modRes;try{modRes=xml.getResponseHeader("Last-
Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=mod
Res;if(!jsonp)success();}else

jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var
ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(x
ml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try
{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onready
statechange();function
success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxS
uccess",[xml,s]);}function
complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("
ajaxComplete",[xml,s]);if(s.global&&!--
jQuery.active)jQuery.event.trigger("ajaxStop");}return
xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.glob
al)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){tr
y{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.st
atus==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e)
{}return false;},httpNotModified:function(xml,url){try{var
xmlRes=xml.getResponseHeader("Last-Modified");return
xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xm

61
l.status==undefined;}catch(e){}return false;},httpData:function(r,type){var
ct=r.getResponseHeader("content-type");var
xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var
data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagNa
me=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);i
f(type=="json")data=eval("("+data+")");return data;},param:function(a){var
s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURI
Component(this.name)+"="+encodeURIComponent(this.value));});else

for(var j in
a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURI
Component(j)+"="+encodeURIComponent(this));});else

s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return
s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callba
ck){return
speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback)
:this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.
css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+"
/>").appendTo("body");this.style.display=elem.css("display");if(this.style.display=
="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,
callback){return
speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):thi
s.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"dis
play");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:functio
n(fn,fn2){return
jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.anim
ate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){j
Query(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(s
peed,callback){return
this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){r
eturn
this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callbac
k){return
this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){r
eturn
62
this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback)
{return
this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback)
{return
this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,cal
lback){var optall=jQuery.speed(speed,easing,callback);return
this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return
false;var opt=jQuery.extend({},optall);var
hidden=jQuery(this).is(":hidden"),self=this;for(var p in
prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return
jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="
width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}
}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({
},prop);jQuery.each(prop,function(name,val){var e=new
jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"s
how":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-
.]+)(.*)$/),start=e.cur(true)||0;if(parts){var
end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||
1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])en
d=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else

e.custom(start,val,"");}});return
true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constru
ctor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return
queue(this[0],type);return
this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,t
ype).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clear
Queue,gotoEnd){var
timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var
i=timers.length-1;i>=0;i--
)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoE
nd)this.dequeue();return this;}});var
queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var
q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",a
rray?jQuery.makeArray(array):[]);return

63
q;};jQuery.fn.dequeue=function(type){type=type||"fx";return
this.each(function(){var
q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:
function(speed,easing,fn){var
opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuer
y.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.
constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.const
ructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.
complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(j
Query.isFunction(opt.old))opt.old.apply(this);};return
opt;},easing:{linear:function(p,n,firstNum,diff){return
firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-
Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(e
lem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.
orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.st
ep)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQu
ery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.styl
e.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.s
tyle[this.prop]==null)return this.elem[this.prop];var
r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-
10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from
,to,unit){this.startTime=(new
Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now
=this.start;this.pos=this.state=0;this.update();var self=this;function
t(gotoEnd){return
self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==nul
l){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var
i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--
,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},
show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);t
his.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="
height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(
){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hid
e=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new
Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=thi
64
s.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var
done=true;for(var i in
this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this
.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.st
yle.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.el
em.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(thi
s.options.hide||this.options.show)for(var p in
this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&
&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);
return false;}else{var n=t-
this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options
.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.durati
on);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return
true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scroll
Top:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.
elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.no
w+fx.unit;}};jQuery.fn.offset=function(){var
left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var
parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=ele
m.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(use
rAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRe
ct){var
box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElemen
t.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollT
op,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-
doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while
(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^
t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!
fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^bo
dy$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParen
t.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tag
Name)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-
parent.scrollLeft,-
parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(pa
rent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"posit
65
ion")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))a
dd(-doc.body.offsetLeft,-
doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.
body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));
}results={top:top,left:left};}function
border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(el
em,"borderTopWidth",true));}function
add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})();

/**

* jQuery lightBox plugin

* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)

* and adapted to me for use like a plugin from jQuery.

* @name jquery-lightbox-0.5.js

* @author Leandro Vieira Pinho - http://leandrovieira.com

* @version 0.5

* @date April 11, 2008

* @category jQuery plugin

* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)

* @license CCAttribution-ShareAlike 2.5 Brazil -


http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US

* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more


informations about this jQuery plugin

*/

// Offering a Custom Alias suport - More info:


http://docs.jquery.com/Plugins/Authoring#Custom_Alias
66
(function($) {

/**

* $ is an alias to jQuery object

*/

$.fn.lightBox = function(settings) {

// Settings to configure the jQuery lightBox plugin how you like

settings = jQuery.extend({

// Configuration related to overlay

overlayBgColor: '#000', // (string)


Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where
RR, GG, and BB are the hexadecimal values for the red, green, and blue values of
the color.

overlayOpacity: 0.8, // (integer) Opacity


value to overlay; inform: 0.X. Where X are number from 0 to 9

// Configuration related to navigation

fixedNavigation: false, // (boolean) Boolean that


informs if the navigation (next and prev button) will be fixed or not in the
interface.

// Configuration related to images

imageLoading: 'images/lightbox-ico-
loading.gif', // (string) Path and the name of the loading icon

imageBtnPrev: 'images/lightbox-btn-prev.gif',
// (string) Path and the name of the prev button image

imageBtnNext: 'images/lightbox-btn-next.gif',
// (string) Path and the name of the next button image

67
imageBtnClose: 'images/lightbox-btn-close.gif',
// (string) Path and the name of the close btn

imageBlank: 'images/lightbox-blank.gif',
// (string) Path and the name of a blank image (one pixel)

// Configuration related to container image box

containerBorderSize: 10, // (integer) If you


adjust the padding in the CSS for the container, #lightbox-container-image-box,
you will need to update this value

containerResizeSpeed: 400, // (integer) Specify the


resize duration of container image. These number are miliseconds. 400 is default.

// Configuration related to texts in caption. For example: Image


2 of 8. You can alter either "Image" and "of" texts.

txtImage: 'Image', // (string) Specify


text "Image"

txtOf: 'of', // (string) Specify


text "of"

// Configuration related to keyboard navigation

keyToClose: 'c', // (string) (c =


close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X
and the SCAPE key is used to.

keyToPrev: 'p', // (string) (p =


previous) Letter to show the previous image

keyToNext: 'n', // (string) (n =


next) Letter to show the next image.

// Don´t alter these variables in any way

imageArray: [],

activeImage: 0

68
},settings);

// Caching the jQuery object with all elements matched

var jQueryMatchedObj = this; // This, in this context, refer to jQuery


object

/**

* Initializing the plugin calling the start function

* @return boolean false

*/

function _initialize() {

_start(this,jQueryMatchedObj); // This, in this context, refer to


object (link) which the user have clicked

return false; // Avoid the browser following the link

/**

* Start the jQuery lightBox plugin

* @param object objClicked The object (link) whick the user have
clicked

* @param object jQueryMatchedObj The jQuery object with all


elements matched

*/

function _start(objClicked,jQueryMatchedObj) {

69
// Hime some elements to avoid conflict with overlay in IE.
These elements appear above the overlay.

$('embed, object, select').css({ 'visibility' : 'hidden' });

// Call the function to create the markup structure; style some


elements; assign events in some elements.

_set_interface();

// Unset total images in imageArray

settings.imageArray.length = 0;

// Unset image active information

settings.activeImage = 0;

// We have an image set? Or just an image? Let´s see it.

if ( jQueryMatchedObj.length == 1 ) {

settings.imageArray.push(new
Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));

} else {

// Add an Array (as many as we have), with href and title


atributes, inside the Array that storage the images references

for ( var i = 0; i < jQueryMatchedObj.length; i++ ) {

settings.imageArray.push(new
Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute
('title')));

while ( settings.imageArray[settings.activeImage][0] !=
objClicked.getAttribute('href') ) {

70
settings.activeImage++;

// Call the function that prepares image exibition

_set_image_to_view();

/**

* Create the jQuery lightBox plugin interface

* The HTML markup will be like that:

<div id="jquery-overlay"></div>

<div id="jquery-lightbox">

<div id="lightbox-container-image-box">

<div id="lightbox-container-image">

<img src="../fotos/XX.jpg" id="lightbox-


image">

<div id="lightbox-nav">

<a href="#" id="lightbox-nav-


btnPrev"></a>

<a href="#" id="lightbox-nav-


btnNext"></a>

</div>

<div id="lightbox-loading">

<a href="#" id="lightbox-loading-


link">

71
<img src="../images/lightbox-
ico-loading.gif">

</a>

</div>

</div>

</div>

<div id="lightbox-container-image-data-box">

<div id="lightbox-container-image-data">

<div id="lightbox-image-details">

<span id="lightbox-image-details-
caption"></span>

<span id="lightbox-image-details-
currentNumber"></span>

</div>

<div id="lightbox-secNav">

<a href="#" id="lightbox-secNav-


btnClose">

<img src="../images/lightbox-
btn-close.gif">

</a>

</div>

</div>

</div>

</div>

72
*

*/

function _set_interface() {

// Apply the HTML markup into body tag

$('body').append('<div id="jquery-overlay"></div><div
id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-
container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a
href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-
btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-
loading-link"><img src="' + settings.imageLoading +
'"></a></div></div></div><div id="lightbox-container-image-data-box"><div
id="lightbox-container-image-data"><div id="lightbox-image-details"><span
id="lightbox-image-details-caption"></span><span id="lightbox-image-details-
currentNumber"></span></div><div id="lightbox-secNav"><a href="#"
id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose +
'"></a></div></div></div></div>');

// Get page sizes

var arrPageSizes = ___getPageSize();

// Style overlay and show it

$('#jquery-overlay').css({

backgroundColor: settings.overlayBgColor,

opacity: settings.overlayOpacity,

width: arrPageSizes[0],

height: arrPageSizes[1]

}).fadeIn();

// Get page scroll

var arrPageScroll = ___getPageScroll();


73
// Calculate top and left offset for the jquery-lightbox div object
and show it

$('#jquery-lightbox').css({

top: arrPageScroll[1] + (arrPageSizes[3] / 10),

left: arrPageScroll[0]

}).show();

// Assigning click events in elements to close overlay

$('#jquery-overlay,#jquery-lightbox').click(function() {

_finish();

});

// Assign the _finish function to lightbox-loading-link and


lightbox-secNav-btnClose objects

$('#lightbox-loading-link,#lightbox-secNav-
btnClose').click(function() {

_finish();

return false;

});

// If window was resized, calculate the new overlay dimensions

$(window).resize(function() {

// Get page sizes

var arrPageSizes = ___getPageSize();

// Style overlay and show it

$('#jquery-overlay').css({

74
width: arrPageSizes[0],

height: arrPageSizes[1]

});

// Get page scroll

var arrPageScroll = ___getPageScroll();

// Calculate top and left offset for the jquery-lightbox div


object and show it

$('#jquery-lightbox').css({

top: arrPageScroll[1] + (arrPageSizes[3] / 10),

left: arrPageScroll[0]

});

});

/**

* Prepares image exibition; doing a image´s preloader to calculate it´s


size

*/

function _set_image_to_view() { // show the loading

// Show the loading

$('#lightbox-loading').show();

if ( settings.fixedNavigation ) {

$('#lightbox-image,#lightbox-container-image-data-
box,#lightbox-image-details-currentNumber').hide();

75
} else {

// Hide some elements

$('#lightbox-image,#lightbox-nav,#lightbox-nav-
btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-
image-details-currentNumber').hide();

// Image preload process

var objImagePreloader = new Image();

objImagePreloader.onload = function() {

$('#lightbox-
image').attr('src',settings.imageArray[settings.activeImage][0]);

// Perfomance an effect in the image container resizing it

_resize_container_image_box(objImagePreloader.width,objImagePreloader.
height);

// clear onLoad, IE behaves irratically with animated


gifs otherwise

objImagePreloader.onload=function(){};

};

objImagePreloader.src =
settings.imageArray[settings.activeImage][0];

};

/**

* Perfomance an effect in the image container resizing it

76
* @param integer intImageWidth The image´s width that will be
showed

* @param integer intImageHeight The image´s height that will be


showed

*/

function
_resize_container_image_box(intImageWidth,intImageHeight) {

// Get current width and height

var intCurrentWidth = $('#lightbox-container-image-


box').width();

var intCurrentHeight = $('#lightbox-container-image-


box').height();

// Get the width and height of the selected image plus the
padding

var intWidth = (intImageWidth + (settings.containerBorderSize


* 2)); // Plus the image´s width and the left and right padding value

var intHeight = (intImageHeight +


(settings.containerBorderSize * 2)); // Plus the image´s height and the left and right
padding value

// Diferences

var intDiffW = intCurrentWidth - intWidth;

var intDiffH = intCurrentHeight - intHeight;

// Perfomance the effect

$('#lightbox-container-image-box').animate({ width: intWidth,


height: intHeight },settings.containerResizeSpeed,function() { _show_image(); });

if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) {

77
if ( $.browser.msie ) {

___pause(250);

} else {

___pause(100);

$('#lightbox-container-image-data-box').css({ width:
intImageWidth });

$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height:
intImageHeight + (settings.containerBorderSize * 2) });

};

/**

* Show the prepared image

*/

function _show_image() {

$('#lightbox-loading').hide();

$('#lightbox-image').fadeIn(function() {

_show_image_data();

_set_navigation();

});

_preload_neighbor_images();

};

78
/**

* Show the image information

*/

function _show_image_data() {

$('#lightbox-container-image-data-box').slideDown('fast');

$('#lightbox-image-details-caption').hide();

if ( settings.imageArray[settings.activeImage][1] ) {

$('#lightbox-image-details-
caption').html(settings.imageArray[settings.activeImage][1]).show();

// If we have a image set, display 'Image X of X'

if ( settings.imageArray.length > 1 ) {

$('#lightbox-image-details-
currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' +
settings.txtOf + ' ' + settings.imageArray.length).show();

/**

* Display the button navigations

*/

function _set_navigation() {

$('#lightbox-nav').show();

79
// Instead to define this configuration in CSS file, we define
here. And it´s need to IE. Just.

$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({
'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });

// Show the prev button, if not the first image in set

if ( settings.activeImage != 0 ) {

if ( settings.fixedNavigation ) {

$('#lightbox-nav-btnPrev').css({ 'background' :
'url(' + settings.imageBtnPrev + ') left 15% no-repeat' })

.unbind()

.bind('click',function() {

settings.activeImage =
settings.activeImage - 1;

_set_image_to_view();

return false;

});

} else {

// Show the images button for Next buttons

$('#lightbox-nav-
btnPrev').unbind().hover(function() {

$(this).css({ 'background' : 'url(' +


settings.imageBtnPrev + ') left 15% no-repeat' });

},function() {

80
$(this).css({ 'background' : 'transparent url('
+ settings.imageBlank + ') no-repeat' });

}).show().bind('click',function() {

settings.activeImage = settings.activeImage
- 1;

_set_image_to_view();

return false;

});

// Show the next button, if not the last image in set

if ( settings.activeImage != ( settings.imageArray.length -1 ) ) {

if ( settings.fixedNavigation ) {

$('#lightbox-nav-btnNext').css({ 'background' :
'url(' + settings.imageBtnNext + ') right 15% no-repeat' })

.unbind()

.bind('click',function() {

settings.activeImage =
settings.activeImage + 1;

_set_image_to_view();

return false;

});

} else {

81
// Show the images button for Next buttons

$('#lightbox-nav-
btnNext').unbind().hover(function() {

$(this).css({ 'background' : 'url(' +


settings.imageBtnNext + ') right 15% no-repeat' });

},function() {

$(this).css({ 'background' : 'transparent url('


+ settings.imageBlank + ') no-repeat' });

}).show().bind('click',function() {

settings.activeImage = settings.activeImage
+ 1;

_set_image_to_view();

return false;

});

// Enable keyboard navigation

_enable_keyboard_navigation();

/**

* Enable a support to keyboard navigation

*/

function _enable_keyboard_navigation() {

82
$(document).keydown(function(objEvent) {

_keyboard_action(objEvent);

});

/**

* Disable the support to keyboard navigation

*/

function _disable_keyboard_navigation() {

$(document).unbind();

/**

* Perform the keyboard actions

*/

function _keyboard_action(objEvent) {

// To ie

if ( objEvent == null ) {

keycode = event.keyCode;

escapeKey = 27;

// To Mozilla

} else {

keycode = objEvent.keyCode;
83
escapeKey = objEvent.DOM_VK_ESCAPE;

// Get the key in lower case form

key = String.fromCharCode(keycode).toLowerCase();

// Verify the keys to close the ligthBox

if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode


== escapeKey ) ) {

_finish();

// Verify the key to show the previous image

if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) {

// If we´re not showing the first image, call the previous

if ( settings.activeImage != 0 ) {

settings.activeImage = settings.activeImage - 1;

_set_image_to_view();

_disable_keyboard_navigation();

// Verify the key to show the next image

if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) {

// If we´re not showing the last image, call the next

if ( settings.activeImage != ( settings.imageArray.length -
1)){

84
settings.activeImage = settings.activeImage + 1;

_set_image_to_view();

_disable_keyboard_navigation();

/**

* Preload prev and next images being showed

*/

function _preload_neighbor_images() {

if ( (settings.imageArray.length -1) > settings.activeImage ) {

objNext = new Image();

objNext.src = settings.imageArray[settings.activeImage +
1][0];

if ( settings.activeImage > 0 ) {

objPrev = new Image();

objPrev.src = settings.imageArray[settings.activeImage -
1][0];

/**

85
* Remove jQuery lightBox plugin HTML markup

*/

function _finish() {

$('#jquery-lightbox').remove();

$('#jquery-overlay').fadeOut(function() { $('#jquery-
overlay').remove(); });

// Show some elements to avoid conflict with overlay in IE.


These elements appear above the overlay.

$('embed, object, select').css({ 'visibility' : 'visible' });

/**

/ THIRD FUNCTION

* getPageSize() by quirksmode.com

* @return Array Return an array with page width, height and window
width, height

*/

function ___getPageSize() {

var xScroll, yScroll;

if (window.innerHeight && window.scrollMaxY) {

xScroll = window.innerWidth + window.scrollMaxX;

yScroll = window.innerHeight + window.scrollMaxY;

86
} else if (document.body.scrollHeight >
document.body.offsetHeight){ // all but Explorer Mac

xScroll = document.body.scrollWidth;

yScroll = document.body.scrollHeight;

} else { // Explorer Mac...would also work in Explorer 6 Strict,


Mozilla and Safari

xScroll = document.body.offsetWidth;

yScroll = document.body.offsetHeight;

var windowWidth, windowHeight;

if (self.innerHeight) { // all except Explorer

if(document.documentElement.clientWidth){

windowWidth =
document.documentElement.clientWidth;

} else {

windowWidth = self.innerWidth;

windowHeight = self.innerHeight;

} else if (document.documentElement &&


document.documentElement.clientHeight) { // Explorer 6 Strict Mode

windowWidth =
document.documentElement.clientWidth;

windowHeight =
document.documentElement.clientHeight;

} else if (document.body) { // other Explorers

87
windowWidth = document.body.clientWidth;

windowHeight = document.body.clientHeight;

// for small pages with total height less then height of the
viewport

if(yScroll < windowHeight){

pageHeight = windowHeight;

} else {

pageHeight = yScroll;

// for small pages with total width less then width of the
viewport

if(xScroll < windowWidth){

pageWidth = xScroll;

} else {

pageWidth = windowWidth;

arrayPageSize = new
Array(pageWidth,pageHeight,windowWidth,windowHeight);

return arrayPageSize;

};

/**

/ THIRD FUNCTION

* getPageScroll() by quirksmode.com

88
*

* @return Array Return an array with x,y page scroll values.

*/

function ___getPageScroll() {

var xScroll, yScroll;

if (self.pageYOffset) {

yScroll = self.pageYOffset;

xScroll = self.pageXOffset;

} else if (document.documentElement &&


document.documentElement.scrollTop) { // Explorer 6 Strict

yScroll = document.documentElement.scrollTop;

xScroll = document.documentElement.scrollLeft;

} else if (document.body) {// all other Explorers

yScroll = document.body.scrollTop;

xScroll = document.body.scrollLeft;

arrayPageScroll = new Array(xScroll,yScroll);

return arrayPageScroll;

};

/**

* Stop the code execution from a escified time in milisecond

*/

89
function ___pause(ms) {

var date = new Date();

curDate = null;

do { var curDate = new Date(); }

while ( curDate - date < ms);

};

// Return the jQuery object for chaining. The unbind method is used to
avoid click conflict when the plugin is called more than once

return this.unbind('click').click(_initialize);

};

})(jQuery); // Call and execute the function immediately passing the jQuery object

/**

* jQuery lightBox plugin

* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)

* and adapted to me for use like a plugin from jQuery.

* @name jquery-lightbox-0.5.js

* @author Leandro Vieira Pinho - http://leandrovieira.com

* @version 0.5

* @date April 11, 2008

* @category jQuery plugin

* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)

* @license CCAttribution-ShareAlike 2.5 Brazil -


http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US

90
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more
informations about this jQuery plugin

*/

(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBg
Color:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/light
box-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-
prev.gif',imageBtnNext:'images/lightbox-btn-
next.gif',imageBtnClose:'images/lightbox-btn-
close.gif',imageBlank:'images/lightbox-
blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtO
f:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},set
tings);var jQueryMatchedObj=this;function
_initialize(){_start(this,jQueryMatchedObj);return false;}

function _start(objClicked,jQueryMatchedObj){$('embed, object,


select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;set
tings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(n
ew
Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var
i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new
Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute
('title')));}}

while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href'
)){settings.activeImage++;}

_set_image_to_view();}

function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div


id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-
container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a
href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-
btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-
loading-link"><img
src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-

91
container-image-data-box"><div id="lightbox-container-image-data"><div
id="lightbox-image-details"><span id="lightbox-image-details-
caption"></span><span id="lightbox-image-details-
currentNumber"></span></div><div id="lightbox-secNav"><a href="#"
id="lightbox-secNav-btnClose"><img
src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var
arrPageSizes=___getPageSize();$('#jquery-
overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayO
pacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var
arrPageScroll=___getPageScroll();$('#jquery-
lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).s
how();$('#jquery-overlay,#jquery-
lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-
btnClose').click(function(){_finish();return
false;});$(window).resize(function(){var
arrPageSizes=___getPageSize();$('#jquery-
overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var
arrPageScroll=___getPageScroll();$('#jquery-
lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});}
);}

function _set_image_to_view(){$('#lightbox-
loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-
container-image-data-box,#lightbox-image-details-
currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-
btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-
image-details-currentNumber').hide();}

var objImagePreloader=new
Image();objImagePreloader.onload=function(){$('#lightbox-
image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_i
mage_box(objImagePreloader.width,objImagePreloader.height);objImagePreloade
r.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activ
eImage][0];};function
_resize_container_image_box(intImageWidth,intImageHeight){var
intCurrentWidth=$('#lightbox-container-image-box').width();var
92
intCurrentHeight=$('#lightbox-container-image-box').height();var
intWidth=(intImageWidth+(settings.containerBorderSize*2));var
intHeight=(intImageHeight+(settings.containerBorderSize*2));var
intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-
intHeight;$('#lightbox-container-image-
box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,fu
nction(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie
){___pause(250);}else{___pause(100);}}

$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-
nav-btnPrev,#lightbox-nav-
btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};functi
on _show_image(){$('#lightbox-loading').hide();$('#lightbox-
image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neig
hbor_images();};function _show_image_data(){$('#lightbox-container-image-data-
box').slideDown('fast');$('#lightbox-image-details-
caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-
image-details-
caption').html(settings.imageArray[settings.activeImage][1]).show();}

if(settings.imageArray.length>1){$('#lightbox-image-details-
currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+'
'+settings.txtOf+' '+settings.imageArray.length).show();}}

function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-
btnPrev,#lightbox-nav-btnNext').css({'background':'transparent
url('+settings.imageBlank+') no-
repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-
nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-
repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImag
e-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-
btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.image
BtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent
url('+settings.imageBlank+') no-
repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeIma
ge-1;_set_image_to_view();return false;});}}

93
if(settings.activeImage!=(settings.imageArray.length-
1)){if(settings.fixedNavigation){$('#lightbox-nav-
btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-
repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImag
e+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-
btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.image
BtnNext+') right 15% no-
repeat'});},function(){$(this).css({'background':'transparent
url('+settings.imageBlank+') no-
repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeIma
ge+1;_set_image_to_view();return false;});}}

_enable_keyboard_navigation();}

function
_enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyb
oard_action(objEvent);});}

function _disable_keyboard_navigation(){$(document).unbind();}

function
_keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escape
Key=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESC
APE;}

key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose
)||(key=='x')||(keycode==escapeKey)){_finish();}

if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){setting
s.activeImage=settings.activeImage-
1;_set_image_to_view();_disable_keyboard_navigation();}}

if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.i
mageArray.length-
1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_
keyboard_navigation();}}}

94
function _preload_neighbor_images(){if((settings.imageArray.length-
1)>settings.activeImage){objNext=new
Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}

if(settings.activeImage>0){objPrev=new
Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}

function _finish(){$('#jquery-lightbox').remove();$('#jquery-
overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object,
select').css({'visibility':'visible'});}

function ___getPageSize(){var
xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.i
nnerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMax
Y;}else
if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.b
ody.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.bo
dy.offsetWidth;yScroll=document.body.offsetHeight;}

var
windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.
clientWidth){windowWidth=document.documentElement.clientWidth;}else{wind
owWidth=self.innerWidth;}

windowHeight=self.innerHeight;}else
if(document.documentElement&&document.documentElement.clientHeight){win
dowWidth=document.documentElement.clientWidth;windowHeight=document.do
cumentElement.clientHeight;}else
if(document.body){windowWidth=document.body.clientWidth;windowHeight=do
cument.body.clientHeight;}

if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;
}

if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}

arrayPageSize=new
Array(pageWidth,pageHeight,windowWidth,windowHeight);return

95
arrayPageSize;};function ___getPageScroll(){var
xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageX
Offset;}else
if(document.documentElement&&document.documentElement.scrollTop){yScroll
=document.documentElement.scrollTop;xScroll=document.documentElement.scro
llLeft;}else
if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scr
ollLeft;}

arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function


___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}

while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);

/**

* jQuery lightBox plugin

* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)

* and adapted to me for use like a plugin from jQuery.

* @name jquery-lightbox-0.5.js

* @author Leandro Vieira Pinho - http://leandrovieira.com

* @version 0.5

* @date April 11, 2008

* @category jQuery plugin

* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)

* @license CCAttribution-ShareAlike 2.5 Brazil -


http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US

* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more


informations about this jQuery plugin

*/
96
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>3
5?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--
)r[e(c)]=k[c]||e(c);k=[function(e){return
r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new
RegExp('\\b'+e(c)+'\\b','g'),k[c]);return
p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-
Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-
2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6
20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S,
1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v
1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<I.B;i++){4.h.1J(v
1m(I[i].17(\'J\'),I[i].17(\'2v\')))}}2n(4.h[4.9][0]!=1e.17(\'J\')){4.9++}D()}6
1O(){$(\'m\').31(\'<e g="q-13"></e><e g="q-5"><e g="5-s-b-w"><e g="5-s-
b"><1w g="5-b"><e 2V="" g="5-k"><a J="#" g="5-k-V"></a><a J="#" g="5-k-
X"></a></e><e g="5-Y"><a J="#" g="5-Y-29"><1w
W="\'+4.1M+\'"></a></e></e></e><e g="5-s-b-T-w"><e g="5-s-b-T"><e g="5-b-
A"><1i g="5-b-A-1t"></1i><1i g="5-b-A-1g"></1i></e><e g="5-1s"><a J="#"
g="5-1s-22"><1w W="\'+4.1W+\'"></a></e></e></e></e>\');f z=1D();$(\'#q-
13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-
5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-
29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-
13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6
D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-
k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-
b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6
1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f
1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-
w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1
H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6
2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-
w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-
1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\'
\'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C
M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c
15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-
97
V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-
O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-
1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l
15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-
X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-
O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-
O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6
2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6
2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((
14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-
1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6
2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v
1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-
13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f
o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j
7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f
y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j
7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j
7(d.m){y=d.m.1l;H=d.m.1A}7(r<H){1z=H}j{1z=r}7(o<y){1B=o}j{1B=y}21=v
1m(1B,1z,y,H);u 21};6 1p(){f o,r;7(Z.1Z){r=Z.1Z;o=Z.2M}j
7(d.t&&d.t.1F){r=d.t.1F;o=d.t.1Y}j 7(d.m){r=d.m.1F;o=d.m.1Y}2q=v 1m(o,r);u
2q};6 1H(2C){f 2x=v 2w();1q=2h;3h{f 1q=v 2w()}2n(1q-2x<2C)};u
N.11(\'C\').C(20)}})(23);',62,204,'||||settings|lightbox|function|if||activeImage||imag
e||document|div|var|id|imageArray||else|nav|css|body||xScroll||jquery|yScroll|contain
er|documentElement|return|new|box||windowWidth|arrPageSizes|details|length|clic
k|_set_image_to_view|show|false|window|windowHeight|jQueryMatchedObj|href|b
ackground|no|url|this|repeat|height|objImagePreloader|arrPageScroll|width|data|key
code|btnPrev|src|btnNext|loading|self||unbind|objEvent|overlay|key||gif|getAttribute|
images|imageBlank|_finish|hide|left|fixedNavigation|objClicked|containerBorderSi
ze|currentNumber|innerHeight|span|Image|bind|clientWidth|Array|intWidth|intImag
eWidth|___getPageScroll|curDate|intImageHeight|secNav|caption|btn|imageBtnPre
v|img|escapeKey|intHeight|pageHeight|clientHeight|pageWidth|transparent|___getP
ageSize|imageBtnNext|scrollTop|_disable_keyboard_navigation|___pause|intDiff
W|push|intCurrentHeight|intCurrentWidth|imageLoading|_resize_container_image
_box|_set_interface|onload|visibility|select|object|top|embed|fadeIn|imageBtnClose|
98
_start|scrollLeft|pageYOffset|_initialize|arrayPageSize|btnClose|jQuery|offsetHeigh
t|scrollHeight|innerWidth||scrollMaxY|link|remove|objPrev|objNext|keyToNext|key
Code|keyToPrev|overlayOpacity|null|_keyboard_action|keyToClose|_enable_keyb
oard_navigation|right|hover|while|txtOf|html|arrayPageScroll|_preload_neighbor_i
mages|txtImage|_set_navigation|_show_image_data|title|Date|date|_show_image|in
tDiffH|containerResizeSpeed|overlayBgColor|ms|attr|hidden|blank|resize|extend|clo
se|opacity|backgroundColor|next|pageXOffset|fn|offsetWidth|scrollWidth|prev|scro
llMaxX|visible|fadeOut|toLowerCase|style|fromCharCode|String|DOM_VK_ESCA
PE|event|keydown|append|of|ico|000|fast|for||slideDown||100|250|msie|400|browser|
animate|lightBox|do'.split('|'),0,{}))

99
ADMIN PART
CODING

100
LOGIN.PHP
<?php
session_start();
$name=$_SESSION['eid'];
include("config.php");

$catg=$_REQUEST['cat'];
$subcatg=$_REQUEST['subcat'];
$img=$_FILES['file']['tmp_name'];
$itemno=$_REQUEST['t1'];
$price=$_REQUEST['t2'];
$desc=$_REQUEST['text'];
$t=date("d-m-y h-i-s");
101
if($_REQUEST['sub'])
{
if(mysql_query("insert into items
values('$catg','$subcatg','$img','$ite
mno','$price','$desc','$t') "))
{

move_uploaded_file($_FILES['file'][
'tmp_name'],"itempics/$itemno.jpg")
;

echo "<font size='+2'>item


inserted successfully</font>";
102
}
else
{
echo "item is not inserted";
}
}

?><head>
<script>

function AjaxFunction(cat_id)
{
var httpxml;
103
try
{
// Firefox, Opera 8.0+, Safari
httpxml=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpxml=new
ActiveXObject("Msxml2.XMLHTTP
");

104
}
catch (e)
{
try
{
httpxml=new
ActiveXObject("Microsoft.XMLHTT
P");
}
catch (e)
{
alert("Your browser does
not support AJAX!");

105
return false;
}
}
}
function stateck()
{
if(httpxml.readyState==4)
{

var
myarray=eval(httpxml.responseText);
// Before adding new we must remove
previously loaded elements

106
for(j=document.testform.subcat.optio
ns.length-1;j>=0;j--)
{
document.testform.subcat.remove(j);
}

for (i=0;i<myarray.length;i++)
{
var optn =
document.createElement("OPTION"
);
optn.text = myarray[i];

107
optn.value = myarray[i];
document.testform.subcat.options.ad
d(optn);

}
}
}
var url="dd.php";
url=url+"?cat_id="+cat_id;
url=url+"&sid="+Math.random();
httpxml.onreadystatechange=stateck;
httpxml.open("GET",url,true);
httpxml.send(null);
108
}
</script>

</head>

<style type="text/css">
<!--
.style3 {font-size: 18px; font-weight:
bold; }
-->
</style>
<body>
109
<br><br><br>
<center><font color="#660066"
size="+3">Add
Item</font></center>
<br><br>
<center><fieldset
style="width:50%">
<form name="testform"
method="post"
enctype="multipart/form-data" >
<table align="center">
<tr><td width="111"><span
class="style3">Category:</span></t
d>

110
<td width="264"><select name=cat
onChange="AjaxFunction(this.value
);">
<option value=''>Select
One</option>
<?php
require "config.php";// connection to
database
$q=mysql_query("select * from
category ");
while($n=mysql_fetch_array($q)){

111
echo "<option
value=".$n['cat_id'].">".$n['categor
y']."</option>";
}
?>

</select></td>
</tr>

<tr><td><span class="style3"> Sub


Category:</span></td>
<td><select name=subcat>

112
</select></td>
</tr>
<tr>
<td><span
class="style3">Image:</span></td>
<td><input name="file"
type="file"></td></tr>
<tr>
<td><span class="style3">Item No:
</span></td>
<td><label>
<input name="t1" type="text"
id="t1">
</label></td>
113
</tr>
<tr>
<td><span
class="style3">Price:</span></td>
<td><label>
<input name="t2" type="text"
id="t2">
</label></td>
</tr>
<tr>
<td><span
class="style3">Description:</span>
</td>

114
<td><textarea name="text"
cols="35"
rows="6"></textarea></td></tr>
<tr><td colspan="2"
align="center"><input name="sub"
type="submit"
value="Submit"></td></tr>
</table>
</form>
</fieldset></center>
</body>
</html>

115
TESTING

Software testing is the process of executing a program or system


with the intent of finding errors. Or, it involves any activity
aimed at evaluating an attribute or capability of a program or
system and determining that it meet its required results.
Software is not unlike other physical processes where inputs are
received and output are produced. Where software differs is in
the manner in which it is fails. Most physical systems fails in a
fixed (and reasonable small) set of ways. By contrast, software
can fail in many bizarre ways. Detecting all of the different
failure modes for software is generally infeasible.

Module testing:
Here testing is done at each module level. Each case has been
thoroughly tested to discover pitfalls.

System testing:
Here testing is done after all the modules have been integrated.

116
IMPLEMENTATION

The implementation phase is less creative than system design. It


is primarily concerned with user training, site preparation and
file conversion. During file testing, user acceptance is, tested
followed by user training. Depending on the nature of system,
extensive user training may be required. Conversion usually
takes place at about the same time the user is being trained.
Programming is thought to be modified as a result of
programming effort. Programming provides a “realty test” for
the assumption made by analyst.

System testing checks the deadlines and accuracy of the


system. To access, update and retrieve data from new files. Once
the programs become available, test data are read into the
computer and processed against the file provided. For testing, it
successful program is then run with “live” data. Otherwise, a
diagnostic test to locate and correct errors. In most conversion,
parallel run is conducted where the new system simultaneous
run both old system. This method, through costly, provided
added assurance against errors in the candidate system. This
method through costly, provided added assurance against errors

117
in the candidate system and also the user staff an opportunity to
gain experience through operation.

118
FUTURE SCOPE

The future of this project depend on whether the author has enough
spare time over the next 2 month to continue with the developing.
The author feels that last few remaining features would round off
the system. If the author was to try to sell this system then more
system testing would have to be done, in a particular a more
comprehensive real – world. Testing environment would have to be
adopted along with some real words usage. Multiple concurrent
users would be command in real world usage but have been difficult
to test for considering there was only tester involved in this project.
This type of system would benefit for the hardware in case of a
system failure for the software in case of newly found bugs, in
return of a subscription free.

119
BIBLIOGRAPHY

PHP 6.0 AND MY SQL : PHP 6.0 & PHP AND MY SQL

JAVA SCRIPT : PHP MY SQL & JAVA SCRIPT

HTML & CSS : EVEN BAYROUS

120
CONCLUSION

The final section of the paper is the


Conclusion section. Briefly summarize the
overall conclusion of the data analysis based
on the purpose of the study. Also explain the
importance of the major finding to educational
practice.

121
THANK
YOU

122

Vous aimerez peut-être aussi