You are on page 1of 281

Major Project Report

On
Newspaper Payment App

Submitted By:
Aditya Sharma (06)
Ashish Kumar (18)
Hemant Vishwakarma (26)
Vishal Bharti (64)

In partial fulfillment for the award


of the degree of
DIPLOMA
In
INFORMATION TECHNOLOGY

HEWETT POLYTECHNIC
MAHANAGAR LUCKNOW
June 2023
ACKNOWLEDGMENT
I take this occasion to thank God Almighty for His blessings and grace, and for His

continuous support in our endeavors towards a successful culmination. I extend my sincere

and heartfelt thanks to our esteemed guide, Mr. DEVKI NANDAN SUKLA, for providing

me with the right guidance and advice in the crucial features and for showing me the right

way. I extend my sincere thanks to our respected Head of the division, Mr. PIYUSH

VERMA, for allowing us to use the facilities available. I would also like to thank the other

faculty members at this occasion. Last but not least, I would like to thank my friends and

family for the support and encouragement they have given me during the course of our

work.

Aditya Sharma

Ashish Kumar

Hemant Vishwakarma

Vishal Bharti

2
ABSTRACT
As the name specifies “Newspaper Payment Application” is software developed for managing online

payment of newspaper customers.

Identification of the drawbacks of the existing system leads to the designing of a computerized

system that will be compatible with the existing system with the system Which is more user friendly

and more GUI oriented. We can improve the efficiency of the system, thus overcoming the

drawbacks of the existing system.

● Less human error

● Strength and strain of manual labor can be reduced

● High security

● Data redundancy can be avoided to some extent

● Data consistency

● Easy to handle

● Easy data updating

● Easy record keeping

● Backup data can be easily generated

3
INDEX
1. INTRODUCTION
1.1. Introduction
1.2. Project Objective
1.3. Project Overview
1.4. Project Modules

2. ANALYSIS
2.1. Existing System
2.2. Proposed System
2.3. Study of the System
2.4. Feasibility Study
2.4.1. Feasibility Report
2.4.2. Technical Feasibility
2.4.3. Operational Feasibility
2.4.4. Economic Feasibility

3. REQUIREMENTS SPECIFICATION
3.1. Introduction
3.2. Hardware Requirements
3.3. Software Requirements
3.4. Performance Requirements

4
4. REQUIREMENTS SPECIFICATION
4.1. PHP
4.2. MYSQL

4.3. PHPMYADMIN’
4.4. Apache WebServer

4.5. Input Design

4.6. Output Design

5. SDLC METHODOLOGY
5.1. Introduction
5.2. Spiral Model
5.3. Advantages & Disadvantages

6. DESIGN
6.1. DFD Design

6.2. UML Design

6.3. ER Diagrams

6.4. Database Design

6.5. Database Table and Structure of DB Tables


6.6. Class Diagram

6.7. Architecture Flow

7. TESTING
7.1. Introduction
7.2. Types of Testing

5
8. OUTPUT SCREEN OF PROJECT(SCREENSHOTS)

9. IMPLEMENTATION
9.1. Introduction
9.2. Source Code

10. CONCLUSION

6
CHAPTER 1

INTRODUCTION

1.2 PROJECT OBJECTIVE:


● The objective of the project is to develop a system that automates the processes and
activities of payment transactions of newspaper customers.
● The purpose is to design a system using which one can perform all operations related to
online payment of newspaper bills and reselling of old newspapers.

1.3 PROJECT OVERVIEW:


In this section we shall discuss the limitation and drawback of the existing system that forced us to

take up this project. Really that work was very typical to manage the daily errors free records and

adding or removing any node from the server. This problem produces a need to change the

existing system.

Some of these shortcomings are being discussed below: -

● Low Functionality

7
With the existing system, the biggest problem was the low functionality.
The problem faced hampered the work. For small tasks like adding any
new node to the server or deleting a node or keeping a daily record we
have to appoint a minimum of two or three employees.

● Erroneous Input and Output


In the existing system, humans performed all the tasks. As in the
human tendency, error is also a possibility. Therefore, the inputs
entered by the person who is working in the

Company, in the registers may not be absolutely foolproof and may be


erroneous. As a result of wrong input, the output reports etc.will also be
wrong which would in turn affect the performance.

8
● Portability Problem

System that existed previously was manual. As a result, the system was less portable.
One has to carry the loads of many registers to take the data from one place to another. A
big problem was that the system was less flexible and if we wanted to calculate yearly or
monthly maintenance reports or efficiency reports, then it was a big headache.

● Security-
Security concerns were also one of the motives of the Company for the need of software.
In the registers, the data is not secure as anybody can tamper with the data written in the
registers. While in this software, just a password makes it absolutely secure from the
reach of unauthorized persons.

● Data Redundancy
In the case of a manual system, the registers are maintained in which a lot of data
is written.

● Processing Speed

In a manual system, maintaining a register and performing the necessary calculation has
proved to be a troublesome job, which takes a lot of time and may affect the performance
of the Company. But with this software we can have all the tasks performed in a fraction
of second by a single click thus making the troublesome job much easier.
● Manual Errors
When a number of tough tasks are prepared by the humans like preparation of reports,
performing long calculations then some human errors are obvious due to a number of
factors like mental strain, tiredness etc. But as we all know that computers never get tired
irrespective of the amount of work it has to do. So this software can nullify the
probability of manual error that improves the performance.
● Complexity in Work
In a manual system whenever a record is to be updated or to be deleted a lot of cutting
and overwriting needs to be done on the registers that are concerned that are deleted or
updated record, which makes the work very complex.

1.3 PROJECT MODULES:

Number of Modules
After careful analysis the system has been identified to have the following modules:

1. Administrator module
2. User(Traveler) module
3. Guest user

1. ADMINISTRATOR MODULE:

This module provides administrator related functionality. Administrator manages all


information and has access rights to add, delete, edit and view the data related to places,
travels, routes, bookings, Enquiries etc.

Packages—Admin will create the packages and Manage the packages (Create, Update, delete)

Users- Admin views all Information of all users.


Booking- Admin will be responsible for managing booking. Admin can confirm and cancel a
booking of a traveler.

Manage issues/ Complaints—Admin can take action on any issue /complaint raised by a user
(traveler) and Put remarks.

Manage Enquiries—admin can manage all enquiries raised by users(traveler).

10
Manage pages- Admin can edit the info of all pages that are display on the website,

Dashboard- Here admin can view all counts of booking, issues, Enquiries and Users .

Change password--- Admin can change own password.

2. USER (TRAVELER) MODULE:

Signup- Users can register themselves for booking.

Sign in- Here users can login with valid username and password.

Forgot Password—User can recover his/her own password.

My Profile- user can update own profile.

Tour history-After login users can book any tour that will show in Tour history. User can cancel
his/her booking before 24 hr of traveling.

Change Password---- User can own Password.

Write-use—here users can raise any issue related to booking. Cancelation etc.

3.Guest MODULE:

Guest users can visit the website and view all the content of the website. Guest users can also
Enquiry.

CHAPTER 2

ANALYSIS
2.1 EXISTING SYSTEM:

11
❑ In the present system a customer has to approach various agencies to find details of places and

to book tickets.

❑ This often requires a lot of time and effort.

❑ A customer may not get the desired information from these offices and often the customer

may be misguided.

❑ It is tedious for a customer to plan a particular journey and have it executed properly.

2.2 PROPOSED SYSTEM:

❑ The proposed system is a web based application and maintains a centralized repository of all

related information.

❑ The system allows one to easily access the relevant information and make necessary travel

arrangements.

❑ Users can decide about places they want to visit and make bookings online for travel and

accommodation.

2.3 STUDY OF THE SYSTEM:


To provide flexibility to the users, the interfaces have been developed that are accessible through a
browser. The GUI’S at the top level have been categorized as

1. Administrative user interface

2. The operational or generic user interface

12
The ‘administrative user interface’ concentrates on the consistent information that is practically part
of the organizational activities and which needs proper authentication for the data collection. These
interfaces help the administrators with all the transactional states like Data insertion, Data deletion
and Date updation along with the extensive data search capabilities.

The ‘operational or generic user interface’ helps the end users of the system in transactions through
the existing data and required services. The operational user interface also helps the ordinary users in
managing their own information in a customized manner as per the included flexibilities.

2.4 FEASIBILITY STUDY:

2.4.1 FEASIBILITY REPORT:

Preliminary investigation examines project feasibility; the likelihood the system will be useful
to the organization. The main objective of the feasibility study is to test the Technical, Operational
and Economical feasibility for adding new modules and debugging old running system. All systems
are feasible if they are given unlimited resources and infinite time. There are aspects in the feasibility
study portion of the preliminary investigation:

● Technical Feasibility
● Operation Feasibility
● Economical Feasibility

2.4.2 TECHNICAL FEASIBILITY:

The technical issue usually raised during the feasibility stage of the investigation includes the
following:

● Does the necessary technology exist to do what is suggested?

13
● Does the proposed equipment have the technical capacity to hold the data required to use the
new system?
● Will the proposed system provide adequate response to inquiries, regardless of the number or
location of users?

● Can the system be upgraded if developed?


● Are there technical guarantees of accuracy, reliability, ease of access and data security?

2.4.3 OPERATIONAL FEASIBILITY:

Proposed projects are beneficial only if they can be turned out into information systems, which
will meet the organization’s operating requirements. Operational feasibility aspects of the project are
to be taken as an important part of the project implementation. Some of the important issues raised
are to test the operational feasibility of a project includes the following: -

● Is there sufficient support for the management from the users?


● Will the system be used and work properly if it is being developed and implemented?
● Will there be any resistance from the user that will undermine the possible application
benefits?
This system is targeted to be in accordance with the above-mentioned issues. Beforehand, the
management issues and user requirements have been taken into consideration. So there is no question
of resistance from the users that can undermine the possible application benefits.

The well-planned design would ensure the optimal utilization of the computer resources and would
help in the improvement of performance status.

2.4.4 ECONOMIC FEASIBILITY:

A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in creating the
system is evaluated against the ultimate benefit derived from the new systems. Financial benefits

14
must equal or exceed the costs. The system is economically feasible. It does not require any
additional hardware or software.

CHAPTER 3

REQUIREMENTSSPECIFICATION
2.1 Introduction

To be used efficiently, all computer software needs certain hardware components or the other
software resources to be present on a computer. These prerequisites are known as(computer) system
requirements and are often used as a guideline as opposed to an absolute rule. Most software defines
two sets of system requirements: minimum and recommended. With increasing demand for higher
processing power and resources in newer versions of software, system requirements tend to increase
over time. Industry analysts suggest that this trend plays a bigger part in driving upgrades to existing
computer systems than technological advancements.

2.2 Hardware Requirements

1. Pentium IV Processor

2. 512 MB RAM

3. 40GB HDD

4. 1024 * 768 Resolution Color Monitor

2.3 Software Requirements


● You need PHP 5.2.0 or newer, with session support and the Standard PHP Library (SPL)

extension.

● To support uploading of ZIP files, you need the PHP zip extension.
15
● For proper support of multibyte strings (eg. UTF-8, which is currently default), you should install
mbstring and ctype extensions.

● You need GD2 support in PHP to display inline thumbnails of JPEGs (“image/jpeg: inline”)

with their original aspect ratio.

● When using the “cookie” authentication method, the mcrypt extension is strongly suggested for

most users and is required for 64–bit machines. Not using mcrypt will cause phpMyAdmin to

load pages significantly slower.

2.4 Performance Requirements

Performance is measured in terms of the output provided by the application. Requirement


specification plays an important part in the analysis of a system. Only when the requirement
specifications are properly given, it is possible to design a system, which will fit into required
environment. It rests largely with the users of the existing system to give the requirement
specifications because they are the people who finally use the system. This is because the
requirements have to be known during the initial stages so that the system can be designed according
to those requirements. It is very difficult to change the system once it has been designed and on the
other hand designing a system, which does not cater to the requirements of the user, is of no use.

The requirement specification for any system can be broadly stated as given below:

● The system should be able to interface with the existing system


● The system should be accurate
● The system should be better than the existing system
The existing system is completely dependent on the user to perform all the duties.

CHAPTER 4

SOFTWARESPECIFICATION
PHP TRIAD
16
PHPTriad installs a complete working PHP/MySQL server environment on Windows platforms (9x/

NT). Installs PHP, MySQL, Apache, and PHPMyAdmin.

PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to

include a command line interface capability and can be used in standalone graphical applications.

While PHP was originally created by RasmusLerdorf in 1995, the main implementation of PHP is

now produced by ThePHP Group and serves as the de facto standard for PHP as there is no formal

specification. PHP is free software released under the PHP License, however it is incompatible with

the GNU General Public License

(GPL), due to restrictions on the usage of the term PHP. It is a widely-used general-purpose

scripting language that is especially suited for web development and can be embedded into HTML.

It generally runs on a web server, taking PHP code as its input and creating web pages as output. It

can be deployed on most web servers and on almost every operating system and platform free of

charge. PHP is installed on more than 20 million websites and 1 million web servers.

PHP originally stood for Personal Home Page. It began in 1994 as a set of Common Gateway

Interface Binaries written in the C programming language by the Danish/Greenlandic programmer

RasmusLerdorf. Lerdorf initially created these Personal Home Page Tools to replace a small set of

Perl scripts he had been using to maintain his personal homepage. The tools were used to perform

tasks such as displaying his résumé and recording how much traffic his page was receiving. He

combined these binaries with his Form Interpreter to create PHP/FI, which had more functionality.

17
PHP/FI included a larger implementation for the C programming language and could communicate

with databases, enabling the building of simple, dynamic web applications.

Lerdorf released PHP publicly on June 8, 1995 to accelerate bug location and improve the code.

This release was named PHP version 2 and already had the basic functionality that PHP has today.

This included Perl-like variables, form handling, and the ability to embed HTML. The syntax was

similar to Perl but was more limited, simpler, and less consistent. ZeevSuraski and Andi Gutmans,

two Israeli developers at the Technion IIT, rewrote the parser in 1997 and formed the base of PHP

3, changing the language’s name to the recursive initialism PHP: Hypertext Preprocessor. The

development team officially released PHP/FI 2 in November 1997 after months of beta testing.

Afterwards, public testing of PHP 3 began, and the official launch came in June 1998. Suraski and

Gutmans then started a new rewrite of PHP’s core, producing the Zend Engine in 1999. They also

founded Zend Technologies in Ramat Gan, Israel.

On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. On July 13, 2004, PHP 5

was released, powered by the new Zend Engine II. PHP 5 included new features such as improved

support for object-oriented programming, the PHP Data Objects extension (which defines a

lightweight and consistent interface for accessing databases), and numerous performance

enhancements. The most recent update released by The PHP Group is for the older PHP version 4

code branch.

In 2008, PHP 5 became the only stable version under development. Late static binding has been

missing from PHP and will be added in version 5.3. PHP 6 is under development alongside PHP 5.

Major changes include the removal of register_globals, magic quotes, and safe mode. The reason

for the removals was because register_globals had given way to security holes, and magic quotes

had an unpredictable nature, and were best avoided. Instead, to escape characters, Magic quotes

18
may be substituted with the addslashes() function, or more appropriately an escape mechanism

specific to the database vendor itself like mysql_real_escape_string() for MySQL.

PHP does not have complete native support for Unicode or multibyte strings; Unicode support will

be included in PHP 6. Many high profile open source projects ceased to support PHP 4 in new

code as of February 5, 2008, due to the GoPHP5 initiative, provided by a consortium of PHP

developers promoting the transition from PHP 4 to PHP 5. It runs in both 32-bit and 64-bit

environments, but on Windows the only official distribution is 32-bit, requiring Windows 32-bit

compatibility mode to be enabled while using IIS in a 64-bit Windows environment. There is a

third-party distribution available for 64-bit Window.

Usage
PHP is a general-purpose scripting language that is especially suited for web development. PHP

generally runs on a web server, taking PHP code as its input and creating web pages as output. It can

also be used for command-line scripting and client-side GUI applications. PHP can be deployed on

most web servers, many operating systems and platforms, and can be used with many relational

database management systems. It is available free of charge, and the PHP Group provides the

complete source code for users to build, customize and extend for their own use.

PHP primarily acts as a filter, taking input from a file or stream containing text and/or PHP

instructions and outputs another stream of data; most commonly the output will be HTML. It can

automatically detect the language of the user. From PHP 4, the PHP parser compiles input to produce

bytecode for processing by the Zend Engine, giving improved performance over its interpreter

predecessor. Originally designed to create dynamic web pages, PHP’s principal focus is server-side

scripting,and it is similar to other server-side scripting.

19
languages that provide dynamic content from a web server to a client, such as Microsoft’s Active

Server Pages, Sun Microsystems’ JavaServer Pages, and mod_perl. PHP has also attracted the

development of many frameworks that provide building blocks and a design structure to promote

rapid application develo-pment (RAD). Some of these include CakePHP, Symfony, CodeIgniter, and

Zend Framework, offering features similar to other web application frameworks.

The LAMP architecture has become popular in the web industry as a way of deploying web applic-

ations. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL,

although the P may also refer to Python or Perl.

As of April 2007, over 20 million Internet domains were hosted on servers with PHP installed, and

PHP was recorded as the most popular Apache module. Significant websites are written in PHP

including the user-facing portion of Facebook, Wikipedia (MediaWiki), Yahoo!, MyYearbook , Digg,

Wordpress and Tagged. In addition to server-side scripting, PHP can be used to create stand-alone,

compiled applications and libraries, it can be used for shell scripting, and the PHP binaries can be

called from the command line.

Speed optimization

As with many scripting languages, PHP scripts are normally kept as human-readable source code,

even on production web servers. In this case, PHP scripts will be compiled at runtime by the PHP

engine, which increases their execution time. PHP scripts are able to be compiled before runtime

using PHP compilers as with other programming languages such as C (the language PHP and its

extensions are written in). Code optimizers aim to reduce the computational complexity of the

compiled code by reducing its size and making other changes that can reduce the execution time with

the overall goal of improving performance. The nature of the PHP compiler is such that there are

20
often opportunities for code optimization, and an example of a code optimizer is the Zend Optimizer

PHP extension.

Another approach for reducing overhead for high load PHP servers is using PHP accelerators. These

can offer significant performance gains by caching the compiled form of a PHP script in shared

memory to avoid the overhead of parsing and compiling the code every time the script runs.

Security

The National Vulnerability Database stores all vulnerabilities found in computer software. The

overall proportion of PHP-related vulnerabilities on the database amounted to: 12% in 2003, 20% in

2004, 28% in 2005, 43% in 2006, 36% in 2007, and 35% in 2008. Most of these PHP-related

vulnerabilities can be exploited remotely: they allow hackers to steal or destroy data from data

sources linked to the web server (such as an SQL database), send spam or contribute to DOS attacks

using malware, which itself can be installed on the vulnerable servers.

These vulnerabilities are caused mostly by not following best practice programming rules: technical

security flaws of the language itself or of its core libraries are not frequent. Recognizing that

programmers cannot be trusted, some languages include taint checking to detect automatically the

lack of input validation which induces many issues. However, such a feature is being developed for

PHP

Hosting PHP applications on a server requires a careful and constant attention to deal with these

security risks. There are advanced protection patches such as Suhosin and Hardening-Patch,

especially designed for web hosting environments. Installing PHP as a CGI binary rather than as an

Apache module is the preferred method for added security. With respect to securing the code itself,

PHP code can be obfuscated to make it difficult to read while remaining functional.

21
Syntax

<html>
<head>

<title>PHP Test </title>

</head>

<body>

<?php echo “<p> Hello World </p>”; ?>

</body></html>

Note : - Code in bold letters shows the PHP code embedded within HTML
PHP only parses code within its delimiters. Anything outside its delimiters is sent directly to the

output and is not parsed by PHP. The most common delimiters are <?php and ?>, which are open

and close delimiters respectively. <script language=”php”> and </script> delimiters are also

available. Short tags can be used to start PHP code, <? or<?= (which is used to echo back a string

or variable) and the tag to end PHP code, ?>. These tags are commonly used, but like ASP-style

tags (<% or <%= and %>), they are less portable as they can be disabled in the PHP configuration.

For this reason, the use of short tags and ASP-style tags is discouraged. The purpose of these

delimiters is to separate PHP code from non-PHP code, including HTML.

Variables are prefixed with a dollar symbol and a type does not need to be specified in advance.

Unlike function and class names, variable names are case sensitive. Both double-quoted (“”) and

heredoc strings allow the ability to embed a variable’s value into the string. PHP treats newlines as

whitespace in the manner of a free-form language (except when inside string quotes), and

statements are terminated by a semicolon. PHP has three types of comment syntax: /* */ serves as

22
block comments, and // as well as # are used for inline comments. The echo statement is one of

several facilities PHP provides to output text (e.g. to a web browser).

In terms of keywords and language syntax, PHP is similar to most high level languages that follow

the C style syntax. If conditions, for and while loops, and function returns are similar in syntax to

languages such as C, C++, Java and Perl.

Data types

PHP stores whole numbers in a platform-dependent range. This range is typically that of 32-bit

signed integers. Unsigned integers are converted to signed values in certain situations; this

behavior is different from other programming languages. Integer variables can be assigned using

decimal (positive and negative), octal, and hexadecimal notations. Floating point numbers are also

stored in a platform-specific range. They can be specified using floating point notation, or two

forms of scientific notation. PHP has a native Boolean type that is similar to the native Boolean

types in Java and C++. Using the Boolean type conversion rules, non-zero values are interpreted

as true and zero as false, as in Perl and C++. The null data type represents a variable that has no

value.The only value in the null data type is NULL. Variables of the “resource” type represent

references to resources from external sources. These are typically created by functions from a

particular extension, and can only be processed by functions from the same extension; examples

include file, image, and database resources. Arrays can contain elements of any type that PHP can

handle, including resources, objects, and even other arrays. Order is preserved in lists of values and in

hashes with both keys and

values, and the two can be intermingled. PHP also supports strings, which can be used with single

quotes, double quotes, or heredoc syntax. The Standard PHP Library (SPL) attempts to solve standard

problems and implements efficient data access interfaces and classes.

23
Functions
PHP has hundreds of base functions and thousands more from extensions. These functions are well

documented on the PHP site, but unfortunately, the built-in library has a wide variety of naming

conventions and inconsistencies. PHP currently has no functions for thread programming.

Version 5.2 and earlier

Functions are not first-class functions and can only be referenced by their name—directly or

dynamically by a variable containing the name of the function. User-defined functions can be

created at any time without being prototyped. Functions can be defined inside code blocks,

permitting a run-time decision as to whether or not a function should be defined. Function calls

must use parentheses, with the exception of zero argument class constructor functions called with

the PHP new operator, where parentheses are optional. PHP supports quasi-anonymous functions

through the create_function() function, although they are not true anonymous functions because

anonymous functions are nameless, but functions can only be referenced by name, or indirectly

through a variable $function_name();, in PHP.

Version 5.3 and newer


PHP gained support for first-class functions and closures. True anonymous functions are supported

functiongetAdder($x) using the following syntax:


function getAdder($x)
{ return function ($y) use ($x)

{ return $x + $y;
};
}

24
$adder =getAdder(8); echo
$adder(2); // prints “10”

Here, getAdder() function creates a closure using parameter $x (keyword “use” forces getting

variable from context), which takes additional argument $y and returns it to the caller. Such a

function can be stored, given as the parameter to other functions, etc. For more details see Lambda

functions and closures RFC.

Objects

Basic object-oriented programming functionality was added in PHP 3. Object handling was

completely rewritten for PHP 5, expanding the feature set and enhancing performance. In previous

versions of PHP, objects were handled like primitive types. The drawback of this method was that

the whole object was copied when a variable was assigned or passed as a parameter to a method.

In the new approach, objects are referenced by handle, and not by value. PHP 5 introduced private

and protected member variables and methods, along with abstract classes and final classes as well

as abstract methods and final methods. It also introduced a standard way of declaring constructors

and destructors, similar to that of other object-oriented languages such as C++, and a standard

exception handling model.

Furthermore, PHP 5 added interfaces and allowed for multiple interfaces to be implemented. There

are special interfaces that allow objects to interact with the runtime system. Objects implementing

ArrayAccess can be used with array syntax and objects implementing Iterator or IteratorAggregate

can be used with the foreach language construct. There is no virtual table feature in the engine, so

static variables are bound with a name instead of a reference at compile time.

25
If the developer creates a copy of an object using the reserved word clone, the Zend engine will

check if a __clone() method has been defined or not. If not, it will call a default __clone() which will

copy the object’s properties. If a __clone() method is defined, then it will be responsible for setting

the necessary properties in the created object. For convenience, the engine will supply a function

that imports the properties of the source object, so that the programmer can start with a by-value

replica of the source object and only override properties that need to be changed.

Resources

PHP includes free and open source libraries with the core build. PHP is a fundamentally Internet-

aware system with modules built in for accessing FTP servers, many database servers, embedded

SQL libraries such as embedded PostgreSQL, MySQL and SQLite, LDAP servers, and others.

Many functions familiar to C programmers such as those in the stdio family are available in the

standard PHP build. PHP has traditionally used features such as “magic_quotes_gpc” and

“magic_quotes_runtime” which attempt to escape apostrophes

(‘) and quotes (“) in strings in the assumption that they will be used in databases, to prevent SQL

injection attacks. This leads to confusion over which data is escaped and which is not, and to

problems when data is not in fact used as input to a database and when the escaping used is not

completely correct. To make code portable between servers which do and do not use magic quotes,

developers can preface their code with a script to reverse the effect of magic quotes when it is

applied.

PHP allows developers to write extensions in C to add functionality to the PHP language. These can

then be compiled into PHP or loaded dynamically at runtime. Extensions have been written to add

26
support for the Windows API, process management on Unix-like operating systems, multibyte

strings (Unicode), cURL, and several popular compression formats. Some more unusual features

include integration with Internet Relay Chat, dynamic generation of images and Adobe Flash

content, and even speech synthesis. The PHP Extension Community Library (PECL) project is a

repository for extensions to the PHP language. Zend provides a certification exam for programmers

to become certified PHP developers.

MY SQL

What is a database? Quite simply, it’s an organized collection of data. A database management

system (DBMS) such as Access, FileMaker Pro, Oracle or SQL Server provides you with the

software tools you need to organize that data in a flexible manner. It includes facilities to add,

modify or delete data from the database, ask questions (or queries) about the data stored in the

database and produce reports summarizing selected contents.

MySQL is a multithreaded,multi-user SQL database management system(DBMS). The basic

program runs as a server providing multi-user access to a number of databases.Originally financed

in a similar fashion to the JBoss model, MySQL was owned and sponsored by a single for-profit

firm, the Swedish company MySQLAB now a subsidiary of Sun Microsystem , which holds the

copyright to most of the codebase. The project’s source code is available under terms of the GNU

General Public Licence, as well as under a variety of proprietory agreements.

27
MySQL is a database.The data in MySQL is stored in database objects called tables.A table is a

collections of related data entries and it consists of columns and rows.Databases are useful when

storing information categorically. A company may have a database with the following tables:

“Employees”, “Products”, “Customers” and “Orders”.

Database Tables

A database most often contains one or more tables. Each table is identified by a name (e.g.

“Customers” or “Orders”). Tables contain records (rows) with data.

Queries

A query is a question or a request.WithMySQL, we can query a database for specific information

and have a recordset returned.

28
Create a connection to a database

Before you can access data in a database, you must create a connection to the database.In PHP, this

is done with the mysqli_connect() function.

Syntax
mysqli_connect(servername,username,password);
i

Example

In the following example we store the connection in a variable ($con) for later use in the script.

The “die” part will be executed if the connection fails:

29
Closing a Connection
The connection will be closed automatically when the script ends. To close the connection before,

use the mysqli_close() function.

Syntax
<?php

//database connection

$con=mysqli_connect("localhost","root","","preschooldb");

if(mysqli_connect_errno()){ echo "Connection

Fail".mysqli_connect_error();

?>

Create a Database
The CREATE DATABASE statement is used to create a database in MySQL.

Syntax

CREATE DATABASE database_name

30
To get PHP to execute the statement above we must use the mysql_query() function. This function

is used to send a query or command to a MySQL connection.

Create a Table

The CREATE TABLE statement is used to create a table in MySQL

Syntax

CREATE TABLE table_name


(
column_name1
data_type,
column_name2
data_type,
column_name3
data_type,
....

31
MySQL Functions

mysql_affected_rows — Get number of affected rows in previous MySQL

operation mysql_change_user — Change logged in user of the active

connection mysql_client_encoding — Returns the name of the character set

mysql_close — Close MySQL connection

mysql_connect — Open a connection to a MySQL

Server mysql_create_db — Create a MySQL database

mysql_data_seek — Move internal result pointer

mysql_db_name — Get result data

mysql_db_query — Send a MySQL query

mysql_drop_db — Drop (delete) a MySQL

database

mysql_errno — Returns the numerical value of the error message from previous MySQL

operation mysql_error — Returns the text of the error message from previous MySQL

operation mysql_escape_string — Escapes a string for use in a mysql_query

mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or

both mysql_fetch_assoc — Fetch a result row as an associative array

mysql_fetch_field — Get column information from a result and return as an


object mysql_fetch_lengths — Get the length of each output in a result
35

mysql_fetch_object — Fetch a result row as an object.

33
wsmysql_num_rows — Get number of rows in result

mysql_pconnect — Open a persistent connection to a MySQL server

mysql_ping — Ping a server connection or reconnect if there is no

connection mysql_query — Send a MySQL query

mysql_result — Get result data

mysql_select_db — Select a MySQL database

mysql_set_charset — Sets the client character

set mysql_stat — Get current system status

mysql_tablename — Get table name of field

mysql_thread_id — Return the current thread

ID

mysql_unbuffered_query — Send an SQL query to MySQL, without fetching and buffering

the result (See Appendix 2 for more My_SQL Functions.)

Macromedia Dreamweaver 8

Is a professional HTML editor for designing, coding, and developing websites, web pages, and web

applications. Whether you enjoy the control of hand-coding HTML or prefer to work in a visual

editing environment, Dreamweaver provides you with helpful tools to enhance your web creation

experience.

34
The visual editing features in Dreamweaver let you quickly create pages without writing a line of

code. You can view all your site elements or assets and drag them from an easy-to-use panel directly

into a document. You can streamline your development workflow by creating and editing images in

Macromedia Fireworks or another graphics application, then importing them directly into

Dreamweaver, or by adding Macromedia Flash objects.Dreamweaver also provides a full-featured

coding environment that includes code-editing tools (such as code coloring and tag completion) and language

reference material on Cascading Style Sheets (CSS), JavaScript, and ColdFusion Markup

Language (CFML), among others. Macromedia Roundtrip HTML technology imports your hand-coded

HTML documents without reformatting the code; you can then reformat code with your preferred formatting

style. Dreamweaver also enables you to build dynamic database-backed web applications using server

technologies such as CFML, ASP.NET, ASP, JSP, and PHP.

Dreamweaver and accessibility

Accessibility refers to making websites and web products usable for people with visual, auditory,

motor, and other disabilities. Examples of accessibility features for software products and websites

include screen reader support, text equivalents for graphics, keyboard shortcuts, change of display

colors to high contrast, and so on. Dreamweaver provides tools that make the product accessible

and tools that help you author accessible content:

Using Dreamweaver accessibility features For Dreamweaver web designers who need to use

accessibility features, Dreamweaver offers screen reader support, keyboard navigation, and operating

system accessibility support.For more information, see Using Dreamweaver accessibility features.

35
Authoring for accessibility For Dreamweaver web designers who need to create accessible

content,Dreamweaver assists you in creating accessible pages that contain useful content for screen

readers and comply with government guidelines.

Dreamweaver provides dialog boxes that prompt you to enter accessibility attributes when you

insert page elements (see Optimizing the workspace for accessible page design).For example, the

accessibility dialog box for images reminds you to add text equivalents for graphics. Then, when the

image appears on a page for a user with visual disabilities, the screen reader reads the description.

36
Laying Out Pages with CSS

In Macromedia Dreamweaver 8, you can use CSS styles to lay out your page. You can either insert div tags

manually and apply CSS positioning styles to them, or you can use Dreamweaver layers to create your layout.

A layer in Dreamweaver is an HTML page element—specifically, a div tag, or any other tag—that has an

absolute position assigned to it. Whether you use CSS, tables, or frames to lay out your pages, Dreamweaver

has rulers and grids for visual guidance in your layout. Dreamweaver also has a tracing image feature, which

you can use to re-create a page design that was created in a graphics application.

Client-side role of forms

Forms support the client side of the client-server relationship. When a visitor enters information into

a form displayed in a web browser (the client) and clicks the submit button, the information is sent to

the server where a server-side script or application processes it. Common server-side technologies

used for processing form data include Macromedia ColdFusion, Microsoft Active Server Pages

(ASP), and PHP. The server responds by sending requested information back to the user (or client), or

performing some action based on the form’s contents.

( Note : - See Appendix 1 for more about Macromedia Dreamweaver 8 and phpMyAdmin)

phpMYAdmin

phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQLover the

World Wide Web. phpMyAdmin supports a wide range of operations with MySQL.Currently it can create and

drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage users and

permissions, and manage keys on fields. while you still have the ability to directly execute any SQL

statement. phpMyAdmin can manage a whole MySQL server (needs a super-user) as well as a single
database. To accomplish the latter you’ll need a properly set up MySQL user who can read/write only the

desired database. It’s up to you to look up the appropriate part in the MySQL manual.

40

phpMyAdmin can:

· browse and drop databases, tables, views, fields and indexes

· create, copy, drop, rename and alter databases, tables, fields and indexes

· maintenance server, databases and tables, with proposals on server configuration

· execute, edit and bookmark any SQL-statement, even batch-queries

· load text files into tables

· create and read dumps of tables

· export data to various formats: CSV, XML, PDF, ISO/IEC 26300 - OpenDocument Text and

Spreadsheet, Word, Excel and LATEX formats

· administer multiple servers

· manage MySQL users and privileges

· check referential integrity in MyISAM tables

· using Query-by-example (QBE), create complex queries automatically connecting required tables

· create PDF graphics of your Database layout

· search globally in a database or a subset of it


· transform stored data into any format using a set of predefined functions, like displaying

BLOB-data as image or download-link

· support InnoDB tables and foreign keys

· support mysqli, the improved MySQL extension

41

42
A word about users:

Many people have difficulty understanding the concept of user management with regards

tophpMyAdmin. When a user logs in to phpMyAdmin, that username and password are passed

directly to MySQL. phpMyAdmin does no account management on its own (other than allowing

one to manipulate the MySQL user account information); all users must be valid MySQL users. 1)

phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats) dumps and CSV

exports if you use PHP with Zlib support (—with-zlib) and/or Bzip2 support (—with-bz2). Proper

support may also need changes in php.ini.aphpMyAdmin screen appears as shown

below.
43
Apache Web server
Often referred to as simply Apache, a public-domain open source Web server developed by a

loosely-knit group of programmers. The first version of Apache, based on the NCSA httpd Web

server, was developed in 1995.

Core development of the Apache Web server is performed by a group of about 20 volunteer

programmers, called the Apache Group. However, because the source code is freely available,

anyone can adapt the server for specific needs, and there is a large public library of Apache add-

ons. In many respects, development of Apache is similar to development of the Linux operating

system.

The original version of Apache was written for UNIX, but there are now versions that run under

OS/ 2, Windows and other platforms. The name is a tribute to the Native American Apache

Indian tribe, a tribe well known for its endurance and skill in warfare. A common

misunderstanding is that it was called Apache because it was developed from existing NCSA

code plus various patches, hence the name a patchy server, or Apache server.

Apache consistently rates as the world’s most popular Web server according to analyst surveys.

Apache has attracted so much interest because it is full-featured, reliable, and free. Originally

developed for UNIX™ operating systems, Apache has been updated to run on Windows, OS/2,

and other platforms. One aspect of Apache that some site administrators find confusing —

especially those unfamiliar with UNIX-style software — is its configuration scheme. Instead of

using a point-and-click graphic user interface (GUI) or Windows Registry keys as most other

41
Configuration Files

Apache uses a system of three text files for managing its configuration data. All three of these

files (almost always) appear in Apache ./conf directory and are designed to be edited by system

administrators:

1. httpd.conf for general settings

2. srm.conf for resource settings

3. access.conf for security settings

When Apache first starts, these files are processed in the order shown above. Originally, the

initial installation of Apache included default entries within each of the three files. In the most

recent versions of Apache, however, the default installation has changed. Now httpd.conf is

treated as the “master” configuration file and it contains all of the settings. Both srm.conf and

access.conf still exist in the installation, but they contain no settings and are empty except for

some comments.

Inside Httpd.conf

Traditional Httpd.conf contained general settings such as the ServerName and Port number.These

entries appear as follows in the file: ServerName compnetworking.about.com Port 80 The term

“httpd” stands for HTTP Daemon. Recall that in a UNIX environment, the term daemon refers to

a type of process designed to launch at system boot and continue running for very long periods of

time. This file contains a number of other entries (technically called directives), but for most of

these,modifications are optional. Probably the most useful of these entries is ServerAdmin.

Access and Security Settings

42
It is recommended practice now for Apache administrators to manage their resource and security

settings from httpd.conf. Administrators of older versions of Apache can simply cut their entries

from srm.conf and access.conf and paste them into the master file. If an administrator wants to

go one step further and delete the two empty files, they should also place the following entries in

httpd.conf to prevent Apache from attempting to access them.

INPUT DESIGN:
Input design is a part of overall system design. The main objective during the input design is as
given below:

● To produce a cost-effective method of input.


● To achieve the highest possible level of accuracy.
● To ensure that the input is acceptable and understood by the user.

INPUT STAGES:
The main input stages can be listed as below:

● Data recording
● Data transcription
● Data conversion
● Data verification
● Data control
● Data transmission
● Data validation
● Data correction

INPUT TYPES:

43
It is necessary to determine the various types of inputs. Inputs can be categorized as follows:

● External inputs, which are prime inputs for the system.


● Internal inputs, which are user communications with the system.
● Operational, which are the computer department’s communications to the system?
● Interactive, which are inputs entered during a dialogue.

INPUT MEDIA:
At this stage choice has to be made about the input media. To conclude about the input
media consideration has to be given to;

● Type of input
● Flexibility of format
● Speed
● Accuracy
● Verification methods
● Rejection rates
● Ease of correction
● Storage and handling requirements
● Security
● Easy to use
● Portability
Keeping in view the above description of the input types and input media, it can be said that most
of the inputs are of the form of internal and interactive. As

Input data is to be directly keyed in by the user, the keyboard can be considered to be the most
suitable input device.

OUTPUT DESIGN:

44
Outputs from computer systems are required primarily to communicate the results of processing
to users. They are also used to provide a permanent copy of the results for later consultation. The
various types of outputs in general are:

● External Outputs whose destination is outside the organization.


● Internal Outputs whose destination is within organization and they are the User’s
main interface with the computer.
● Operational outputs whose use is purely with in the computer department.
● Interface outputs, which involve the user in communicating directly with the
system.

OUTPUT DEFINITION
The outputs should be defined in terms of the following points:

▪ Type of the output

▪ Content of the output

▪ Format of the output

▪ Location of the output

▪ Frequency of the output

▪ Volume of the output

▪ Sequence of the output

It is not always desirable to print or display data as it is held on a computer. It should be decided
as which form of the output is the most suitable.

45
For Example

● Will decimal points need to be inserted ● Should leading zeros be suppressed.

OUTPUT MEDIA:
In the next stage it is to be decided which medium is the most appropriate for the output. The
main considerations when deciding about the output media are:

● The suitability for the device to the particular application.


● The need for a hard copy.
● The response time required.
● The location of the users
● The software and hardware available.

Keeping in view the above description the project is to have outputs mainly coming under the
category of internal outputs. The main outputs desired according to the requirement specification
are:

The outputs were needed to be generated as a hard copy and as well as queries to be viewed on
the screen. Keeping in view these outputs, the format for the output is taken from the outputs,
which are currently being obtained after manual processing. The standard printer is to be used as
output media for hard copies.

CHAPTER 5

SDLCMETHODOLOGY
SDLC Methodology:

46
This document plays a vital role in the development of life cycle (SDLC) as it describes the
complete requirement of the system. It means for use by developers and will be the basic during
the testing phase. Any changes made to the requirements in the future will have to go through a
formal change approval process.

SPIRAL MODEL was defined by Barry Boehm in his 1988 article, “A spiral Model of Software
Development and Enhancement. This model was not the first model to discuss iterative
development, but it was the first model to explain why the iteration models.

As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts
with a design goal and ends with a client reviewing the progress thus far. Analysis and
engineering efforts are applied at each phase of the project, with an eye toward the end goal of
the project.

The steps for Spiral Model can be generalized as follows:

● The new system requirements are defined in as many details as possible. This usually
involves interviewing a number of users representing all the external or internal users and
other aspects of the existing system.

●A preliminary design is created for the new system.

●A first prototype of the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the final
product.

● A second prototype is evolved by a fourfold procedure:

1. Evaluating the first prototype in terms of its strengths, weaknesses, and risks.

2. Defining the requirements of the second prototype.

3. Planning and designing the second prototype.

4. Constructing and testing the second prototype.

47
●At the customer option, the entire project can be aborted if the risk is deemed too great. Risk
factors might involve development cost overruns, operating-cost miscalculation, or any other
factor that could, in the customer’s judgment, result in a less-than-satisfactory final product.

●The existing prototype is evaluated in the same manner as was the previous prototype, and if
necessary, another prototype is developed from it according to the fourfold procedure outlined
above.

●The preceding steps are iterated until the customer is satisfied that the refined prototype
represents the final product desired.

● The final system is constructed, based on the refined prototype.

●The final system is thoroughly evaluated and tested. Routine maintenance is carried on a
continuing basis to prevent large scale failures and to minimize down time.

48
The following diagram shows how a spiral model acts like:

Advantages:
●Estimates(i.e. budget, schedule etc .) become more realistic as work progresses, because
important issues are discovered earlier.

●It is more able to cope with the changes that software development generally entails.

Software engineers can get their hands in and start working on the core of a project earlier

49
CHAPTER 6

DESIGN
6.1 DFD (Context level Diagram):
a.Users

b.Admin

50
C.

51
52
6.2 UML Design

6.2.1 Introduction To UML Design:


The Unified Modeling Language (UML) is a standard language for specifying, visualizing,
constructing, and documenting the software system and its components. It is a graphical
language, which provides a vocabulary and set of semantics and rules. The UML focuses on the
conceptual and physical representation of the system. It captures the decisions and
understandings about systems that must be constructed. It is used to understand, design,
configure, maintain, and control information about the systems.

The UML is a language for:


● Visualizing

53
● Specifying
● Constructing
● Documenting

Visualizing
Through UML we see or visualize an existing system and ultimately we visualize how the
system is going to be after implementation. Unless we think, we cannot implement. UML
helps to visualize, how the components of the system communicate and interact with each
other.

Specifying
Specifying means building models that are precise, unambiguous and complete UML addresses
the specification of all the important analysis design, implementation decisions that must be
made in developing and deploying a software system.
Constructing
UML models can be directly connected to a variety of programming languages through mapping
a model from UML to a programming language like JAVA or C++ or VB. Forward Engineering
and Reverse Engineering is possible through UML.
Documenting
The Deliverables of a project apart from coding are some Artifacts, which are critical in
controlling, measuring and communicating about a system during its developing requirements,
architecture, desire, source code, project plans, tests, prototypes, releases, etc…

6.2.2 Introduction To UMLApproach:


UML Diagram
A diagram is the graphical presentation of a set of elements, most often rendered as a connected
graph of vertices and arcs .You draw a diagram to visualize a system from a different
perspective, so a diagram is a projection into a system. For all but most trivial systems, a diagram
represents an elided view of the elements that make up a system. The same element may appear

54
in all diagrams, only a few diagrams , or in no diagrams at all. In theory, a diagram may contain
any combination of things and relationships. In practice, however, a small number of common
combinations arise, which are consistent with the five most useful views that comprise the
architecture of a software-intensive system.
For this reason, the UML includes nine such diagrams:
1. Class diagram
2. Object diagram
3. Use case diagram
4. Sequence diagram
5. Collaboration diagram
6. State chart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram

6.2.2 USE CASE DIAGRAM:

55
A use case diagram in the Unified Modeling Language(UML) is a type of behavioral diagram
defined by and created from a use-case analysis. Its purpose is to present a graphical overview of
the functionality provided by a system in terms of actors, their goals(represented as use
cases),and any dependencies between those use cases. Use case diagrams are formally included
in two modeling languages defined by the OMG:unified modeling language(UML) and the
systems modeling language(sysML)

UML Diagram

56
6.3 ENTITY-RELATIONSHIP Diagrams

E-R (Entity-Relationship) Diagram is used to represent the relationship between


entities in the table.

The symbols used in E-R diagrams are:

SYMBOL PURPOSE

Represents Entity sets.

57
Represent attributes.

Represent Relationship Sets.

Line represents flow

Structured analysis is a set of tools and techniques that the analyst.


To develop a new kind of a system:
The traditional approach focuses on the cost benefit and feasibility analysis, Project
management, and hardware and software selection as personal considerations.

58
6.4 Database Design

The data in the system has to be stored and retrieved from the database. Designing
the database is part of system design. Data elements and data structures to be
stored have been identified at the analysis stage. They are structured and put
together to design the data storage and retrieval system.

59
A database is a collection of interrelated data stored with minimum redundancy to
serve many users quickly and efficiently. The general objective is to make database
access easy, quick, inexpensive and flexible for the user. Relationships are
established between the data items and unnecessary data items are removed.
Normalization is done to get an internal consistency of data and to have minimum
redundancy and maximum stability. This ensures minimizing data storage required,
minimizing chances of data inconsistencies and optimizing for updates. The
MySQL database has been chosen for developing the relevant databases.

6.5 Database Table and Structure


Admin Table: This table stores the admin login details.

tbluser table: This table stores the user's personal and login details.

tbltourpackages table: This table stores the tour package full details.

60
tblbooking table: This table stores the user booking details.

tblissues table: This table stores the user issue details raised by the user.

tblenquiry table: This table stores the user enquiry details.

61
tblpages table: This table store the website pages details.

62
6.6 Class Diagram
The class diagram shows a set of classes, interfaces, collaborations and their
relationships.

6.7 Architecture flow :


(N-Tier)
N-Tier Applications can easily implement the concepts of Distributed Application Design and
Architecture. The N-Tier Applications provide strategic benefits to Enterprise Solutions. While
2-tier, client-server can help us create quick and easy solutions and may be used for Rapid
Prototyping, they can easily become maintenance and security night mare The N-tier

63
Applications provide specific advantages that are vital to the business continuity of the
enterprise. Typical features of a real life n-tier may include the following:

● Security

● Availability and Scalability

● Manageability

● Easy Maintenance

● Data Abstraction

The above mentioned points are some of the key design goals of a successful n-tier application
that intends to provide a good Business Solution.

Definition:

Simply stated, an n-tier application helps us distribute the overall functionality into various tiers
or layers:

● Presentation Layer

● Business Logic layer

● Data Link Layer

● Database/Data Store
Each layer can be developed independently of the other provided that it adheres to the standards
and communicates with the other layers as per the specifications. This is the one of the biggest
advantages of the n-tier application. Each layer can potentially treat the other layer as a ‘Block-
Box’. In other words, each layer does not care how the other layer processes the data as long as it
sends the right data in the correct format.

64
Fig: N-Tier Architecture

1. Presentation Layer:
Also called as client layer, comprises components that are dedicated to presenting the data to the
user. For example: Windows/Web Forms and buttons, edit boxes, Text boxes, labels, grids, etc.

2. Business Logic Layer:


This layer encapsulates the Business rules or the business logic of the encapsulations. To have a
separate layer for business logic is of a great advantage. This is because any changes in Business

65
Rules can be easily handled in this layer. As long as the interface between the layers remains the
same, any changes to the functionality/processing logic in this layer can be made without
impacting the others. A lot of client-server apps failed to implement successfully as changing the
business logic was a painful process.

3. Data Link Layer:

This layer comprises components that help in accessing the Database. If used in the right way,
this layer provides a level of abstraction for the database structures. Simply put changes made to
the database, tables, etc do not affect the rest of the application because of the Data Access layer.
The different application layers send the data requests to this layer and receive the response from
this layer.

4. Database Layer:
This layer comprises the Database Components such as DB Files, Tables, Views, etc. The Actual
database could be created using SQL Server, Oracle, Flat files, etc. In an n-tier application, the
entire application can be implemented in such a way that it is independent of the actual Database.
For instance, you could change the Database Location with minimal changes to Data Access
Layer. The rest of the Application should remain unaffected.

CHAPTER 7

TESTING
7.1 INTRODUCTION TO SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product. It provides a way
to check the functionality of components, sub-assemblies, assemblies and/or a

66
finished product. It is the process of exercising software with the intent of ensuring
that the Software system meets its requirements and user expectations and does not
fail in an unacceptable manner. There are various types of tests. Each test type
addresses a specific testing requirement.

7.2 TYPES OF TESTING

7.2.1 Unit testing:


Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All
decision branches and internal code flow should be validated. It is the testing of
individual software units of the application .It is done after the completion of an
individual unit before integration. This is a structural testing that relies on
knowledge of its construction and is invasive. Unit tests perform basic tests at
component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined
inputs and expected results.

7.2.2 Integration testing:


Integration tests are designed to test integrated software components to determine
if they actually run as one program. Testing is event driven and is more concerned
with the basic outcome of screens or fields. Integration tests demonstrate that

67
although the components were individually satisfactory, as shown by successfully
unit testing, the combination of components is correct and consistent. Integration
testing is specifically aimed at exposing the problems that arise from the
combination of components.

7.2.3 Functional test:


Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system
documentation, and user manuals.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key


functions, or special test cases. In addition, systematic coverage pertaining to
identifying Business process flows; data fields, predefined processes, and
successive processes must be considered for testing. Before functional testing is
complete, additional tests are identified and the effective value of current tests is
determined.

68
7.2.4 System Test:
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

7.2.5 White Box Testing: White Box Testing is a testing in which the
software tester has knowledge of the inner workings, structure and language of the
software, or at least its purpose. It has a purpose. It is used to test areas that cannot
be reached from a black box level.

7.2.6 Black Box Testing:


Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a definitive source document, such
as specification or requirements document, such as specification or requirements
document. It is a test in which the software under test is treated as a black box .You
cannot “see” into it. The test provides inputs and responds to outputs without
considering how the software works.

7.2.7 Unit Testing:

69
Unit testing is usually conducted as part of a combined code and unit test phase of
the software lifecycle, although it is not uncommon for coding and unit testing to
be conducted as two distinct phases.

Test strategy and approach

Field testing will be performed manually and functional tests will be written in
detail.

Test objectives

● All field entries must work properly.


● Pages must be activated from the identified link.
● The entry screen, messages and responses must not be delayed. Features to
be tested
● Verify that the entries are of the correct format.
● No duplicate entries should be allowed ● All links should take the user to
the correct page.

7.2.8 Integration Testing:


Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by
interface defects. The task of the integration test is to check that components or
software applications, e.g. components in a software system or – one step up –
software applications at the company level – interact without error.

70
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.

Acceptance Testing: User Acceptance Testing is a critical phase of any


project and requires significant participation by the end user. It also ensures that
the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No
defects encountered

71
CHAPTER 8

PROJECTOUTPUTSCREEN

72
Home Page

73
About Us Page

Track Packages Page

74
75
76
Terms Page

Contact Us Page

77
Enquiry Page

Sign Up Page

Login Page

78
User Change Password Page

User Tour History Page

79
80
Admin
Login Page

Admin Dashboard

Create Package Page


81
Admin

Admin Manage Package Page

Manage User Page

82
Admin

Admin Manage Issue Page

Manage Enquiry Page

83
Admin

Admin Manage Pages Page

Change Password Page

84
Admin

85
CHAPTER 9

IMPLEMENTATION
9.1 INTRODUCTION

Implementation is the stage of the project when the theoretical design is


turned out into a working system. Thus it can be considered to be the most
critical stage in achieving a successful new system and in giving the user
confidence that the new system will work and be effective. The
implementation stage involves careful planning, investigation of the existing
system and its constraints on implementation, designing of methods to
achieve changeover and evaluation of changeover methods.

9.2 SOURCE CODE

Home Page (index.php)

<?php

86
session_start();

error_reporting(0);

include('includes/config.php');

?>

<!DOCTYPE HTML>

<html>

<head>

<title>Jet Set Go</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

87
<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<!--//end-animate-->

</head>

<body>

<?php include('includes/header.php');?>

<div class="banner">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: zoomIn;">
JetSetGo</h1>

</div>

</div>

88
<!--- rupes ---->

<div class="container">

<div class="rupes">

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-


wow-delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-usd"></i></a>

</div>

<div class="rup-rgt">

<h3>UP TO INR 500 OFF</h3>

<h4><a href="offers.html">TRAVEL SMART</a></h4>

</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-


wow-delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-h-square"></i></a>

</div>

<div class="rup-rgt">

89
<h3>UP TO 70% OFF</h3>

<h4><a href="offers.html">ON HOTELS ACROSS WORLD</a></h4>

</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-


wow-delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">

<div class="rup-left">

<a href="offers.html"><i class="fa fa-mobile"></i></a>

</div>

<div class="rup-rgt">

<h3>FLAT INR. 50 OFF</h3>

<h4><a href="offers.html">US APP OFFER</a></h4>

</div>

<div class="clearfix"></div>

</div>

</div>

</div>

90
<!--- /rupes ---->

<!---holiday---->

<div class="container">

<div class="holiday">

<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages order by rand() limit 4";

$query = $dbh->prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1; if($query-

>rowCount() > 0)

{ foreach($results as

$result)

{ ?>

<div class="rom-btm">

91
<div class="col-md-3 room-left wow fadeInLeft animated" data-wow-
delay=".5s">

<img src="admin/pacakgeimages/<?php echo


htmlentities($result->PackageImage);?>" class="img-responsive" alt="">

</div>

<div class="col-md-6 room-midle wow fadeInUp animated" data-wow-


delay=".5s">

<h4>Package Name: <?php echo


htmlentities($result->PackageName);?></h4>

<h6>Package Type : <?php echo


htmlentities($result->PackageType);?></h6>

<p><b>Package Location :</b> <?php echo


htmlentities($result->PackageLocation);?></p>

<p><b>Features</b> <?php echo


htmlentities($result->PackageFetures);?></p>

</div>

<div class="col-md-3 room-right wow fadeInRight animated" data-wow-


delay=".5s">

<h5>INR <?php echo htmlentities($result->PackagePrice);?></h5>

<a href="package-details.php?pkgid=<?php echo


htmlentities($result->PackageId);?>" class="view">Details</a>

</div>

<div class="clearfix"></div>

</div>

92
<?php }} ?>

<div><a href="package-list.php" class="view">View More Packages</a></div>

</div>

<div class="clearfix"></div>

</div>

<!--- routes ---->

<div class="routes">

<div class="container">

<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-


delay=".5s">

<div class="rou-left">

<a href="#"><i class="glyphicon glyphicon-list-alt"></i></a>

</div>

<div class="rou-rgt wow fadeInDown animated" data-wow-delay=".5s">

<h3>80000</h3>

<p>Enquiries</p>

</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 routes-left">

93
<div class="rou-left">

<a href="#"><i class="fa fa-user"></i></a>

</div>

<div class="rou-rgt">

<h3>1900</h3>

<p>Regestered users</p>
</div>

<div class="clearfix"></div>

</div>

<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-


delay=".5s">

<div class="rou-left">

<a href="#"><i class="fa fa-ticket"></i></a>

</div>

<div class="rou-rgt">

<h3>7,00,00,000+</h3>

<p>Booking</p>

</div>

<div class="clearfix"></div>

</div>

<div class="clearfix"></div>

</div>

</div>
94
<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

<!-- //write us -->

</body>

</html>

95
Change Password Page (change-password.php)
<?php

session_start(); error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{ if(isset($_POST['sub

mit5']))

$password=md5($_POST['password']);

$newpassword=md5($_POST['newpassword']);

$email=$_SESSION['login'];

$sql ="SELECT Password FROM tblusers WHERE EmailId=:email and


Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

96
$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

$con="update tblusers set Password=:newpassword where EmailId=:email";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

$msg="Your Password succesfully changed";

} else

$error="Your current password is wrong";

?>

<!DOCTYPE HTML>

97
<html>

<head>

<title>JetSetGo</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

98
<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!=
document.chngpwd.confirmpassword.value)

{ alert("New Password and Confirm Password Field do not

match !!"); document.chngpwd.confirmpassword.focus(); return

false; } return true;

</script>

<style>

99
.errorWrap { padding: 10px; margin: 0 0 20px

0; background: #fff; border-left: 4px solid

#dd3d36; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px; margin: 0 0 20px 0;

background: #fff; border-left: 4px solid

#5cb85c; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

100
<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">Change Password</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);

101
?> </div><?php }?>

<p style="width: 350px;">

<b>Current Password</b> <input type="password" name="password"


class="form-control" id="exampleInputPassword1" placeholder="Current
Password" required="">

</p>

<p style="width: 350px;">

<b>New Password</b>

<input type="password" class="form-control" name="newpassword"


id="newpassword" placeholder="New Password" required="">

</p>

<p style="width: 350px;">

<b>Confirm Password</b>

<input type="password" class="form-control" name="confirmpassword"


id="confirmpassword" placeholder="Confrim Password" required="">

</p>

102
<p style="width: 350px;">

<button type="submit" name="submit5" class="btn-primary


btn">Change</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->


103
<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?

104
Check availability Page (check-availability.php)
<?php

require_once("includes/config.php"); // code admin email

availablity if(!empty($_POST["emailid"])) { $email=

$_POST["emailid"]; if (filter_var($email,

FILTER_VALIDATE_EMAIL)===false) {

echo "error : You did not enter a valid email.";

else

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

$cnt=1; if($query ->

rowCount() > 0)

105
{

echo "<span style='color:red'> Email already exists .</span>";

echo "<script>$('#submit').prop('disabled',true);</script>";

} else{

echo "<span style='color:green'> Email available for Registration .</span>";

echo "<script>$('#submit').prop('disabled',false);</script>";

?>

Enquiry Page (Enquiry.php)


<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit1']))

106
{

$fname=$_POST['fname'];

$email=$_POST['email'];

$mobile=$_POST['mobileno'];

$subject=$_POST['subject'];

$description=$_POST['description'];

$sql="INSERT INTO
tblenquiry(FullName,EmailId,MobileNumber,Subject,Description)
VALUES(:fname,:email,:mobile,:subject,:description)";

$query = $dbh->prepare($sql);

$query->bindParam(':fname',$fname,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);

$query->bindParam(':subject',$subject,PDO::PARAM_STR); $query-
>bindParam(':description',$description,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

$msg="Enquiry Successfully submited";

107
}

else

$error="Something went wrong. Please try again";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>Jet Set Go</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

108
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<style>

109
.errorWrap { padding: 10px; margin: 0 0 20px

0; background: #fff; border-left: 4px solid

#dd3d36; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px;

margin: 0 0 20px 0;

background: #fff; border-left:

4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);


box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

110
<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">Enquiry Form Password</h3>

<form name="enquiry" method="post">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);

111
?> </div><?php }?>

<p style="width: 350px;">

<b>Full name</b> <input type="text" name="fname" class="form-control"


id="fname" placeholder="Full Name" required="">

</p>

<p style="width: 350px;">

<b>Email</b> <input type="email" name="email" class="form-control"


id="email" placeholder="Valid Email id" required="">

</p>

<p style="width: 350px;">

<b>Mobile No</b> <input type="text" name="mobileno" class="form-control"


id="mobileno" maxlength="10" placeholder="10 Digit mobile No" required="">

</p>

<p style="width: 350px;">

<b>Subject</b> <input type="text" name="subject" class="form-control"


id="subject" placeholder="Subject" required="">

112
</p>

<p style="width: 350px;">

<b>Description</b> <textarea name="description" class="form-control" rows="6"


cols="50" id="description" placeholder="Description" required=""></textarea>

</p>

<p style="width: 350px;">

<button type="submit" name="submit1" class="btn-primary


btn">Submit</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

113
<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

Forgot Password Page (Forgot-password.php)


session_start(); error_repo

rting(0);

include('includes/config.php');

if(isset($_POST['submit50']))

$email=$_POST['email'];

$mobile=$_POST['mobile'];

$newpassword=md5($_POST['newpassword']);

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email and


MobileNumber=:mobile";

114
$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

$con="update tblusers set Password=:newpassword where EmailId=:email and


MobileNumber=:mobile";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

$msg="Your Password succesfully changed";

} else

$error="Email id or Mobile no is invalid";

115
}

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JetSetGo

</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

116
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!=
document.chngpwd.confirmpassword.value)

117
{ alert("New Password and Confirm Password Field do not

match !!"); document.chngpwd.confirmpassword.focus(); return

false; } return true; }

</script>

<style>

.errorWrap { padding: 10px; margin: 0 0 20px

0; background: #fff; border-left: 4px solid

#dd3d36; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px; margin: 0 0 20px 0;

background: #fff; border-left: 4px solid

#5cb85c; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

</style>

118
</head>

<body>
<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">Recover Password</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

119
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?
php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);
?> </div><?php }?>

<p style="width: 350px;">

<b>Email id</b> <input type="email" name="email" class="form-control"


id="email" placeholder="Reg Email id" required="">

</p>

<p style="width: 350px;">

<b>Mobile No</b> <input type="text" name="mobile" class="form-


control" id="mobile" placeholder="Reg Mobile no" required="">

</p>

<p style="width: 350px;">

<b>New Password</b>

120
<input type="password" class="form-control" name="newpassword"
id="newpassword" placeholder="New Password" required="">

</p>

<p style="width: 350px;">

<b>Confirm Password</b>

<input type="password" class="form-control" name="confirmpassword"


id="confirmpassword" placeholder="Confrim Password" required="">

</p>

<p style="width: 350px;">

<button type="submit" name="submit50" class="btn-primary


btn">Change</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

121
<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

122
Issue Ticket Page (issue-ticket.php)
<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit50']))

$email=$_POST['email'];

$mobile=$_POST['mobile'];

$newpassword=md5($_POST['newpassword']);

$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email and


MobileNumber=:mobile";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ);

if($query -> rowCount() > 0)

123
$con="update tblusers set Password=:newpassword where EmailId=:email and
MobileNumber=:mobile";

$chngpwd1 = $dbh->prepare($con);

$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);

$chngpwd1-> bindParam(':mobile', $mobile, PDO::PARAM_STR);

$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);

$chngpwd1->execute();

$msg="Your Password succesfully changed";

} else

$error="Email id or Mobile no is invalid";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JetSetGo

124
</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

125
<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<script type="text/javascript">

function valid()

if(document.chngpwd.newpassword.value!=
document.chngpwd.confirmpassword.value)

{ alert("New Password and Confirm Password Field do not

match !!"); document.chngpwd.confirmpassword.focus(); return

false; } return true; }

</script>

<style>

.errorWrap { padding: 10px; margin: 0 0 20px

0; background: #fff; border-left: 4px solid

#dd3d36; -webkit-box-shadow: 0 1px 1px 0

126
rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px; margin: 0 0 20px 0;

background: #fff; border-left: 4px solid

#5cb85c; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

</style>

</head>

<body>
<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

127
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">Recover Password</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);
?> </div><?php }?>

<p style="width: 350px;">

128
<b>Email id</b> <input type="email" name="email" class="form-control"
id="email" placeholder="Reg Email id" required="">

</p>

<p style="width: 350px;">

<b>Mobile No</b> <input type="text" name="mobile" class="form-


control" id="mobile" placeholder="Reg Mobile no" required="">

</p>

<p style="width: 350px;">

<b>New Password</b>

<input type="password" class="form-control" name="newpassword"


id="newpassword" placeholder="New Password" required="">

</p>

<p style="width: 350px;">

<b>Confirm Password</b>

<input type="password" class="form-control" name="confirmpassword"


id="confirmpassword" placeholder="Confrim Password" required="">

129
</p>

<p style="width: 350px;">

<button type="submit" name="submit50" class="btn-primary


btn">Change</button>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

130
<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

131
Log out Page (logout.php)

<?php

session_start();

$_SESSION = array();

if (ini_get("session.use_cookies")) { $params

= session_get_cookie_params();

setcookie(session_name(), '', time() - 60*60,

$params["path"], $params["domain"],

$params["secure"], $params["httponly"]

);

} unset($_SESSION['login']);

session_destroy(); // destroy session

header("location:index.php");

?>

Package detail Page (package.detail.php)

<?php

session_start();

error_reporting(0);

132
include('includes/config.php');

if(isset($_POST['submit2']))

$pid=intval($_GET['pkgid']);

$useremail=$_SESSION['login'];

$fromdate=$_POST['fromdate'];

$todate=$_POST['todate'];

$comment=$_POST['comment'];

$status=0;

$sql="INSERT INTO
tblbooking(PackageId,UserEmail,FromDate,ToDate,Comment,status)
VALUES(:pid,:useremail,:fromdate,:todate,:comment,:status)";

$query = $dbh->prepare($sql);

$query->bindParam(':pid',$pid,PDO::PARAM_STR);

$query->bindParam(':useremail',$useremail,PDO::PARAM_STR); $query-
>bindParam(':fromdate',$fromdate,PDO::PARAM_STR);

$query->bindParam(':todate',$todate,PDO::PARAM_STR);

$query->bindParam(':comment',$comment,PDO::PARAM_STR);

$query->bindParam(':status',$status,PDO::PARAM_STR);

$query->execute();

133
$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

$msg="Booked Successfully";

else

$error="Something went wrong. Please try again";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JSG | Package Details</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

134
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<link rel="stylesheet" href="css/jquery-ui.css" />

135
<script> new

WOW().init();

</script>

<script src="js/jquery-ui.js"></script>

<script>

$(function() {

$( "#datepicker,#datepicker1" ).datepicker();

});

</script>

<style>

.errorWrap { padding: 10px;

margin: 0 0 20px 0;

background: #fff; border-left:

4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

136
.succWrap{ padding: 10px;

margin: 0 0 20px 0;

background: #fff; border-left:

4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); box-

shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<?php include('includes/header.php');?>

<div class="banner-3">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: zoomIn;"> JSG
-Package Details</h1>

</div>

</div>

137
<!--- /banner ---->

<!--- selectroom ---->

<div class="selectroom">

<div class="container">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);
?> </div><?php }?>

<?php

$pid=intval($_GET['pkgid']);

$sql = "SELECT * from tbltourpackages where PackageId=:pid";

$query = $dbh->prepare($sql);

$query -> bindParam(':pid', $pid, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1;

if($query->rowCount() > 0)

138
{ foreach($results as

$result)

{ ?>

<form name="book" method="post">

<div class="selectroom_top">

<div class="col-md-4 selectroom_left wow fadeInLeft animated" data-


wow-delay=".5s">

<img src="admin/pacakgeimages/<?php echo htmlentities($result-


>PackageImage);?>" class="img-responsive" alt="">

</div>

<div class="col-md-8 selectroom_right wow fadeInRight animated" data-


wow-delay=".5s">

<h2><?php echo htmlentities($result->PackageName);?></h2>

<p class="dow">#PKG-<?php echo


htmlentities($result->PackageId);?></p>

<p><b>Package Type :</b> <?php echo


htmlentities($result->PackageType);?></p>

<p><b>Package Location :</b> <?php echo


htmlentities($result->PackageLocation);?></p>

139
<p><b>Features</b> <?php echo
htmlentities($result->PackageFetures);?></p>

<div class="ban-bottom">

<div class="bnr-right">

<label class="inputLabel">From</label>

<input class="date" id="datepicker" type="text" placeholder="dd-mm-


yyyy" name="fromdate" required="">

</div>

<div class="bnr-right">

<label class="inputLabel">To</label>

<input class="date" id="datepicker1" type="text" placeholder="dd-mm-


yyyy" name="todate" required="">

</div>

</div>

<div class="clearfix"></div>

<div class="grand">

<p>Grand Total</p>

<h3>INR.800</h3>

</div>

140
</div>

<h3>Package Details</h3>

<p style="padding-top: 1%"><?php echo


htmlentities($result->PackageDetails);?> </p>

<div class="clearfix"></div>

</div>

<div class="selectroom_top">

<h2>Travels</h2>

<div class="selectroom-info animated wow fadeInUp animated" data-wow-


duration="1200ms" data-wow-delay="500ms" style="visibility: visible; animation-
duration: 1200ms; animation-delay: 500ms; animation-name: fadeInUp; margin-
top: -70px">

<ul>

<li class="spe">

<label class="inputLabel">Comment</label>

<input class="special" type="text" name="comment" required="">

</li>

<?php if($_SESSION['login'])

141
{?>

<li class="spe" align="center">

<button type="submit" name="submit2" class="btn-primary


btn">Book</button>

</li>

<?php } else {?>

<li class="sigi" align="center" style="margin-top: 1%">

<a href="#" data-toggle="modal" data-target="#myModal4"


class="btn-primary btn" > Book</a></li>

<?php } ?>

<div class="clearfix"></div>

</ul>

</div>

</div>

</form>

<?php }} ?>

142
</div>

</div>

<!--- /selectroom ---->

<<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

143
Package list Page (package.list.php)

<?php

session_start();

error_reporting(0);

include('includes/config.php');

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JSG | Package List</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

144
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<!--//end-animate-->

</head>

<body>

145
<?php include('includes/header.php');?>

<!--- banner ---->

<div class="banner-3">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner ---->

<!--- rooms ---->

<div class="rooms">

<div class="container">

<div class="room-bottom">

<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages";

146
$query = $dbh->prepare($sql);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1; if($query-

>rowCount() > 0)

{ foreach($results as

$result) { ?>

<div class="rom-btm">

<div class="col-md-3 room-left wow fadeInLeft animated"


data-wow-delay=".5s">

<img src="admin/pacakgeimages/<?php echo


htmlentities($result->PackageImage);?>" class="img-responsive" alt="">

</div>

<div class="col-md-6 room-midle wow fadeInUp animated"


data-wow-delay=".5s">

<h4>Package Name: <?php echo


htmlentities($result->PackageName);?></h4>

<h6>Package Type : <?php echo


htmlentities($result->PackageType);?></h6>

147
<p><b>Package Location :</b> <?php echo
htmlentities($result->PackageLocation);?></p>

<p><b>Features</b> <?php echo


htmlentities($result->PackageFetures);?></p>

</div>

<div class="col-md-3 room-right wow fadeInRight animated"


data-wow-delay=".5s">

<h5>INR <?php echo htmlentities($result->PackagePrice);?></h5>

<a href="package-details.php?pkgid=<?php echo


htmlentities($result->PackageId);?>" class="view">Details</a>

</div>

<div class="clearfix"></div>

</div>

<?php }} ?>

</div>

</div>

</div>

148
<!--- /rooms ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

<!-- //write us -->

</body>

</html>

149
Page (page.php)
<?php

session_start();

error_reporting(0);

include('includes/config.php');

if(isset($_POST['submit1']))

$fname=$_POST['fname'];

$email=$_POST['email'];

$mobile=$_POST['mobileno'];

$subject=$_POST['subject'];

$description=$_POST['description'];

$sql="INSERT INTO
tblenquiry(FullName,EmailId,MobileNumber,Subject,Description)
VALUES(:fname,:email,:mobile,:subject,:description)";

$query = $dbh->prepare($sql);

$query->bindParam(':fname',$fname,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);

150
$query->bindParam(':subject',$subject,PDO::PARAM_STR); $query-
>bindParam(':description',$description,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

$msg="Enquiry Successfully submited";

else

$error="Something went wrong. Please try again";

?>

<!DOCTYPE HTML>

<html>

<head>

151
<title>JetSetGo</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

152
<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<style>

.errorWrap { padding: 10px; margin: 0 0 20px

0; background: #fff; border-left: 4px solid

#dd3d36; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px;

margin: 0 0 20px 0;

background: #fff; border-left:

4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);


box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);

153
}

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<?php

154
$pagetype=$_GET['type'];

$sql = "SELECT type,detail from tblpages where type=:pagetype";

$query = $dbh -> prepare($sql);

$query->bindParam(':pagetype',$pagetype,PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1; if($query-

>rowCount() > 0)

{ foreach($results as

$result)

?>

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;"><?php echo $_GET['type'] ?></h3>

<p>

155
<?php echo $result->detail; ?>

</p>

<?php } }?>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

156
<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

157
Profile Page (profile.php)
<?php

session_start(); error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{ if(isset($_POST['sub

mit6']))

$name=$_POST['name'];

$mobileno=$_POST['mobileno'];

$email=$_SESSION['login'];

$sql="update tblusers set FullName=:name,MobileNumber=:mobileno where


EmailId=:email";

$query = $dbh->prepare($sql); $query->bindParam(':name',


$name,PDO::PARAM_STR);

$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);

158
$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->execute();

$msg="Profile Updated Successfully";

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JetSetGo</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

159
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<style>

160
.errorWrap

{ padding: 10px;

margin: 0 0 20px 0;

background: #fff;

border-left: 4px solid

#dd3d36; -webkit-box-

shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-

shadow: 0 1px 1px 0

rgba(0,0,0,.1);

.succWrap{ padding: 10px; margin: 0 0 20px 0;

background: #fff; border-left: 4px solid

#5cb85c; -webkit-box-shadow: 0 1px 1px 0

rgba(0,0,0,.1); box-shadow: 0 1px 1px 0

rgba(0,0,0,.1);

</style>

161
</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">My Profile!!</h3>

162
<form name="chngpwd" method="post">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);
?> </div><?php }?>

<?php

$useremail=$_SESSION['login'];

$sql = "SELECT * from tblusers where EmailId=:useremail";

$query = $dbh -> prepare($sql);

$query -> bindParam(':useremail',$useremail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

$cnt=1; if($query-

>rowCount() > 0)

{ foreach($results as

$result)

163
{ ?>

<p style="width: 350px;">

<b>Name</b> <input type="text" name="name" value="<?php echo


htmlentities($result->FullName);?>" class="form-control" id="name"
required="">

</p>

<p style="width: 350px;">

<b>Mobile Number</b>

<input type="text" class="form-control" name="mobileno" maxlength="10"


value="<?php echo htmlentities($result->MobileNumber);?>" id="mobileno"
required="">

</p>

<p style="width: 350px;">

<b>Email Id</b>

<input type="email" class="form-control" name="email" value="<?php echo


htmlentities($result->EmailId);?>" id="email" readonly>

</p>

164
<p style="width: 350px;">

<b>Last Updation Date : </b>

<?php echo htmlentities($result->UpdationDate);?>

</p>

<p style="width: 350px;">

<b>Reg Date :</b>

<?php echo htmlentities($result->RegDate);?>

</p>

<?php }} ?>

<p style="width: 350px;">

<button type="submit" name="submit6" class="btn-primary


btn">Updtae</button>

</p>

</form>

</div>

165
</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

Thankyou Page (thankyou.php)


<?php

166
session_start();

error_reporting(0);

include('includes/config.php');

?>

<!DOCTYPE HTML>

<html>

<head>

<title>JSG | Confirmation </title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

167
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'
type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<!--//end-animate-->

</head>

<body>

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

168
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: zoomIn;">
JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

<!--- contact ---->

<div class="contact">

<div class="container">

<h3> Confirmation</h3>

<div class="col-md-10 contact-left">

<div class="con-top animated wow fadeInUp animated" data-wow-


duration="1200ms" data-wow-delay="500ms" style="visibility: visible; animation-
duration: 1200ms; animation-delay: 500ms; animation-name: fadeInUp;">

<h4> <?php echo htmlentities($_SESSION['msg']);?></h4>

</div>

169
<div class="clearfix"></div>

</div>

</div>

<!--- /contact ---->

<?php include('includes/footer.php');?>

<!-- sign -->

<?php include('includes/signup.php');?>

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

<!-- //write us -->

</body>

</html>

Tour History Page (tour.history.php)


<?php

170
session_start(); error_reporting(0);

include('includes/config.php');

if(strlen($_SESSION['login'])==0)

header('location:index.php');

else{ if(isset($_REQUEST['b

kid']))

$bid=intval($_GET['bkid']);

$email=$_SESSION['login'];

$sql ="SELECT FromDate FROM tblbooking WHERE UserEmail=:email and


BookingId=:bid";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':bid', $bid, PDO::PARAM_STR);

$query-> execute();

$results = $query -> fetchAll(PDO::FETCH_OBJ); if($query-

>rowCount() > 0)

171
{ foreach($results as

$result)

$fdate=$result->FromDate;

$a=explode("/",$fdate);

$val=array_reverse($a);

$mydate =implode("/",$val);

$cdate=date('Y/m/d');

$date1=date_create("$cdate");

$date2=date_create("$fdate");

$diff=date_diff($date1,$date2);

echo $df=$diff->format("%a");

if($df>1) {

$status=2;

$cancelby='u';

$sql = "UPDATE tblbooking SET status=:status,CancelledBy=:cancelby WHERE


UserEmail=:email and BookingId=:bid";

$query = $dbh->prepare($sql);

172
$query -> bindParam(':status',$status, PDO::PARAM_STR);

$query -> bindParam(':cancelby',$cancelby , PDO::PARAM_STR);

$query-> bindParam(':email',$email, PDO::PARAM_STR);

$query-> bindParam(':bid',$bid, PDO::PARAM_STR);

$query -> execute();

$msg="Booking Cancelled successfully";

else

$error="You can't cancel booking before 24 hours";

?>

<!DOCTYPE HTML>

<html>

173
<head>

<title>JetSetGo</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Tourism Management System In PHP" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar()
{ window.scrollTo(0,1); } </script>

<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />

<link href="css/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300'
rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet'


type='text/css'>

<link href="css/font-awesome.css" rel="stylesheet">

<!-- Custom Theme files -->

<script src="js/jquery-1.12.0.min.js"></script>

174
<script src="js/bootstrap.min.js"></script>

<!--animate-->

<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">

<script src="js/wow.min.js"></script>

<script> new

WOW().init();

</script>

<style>

.errorWrap { padding: 10px;

margin: 0 0 20px 0;

background: #fff; border-left:

4px solid #dd3d36;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); box-

shadow: 0 1px 1px 0 rgba(0,0,0,.1);

.succWrap{ padding: 10px;

margin: 0 0 20px 0;

175
background: #fff; border-left:

4px solid #5cb85c;

-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); box-

shadow: 0 1px 1px 0 rgba(0,0,0,.1);

</style>

</head>

<body>

<!-- top-header -->

<div class="top-header">

<?php include('includes/header.php');?>

<div class="banner-1 ">

<div class="container">

<h1 class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
zoomIn;">JetSetGo</h1>

</div>

</div>

<!--- /banner-1 ---->

176
<!--- privacy ---->

<div class="privacy">

<div class="container">

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">My Tour History</h3>

<form name="chngpwd" method="post" onSubmit="return valid();">

<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?


php echo htmlentities($error); ?>
</div><?php }

else if($msg){?><div
class="succWrap"><strong>SUCCESS</strong>:<?php echo htmlentities($msg);
?> </div><?php }?>

<p>

<table border="1" width="100%">

<tr align="center">

<th>#</th>

<th>Booking Id</th>

<th>Package Name</th>

<th>From</th>

177
<th>To</th>

<th>Comment</th>

<th>Status</th>

<th>Booking Date</th>

<th>Action</th>

</tr>

<?php

$uemail=$_SESSION['login'];;

$sql = "SELECT tblbooking.BookingId as bookid,tblbooking.PackageId as


pkgid,tbltourpackages.PackageName as packagename,tblbooking.FromDate as
fromdate,tblbooking.ToDate as todate,tblbooking.Comment as
comment,tblbooking.status as status,tblbooking.RegDate as
regdate,tblbooking.CancelledBy as cancelby,tblbooking.UpdationDate as upddate
from tblbooking join tbltourpackages on
tbltourpackages.PackageId=tblbooking.PackageId where UserEmail=:uemail";

$query = $dbh->prepare($sql);

$query -> bindParam(':uemail', $uemail, PDO::PARAM_STR);

$query->execute();

$results=$query->fetchAll(PDO::FETCH_OBJ);

178
$cnt=1; if($query-

>rowCount() > 0)

{ foreach($results as

$result)

{ ?>

<tr align="center">

<td><?php echo htmlentities($cnt);?></td>

<td>#BK<?php echo htmlentities($result->bookid);?></td>

<td><a href="package-details.php?pkgid=<?php echo htmlentities($result-


>pkgid);?>"><?php echo htmlentities($result->packagename);?></a></td>

<td><?php echo htmlentities($result->fromdate);?></td>

<td><?php echo htmlentities($result->todate);?></td>

<td><?php echo htmlentities($result->comment);?></td>

<td><?php if($result->status==0)

{ echo "Pending"; }

if($result->status==1)

{ echo

"Confirmed"; }

179
if($result->status==2

and $result-

>cancelby=='u')

{ echo "Canceled by you at " .$result-

>upddate;

} if($result->status==2 and $result-

>cancelby=='a')

{ echo "Canceled by admin at " .$result-

>upddate;

?></td>

<td><?php echo htmlentities($result->regdate);?></td>

<?php if($result->status==2)

?><td>Cancelled</td>

<?php } else {?>

<td><a href="tour-history.php?bkid=<?php echo htmlentities($result->bookid);?>"


onclick="return confirm('Do you really want to cancel booking')"

180
>Cancel</a></td>

<?php }?>

</tr>

<?php $cnt=$cnt+1; }} ?>

</table>

</p>

</form>

</div>

</div>

<!--- /privacy ---->

<!--- footer-top ---->

<!--- /footer-top ---->

<?php include('includes/footer.php');?>

<!-- signup -->

<?php include('includes/signup.php');?>

181
<!-- //signu -->

<!-- signin -->

<?php include('includes/signin.php');?>

<!-- //signin -->

<!-- write us -->

<?php include('includes/write-us.php');?>

</body>

</html>

<?php } ?>

182
Config Page (include/config.php)
<?php

// DB credentials.

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PASS','');

define('DB_NAME','tms'); //

Establish database connection.

try

$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER,


DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES
'utf8'"));

} catch (PDOException

$e)

{ exit("Error: " . $e-

>getMessage());

183
Footer Page (include/footer.php)

<!--- /footer-top ---->

<!---copy-right ---->

<div class="copy-right">

<div class="container">

<div class="footer-social-icons wow fadeInDown animated animated" data-


wow-delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name:
fadeInDown;">

<ul>

<li><a class="facebook" href="#"><span>Facebook</span></a></li>

<li><a class="twitter" href="#"><span>Twitter</span></a></li>

<li><a class="flickr" href="#"><span>Flickr</span></a></li>

<li><a class="googleplus" href="#"><span>Google+</span></a></li>

<li><a class="dribbble" href="#"><span>Dribbble</span></a></li>

</ul>

</div>

<p class="wow zoomIn animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: zoomIn;">©
2023 Codiyapa . All Rights Reserved </p>

</div>

</div>

184
Header Page (include/header.php)

<?php if($_SESSION['login'])

{?>

<div class="top-header">

<div class="container">

<ul class="tp-hd-lft wow fadeInLeft animated" data-wow-delay=".5s">

<li class="hm"><a href="index.html"><i class="fa


fa-home"></i></a></li>

<li class="prnt"><a href="profile.php">My Profile</a></li>

<li class="prnt"><a href="change-password.php">Change


Password</a></li>

<li class="prnt"><a href="tour-history.php">My Tour History</a></li>

<li class="prnt"><a href="issuetickets.php">Issue Tickets</a></li>

</ul>

<ul class="tp-hd-rgt wow fadeInRight animated" data-wow-delay=".5s">

<li class="tol">Welcome :</li>

<li class="sig"><?php echo htmlentities($_SESSION['login']);?></li>

<li class="sigi"><a href="logout.php" >/ Logout</a></li>

185
</ul>

<div class="clearfix"></div>

</div>

</div><?php } else {?>

<div class="top-header">

<div class="container">

<ul class="tp-hd-lft wow fadeInLeft animated" data-wow-delay=".5s">

<li class="hm"><a href="index.php"><i class="fa fa-home"></i></a></li>

<li class="hm"><a href="admin/index.php">Admin Login</a></li>

</ul>

<ul class="tp-hd-rgt wow fadeInRight animated" data-wow-delay=".5s">

<li class="tol">Toll Number : 123-4568790</li>

<li class="sig"><a href="#" data-toggle="modal" data-target="#myModal"


>Sign Up</a></li>

<li class="sigi"><a href="#" data-toggle="modal" data-


target="#myModal4" >/ Sign In</a></li>

</ul>

<div class="clearfix"></div>

</div>

186
</div>

<?php }?>

<!--- /top-header ---->

<!--- header ---->

<div class="header">

<div class="container">

<div class="logo wow fadeInDown animated" data-wow-delay=".5s">

<a href="index.php">Jet<span>SetGo</span></a>

</div

<div class="lock fadeInDown animated" data-wow-delay=".5s">

<li><i class="fa fa-lock"></i></li>

<li><div class="securetxt">SAFE &amp; SECURE </div></li>

<div class="clearfix"></div>

</div>

<div class="clearfix"></div>

</div>

</div>

<!--- /header ---->

187
<!--- footer-btm ---->

<div class="footer-btm wow fadeInLeft animated" data-wow-delay=".5s">

<div class="container">

<div class="navigation">

<nav class="navbar navbar-default">

<!-- Brand and toggle get grouped for better mobile display -->

<div class="navbar-header">

<button type="button" class="navbar-toggle collapsed"


data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">

<span class="sr-only">Toggle navigation</span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

</div>

<!-- Collect the nav links, forms, and other content for toggling -->

<div class="collapse navbar-collapse nav-wil"


id="bs-example-navbar-collapse-1">

<nav class="cl-effect-1">

188
<ul class="nav navbar-nav">

<li><a href="index.php">Home</a></li>

<li><a href="page.php?type=aboutus">About</a></li>

<li><a href="package-list.php">Tour Packages</a></li>


<li><a href="page.php?type=privacy">Privacy
Policy</a></li>

<li><a href="page.php?type=terms">Terms of Use</a></li>

<li><a href="page.php?type=contact">Contact Us</a></li>

<?php if($_SESSION['login'])

{?>

<li>Need Help?<a href="#" data-toggle="modal"


data-target="#myModal3"> / Write Us </a> </li>

<?php } else { ?>

<li><a href="enquiry.php"> Enquiry </a> </li>

<?php } ?>

<div class="clearfix"></div>

</ul>

</nav>

</div><!-- /.navbar-collapse -->

189
</nav>

</div>

<div class="clearfix"></div>

</div>

Signin Page (include/signin.php)


<?php

session_start();

if(isset($_POST['signin']))

$email=$_POST['email'];

$password=md5($_POST['password']);

$sql ="SELECT EmailId,Password FROM tblusers WHERE EmailId=:email and


Password=:password";

$query= $dbh -> prepare($sql);

$query-> bindParam(':email', $email, PDO::PARAM_STR);

$query-> bindParam(':password', $password, PDO::PARAM_STR);

$query-> execute();

190
$results=$query->fetchAll(PDO::FETCH_OBJ); if($query-

>rowCount() > 0)

$_SESSION['login']=$_POST['email'];

echo "<script type='text/javascript'> document.location = 'package-list.php';


</script>";

} else{

echo "<script>alert('Invalid Details');</script>";

?>

<div class="modal fade" id="myModal4" tabindex="-1" role="dialog" aria-


labelledby="myModalLabel">

<div class="modal-dialog" role="document">

<div class="modal-content modal-info">

191
<div class="modal-header">

<button type="button" class="close" data-dismiss="modal"


aria-label="Close"><span aria-hidden="true">×</span></button>

</div>

<div class="modal-body modal-spa">

<div class="login-grids">

<div class="login">

<div class="login-left">

<ul>

<li><a class="fb"
href="#"><i></i>Facebook</a></li>

<li><a class="goog"
href="#"><i></i>Google</a></li>

</ul>

</div>

<div class="login-right">

<form method="post">

<h3>Signin with your account </h3>

192
<input type="text" name="email" id="email" placeholder="Enter your Email"
required="">

<input type="password" name="password" id="password"


placeholder="Password" value="" required="">

<h4><a href="forgot-password.php">Forgot
password</a></h4>

<input type="submit" name="signin"


value="SIGNIN">

</form>

</div>

<div class="clearfix"></div>

</div>

<p>By logging in you agree to our <a


href="page.php?type=terms">Terms and Conditions</a> and <a href="page.php?
type=privacy">Privacy Policy</a></p>

</div>

</div>

</div>

</div>

193
</div>

Signup Page (include/signup.php)


<?php

error_reporting(0);

if(isset($_POST['submit']))

$fname=$_POST['fname'];

$mnumber=$_POST['mobilenumber'];

$email=$_POST['email'];

$password=md5($_POST['password']);

$sql="INSERT INTO tblusers(FullName,MobileNumber,EmailId,Password)


VALUES(:fname,:mnumber,:email,:password)";

$query = $dbh->prepare($sql);

$query->bindParam(':fname',$fname,PDO::PARAM_STR);

$query->bindParam(':mnumber',$mnumber,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->bindParam(':password',$password,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

194
$_SESSION['msg']="You are Scuccessfully registered. Now you can login ";

header('location:thankyou.php');

}
else

$_SESSION['msg']="Something went wrong. Please try again.";

header('location:thankyou.php');

?>

<!--Javascript for check email availabilty-->

<script> function

checkAvailability() { $

("#loaderIcon").show();

jQuery.ajax({ url:

"check_availability.php",

data:'emailid='+$("#email").val(),

type: "POST",

success:function(data){

$("#user-availability-status").html(data);

$("#loaderIcon").hide();

195
}, error:function ()

{}

});

</script>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel">

<div class="modal-dialog" role="document">

<div class="modal-content">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal"


aria-label="Close"><span aria-hidden="true">&times;</span></button>

</div>

<section>

<div class="modal-body modal-spa">

<div class="login-grids">

<div class="login">

<div class="login-left">

<ul>

<li><a class="fb"
href="#"><i></i>Facebook</a></li>

<li><a class="goog"
href="#"><i></i>Google</a></li>

196
</ul>

</div>

<div class="login-right">

<form name="signup" method="post">

<h3>Create your account </h3>


<input type="text" value="" placeholder="Full Name" name="fname"
autocomplete="off" required="">

<input type="text" value="" placeholder="Mobile number"


maxlength="10" name="mobilenumber" autocomplete="off" required="">

<input type="text" value="" placeholder="Email id" name="email"


id="email" onBlur="checkAvailability()" autocomplete="off" required="">

<span id="user-availability-status" style="font-size:12px;"></span>

<input type="password" value="" placeholder="Password" name="password"


required="">

<input type="submit" name="submit" id="submit"


value="CREATE ACCOUNT">

</form>

</div>

<div class="clearfix"></div>

</div>

<p>By logging in you agree to our <a


href="page.php?type=terms">Terms and Conditions</a> and <a href="page.php?
type=privacy">Privacy Policy</a></p>

</div>

</div>

197
</section>

</div>

</div\>
Write us Page (include/writeus.php)
<?php

error_reporting(0);

if(isset($_POST['submit']))

$issue=$_POST['issue'];

$description=$_POST['description'];

$email=$_SESSION['login'];

$sql="INSERT INTO tblissues(UserEmail,Issue,Description)


VALUES(:email,:issue,:description)";

$query = $dbh->prepare($sql);

$query->bindParam(':issue',$issue,PDO::PARAM_STR);

$query->bindParam(':description',$description,PDO::PARAM_STR);

$query->bindParam(':email',$email,PDO::PARAM_STR);

$query->execute();

$lastInsertId = $dbh->lastInsertId();

if($lastInsertId)

198
{

$_SESSION['msg']="Info successfully submited ";

echo "<script type='text/javascript'> document.location = 'thankyou.php';


</

script>"; }

else

$_SESSION['msg']="Something went wrong. Please try again.";

echo "<script type='text/javascript'> document.location = 'thankyou.php';


</script>";

?>

<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-


labelledby="myModalLabel">

<div class="modal-dialog" role="document">

<div class="modal-content">

<div class="modal-header">

199
<button type="button" class="close" data-dismiss="modal"
aria-label="Close"><span aria-hidden="true">&times;</span></button>

</div>

<section>

<form name="help" method="post">

<div class="modal-body modal-spa">

<div class="writ">

<h4>HOW CAN WE HELP YOU</h4>

<ul>

<li class="na-me">

<select id="country" name="issue"


class="frm-field required sect" required="">

<option value="">Select Issue</option>

<option value="Booking Issues">Booking


Issues</option>

<option value="Cancellation">
Cancellation</option>

<option value="Refund">Refund</option>

200
<option value="Other">Other</option>

</select>

</li>

<li class="descrip">

<input class="special" type="text"


placeholder="description" name="description" required="">

</li>

<div class="clearfix"></div>

</ul>

<div class="sub-bn">

<form>

<button type="submit" name="submit"


class="subbtn">Submit</button>

</form>

</div>

</div>

</div>

</form>

</section>

201
</div>

</div>

</div>

Bootstrap Page (js/bootstrap.min.js.)

/*!

* Bootstrap v3.1.1 (http://getbootstrap.com) * Copyright 2011-

2014 Twitter, Inc.

* Licensed under MIT


(https://github.com/twbs/bootstrap/blob/master/LICENSE)

*/

if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires


jQuery");+function(a){"use strict";function b(){var
a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionE
nd",MozTransition:"transitionend",OTransition:"oTransitionEnd
otransitionend",transition:"transitionend"};for(var c in b)if(void
0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){v
ar c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var
e=function(){c||a(d).trigger(a.support.transition.end)};return
setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),
+function(a)

202
{"use strict";var
b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.c
lose=function(b){function c(){f.trigger("closed.bs.alert").remove()}var
d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$
)/,""));var
f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigge
r(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.suppo
rt.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransiti
onEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return
this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new
c(this)),"string"==typeof
b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return
a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQ
uery),+function(a){"use strict";var b=function(c,d){this.
$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this. isLoading=!
1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=fun ction(b){var
c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.r
esetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(fu
nction(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoadi
ng&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.t
oggle=function(){var
a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.
$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&th is.
$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&
c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$e
lement.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return

203
this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof
c&&c;e||d.data("bs.button",e=new
b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.f
n.button.noConflict=function(){return
a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=butto
n]",function(b){var c=a(b.target);c.hasClass("btn")||
(c=c.closest(".btn")),c.button("toggle"),b.preventD efault()})}(jQuery),
+function(a){"use strict";var
b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-i
ndicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$
items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy
(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interv
al:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return
b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&
&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.inter
val)),this},b.prototype.getActiveIndex=function(){return
this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().chil
dren(),this.$items.index(this.$active)},b.prototype.to=function(b){var
c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void
0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.p
ause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=f
unction(b){return b||(this.paused=!0),this.$element.find(".next,
.prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.
end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=
function(){return this.sliding?void
0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void

204
0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.
$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":
"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e
=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var
j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.
$element.trigger(j),j.isDefaultPrevented()?void
0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.
$indicators.find( ".active").removeClass("active"),this.
$element.one("slid.bs.carousel",function(){va r
b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.sup
port.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,
d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeCla
ss([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join("
")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).e
mulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):
(d.removeClass( "active"),e.addClass("active"),this.sliding=!1,this.
$element.trigger("slid.bs.carouse l")),f&&this.cycle(),this)};var
c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var
d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==t
ypeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new
b(this,f)),"number"==typeof
c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.f
n.carousel.noConflict=function(){return
a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide],
[data-slide-to]",function(b){var

205
c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/
,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.
carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefau
lt()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){v
ar b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var
b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.
transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.o
ptions.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=f
unction(){var a=this.$element.hasClass("width");return
a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$el
ement.hasClass("in")){var
b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){
var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var
d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("b
s.collapse",null)}var
e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")
[ e](0),this.transitioning=1;var
f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]
("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!
a.support.transition)return f.call(this);var
g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.p
roxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hid
e=function(){if(!this.transitioning&&this.$element.hasClass("in")){var
b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented())
{ var

206
c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$eleme
nt.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitio
ning=1;var
d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").remo
veClass("collapsing").addClass("collapse")};return a.support.transition?void this.
$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransition
End(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass
("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return
this.each(function(){var
d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==t
ypeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new
b(this,f)),"string"==typeof

c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){retu
rn
a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=col
lapse]",function(b){var
c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replac
e(/.*(?=#[^\s]+
$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr( "data-
parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][d ata-
parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"r
emoveClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use
strict";function b(b){a(d).remove(),a(e).each(function(){var
d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hi
de.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidde

207
n.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||
(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/. *(?=#[^\s]*$)/,""));var
d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-
backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("clic
k.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!
e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g)
{"ontouchstart"in
document.documentElement&&!f.closest(".navbar-nav").length&&a('<div
class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var
h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultP
revented())return;f.toggleClass("open").trigger("shown.bs.dropdown",h),e.focus()}
return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var
d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled,
:disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return
27==b.which&&f.find(e).focus(),d.click();var h=" li:not(.divider):visible
a",i=f.find("[role=menu]"+h+", [role=listbox]"+h);if(i.length){var
j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.le
ngth-1&&j++,~j||(j=0),i.eq(j).focus()}}}};var
g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var
c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new
f(this)),"string"==typeof
b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=functi
on(){return
a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.b
s.dropdown.data-api",".dropdown

208
form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.protot
ype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu],
[role=listbox]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var
b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=n
ull,this.options.remote&&this.$element.find(".modal-content").load(this.options.re
mote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};b.DEFA
ULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return
this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var
c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.i
sShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("c
lick.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdr
op(function(){var
d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c
.$element.appendTo(document.body),c.$element.show().scrollTop(0),d&&c.$elem
ent[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus
();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-
dialog" ).one(a.support.transition.end,function(){c.
$element.focus().trigger(e)}).emulateTr ansitionEnd(300):c.
$element.focus().trigger(e)}))},b.prototype.hide=function(b){b
&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isS
hown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).of
f("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("c
lick.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.
$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransit
ionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document)
.off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[
0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.pr
209
ototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on
("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):
this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal
=function(){var
a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$eleme
nt.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$ba
ckdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=fu
nction(b){var
c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdro
p){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-
backdrop '+c+'"
/>').appendTo(document.body),this.$element.on("click.dismiss.bs.modal",a.proxy(f
unction(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$el
ement[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdro
p[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.s
upport.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$
backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.
hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransition
End(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return
this.each(function(){var
e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typ
eof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof
c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict
=function(){return
a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal
"]',function(b){var

210
c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"
")),f=e.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.dat
a());c.is("a")&&b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visi
ble")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(doc
ument.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function()
{a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use
strict";var
b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=t
his.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:
"top",selector:!1,template:'<div class="tooltip"><div
class="tooltip-arrow"></div><div
class="tooltip-inner"></div></div>',trigger:"hover
focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.e
nabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var
e=this.options.trigger.split(" "),f=e.length;f--;){var
g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.prox
y(this.toggle,this));else if("manual"!=g){var
h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";thi

s.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.
$ele
ment.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.
selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this
.fixTitle()},b.prototype.getDefaults=function(){return
b.DEFAULTS},b.prototype.getOptions=function(b){return
b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typ
eof

211
b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptio
ns=function(){var b={},c=this.getDefaults();return
this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prot
otype.enter=function(b){var c=b instanceof
this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs
."+this.type);return
clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show
?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options
.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof
this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs
."+this.type);return
clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide
?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options
.delay.hide)):c.hide()},b.prototype.show=function(){var
b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$elem
ent.trigger(b),b.isDefaultPrevented())return;var
c=this,d=this.tip();this.setContent(),this.options.animation&&d.addClass("fade");v
ar e="function"==typeof
this.options.placement?this.options.placement.call(this,d[0],this.$element[0]):this.o
ptions.placement,f=/\s?auto?\s?/i,g=f.test(e);g&&(e=e.replace(f,"")||"top"),d.detach
().css({top:0,left:0,display:"block"}).addClass(e),this.options.container?d.appendT
o(this.options.container):d.insertAfter(this.$element);var
h=this.getPosition(),i=d[0].offsetWidth,j=d[0].offsetHeight;if(g){var k=this.
$element.parent(),l=e,m=document.documentElement.scrollTop||document.
body.scrollTop,n="body"==this.options.container?window.innerWidth:k.outerWidt

212
h(),o="body"==this.options.container?window.innerHeight:k.outerHeight(),p="bod
y"==this.options.container?0:k.offset().left;e="bottom"==e&&h.top+h.height+j-m
>o?"top":"top"==e&&h.top-m-j<0?"bottom":"right"==e&&h.right+i>n?"left":"left
"==e&&h.left-i<p?"right":e,d.removeClass(l).addClass(e)}var
q=this.getCalculatedOffset(e,h,i,j);this.applyPlacement(q,e),this.hoverState=null;va
r
r=function(){c.$element.trigger("shown.bs."+c.type)};a.support.transition&&this.$
tip.hasClass("fade")?d.one(a.support.transition.end,r).emulateTransitionEnd(150):r
()}},b.prototype.applyPlacement=function(b,c){var
d,e=this.tip(),f=e[0].offsetWidth,g=e[0].offsetHeight,h=parseInt(e.css("margin-top"
),10),i=parseInt(e.css("margin-left"),10);isNaN(h)&&(h=0),isNaN(i)&&(i=0),b.top
=b.top+h,b.left=b.left+i,a.offset.setOffset(e[0],a.extend({using:function(a){e.css({t
op:Math.round(a.top),left:Math.round(a.left)})}},b),0),e.addClass("in");var
j=e[0].offsetWidth,k=e[0].offsetHeight;if("top"==c&&k!=g&&(d=!0,b.top=b.top+
g-k),/bottom|top/.test(c)){var
l=0;b.left<0&&(l=-2*b.left,b.left=0,e.offset(b),j=e[0].offsetWidth,k=e[0].offsetHei
ght),this.replaceArrow(l-f+j,j,"left")}else
this.replaceArrow(k-g,k,"top");d&&e.offset(b)},b.prototype.replaceArrow=functio
n(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function
(){var
a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"
](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function()
{function
b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var
c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.
$element.trigger(e),e.isDefaultPrevented()?void

213
0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.s
upport.transition.end,b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},
b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof
a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title
","")},b.prototype.hasContent=function(){return
this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return
a.extend({},"function"==typeof
b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:
b.offsetHeight},this.
$element.offset())},b.prototype.getCalculatedOffset=function( a,b,c,d)
{return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"== a?
{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/
2,left:b
.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=functi
o n(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||
("function"==typeof
c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return
this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return
this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=func
tion(){this.$element[0].parentNode||(this.hide(),this.
$element=null,this.options=nul
l)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function()
{this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enable
d},b.prototype.toggle=function(b){var
c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):t
his;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){cle

214
arTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+t
his.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return
this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof
c&&c;(e||"destroy"!=c)&&(e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof
c&&e[c]())})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return
a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var
b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover
requires
tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{place
ment:"right",trigger:"click",content:"",template:'<div class="popover"><div
class="arrow"></div><h3 class="popover-title"></h3><div
class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Con
structor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){r
eturn b.DEFAULTS},b.prototype.setContent=function(){var
a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.option
s.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==ty
peof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right
in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.has
Content=function(){return
this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.
$element,b=this.options;return a.attr("data-content")||("function"==typeof
b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.
$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return
this.$tip||(this.$tip=a(this.options.template)),this.$tip};var

215
c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var
d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!
=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof
c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){ret
urn a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var
e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$bod
y=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-
api",f),
this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c)
.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li >
a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.proce
ss()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var
b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]
);{var c=this;this.$body.find(this.selector).map(function(){var
d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return
f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(
0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-
b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.pro
totype.process=function(){var
a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].sc
rollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offse
ts,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()
[0])&&this.activate(a);if(g&&b<=e[0])return
g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b
<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget
=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")

216
;var
c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents
("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dr
opdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var
c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var
d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||
d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof
c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){ret
urn
a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each
(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use
strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var
b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=
b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active
")){var e=c.find(".active:last
a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevent
ed()){var
g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({
type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){fu
nction e(){f.removeClass("active").find("> .dropdown-menu >
.active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addCla
ss("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.drop
down").addClass("active"),d&&d()}var f=c.find(">
.active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transit
ion.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var
c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var

217
d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof
c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return
a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"],
[data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery)
,+function(a){"use strict";var
b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(windo
w).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.
data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.
$element=a(c),this.a
ffixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix
affix-top
affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if
(this.pinnedOffset)return
this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var
a=this.$window.scrollTop(),c=this.$element.offset();return
this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){s
etTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function
(){if(this.$element.is(":visible")){var
c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this
.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typ
eof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.
$element)),"function"==typeof h&&(h=f.bottom(this.$element));var
i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.heigh
t()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this
.$element.css("top","");var
j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultP
revented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.

218
$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","aff
i xed"))),"bottom"==i&&this.$element.offset({top:c-h-this.
$element.height()}))}}}; var c=a.fn.affix;a.fn.affix=function(c){return
this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof
c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof

c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return
a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(func
tion(){var
b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offse
tBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);

219
Jquery Page (js/jquery.js)

/*! jQuery v1.12.0 | (c) jQuery Foundation | jquery.org/license */

!function(a,b){"object"==typeof module&&"object"==typeof
module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)th
row new Error("jQuery requires a window with a document");return b(a)}:b(a)}
("undefined"!=typeof window?window:this,function(a,b){var
c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=
i.hasOwnProperty,l={},m="1.12.0",n=function(a,b){return new
n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi
,r=function(a,b){return
b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,to
Array:function(){return e.call(this)},get:function(a){return
null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var
b=n.merge(this.constructor(),a);return
b.prevObject=this,b.context=this.context,b},each:function(a){return
n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c)
{return
a.call(b,c,b)}))},slice:function(){return
this.pushStack(e.apply(this,arguments))},first:function(){return
this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var
b=this.length,c=+a+(0>a?b:0);return
this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||
this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.
extend=function(){var

220
a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof
g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||
(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h])

)for(d in
e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!
1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):voi
d 0!==c&&(g[d]=c));return
g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,
error:function(a){throw new
Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},
isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(
a){return null!=a&&a==a.window},isNumeric:function(a){var
b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:f
unction(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!
a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.construct
or&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))re
turn!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in
a);return void 0===b||k.call(a,b)},type:function(a){return
null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof
a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b)
{a.eval.call(a
,b)})(b)},camelCase:function(a){return
a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return
a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a
,b){var

221
c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d
in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":
(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!
=a&&(s(Object(a))?n.merge(c,"string"==typeof
a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return
h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in
b&&b[c]===a)return c}return-1},merge:function(a,b){var
c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!
==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var
d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return
e},map:function(a,b,c){var
d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else
for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return
f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof
b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return
a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):voi
d 0},now:function(){return+new Date},support:l}),"function"==typeof
Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number
String Function Array Date RegExp Object Error Symbol".split("
"),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!
a&&"length"in
a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0=
==b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var
b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new
Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return
a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=

222
E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c+
+)if(a[c]===b)return
c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|h
idden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\
f]",M= "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?
=)"+L+"
*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\
((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=n
ew RegExp(L+"+","g"),Q=new
RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new
RegExp("^"+L+"*,"+L+"*"),S=new
RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new
RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new
RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new
RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new
RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new
RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)
(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new
RegExp("^(?:"+K+")$","i"),needsContext:new
RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"
+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/
^[^
{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new
RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var
d="0x"+b-65536;return

223
d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|552
96,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.chil
dNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?
function( a,b){G.apply(a,I.call(b))}:function(a,b){var
c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var
f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=type
of a||!a||1!==x&&9!==x&&11!==x)return
d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.e
xec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return
d;if(j.id===f)return d.push(j),d}else
if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return

d.push(j),d}else{if(o[2])return
H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassNa
me&&b.getElementsByClassName)return
H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!
q.test(a))){if(1!==x)w=b,s=a;else
if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(a
a,"\\
$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']
";while(h--)r[h]=l+"
"+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return
H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribut
e("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e)
{return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return
b}function ha(a){return a[u]=!0,a}function ia(a){var
b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode

224
&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var
c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var
c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-
(~a. sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-
1;return a?1:-1}function la(a){return function(b){var
c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a)
{return function(b){var
c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}
}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var
e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}functi
on oa(a){return a&&"undefined"!=typeof
a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var
b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!
==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?
a.ownerDocument||a:v;return
g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p
=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener
("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(fu
nction(a){return
a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(fun
ction(a){return
a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.g
etElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(functi
on(a){return
o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}
),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof

225
b.getElementById&&p){var c=b.getElementById(a);return
c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return
a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var
b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof
a.getAttributeNode&&a.getAttributeNode("id");return
c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"
undefined"!=typeof
b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll
(a):void 0}:function(a,b){var
c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.no
deType&&d.push(c);return d}return
f},d.find.CLASS=c.getElementsByClassName&&function(a,b)
{return"undefined" !=typeof b.getElementsByClassName&&p?
b.getElementsByClassName(a):void 0},r=[],q=[],
(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a

).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\'


msallowcapture=''><option
selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length
&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.pus
h("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||
q.push( "~="),a.querySelectorAll(":checked").length||
q.push(":checked"),a.querySelectorAl l("a#"+u+"+*").length||q.push(".#.+
[+~]")}),ia(function(a){var
b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAt
tribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+

226
"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled
"),a.querySelectorAll("*,:x"),q.push(",.*:")})),
(c.matchesSelector=Z.test(s=o.match es||o.webkitMatchesSelector||
o.mozMatchesSelector||o.oMatchesSelector||o.msMat
chesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='
']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new
RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?f
unction(a,b){var
c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!
d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPositi
on&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parent
Node)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var
d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:
(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosit
ion(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.o
wnerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k
,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var
c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-
1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return

ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshif
t(c);while(g[d]===h[d])d++;return
d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return
fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&
&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+"
"]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var
d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType

227
)return d}catch(e){}return
fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!=
=n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var
e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a
,b,!p):void 0;return void
0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f
.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized
expression: "+a)},fa.uniqueSort=function(a){var
b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){w
hile(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return
k=null,a},e=fa.getText=function(a){var
b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof
a.textContent)return
a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||
4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return
c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{
},relative:{">":{dir:"parentNode",first:!0},"
":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling
"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||
a[5]||"").replace(ba,ca),"~="===a[2]&&(a
[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return
a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?
a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+
(a[7]+a[8]||"odd"===a[3])) :a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var
b,c=!a[6]&&a[2];return

228
W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(
b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.s
lice(0,3))}},filter:{TAG:function(a){var
b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a)
{return
a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var
b=y[a+" "];return b||(b=new
RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return
b.test("string"==typeof a.className&&a.className||"undefined"!=typeof
a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return
function(d){var e=fa.attr(d,a);return
null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0=
==e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)
===c:"~="===b?(" "+e.replace(P," ")+"
").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:
function(a,b,c,d,e){var
f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return
1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var
j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nod
eName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p)
{m=b;while(m=m[p])if(h ?
m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&
&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s)
{m=q,l=m[ u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||
[],n=j[0]===w&&j[1],t =n&&j[2],m=n&&q.childNodes[n];while(m=+

229
+n&&m&&m[p]||(t=n=0)||o.pop())i f(1===m.nodeType&&++t&&m===b)
{k[a]=[w,n,t];break}}else
if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j
[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m
.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]
={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-
=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||
d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo:
"+a);return e[u]?e(b):e.length>1?
(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())? ha(function(a,c){var
d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return
e(a,0,c)}):e}},pseudos:{not:ha(function(a){var
b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var
f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f
){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return
function(b){return fa(a,b).length>0}}),contains:ha(function(a){return
a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>
-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang:
"+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?
b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return
c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1==
=b.nodeType);return!1}}),target:function(b){var
c=a.location&&a.location.hash;return
c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return
a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabInd
ex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return

230
a.disabled===!0},checked:function(a){var
b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&
&!!a.selected},selected:function(a){return
a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a)
{ for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!
0},parent:fun ction(a){return!d.pseudos.empty(a)},header:function(a){return
Y.test(a.nodeName)},input:function(a){return
X.test(a.nodeName)},button:function(a){var
b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"=
==b},text:function(a){var
b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a
.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),l
ast:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:
na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b)
{for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?
c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;+
+d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b
in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b
in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa()
{}pa.prototype=d.filters=d.pseudos,d.setFilters=new
pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?
0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=R.exec(h)))&&(e&&(h=h.slic
e(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,ty
pe:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in
d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,m
atches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?

231
fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b+
+)d+=a[b].value;return d}function ra(a,b,c){var
d=b.dir,e=c&&"parentNode"===d,f=x++;return
b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return
a(b,c,f)}:function(b,c,g){var
h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else
while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniq
ueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return
k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return
a.length>1?function(b,c,d){var
e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c)
{for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e)
{for(var
f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&
b.push(h));return g}function va(a,b,c,d,e,f){return
d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var
j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,
m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;w
hile(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k
--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(
f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else
r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a)
{for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative["
"],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-
1},h,!0),m=[function(a,c,d){var

232
e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i+
+)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].t
ype].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])brea
k;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:"
"===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.s
lice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var
c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var
l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Ma
th.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++)
{if( e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||
n,h)){i. push(l);break}k&&(w=y)}c&&((l=!
q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r
){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=
ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}retur
n k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var
c,d=[],e=[],f=A[a+"
"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,
xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var
i,j,k,l,m,n="function"==typeof
a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.l
ength>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.rela
tive[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return
e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)
?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(
k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,
1),a=f.length&&qa(j),!a)return

233
H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b
),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sort
Detached=ia(function(a){return
1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return
a.innerHTML="<a
href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width
",function(a,b,c){return c?void
0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){
return
a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.ge
tAttribute("value")})||ja("value",function(a,b,c){return c||"input"!
==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return
null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void
0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:n
ull}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.
unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;
var u=function(a,b,c){var d=[],e=void
0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))br
eak;d.push(a)}return d},v=function(a,b){for(var
c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return
c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$
/;function z(a,b,c){if(n.isFunction(b))return
n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return
n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return
n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return

234
n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return
c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(
d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return
1===a.nodeType}))},n.fn.extend({find:function(a){var
b,c=[],d=this,e=d.length;if("string"!=typeof a)return

this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))retur
n!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return
c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+"
"+a:a,c},filter:function(a){return
this.pushStack(z(this,a||[],!1))},not:function(a){return
this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof
a&&w.test(a)?n(a):a||[],!1).length}});var
A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!
a)return this;if(c=c||A,"string"==typeof
a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,
null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).fin
d(a);if(e[1]){if(b=b instanceof
n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,
!0)),x.test(e[1])&&n.isPlainObject(b))for(e in
b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return
this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return
A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return
a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"
!=typeof c.ready?c.ready(a):a(n):(void
0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,t
his))};C.prototype=n.fn,A=n(d);var

235
D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.
extend({has:function(a){var b,c=n(a,this),d=c.length;return
this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:f
unction(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||
this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.node
Type<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.
push(c);break}return
this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return
a?"string"==typeof
a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNo
de?this.first().prevAll().length:-1},add:function(a,b){return
this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){retu
rn this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do
a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var
b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return
u(a,"parentNode")},parentsUntil:function(a,b,c){return
u(a,"parentNode",c)},next:function(a){return
F(a,"nextSibling")},prev:function(a){return
F(a,"previousSibling")},nextAll:function(a){return
u(a,"nextSibling")},prevAll:function(a){return
u(a,"previousSibling")},nextUntil:function(a,b,c){return
u(a,"nextSibling",c)},prevUntil:function(a,b,c){return
u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||
{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a)
{return

236
n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge
([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var
e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof
d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.r
everse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return
n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string
"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function()
{for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift(); while(+
+h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=
!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!
b&&(h=f.length-1,g.push(c)),function
d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.l
ength&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:f
unction(){return n.each(arguments,function(a,b){var
c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){re
turn a?n.inArray(a,f)>-1:f.length>0},empty:function(){return
f&&(f=[]),this},disable:function(){return
e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||
j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||
[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return
j.fireWith(this,arguments),this},fired:function(){return!!d}};return
j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once
memory"),"resolved"],["reject","fail",n.Callbacks("once
memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d
={state:function(){return c},always:function(){return
e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return

237
n.Deferred(function(c){n.each(b,function(b,f){var
g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var
a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(
c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?
[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?
n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var
g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].l
ock),e[f[0]]=function(){return e[f[0]+"With"](this===e?
d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.pro
mise(e),a&&a.call(e,e),e},when:function(a){var
b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1
===f?a:n.Deferred(),h=function(a,b,c){return
function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notify
With(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new
Array(d),k=new
Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,
j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var
I;n.fn.ready=function(a){return
n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:funct
ion(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.i
sReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.trigg
erHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J()
{d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.remo
veEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEven
t("onload",K))}function
K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(

238
J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d
.readyState)a.setTimeout(n.ready);else
if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventL
i
stener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onloa
d",K);var
c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScr
oll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return
a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var
L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!
1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")
[0],c&&c.style&&(b=d.createElemen
t("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;widt
h:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=ty
peof
b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;wi
dth:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zo
om=1)),c.removeChild(e))}),function(){var
a=d.createElement("div");l.deleteExpando=!0;try{delete
a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var
b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return
1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*
\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void
0===c&&1===a.nodeType){var
d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==type
of

239
c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?
n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function
Q(a){var b;for(b in
a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;

return!0}function R(a,b,d,e){if(M(a)){var
f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j
[k].data)||void 0!==d||"string"!=typeof b)return
k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typ
eof b||"function"==typeof
b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.d
ata={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?
(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var
d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c
?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:
(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete
d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete
g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete
g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object
":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){retur
n
a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,
c){return R(a,b,c)},removeData:function(a,b){return
S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return
S(a,b,!0)}}),n.fn.extend({data:function(a,b){var
c,d,e,f=this[0],g=f&&f.attributes;if(void

240
0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs")
)){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.ca
melCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return
e}return"object"==typeof a?this.each(function()
{n.data(this,a)}):arguments.length>1?this.each(function(){n. data(this,a,b)}):f?
P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function()
{n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){va r d;return
a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.make
Array(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var
c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.deque
ue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprog
ress"),delete

f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var
c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once
memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}
),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof
a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void
0===b?this:this.each(function(){var
c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.
dequeue(this,a)})},dequeue:function(a){return
this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return
this.queue(a||"fx",[])},promise:function(a,b){var
c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"s
tring"!=typeof a&&(b=a,a=void
0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.em
pty.add(h));return h(),e.promise(b)}}),function(){var

241
a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return
c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e
=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;heigh
t
:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof
b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing
:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;
width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!
==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE]
[+-]?\d+|)/.source,U=new
RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],
W=function(a,b){return
a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function
X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return
n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px
"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do
f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return
c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e
}var Y=function(a,b,c,d,e,f,g){var
h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in
c)Y(a,b,h,c[h],!0,f,g)}else if(void
0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(
a,b,c){return
j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?
b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:jav a|
ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details |

242
dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|pr
ogress|section|summary|template|time|video";function ca(a){var
b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c
.createElement(b.pop());return c}!function(){var
a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("inp
ut");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input
type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!
a.get ElementsByTagName("tbody").length,l.htmlSerialize=!!
a.getElementsByTagName ("link").length,l.html5Clone="<:nav></:nav>"!
==d.createElement("nav").cloneNo de(!
0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendCh
ecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.
cloneNode(!
0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input" ),c.setAttrib
ute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute(
"name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastCh
ild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.g
etAttribute(n.expando)}();var da={option:[1,"<select
multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<
map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"]
,tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><col
group>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></tabl
e>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.opt
i on,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function
ea(a,b){var c,d,e=0,f="undefined"!=typeof
a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof

243
a.querySelectorAll?a.querySelectorAll(b||"*"):void
0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d
):n.merge(f,ea(d,b));return void
0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!
=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}v ar ga=/<|
&#?\w+;/,ha=/<tbody/i;function
ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var
f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||
0===g)if("object"===
n.type(g))n.merge(q,g.nodeType?[g]:g);else
if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].to
LowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=
m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.creat
eTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||h
a.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.chi
ldNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.chi
ldNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastCh
ild}else
q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"
input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else
if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c)
{ f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var
b,c,e=d.createElement("div");for(b
in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in
a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var
ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|

244
drag |drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.
+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return
d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof
b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return
a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?
(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return
1===f&&(g=e,e=function(a){return
n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(functi
on(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var
f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.g
uid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=func
tion(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void
0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=
b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=
n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=
n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e
&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]
=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.
addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.ad
d.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,
l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var
f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").mat
ch(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||
[],o=q=h[1],p=(h[2]||"").split("." ).sort(),o){l=n.event.special[o]||{},o=(d?
l.delegateType:l.bindType)||o,m=k[o]||[],h
=h[2]&&new

245
RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&
&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.sele
ctor&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.re
move&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.
handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in
k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete
r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var
g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namesp
ace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.
event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.ind
exOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof
b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?
new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void
0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||
!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j
=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m
===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;whi
le((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data
(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.
apply&&M(i)&&(b.result=g.apply(i,c),b.result===!
1&&b.preventDefault());if(b.ty pe=q,!f&&!b.isDefaultPrevented()&&(!l._default||
l._default.apply(p.pop(),c)===!1 )&&M(e)&&h&&e[q]&&!n.isWindow(e))
{m=e[h],m&&(e[h]=null),n.event.trigge red=q;try{e[q]()}catch(s)
{}n.event.triggered=void 0,m&&(e[h]=m)}return
b.result}},dispatch:function(a){a=n.event.fix(a);var
b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event
.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.ca
246
ll(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isProp
agationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isI
mmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))
&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.ha
ndler).apply(f.elem,i),void
0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return
k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var
c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||i
sNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&
&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+"
",void
0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).lengt
h),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return
h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.exp
ando])return a;var
b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouse
Hooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props
,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return
a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.par
entNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles
cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey
target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char
charCode key keyCode".split(" "),filter:function(a,b){return

null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouse
Hooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX

247
pageY screenX screenY toElement".split(" "),filter:function(a,b){var
c,e,f,g=b.button,h=b.fromElement;return
null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.document
Element,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f
.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollT
op||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarg
et=h===a.target?b.toElement:h),a.which||void
0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:
{trigger:function(){if(this!==ra()&&this.focus)try{return
this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return
this===ra()&&this.blur?(this.blur(),!1):void
0},delegateType:"focusout"},click:{trigger:function(){return
n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1)
:void 0},_default:function(a){return
n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!
==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simul
ate:function(a,b,c){var d=n.extend(new
n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()
&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a
.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var
d="on"+b;a.detachEvent&&("undefined"==typeof
a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this
instanceof
n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevente
d=a.defaultPrevented||void
0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(t
his,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new
248
n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPro
pagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function()
{var
a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventD
efault():a.returnValue=!1)},stopPropagation:function(){var
a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.sto
pPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagati
on:function(){var
a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediat
ePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({
mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",point
erleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:
b,handle:function(a){var
c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(
a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.ev
ent.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void
n.event.add(this,"click._submit keypress._submit",function(a){var
b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):vo
id
0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._sub
mitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBu
bble&&(delete
a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this
.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void
n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:functi
on(){return

249
ka.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.even
t.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.pro
pertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(
a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("
change",this,a)})),!1):void
n.event.add(this,"beforeactivate._change",function(a){var
b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change
._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate
("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var
b=a.target;return
this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.ha
ndleObj.handler.apply(this,arguments):void 0},teardown:function(){return
n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focu
s:"focusin",blur:"focusout"},function(a,b){var
c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setu
p:function(){var
d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,
b,(e||0)+1)},teardown:function(){var
d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventList
ener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return
sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c)
{var d,e;if(a&&a.preventDefault&&a.handleObj)return
d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:
d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in
a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof
b)&&(c=b,b=void

250
0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:fun
ction(a,b){return
this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var
c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\
d+)"/g,ua=new
RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|
param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.
checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),
Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return
n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.ge
tElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createEleme
nt("tbody")):a}function Da(a){return
a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var
b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function
Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var
c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c
in
h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.exte
nd({},g.data))}}function Ga(a,b){var
c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[
n.expando]){e=n._data(b);for(d in
e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c
&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.ou
terHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML
)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChec
ked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?

251
b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(
b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var
e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==ty
peof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var
f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].owner
Document,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.
map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&
&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-
1].ownerDocumen t,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!
n._data(g,"globalEval")
&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g
.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function
Ia(a,b,c){for(var
d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),
d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.pare
ntNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return
a.replace(va,"<$1></$2>")},clone:function(a,b,c){var
d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.te
st("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.r
emoveChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.node
Type&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]
);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)
Fa(e,d[g]);else Fa(a,f);return
d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:fu
nction(a,b){for(var

252
d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);
h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in
g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete
j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void
0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(
a){return Ia(this,a,!0)},remove:function(a){return
Ia(this,a)},text:function(a){return Y(this,function(a){return void
0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).crea
teTextNode(a))},null,a,arguments.length)},append:function(){return
Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===th
is.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return
Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===th
is.nodeType){var
b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return
Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,t
his)})},after:function(){return
Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,t
his.nextSibling)})},empty:function(){for(var
a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.fir
stChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.opt
ions.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?
a:b,this.map(function(){return
n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||
{},c=0,d=this.length;if(void 0===a)return
1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!
wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a)

253
)&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c
++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0
}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:f
unction(){var a=[];return Ha(this,arguments,function(b){var
c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChil
d(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"b
efore",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function
(a){for(var
c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c)
,g.apply(e,c.get());return this.pushStack(e)}});var
Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var
c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return
c.detach(),d}function Ma(a){var b=d,c=Ka[a];return
c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0'
height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].cont
entDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var
Na=/^margin/,Oa=new
RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in
b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return
e},Qa=d.documentElement;!function(){var
b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.css
Text="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cs
sFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip
="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement(
"div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;
margin-

254
top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing="
"===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,
n.extend(l,{reliableHiddenOffsets:function(){return
null==b&&k(),f},boxSizingReliable:function(){return
null==b&&k(),e},pixelMarginRight:function(){return
null==b&&k(),c},pixelPosition:function(){return
null==b&&k(),b},reliableMarginRight:function(){return
null==b&&k(),g},reliableMarginLeft:function(){return
null==b&&k(),h}});function k(){var
k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:b
order-box;box-sizing:border-box;position:relative;display:block;margin:auto;borde
r:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(
l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4
px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{margi
nRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssT
ext=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;
box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.margin
Right=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k
)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRec
ts().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td>
</tr></table>",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;bor
der:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display=""
, k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var
Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var
c=b.ownerDocument.defaultView;return
c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var
d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void

255
0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),!l.pixelMarginRig
ht()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.min
Width=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f
)),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return
a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?
c[b]:void
0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runti
meStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em"
:g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void
0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void
delete this.get:(this.get=b).apply(this,arguments)}}}var
Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya
=new
RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"
block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],
ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var
b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in
ab)return a}function cb(a,b){for(var
c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),
c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&
W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!=
=c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],
d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=
b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?
Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var
f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&

256
&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e))
,"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding
"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return
g}function fb(b,c,e){var
f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ra(b),i=l.boxSizing&&"bord
er-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.
getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>
=g||null==g){if(g=Sa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Oa.test(g))return
g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return
g+eb(b,c,e||(i?"border":"content"),f,h)+"px"}n.extend({cssHooks:{opacity:{get:fun
ction(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:
{animationIterationCount:! 0,columnCount:!0,fillOpacity:!0,flexGrow:!
0,flexShrink:!0,fontWeight:!0,lineHeig ht:!0,opacity:!0,order:!0,orphans:!
0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"floa
t":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!
==a.nodeTyp e&&8!==a.nodeType&&a.style){var
e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.c
ssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void
0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof
c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c=
==c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneS
tyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in
g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var
e,f,g,h=n.camelCase(b);return
b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"g
et"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in

257
$a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["
height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?
Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return
fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?
eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}
}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return
Wa.test((b&&a.currentStyle?
a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat( RegExp.
$1)+"":b?"1":""},set:function(a,b){var
c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&
&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&
c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=
Va.test(f)?f.replace(Va,e):f+"
"+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?
Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void
0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?
(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundin
gClientRect().left-Pa(a,{

marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void
0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]
={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split("
"):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return
e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return
Y(this,function(a,b,c){var
d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g]
,!1,d);return f}return void

258
0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return
cb(this,!0)},hide:function(){return
cb(this)},toggle:function(a){return"boolean"==typeof
a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide
()})}});function gb(a,b,c,d,e){return new
gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:functio
n(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=
b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},c
ur:function(){var a=gb.propHooks[this.prop];return

a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var
b,c=gb.propHooks[this.prop];return
this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1
,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.
options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):g
b.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.
propHooks={_default:{get:function(a){var b;return
1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[
a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[
a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a
.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now
+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a)
{a.e
lem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linea
r:function(a){return
a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.
prototype.init,n.fx.step={};var

259
hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return
a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var
c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c
]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var
d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].
call(c,b,a))return d}function ob(a,b,c){var
d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");
c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empt
y.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function()
{m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1==
=a.nodeType&&("height"in b||"width"in

b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="
none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"==
=n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.
zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkW
rapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overfl
ow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete
b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void
0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void
0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.displa
y=j);else{r?"hidden"in
r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.don
e(function(){n(a).hide()}),m.done(function(){var
b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in
o)g=nb(q?r[d]:0,d,m),d in

260
r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}funct
ion pb(a,b){var c,d,e,f,g;for(c in
a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&
(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete
a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var
d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete
i.elem}),i=function(){if(e)return!1;for(var
b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.t
weens.length;i>g;g++)j.tweens[g].run(f);return
h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,pr
ops:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),
originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens
:[],createTween:function(b,c){var

d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return
j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return
this;for(e=!0;d>c;c++)j.tweens[c].run(1);return
b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.pr
ops;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))ret
urn
n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,
d)),d;return
n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,
{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.
opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,
{tw eeners:{"*":[function(a,b){var c=this.createTween(a,b);return

261
X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):
a=a.match(G);for(var
c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c]
.unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefi
lters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?
n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b ||
b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof
d.duration?d.duration:d.duration in
n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue=
==!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.o
ld)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:
function(a,b,c,d){return
this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:fu
nction(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var
b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return

g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c)
{var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof
a&&(c=b,b=a,a=void
0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var
b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].sto
p&&d(g[e]);else for(e in
g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||nul
l!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(t
his,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var
b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0

262
;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)
f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g
>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete
c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var
c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?
c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("
show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fad
eOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b)
{n.fn[a]=functi on(a,c,d){return
this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var
a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,
1);b.length||n.fx.stop(),hb=void
0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.inte
rval=13,n.fx.start=function(){ib||
(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop
=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:4
00},n.fn.delay=function(b,c){return
b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var
e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var
a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"
),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttri
b ute("className","t"),c.innerHTML=" <link/><table></table><a
href='/a'>a</a><input
type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","che
ckbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="to
p:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style"

263
)),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelect
ed=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisa
bled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""=
==b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="
t"===b.value}();var rb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];
{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var
e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"=
=typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return
null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerC
ase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return
b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in
b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof
c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){
var b=n.find.attr(a,"value");return
null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var
b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+
1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.
disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeNa
me(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return
g},set:function(a,b){var
c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valH
ooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else
d.selected=!1;return
c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[
this]={set:function(a,b){return

264
n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||
(n.valHooks[this].get=function(a){return
null===a.getAttribute("value")?"on":a.value})});var
sb,tb,ub=n.expr.attrHandle,vb=/^(?:checked|selected)$/i,wb=l.getSetAttribute,xb=l.
input;n.fn.extend({attr:function(a,b){return
Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return
this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var
d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof
a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.a
ttrHooks[b]||(n.expr.match.bool.test(b)?tb:sb)),void 0!==c?null===c?void
n.removeAttr(a,b):e&&"set"in e&&void
0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!
==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void
0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.no
deName(a,"input")){var c=a.value;return
a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var
c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c
]||c,n.expr.match.bool.test(c)?xb&&wb||!vb.test(c)?a[d]=!1:a[n.camelCase("default
-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(wb?c:d)}}),tb={set:function(a,b,c)
{ return b===!1?n.removeAttr(a,c):xb&&wb||!vb.test(c)?a.setAttribute(!
wb&&n.propFix[c ]||c,c):a[n.camelCase("default-"+c)]=a[c]=!
0,c}},n.each(n.expr.match.bool.source. match(/\w+/g),function(a,b){var
c=ub[b]||n.find.attr;xb&&wb||!vb.test(b)?ub[b]=function(a,b,d){var e,f;return d||
(f=ub[b],ub[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ub[b]=f),e}:ub[b]=funct
ion(a,b,c){return c?void

265
0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),xb&&wb||(n.attrHooks.v
alue={set:function(a,b,c){return
n.nodeName(a,"input")?void(a.defaultValue=b):sb&&sb.set(a,b,c)}}),wb||(sb={set:
function(a,b,c){var d=a.getAttributeNode(c);return
d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","val
ue"===c||b===a.getAttribute(c)?b:void
0}},ub.id=ub.name=ub.coords=function(a,b,c){var d;return c?void
0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={ge
t:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void
0},set:sb.set},n.attrHooks.contenteditable={set:function(a,b,c){sb.set(a,""===b?!1:
b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){r
eturn""===c?(a.setAttribute(b,"auto"),c):void
0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void
0},set:function(a,b){return a.style.cssText=b+""}});var
yb=/^(?:input|select|textarea|button|object)$/i,zb=/^(?:a|area)$/i;n.fn.extend({prop:f
unction(a,b){return
Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return
a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b)
{}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!
==f&&2!==f)return
1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?
e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!
==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var
b=n.find.attr(a,"tabindex");return
b?parseInt(b,10):yb.test(a.nodeName)||zb.test(a.nodeName)&&a.href?0:-1}}},prop
Fix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src

266
"],function(a,b){n.propHooks[b]={get:function(a){return
a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var
b=a.parentNode;return
b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each
(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","col
Span","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLo
werCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var
Ab=/[\t\r\n\f]/g;function Bb(a){return
n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var
b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return
this.each(function(b){n(this).addClass(a.call(this,b,Bb(this)))});if("string"==typeof
a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&("
"+e+" ").replace(Ab," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+"
");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return
this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return
this.each(function(b){n(this).removeClass(a.call(this,b,Bb(this)))});if(!arguments.l
ength)return this.attr("class","");if("string"==typeof
a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&("
"+e+" ").replace(Ab," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-
1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return
this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof
b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.eac
h(function(c){n(this).toggleClass(a.call(this,c,Bb(this),b),b)}):this.each(function(){
var
b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(
b)?e.removeClass(b):e.addClass(b)}else(void

267
0===a||"boolean"===c)&&(b=Bb(this),b&&n._data(this,"__className__",b),n.att
r(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:functio
n(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Bb(c)
+" ").replace(Ab," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus
focusin focusout load resize scroll unload click dblclick mousedown mouseup
mousemove mouseover mouseout mouseenter mouseleave change select submit
keydown keypress keyup error contextmenu".split("
"),function(a,b){n.fn[b]=function(a,c){return
arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:functi
on(a,b){return this.mouseenter(a).mouseleave(b||a)}});var
Cb=a.location,Db=n.now(),Eb=/\?/,Fb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\
da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJ
SON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var
c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Fb,function(a,b,e,f){return
c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)
():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!
=typeof b)return null;try{a.DOMParser?(d=new
a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new
a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e
){c=void 0}return
c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.err
or("Invalid XML: "+b),c};var Gb=/#.*$/,Hb=/([?&])_=[^&]*/,Ib=/^(.*?):[
\t]*([^\r\n]*)\r?$/gm,Jb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
Kb=/^(?:GET|HEAD)$/,Lb=/^\/\//,Mb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)
( ?::(\d+)|)|)/,Nb={},Ob={},Pb="*/".concat("*"),Qb=Cb.href,Rb=Mb.exec(Qb.toLo

268
werCase())||[];function Sb(a){return function(b,c){"string"!=typeof
b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||
[];if(n.isFunction(c))while(d=f[e++])"+"===d. charAt(0)?(d=d.slice(1)||"*",
(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}func tion Tb(a,b,c,d){var
e={},f=a===Ob;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var
j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:
(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!
e["*"]&&g("*")}function Ub(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in
b)void
0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function
Vb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void
0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in
h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in
c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!
==i[0]&&i.unshift(f),c[f]):void 0}function Wb(a,b,c,d){var
e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in
a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFi
elds[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.d
ataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+"
"+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["*
"+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g
&&a["throws"])b=g(b);else
try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+"
to

269
"+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},aj
axSettings:{url:Qb,type:"GET",isLocal:Jb.test(Rb[1]),global:!0,processData:!0,asy
nc:!0,contentType:"application/x-www-form-urlencoded;
charset=UTF-8",accepts:{"*":Pb,text:"text/plain",html:"text/html",xml:"applicatio
n/xml, text/xml",json:"application/json,
text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFie
lds:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"
* text":String,"text html":!0,"text json":n.parseJSON,"text
xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return
b?Ub(Ub(a,n.ajaxSettings),b):Ub(n.ajaxSettings,a)},ajaxPrefilter:Sb(Nb),ajaxTrans
port:Sb(Ob),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var
d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jqu
ery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once
memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getRes
ponseHeader:function(a){var
b;if(2===u){if(!k){k={};while(b=Ib.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.to
LowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return
2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||
(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||
(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in
a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||
v;return
j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.e
rror=w.fail,l.url=((b||l.url||Qb)+"").replace(Gb,"").replace(Lb,Rb[1]+"//"),l.type=c.
method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().
match(G)||[""],null==l.crossDomain&&(d=Mb.exec(l.url.toLowerCase()),l.crossD

270
omain=!(!d||d[1]===Rb[1]&&d[2]===Rb[2]&&(d[3]||("http:"===d[1]?"80":"443")
)===(Rb[3]||("http:"===Rb[1]?"80":"443")))),l.data&&l.processData&&"string"!=
typeof l.data&&(l.data=n.param(l.data,l.traditional)),Tb(Nb,l,c,w),2===u)return
w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=
l.type.toUpperCase(),l.hasContent=!Kb.test(l.type),f=l.url,l.hasContent||(l.data&&(
f=l.url+=(Eb.test(f)?"&":"?")+l.data,delete
l.data),l.cache===!1&&(l.url=Hb.test(f)?f.replace(Hb,"$1_="+Db++):f+
(Eb.test(f) ?"&":"?")+"_="+Db+
+)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeade r("If-Modified-
Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-Non e-
Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)
&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Acc
ept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l
.dataTypes[0]?", "+Pb+"; q=0.01":""):l.accepts["*"]);for(e in
l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(
m,w,l)===!1||2===u))return w.abort();v="abort";for(e
in{success:1,error:1,complete:1})w[e](l[e]);if(j=Tb(Ob,l,c,w)){if(w.readyState=1,i
&&o.trigger("ajaxSend",[w,l]),2===u)return
w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.tim
eout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No
Transport");function y(b,c,d,e){var
k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void
0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Vb(l,w,d))
,v=Wb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&
&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204==
=b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.d

271
ata,t=v.error,k=!t)):(t=y,(b||!y)&&(y="error",0>b&&(b=0))),w.status=b,w.statusTex
t=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=v
oid
0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o
.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return
w},getJSON:function(a,b,c){return
n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void
0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return
n.isFunction(c)&&(e=e||d,d=c,c=void
0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&
&a))}}),n._evalUrl=function(a){return
n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0
})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return
this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var
b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefor
e(this[0]),b.map(function(){var
a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return
a}).append(this)}return this},wrapInner:function(a){return
n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(f
unction(){var
b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){va
r b=n.isFunction(a);return
this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){retur
n
this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.chi
ldNodes)}).end()}});function Xb(a){return

272
a.style&&a.style.display||n.css(a,"display")}function
Yb(a){while(a&&1===a.nodeType){if("none"===Xb(a)||"hidden"===a.type)retur
n!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return
l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientR
ects().length:Yb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a
)};var

Zb=/%20/g,$b=/\[\]$/,_b=/\r?\n/g,ac=/^(?:submit|button|image|reset|file)$/i,bc=/^(?
:input|select|textarea|keygen)/i;function cc(a,b,c,d){var
e;if(n.isArray(b))n.each(b,function(b,e){c||$b.test(a)?d(a,e):cc(a+"["+("object"==ty
peof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e
in b)cc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var
c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeUR
IComponent(a)+"="+encodeURIComponent(b)};if(void
0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&
&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in
a)cc(c,a[c],b,e);return
d.join("&").replace(Zb,"+")},n.fn.extend({serialize:function(){return
n.param(this.serializeArray())},serializeArray:function(){return
this.map(function(){var a=n.prop(this,"elements");return a?
n.makeArray(a):this}).filter(function(){var a=this.type;return
this.name&&!n(this).is(":disabled")&&bc.test(this.nodeName)&&!ac.test(a)&&(th
is.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?
null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replac e(_b,"\r\
n")}}):{name:b.name,value:c.replace(_b,"\r\n")}}).get()}}),n.ajaxSettings.
xhr=void 0!==a.ActiveXObject?function(){return

273
this.isLocal?hc():d.documentMode>8?gc():/^(get|post|head|put|delete|options)$/i.te
st(this.type)&&gc()||hc()}:gc;var
dc=0,ec={},fc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",fun
ction(){for(var a in ec)ec[a](void 0,!0)}),l.cors=!!fc&&"withCredentials"in
fc,fc=l.ajax=!!fc,fc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var
c;return{send:function(d,e){var
f,g=b.xhr(),h=++dc;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFie
lds)for(f in
b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.override
MimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested
-With"]="XMLHttpRequest");for(f in d)void
0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=f
unction(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete ec[h],c=void
0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.stat
us,"string"==typeof
g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.is
Local||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllR
esponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatecha
nge=ec[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function gc(){try{return
new a.XMLHttpRequest}catch(b){}}function hc(){try{return new
a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxPrefilter(function(a){
a.crossDomain&&(a.contents.script=!1)}),n.ajaxSetup({accepts:{script:"text/javas
cript, application/javascript, application/ecmascript,
application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"
text script":function(a){return
n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void

274
0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.aj
axTransport("script",function(a){if(a.crossDomain){var
b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.create
Element("script"),b.async=!
0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a .url,b.onload=b.onreadysta
techange=function(a,c){(c||!b.readyState||/loaded|comple
te/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.
parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChi
ld)},abort:function(){b&&b.onload(void 0,!0)}}}});var ic=[],jc=/(=)\?(?=&|
$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function() {var a=ic.pop()||
n.expando+"_"+Db++;return this[a]=!0,a}}),n.ajaxPrefilter("json
jsonp",function(b,c,d){var
e,f,g,h=b.jsonp!==!1&&(jc.test(b.url)?"url":"string"==typeof
b.data&&0===(b.contentType||"").indexOf("application/x-www-form-
urlencoded" )&&jc.test(b.data)&&"data");return
h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b
.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(jc,"$1"+e):b.jsonp!==!1&&
(b.url+=(Eb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script
json"]=function(){return g||n.error(e+" was not
called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.alway
s(function(){void
0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ic.pus
h(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void
0}),l.createHTMLDocument=function(){if(!d.implementation.createHTMLDocum
ent)return!1;var a=d.implementation.createHTMLDocument("");return

275
a.body.innerHTML="<form></form><form></form>",2===a.body.childNodes.len
gth}(),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return
null;"boolean"==typeof
b&&(c=b,b=!1),b=b||(l.createHTMLDocument?
d.implementation.createHTMLDoc ument(""):d);var e=x.exec(a),f=!c&&[];return
e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.
childNodes))};var kc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof
a&&kc)return kc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return
h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void
0):b&&"object"==typeof
b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:
b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).
find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(g,f||[a.responseTe
xt,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajax
Success","ajaxSend"],function(a,b){n.fn[b]=function(a){return
this.on(b,a)}}),n.expr.filters.animated=function(a){return
n.grep(n.timers,function(b){return a===b.elem}).length};function lc(a){return
n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={se
tOffset:function(a,b,c){var
d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="re
lative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"==
=k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(
f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.to
p&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?
b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)
return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var

276
b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return
b=f.documentElement,n.contains(b,e)?("undefined"!=typeof
e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=lc(f),{top:d.top+(c.
pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-
(
b.clientLeft||0)}):d},position:function(){if(this[0]){var
a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundin
gClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.
offset()),c.top+=n.css(a[0],"borderTopWidth",!0)-a.scrollTop(),c.left+=n.css(a[0],"
borderLeftWidth",!0)-a.scrollLeft()),{top:b.top-c.top-n.css(d,"marginTop",!
0),left:b
.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return
this.map(function(){var
a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"posit
ion"))a=a.offsetParent;return
a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,
b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var
f=lc(a);return void 0===e?f?b in
f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,
c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],fu
nction(a,b){

n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?
n(a).position()[b]+"px":c):void
0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inn
er"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var
f=arguments.length&&(c||"boolean"!=typeof

277
d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var
e;return
n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.
documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e
["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void
0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return
this.on(a,null,b,c)},unbind:function(a,b){return
this.off(a,null,b)},delegate:function(a,b,c,d){return
this.on(b,a,c,d)},undelegate:function(a,b,c){return
1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){
return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof
define&&define.amd&&define("jquery",[],function(){return n});var
mc=a.jQuery,nc=a.$;return n.noConflict=function(b){return a.$)

CHAPTER 10

278
CONCLUSION

CONCLUSION
The Tourism Management System Project is designed to provide a comprehensive
solution to manage and promote tourism activities. The system is built on PHP, and
it is designed to facilitate various tasks related to tourism, such as reservation
management, itinerary planning, tour management, and customer relationship
management.
In conclusion, the project has successfully achieved its objectives of developing a
reliable and efficient tourism management system that can be used by tour
operators, travel agents, and other stakeholders in the tourism industry. The system
has been designed to provide users with a seamless and user-friendly experience,
enabling them to manage and promote tourism activities more effectively. The
system offers a range of features and functionalities that cater to the needs of
different stakeholders, such as itinerary planning, booking management, customer
management, and reporting. These features provide users with a holistic solution

279
that can help them manage their tourism operations more efficiently, reduce costs,
and improve customer satisfaction.
Furthermore, the project has identified some areas for improvement and future
development. For instance, the system could be expanded to include features such
as social media integration, mobile app integration, and advanced reporting
capabilities. These enhancements can help to make the system more competitive
and better meet the needs of the evolving tourism industry.
In conclusion, the Tourism Management System Project has provided a valuable
contribution to the tourism industry. It has demonstrated the potential of PHP as a
platform for developing reliable and efficient tourism management systems. The
project has also highlighted the need for ongoing development and innovation in
the tourism industry to keep pace with the changing needs and expectations of
customers and stakeholders.

CHAPTER 11

BIBLIOGRAPHY
BIBLIOGRAPHY

1. https://developer.mozilla.org/en-US/docs/Web/HTML

2. https://developer.mozilla.org/en-US/docs/Web/CSS

3. https://developer.mozilla.org/en-US/docs/Web/JavaScript

4. https://getbootstrap.com/docs/5.0/getting-started/introduction/

280
5. https://www.php.net/docs.php

6. https://dev.mysql.com/doc/

7. https://httpd.apache.org/docs/

8. https://www.apachefriends.org/docs/

9. https://chat.openai.com/

10.https://bard.google.com/

11.https://youtube.com

12.https://stackoverflow.com/

281

You might also like