Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROJECT ON
ONLINE SHOPPING
For partial fulfillment of the requirement of award
Of
DEWAN INSTITUTE OF
MANAGEMENT STUDIES
DELHI MASOORI BYEEPASS ROAD, MEERUT
SUBMITTED TO :
Mr. NEERAJ GUPTA
SUBMITTED BY :
DEEPSHIKHA SRIVASTVA
DATA
REPORT
ACKNOWLEDGEMENT
First and foremost we would like to express our gratitude to our guide
MR. NEERAJ GUPTA sir & other faculty member for giving us
wonderful opportunity to work on the project. We are very thankful to
him who was always ready to lend their helping hand to us. This project
has giving us fair exposure to some of the very interesting features of
ONLINE SHOPPING and PHP along beyond doubt it will help us
in the short and long run. We are very grateful to him introducing me to
some of very exciting features of ONLINE SHOPPING.
THAKING YOU
DECLARATION
I hereby declare that this project report entitled
ONLINE SHOPPING submitting for partially
fulfillment of the requirement for the MCA VI SEM.
This report is only for educational purpose and not
for any other purpose.
DEEPSHIKHA SRIVASTVA
1207414016
MCA VI sem
ONLINE
SHOPPING
INDEX
Sr no. Topics
1.
Introduction
Objective
Requirement Analysis
SDLC
7
8
System analysis
Feasibility study
9
16
10
17
System design
TESTING CONCLUSION
E R diagram
IMPLEMENTATION
11
18
Data
flow diagram
FUTURISTIC
SCOPE
19
12
BIBLIOGRAPHY
Project layout
20
13
Database
14
Benefits
15
Coding
Page no.
INTRODUCTION
Shopping Cart
Project Features
Software Requirement
Installation Steps
Download Project
Shopping Cart System
Use of Shopping Cart system
7
Shopping Cart System is the Simple shopping Solution. It's a full-featured website and
shopping cart system that bends over backwards to give you the flexibility you need to
run your online store. The basic concept of the application is to allow the customer to
shop virtually using the Internet and allow customers to buy the items and articles of
their desire from the store. The information pertaining to the products are stores on an
RDBMS at the server side (store). The Server process the customers and the items are
shipped to the address submitted by them. The details of the items are brought forward
from the database for the customer view based on the selection through the menu and
the database of all the products are updated at the end of each transaction.
What is Shopping Cart system?
Online shopping is a form of electronic shopping store where the buyer is directly
online to the seller's computer usually via the internet. There is no intermediary
service. The sale and purchase transaction is completed electronically and
interactively in real-time. The development of this new system contains the following
activities, which try to develop on-line application by keeping the entire process in the
view of database integration approach. User gets its eamil id and password to acces
their account.
Administrator of Shopping Cart System has multiple features such as Add, Delete,
Update shopping Items.
Features of shopping cart system.
1. Secure registration and profile management facilities for
Customers.
2. Browsing through the e-Mall to see the items that are there in
each category of products like Apparel, Kitchen accessories,
Bath accessories, Food items etc.
3. Creating a Shopping cart so that customer can Shop N number
of items and checkout finally with the entire shopping cart
4. Customers should be able to mail the Shop about the items
they would like to see in the Shop
10
OBJECTIVE
Starting the project, we should fully know about the meaning of project. There are
seven letters in the word PROJECT. Each character has its own technical
meaning.
P planning : this deals with the idea at thinking and which are required for
project.
R Resource : the money problem will be solved and resources from which
collected.
O Operating : the procedure from which getting job is prepared in a systematic
way is known as operation.
J Joint effort : this is directly proper to a operation output is a made of several
person working sincerely is known as JOIN EFFORT.
E Engineering : A well educated engineer can do this work in a better way to
find out better result. Hence the project is as engineer function.
C Cooperation : To make the project successfully, it is necessary for its success
and completion of project.
T Technique : It must as it gives a better shape. It is not possible to complete the
project without technique.
The project is a system that gives the systematic way of planning and working.
11
Or
It representing the temporary task, in a scientific manner carried out of
engineers to achieve a goal.
REQUIREMENT ANALYSIS
A Subject People are Interested In
The most successful blogs are written about topics that have a broad appeal. The more people
who are interested in the topic you write about at your blog, the more people will search for
information on that topic and want to read about it.
Commitment
Successful blogging requires a massive amount of sweat equity and dedication. Building a
successful blog requires more than just publishing a new post a few times a week. The most
successful blogs are updated frequently (often several times each day), and the bloggers behind
those blogs work relentlessly to promote their blogs and drive traffic to them.
Time
Building a successful blog requires a massive time investment. Growing a blog doesn't stop with
publishing post. Top bloggers spend a lot of time everyday promoting their blogs, researching
and reading to drive traffic to it.
12
A Desire to Network
Socializing is a critical component of developing a successful blog. Blogging by nature is a
social medium, and successful blogs become so primarily because of the strong sense of
community surrounding them. Top bloggers take time to respond to comments and interact with
their blogs' readers as well as network on social sites, forums and more all in an effort to further
promote their blogs.
Creativity
A successful blog is typically updated very frequently. That means successful blogs always
provide fresh, unique content to their readers. Writing that new content requires a great deal of
creativity to keep readers from feeling bored or from feeling like the blog does not bring them
any value.
Patience
Blogging success does not happen overnight. Be prepared to stay dedicated to promoting your
blog for the long haul. Eventually, your hard work should pay off with increased traffic and a
significant growth in popularity of your blog. The key is to not give up.
13
Section
Supported Operating Systems
Additional Software
Requirements
Display
RAM
14
CPU
Section
Supported Operating Systems
Additional Software
Requirements
15
16
Why PHP?
PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.) PHP is
compatible with almost all servers used today (Apache, IIS, etc.) PHP supports a
wide range of databases. PHP is free. Download it from the official PHP
resource: www.php.net. PHP is easy to learn and runs efficiently on the server side
17
Install PHP
Install a database, such as MySQL
The official PHP website (PHP.net) has installation instructions for
PHP: http://php.net/manual/en/install.php
SDLC
SOFTWARE DEVELOPMENT LIFE CYCLE
The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process. SDLC is a structure
followed by a development team within the software organization. It consists of a
detailed plan describing how to develop, maintain and replace specific software.
The life cycle defines a methodology for improving the quality of software and the
overall development process.
This term is also known as the software development process.
Planning:
The most important parts of software development, requirement gathering or
requirement analysis are usually done by the most skilled and experienced software
engineers in the organization. After the requirements are gathered from the client, a
scope document is created in which the scope of the project is determined and
documented.
18
Implementation:
The software engineers start writing the code according to the client's
requirements.
Testing:
This is the process of finding defects or bugs in the created software.
Documentation:
Every step in the project is documented for future reference and for the
improvement of the software in the development process. The design
documentation may include writing the application programming interface (API).
Maintaining:
Software maintenance is done for future reference. Software improvement and
new requirements (change requests) can take longer than the time needed to create
the initial development of the software.
Waterfall Model:
This model involves finishing the first phase completely before commencing the
next one. When each phase is completed successfully, it is reviewed to see if the
project is on track and whether it is feasible to continue.
V-Shaped Model:
19
Incremental Model:
This life cycle model involves multiple development cycles. The cycles are
divided up into smaller iterations. These iterations can be easily managed and go
through a set of phases including requirements, design, implementation and testing.
A working version of the software is produced during the first iteration, so working
software is created early in the development process.
SYSTEM ANALYSIS
System analysis is the process of examining a business situation for the purpose of
developing a system solution to a problem or devising improvements to such a
situation. Before the development of any system can begin, a project proposal is
prepared by the users of the potential system and/or by systems analysts and
submitted to an appropriate managerial structure within the organization.
Assuming that a new system is to be developed, the next phase is a system
analysis. Analysis involved a detailed study of the current system, leading to
specifications of a new system. Analysis is a detailed study of various operations
performed by a system and their relationship with in and outside the system.
During analysis, data are collected on the available files, decision points and
transactions handled by the present system. Interviews, on-site observation and
questionnaire are the tools used for system analysis. Using the following step it
becomes easy to draw the exact boundary of the new system under consideration :
Keeping in view the problems and new requirements workout the pros and cons
including new areas of the system.
All procedures, requirement must be analysed and documented in the form of
detailed data flow diagrams, data dictionary, logical data structures and miniature
specifications. System analysis also includes sub-dividing of complex process
involving the entire system, identifiers of data stores and manual processes.
The main points to be discussed in system analysis are :
20
FEASIBILITY STUDY
The feasibility study investigates the problem and the information needs of the
stakeholders. It seeks to determine the resources required to provide an information
systems solution, the cost and benefits of such a solution, and the feasibility of
such a solution. The analyst conducting the study gathers information using a
variety of methods, the most popular of which are:
Interviewing users, employees, managers, and customers.
Developing and administering questionnaires to interested stakeholders,
such as potential users of the information system.
Observing or monitoring users of the current system to determine their needs
as well as their satisfaction and dissatisfaction with the current system.
Collecting, examining, and analyzing documents, reports, layouts,
procedures, manuals, and any other documentation relating to the operations
of the current system.
Modeling, observing, and simulating the work activities of the current
system.
21
Economic feasibility :
The economic viability of the proposed system. The proposed project's cost and
benefits are evaluated. Tangible costs include fixed and variable costs, while
tangible benefits include cost savings, increased revenue, and increased profit. A
project is approved only if it covers its cost in a given period of time. However, a
project may be approved only on its intangible benefits such as those relating to
government regulations, the image of the organization, or similar considerations.
Technical feasibility :
The possibility that the organization has or can procure the necessary resources.
This is demonstrated if the needed hardware and software are available in the
marketplace or can be developed by the time of implementation.
Operational feasibility:
The ability, desire, and willingness of the stakeholders to use, support, and operate
the proposed computer information system. The stakeholders include management,
employees, customers, and suppliers. The stakeholders are interested in systems
that are easy to operate, make few, if any, errors, produce the desired information,
and fall within the objectives of the organization.
22
SYSTEM DESIGN
What is systems design?
Systems design is simply the design of systems. It implies a systematic and
rigorous approach to designan approach demanded by the scale and complexity
of many systems problems.
23
E R DIAGRAM
Entity Relationship Diagrams are a major data modeling tool and will help organize
the data in your project into entities and define the relationships between the entities.
This process has proved to enable the analyst to produce a good database structure so
that the data can be stored and retrieved in a most efficient manner.
Entity
A data entity is anything real or abstract about which we want to store data. Entity
types fall into five classes: roles, events, locations, tangible things or concepts. E.g.
employee, payment, campus, book. Specific examples of an entity are
called instances. E.g. the employee John Jones, Mary Smith's payment, etc.
Relationship
A data relationship is a natural association that exists between one or more entities.
E.g. Employees process payments. .
Attribute
A data attribute is a characteristic common to all or most instances of a particular
entity. Synonyms include property, data element, field. E.g. Name, address, Employee
Number, pay rate are all attributes of the entity employee. An attribute or combination
of attributes that uniquely identifies one and only one instance of an entity is called a
primary key or identifier. E.g. Employee Number is a primary key for Employee.
25
History
Data flow diagrams were proposed by Larry Constantine. The original developer
of structured design, based on Martin and Estrin's "Data Flow Graph" model of
computation. Starting in the 1970s, data flow diagrams (DFD) became a popular
way to visualize the major steps and data involved in software system processes.
DFDs were usually used to show data flows in a computer system, although they
could in theory be applied to business process modeling. DFD were useful to
document the major data flows or to explore a new high-level design in terms of
data flow.
26
27
28
There are two types of data flow diagrams, namely physical data flow diagrams
and logical data flow diagram and it is important to difference between the two:
29
PROJECT LAYOUT
PROJECT PLAN:
The Project Plan (sometimes called project initiation document or project scoping
report) is produced by the Project Manager following a brief Scoping Project
Study. It should establish:
What the project is to achieve
A detailed time schedule for carrying out the project
Details of the resources required - people, money, sections
Who is to be involved in the project
What the risks and implementation issues are.
A typical format is given below. As you may notice, the first five items (Part A)
focus on what the project is to achieve whilst the last four items (Part B) go into
more depth about how the project should be carried out.
30
Project Plan
Part A
1. Title of project,
2. Background to the Project
3. Terms of Reference & Key Objectives
4. Benefits & Costs Analysis
5. Risk Assessment
Part B
6. Resources likely to be needed
7. Costs
8. Proposed Project Organisation
9. Time Schedule
Project Plan
Part A
1.
Title of project,
Together with the names of the Project Manager and Project Sponsor.
2.
A brief description of the background to the project including how the project came
about, what the project is about, why we are undertaking the project, and what in
very broad terms the outcome of the project will be to the organization.
31
3.
First, a brief overall definition and description of the project and its aims including
some reference to likely timescales, budget and resources, and what the project
will aim to deliver. Then a statement of what the project is to deliver - the key
objectives. The latter is often done as a listing the main stakeholders of the project
with a statement for each of what the project will aim to deliver to them.
4.
A brief statement of the main benefits to be gained from undertaking this project
and the main costs which will be incurred and which need to be controlled and
contained. Not necessarily a full cost-benefit analysis but a brief overview.
5.
Risk Assessment
The main risks - implementation issues which may delay the project. The priority
items should be identified with suggestions as to how they could be averted or their
impact lessened.
One of the simplest and best ways of doing this is to create a risk register
identifying all the events that could cause problems for the project, and then
mapping these onto a Hi-Lo diagram.
Part B
6.
The resources, money and peoples time, which the project manager will need to
carry out this project.
7.
Costs
32
8.
9.
Time Schedule
A time plan showing the key activities which need to take place and estimates of
when the activity needs to be carried out, with key milestone dates.
Best done with one of the planning techniques - Gantt Charts, Milestone Plans,
Stages Diagram, or even Critical Path Analysis if the project warrants it.
DATA BASE
SQL REPORT
Host: localhost
Database: blog
Generation Time: Apr 15, 2015 at 10:07 AM
Generated by: phpMyAdmin 3.3.2deb1ubuntu1 / MySQL 5.1.73-0ubuntu0.10.04.1
SQL query: SELECT * FROM `blog_comments` LIMIT 30, 30 ;
Rows: 22
comment post_
name
_id
id
comment
comment_time
31
10 Asd
aaaaaaaaaaaaaaaaaaaaa
2012-06-07
19:48:17
32
12 Channi
comments
2012-06-08
33
comment post_
name
_id
id
comment
comment_time
08:46:41
2012-06-09
18:52:19
38
18 asdfdsaf A
45
23 Channi
2012-06-09
20:14:26
46
26 Poink
2012-06-10
12:27:37
47
35
Some
User
2012-06-10
19:18:00
48
35
Some
User
2012-06-10
19:18:12
49
35
Some
User
2012-06-10
19:18:21
50
26
Some
User
2012-06-10
19:18:33
51
26
Some
User
2012-06-10
19:18:41
52
34
Some
User
2012-06-10
19:21:28
53
34
Some
User
2012-06-10
19:21:38
54
33
Some
User
55
33
Some
User
56
32
Some
User
57
32
Some
User
2012-06-10
19:22:44
58
32 Some
2012-06-10
2012-06-10
19:22:14
34
comment post_
name
_id
id
comment
User
comment_time
19:22:51
59
32
Some
User
2012-06-10
19:23:06
61
31
Some
User
62
31
Some
User
63
31
Some
User
2012-06-10
19:24:09
64
39 Vinni
Nbotug
2015-03-20
13:36:23
BENEFITS
20 years ago, blogs didnt exist. Today, there are over 150 million of them.
Still, I get a lot of puzzled looks when I tell people that having a blog is the single
most important thing a business, cause, or person can do to advance online. Even
though blogging has hit it big, most people dont get what makes blogging so
powerful, helpful, and beneficial.
To put an end to that, Ive compile a list of the 20 biggest benefits of having a blog
below. If youre among the uninitiated, prepare to be enlightened. If youve already
started a blog of your own then you can consider this an affirmation of why you do
35
what you and a good place to direct people who still think that a blog is just a
pointless public diary.
37
ONLINE
SHOPPIN
G
CODING
/**
* jQuery lightBox plugin
38
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)
* and adapted to me for use like a plugin from jQuery.
* @name jquery-lightbox-0.5.css
* @author Leandro Vieira Pinho - http://leandrovieira.com
* @version 0.5
* @date April 11, 2008
* @category jQuery plugin
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
* @license CCAttribution-ShareAlike 2.5 Brazil http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more
informations about this jQuery plugin
*/
#jquery-overlay {
position: absolute;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
}
#jquery-lightbox {
position: absolute;
39
top: 0;
left: 0;
width: 100%;
z-index: 100;
text-align: center;
line-height: 0;
}
#jquery-lightbox a img { border: none; }
#lightbox-container-image-box {
position: relative;
background-color: #fff;
width: 250px;
height: 250px;
margin: 0 auto;
}
#lightbox-container-image { padding: 10px; }
#lightbox-loading {
position: absolute;
top: 40%;
left: 0%;
height: 25%;
width: 100%;
text-align: center;
40
line-height: 0;
}
#lightbox-nav {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 10;
}
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none;}
#lightbox-nav-btnPrev, #lightbox-nav-btnNext {
width: 49%;
height: 100%;
zoom: 1;
display: block;
}
#lightbox-nav-btnPrev {
left: 0;
float: left;
}
#lightbox-nav-btnNext {
41
right: 0;
float: right;
}
#lightbox-container-image-data-box {
font: 10px Verdana, Helvetica, sans-serif;
background-color: #fff;
margin: 0 auto;
line-height: 1.4em;
overflow: auto;
width: 100%;
padding: 0 10px 0;
}
#lightbox-container-image-data {
padding: 0 10px;
color: #666;
}
#lightbox-container-image-data #lightbox-image-details {
width: 70%;
float: left;
text-align: left;
}
#lightbox-image-details-caption { font-weight: bold; }
#lightbox-image-details-currentNumber {
42
display: block;
clear: left;
padding-bottom: 1.0em;
}
#lightbox-secNav-btnClose {
width: 66px;
float: right;
padding-bottom: 0.7em;
}
/*
* jQuery 1.2.3 - New Wave Javascript
*
* Copyright (c) 2008 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
* $Rev: 4663 $
*/
(function(){if(window.jQuery)var _jQuery=window.jQuery;var
jQuery=window.jQuery=function(selector,context){return new
jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.
$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\
[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context)
43
{selector=selector||document;if(selector.nodeType)
{this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var
match=quickExpr.exec(selector);if(match&&(match[1]||!context))
{if(match[1])selector=jQuery.clean([match[1]],context);else{var
elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return
jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
selector=[];}}else
return new jQuery(context).find(selector);}else
if(jQuery.isFunction(selector))return new jQuery(document)
[jQuery.fn.ready?"ready":"load"](selector);return
this.setArray(selector.constructor==Array&&selector||(selector.jquery||
selector.length&&selector!=window&&!selector.nodeType&&selector[0]!
=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||
[selector]);},jquery:"1.2.3",size:function(){return
this.length;},length:0,get:function(num){return num==undefined?
jQuery.makeArray(this):this[num];},pushStack:function(elems){var
ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems)
{this.length=0;Array.prototype.push.apply(this,elems);return
this;},each:function(callback,args){return
jQuery.each(this,callback,args);},index:function(elem){var ret=1;this.each(function(i){if(this==elem)ret=i;});return
ret;},attr:function(name,value,type){var
options=name;if(name.constructor==String)if(value==undefined)return
this.length&&jQuery[type||"attr"](this[0],name)||
undefined;else{options={};options[name]=value;}return this.each(function(i)
{for(name in options)jQuery.attr(type?
this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(
key,value){if((key=='width'||
key=='height')&&parseFloat(value)<0)value=undefined;return
this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!
=null)return this.empty().append((this[0]&&this[0].ownerDocument||
document).createTextNode(text));var ret="";jQuery.each(text||this,function()
{jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!
=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html)
44
{if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(
function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return
elem;}).append(this);return this;},wrapInner:function(html){return
this.each(function()
{jQuery(this).contents().wrapAll(html);});},wrap:function(html){return
this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return
this.domManip(arguments,true,false,function(elem)
{if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return
this.domManip(arguments,true,true,function(elem)
{if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function()
{return this.domManip(arguments,false,false,function(elem)
{this.parentNode.insertBefore(elem,this);});},after:function(){return
this.domManip(arguments,false,true,function(elem)
{this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return
this.prevObject||jQuery([]);},find:function(selector){var
elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return
this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?
jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function()
{if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var
clone=this.cloneNode(true),container=document.createElement("div");container.ap
pendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function()
{if(this[expando]!
=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(f
unction(i){if(this.nodeType==3)return;var
events=jQuery.data(this,"events");for(var type in events)for(var handler in
events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type]
[handler].data);});return ret;},filter:function(selector){return
this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i)
{return selector.call(elem,i);})||
jQuery.multiFilter(selector,this));},not:function(selector)
{if(selector.constructor==String)if(isSimple.test(selector))return
this.pushStack(jQuery.multiFilter(selector,this,true));else
45
selector=jQuery.multiFilter(selector,this);var
isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!
selector.nodeType;return this.filter(function(){return isArrayLike?
jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!
selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?
jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||
jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector)
{return selector?
jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return
this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var
elem=this[0];if(jQuery.nodeName(elem,"select")){var
index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select
-one";if(index<0)return null;for(var i=one?index:0,max=one?
index+1:options.length;i<max;i++){var option=options[i];if(option.selected)
{value=jQuery.browser.msie&&!option.attributes.value.specified?
option.text:option.value;if(one)return value;values.push(value);}}return
values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}return
this.each(function(){if(this.nodeType!
=1)return;if(value.constructor==Array&&/radio|
checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||
jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var
values=value.constructor==Array?value:
[value];jQuery("option",this).each(function()
{this.selected=(jQuery.inArray(this.value,values)>=0||
jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=1;}else
this.value=value;});},html:function(value){return value==undefined?(this.length?
this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value)
{return this.after(value).remove();},eq:function(i){return
this.slice(i,i+1);},slice:function(){return
this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callbac
k){return this.pushStack(jQuery.map(this,function(elem,i){return
callback.call(elem,i,elem);}));},andSelf:function(){return
46
this.add(this.prevObject);},data:function(key,value){var
parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var
data=this.triggerHandler("getData"+parts[1]+"!",
[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return
data==null&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function()
{jQuery.data(this,key,value);});},removeData:function(key){return
this.each(function()
{jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback
){var clone=this.length>1,elems;return this.each(function(){if(!elems)
{elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var
obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],
"tr"))obj=this.getElementsByTagName("tbody")[0]||
this.appendChild(this.ownerDocument.createElement("tbody"));var
scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?
jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))
{scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery(
"script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};j
Query.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem)
{if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||
elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}j
Query.extend=jQuery.fn.extend=function(){var target=arguments[0]||
{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean
){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof
target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i+
+)if((options=arguments[i])!=null)for(var name in options)
{if(target===options[name])continue;if(deep&&options[name]&&typeof
options[name]=="object"&&target[name]&&!
options[name].nodeType)target[name]=jQuery.extend(target[name],options[name])
;else if(options[name]!=undefined)target[name]=options[name];}return
target;};var expando="jQuery"+(new
Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|
opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.
47
$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn)
{return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!
=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return
elem.documentElement&&!elem.body||
elem.tagName&&elem.ownerDocument&&!
elem.ownerDocument.body;},globalEval:function(data)
{data=jQuery.trim(data);if(data){var
head=document.getElementsByTagName("head")[0]||
document.documentElement,script=document.createElement("script");script.type=
"text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.appendChild(script);hea
d.removeChild(script);}},nodeName:function(elem,name){return
elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cach
e:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var
id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!
jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id]
[name]=data;return name?jQuery.cache[id]
[name]:id;},removeData:function(elem,name){elem=elem==window?
windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete
jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!
name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e)
{if(elem.removeAttribute)elem.removeAttribute(expando);}delete
jQuery.cache[id];}},each:function(object,callback,args){if(args)
{if(object.length==undefined){for(var name in
object)if(callback.apply(object[name],args)===false)break;}else
for(var i=0,length=object.length;i<length;i+
+)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefine
d){for(var name in
object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var
i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!
==false;value=object[++i]){}}return
object;},prop:function(elem,value,type,i,name)
48
{if(jQuery.isFunction(value))value=value.call(elem,i);return
value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?
value+"px":value;},className:{add:function(elem,classNames)
{jQuery.each((classNames||"").split(/\s+/),function(i,className)
{if(elem.nodeType==1&&!
jQuery.className.has(elem.className,className))elem.className+=(elem.class
Name?" ":"")+className;});},remove:function(elem,classNames)
{if(elem.nodeType==1)elem.className=classNames!=undefined?
jQuery.grep(elem.className.split(/\s+/),function(className){return!
jQuery.className.has(classNames,className);}).join("
"):"";},has:function(elem,className){return jQuery.inArray(className,
(elem.className||elem).toString().split(/\s+/))>1;}},swap:function(elem,options,callback){var old={};for(var name in options)
{old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(ele
m);for(var name in
options)elem.style[name]=old[name];},css:function(elem,name,force)
{if(name=="width"||name=="height"){var
val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=
="width"?["Left","Right"]:["Top","Bottom"];function getWH()
{val=name=="width"?elem.offsetWidth:elem.offsetHeight;var
padding=0,border=0;jQuery.each(which,function()
{padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||
0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return
jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var
ret;function color(elem){if(!jQuery.browser.safari)return false;var
ret=document.defaultView.getComputedStyle(elem,null);return!ret||
ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie)
{ret=jQuery.attr(elem.style,"opacity");return
ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var
save=elem.style.outline;elem.style.outline="0 solid
black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!
force&&elem.style&&elem.style[name])ret=elem.style[name];else
49
if(document.defaultView&&document.defaultView.getComputedStyle)
{if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"$1").toLowerCase();var
getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getCo
mputedStyle&&!
color(elem))ret=getComputedStyle.getPropertyValue(name);else{var
swap=[],stack=[];for(var
a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i+
+)if(color(stack[i]))
{swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="displa
y"&&swap[stack.length-1]!=null?"none":
(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var
i=0;i<swap.length;i++)if(swap[i]!
=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else
if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter)
{return letter.toUpperCase();});ret=elem.currentStyle[name]||
elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var
style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=e
lem.currentStyle.left;elem.style.left=ret||
0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runti
meStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||
document;if(typeof
context.createElement=='undefined')context=context.ownerDocument||
context[0]&&context[0].ownerDocument||
document;jQuery.each(elems,function(i,elem){if(!
elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof
elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag)
{return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?
all:front+"></"+tag+">";});var
tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var
wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!
tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|
tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!
tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!
tags.indexOf("<td")||!
50
tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!
tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></
table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||
[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChil
d;if(jQuery.browser.msie){var tbody=!
tags.indexOf("<table")&&tags.indexOf("<tbody")<0?
div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<
tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;-j)if(jQuery.nodeName(tbody[j],"tbody")&&!
tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test
(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)
[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0
&&(!jQuery.nodeName(elem,"form")&&!
jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||
jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!
elem||elem.nodeType==3||elem.nodeType==8)return undefined;var
fix=jQuery.isXMLDoc(elem)?
{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.se
lectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return
elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return
jQuery.attr(elem.style,"cssText",value);else
if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&
&(name=="action"||name=="method"))return
elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!
=undefined)
{if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"
type property can't be
changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|
src/.test(name)&&!jQuery.isXMLDoc(elem))return
elem.getAttribute(name,2);return
elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie)
{if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\
([^)]*\)/,"")+
51
(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}retur
n elem.filter&&elem.filter.indexOf("opacity=")>=0?
(parseFloat(elem.filter.match(/opacity=([^)]*)/)
[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return
letter.toUpperCase();});if(value!=undefined)elem[name]=value;return
elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+
$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var
i=0,length=array.length;i<length;i++)ret.push(array[i]);else
ret=array.slice(0);return ret;},inArray:function(elem,array){for(var
i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i+
+)if(second[i].nodeType!=8)first.push(second[i]);}else
for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array)
{var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var
id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e)
{ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var
i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!
callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback)
{var ret=[];for(var i=0,length=elems.length;i<length;i++){var
value=callback(elems[i],i);if(value!==null&&value!=undefined)
{if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return
ret;}});var
userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:
(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])
[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(us
erAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/
(compatible|webkit)/.test(userAgent)};var
styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel
:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:
{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFl
oat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",di
sabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",max
length:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tag
Name:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem)
52
{return elem.parentNode;},parents:function(elem){return
jQuery.dir(elem,"parentNode");},next:function(elem){return
jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return
jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return
jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return
jQuery.dir(elem,"previousSibling");},siblings:function(elem){return
jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return
jQuery.sibling(elem.firstChild);},contents:function(elem){return
jQuery.nodeName(elem,"iframe")?elem.contentDocument||
elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(
name,fn){jQuery.fn[name]=function(selector){var
ret=jQuery.map(this,fn);if(selector&&typeof
selector=="string")ret=jQuery.multiFilter(selector,ret);return
this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prepend
To:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},f
unction(name,original){jQuery.fn[name]=function(){var args=arguments;return
this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])
[original](this);});};});jQuery.each({removeAttr:function(name)
{jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},add
Class:function(classNames)
{jQuery.className.add(this,classNames);},removeClass:function(classNames)
{jQuery.className.remove(this,classNames);},toggleClass:function(classNames)
{jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"]
(this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,
[this]).r.length){jQuery("*",this).add(this).each(function()
{jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.par
entNode.removeChild(this);}},empty:function()
{jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild)
;}},function(name,fn){jQuery.fn[name]=function(){return
this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var
type=name.toLowerCase();jQuery.fn[type]=function(size){return
this[0]==window?jQuery.browser.opera&&document.body["client"+name]||
jQuery.browser.safari&&window["inner"+name]||
document.compatMode=="CSS1Compat"&&document.documentElement["client"
+name]||document.body["client"+name]:this[0]==document?
53
Math.max(Math.max(document.body["scroll"+name],document.documentElement
["scroll"+name]),Math.max(document.body["offset"+name],document.documentEl
ement["offset"+name])):size==undefined?(this.length?
jQuery.css(this[0],type):null):this.css(type,size.constructor==String?
size:size+"px");};});var
chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:
[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new
RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)
("+chars+"+)"),quickClass=new RegExp("^([#.]?)
("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||
jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return
a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return
i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i
%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return
a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a)
{return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"onlychild":function(a){return!
jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return
a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m)
{return(a.textContent||a.innerText||
jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!
=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!
="hidden";},hidden:function(a){return"hidden"==a.type||
jQuery.css(a,"display")=="none"||
jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!
a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return
a.checked;},selected:function(a){return a.selected||
jQuery.attr(a,"selected");},text:function(a)
{return"text"==a.type;},radio:function(a)
{return"radio"==a.type;},checkbox:function(a)
{return"checkbox"==a.type;},file:function(a)
{return"file"==a.type;},password:function(a)
{return"password"==a.type;},submit:function(a)
54
{return"submit"==a.type;},image:function(a)
{return"image"==a.type;},reset:function(a)
{return"reset"==a.type;},button:function(a){return"button"==a.type||
jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|
button/i.test(a.nodeName);},has:function(a,i,m){return
jQuery.find(m[3],a).length;},header:function(a)
{return/h\d/i.test(a.nodeName);},animated:function(a){return
jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\
[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?
[^(]*?)"?'?\)/,new RegExp("^([:.#]*)
("+chars+"+)")],multiFilter:function(expr,elems,not){var
old,cur=[];while(expr&&expr!=old){old=expr;var
f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?
elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!
="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!
=9)return[];context=context||document;var
ret=[context],done=[],last,nodeName;while(t&&last!=t){var
r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var
m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var
c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||
c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.ind
exOf("
")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!
=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var
j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?
ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var
id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||
n.nodeName.toUpperCase()==nodeName)
{if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.re
place(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(","))
{if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t="
"+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m)
{m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(
/\\/g,"");var elem=ret[ret.length1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem))
55
{var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||
jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!
=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||
jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var
tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||
m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag
="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=j
Query.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i+
+)if(r[i].getAttribute("id")==m[2])
{tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var
val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context=
=ret[0])ret.shift();done=jQuery.merge(done,ret);return
done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++)
{var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!
pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last)
{last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m)
{t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!
m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?
jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else
if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var
tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var
a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|
selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||
type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!
z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||
(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else
if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\
+|-)?\d*)/.exec(m[3]=="even"&&"2n"||
m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+
(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var
node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!
merge[id]){var c=1;for(var
n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c+
+;merge[id]=true;}var add=false;if(first==0)
{if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)
56
%first==0&&(node.nodeIndexlast)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var
fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof
fn=="string")fn=eval("false||function(a,i){return
"+fn+";}");r=jQuery.grep(r,function(elem,i){return
fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var
cur=elem[dir];while(cur&&cur!=document)
{if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return
matched;},nth:function(cur,result,dir,elem){result=result||1;var
num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return
cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling)
{if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return
r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||
elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!
=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!
=undefined){var fn=handler;handler=function(){return
fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var
events=jQuery.data(elem,"events")||jQuery.data(elem,"events",
{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var
val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return
val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return
val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var
parts=type.split(".");type=parts[0];handler.type=parts[1];var
handlers=events[type];if(!handlers){handlers=events[type]={};if(!
jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false)
{if(elem.addEventListener)elem.addEventListener(type,handle,false);else
if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]
=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:
{},remove:function(elem,types,handler){if(elem.nodeType==3||
elem.nodeType==8)return;var
events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||
(typeof types=="string"&&types.charAt(0)=="."))for(var type in
events)this.remove(elem,type+(types||""));else{if(types.type)
{handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(i
57
ndex,type){var parts=type.split(".");type=parts[0];if(events[type])
{if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete
events[type][handler];for(ret in events[type])break;if(!ret){if(!
jQuery.event.special[type]||
jQuery.event.special[type].teardown.call(elem)===false)
{if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"
handle"),false);else
if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret
=null;delete events[type];}}});}for(ret in events)break;if(!ret){var
handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeDat
a(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data
,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0)
{type=type.slice(0,-1);var exclusive=true;}if(!elem)
{if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else
{if(elem.nodeType==3||elem.nodeType==8)return undefined;var
val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!
data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[
0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(
elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!
fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(
event)data.shift();if(extra&&jQuery.isFunction(extra))
{ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!
==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!
(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]
();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var
val;event=jQuery.event.fix(event||window.event||{});var
parts=event.type.split(".");event.type=parts[0];var
handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")
[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(v
ar j in handlers){var
handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!
parts[1]&&!event.exclusive||handler.type==parts[1]){var
ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false)
58
{event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.t
arget=event.preventDefault=event.stopPropagation=event.handler=event.data=null
;return val;},fix:function(event){var
originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=
function()
{if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.retu
rnValue=false;};event.stopPropagation=function()
{if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.c
ancelBubble=true;};if(!event.target)event.target=event.srcElement||
document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNo
de;if(!
event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement
==event.target?
event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null)
{var
doc=document.documentElement,body=document.body;event.pageX=event.client
X+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||
0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?
event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!
event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!
event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:
(event.button&4?2:0)));return event;},special:{ready:{setup:function()
{bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function()
{if(jQuery.browser.msie)return
false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);retu
rn true;},teardown:function(){if(jQuery.browser.msie)return
false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);r
eturn true;},handler:function(event){if(withinElement(event,this))return
true;arguments[0].type="mouseenter";return
jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function()
{if(jQuery.browser.msie)return
false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);retur
n true;},teardown:function(){if(jQuery.browser.msie)return
false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);ret
59
urn true;},handler:function(event){if(withinElement(event,this))return
true;arguments[0].type="mouseleave";return
jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(t
ype,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function()
{jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn)
{return this.each(function(){jQuery.event.add(this,type,function(event)
{jQuery(this).unbind(event);return(fn||
data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return
this.each(function()
{jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return
this.each(function()
{jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,
fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return
undefined;},toggle:function(){var args=arguments;return this.click(function(event)
{this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return
args[this.lastToggle].apply(this,arguments)||
false;});},hover:function(fnOver,fnOut){return
this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn)
{bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return
this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!
jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList)
{jQuery.each(jQuery.readyList,function()
{this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandle
r("ready");}}});var readyBound=false;function bindReady()
{if(readyBound)return;readyBound=true;if(document.addEventListener&&!
jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.r
eady,false);if(jQuery.browser.msie&&window==top)(function()
{if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(
error){setTimeout(arguments.callee,0);return;}jQuery.ready();})
();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",fun
ction(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i+
+)if(document.styleSheets[i].disabled)
{setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.
60
safari){var numStyles;(function()
{if(jQuery.isReady)return;if(document.readyState!
="loaded"&&document.readyState!="complete")
{setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=j
Query("style, link[rel=stylesheet]").length;if(document.styleSheets.length!
=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})
();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,
resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseove
r,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),func
tion(i,name){jQuery.fn[name]=function(fn){return fn?
this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem)
{var parent=event.relatedTarget;while(parent&&parent!
=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return
parent==elem;};jQuery(window).bind("unload",function()
{jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,para
ms,callback){if(jQuery.isFunction(url))return this.bind("load",url);var
off=url.indexOf(" ");if(off>=0){var
selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function()
{};var type="GET";if(params)if(jQuery.isFunction(params))
{callback=params;params=null;}else{params=jQuery.param(params);type="POST
";}var
self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:fun
ction(res,status){if(status=="success"||status=="notmodified")self.html(selector?
jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).fi
nd(selector):res.responseText);self.each(callback,
[res.responseText,status,res]);}});return this;},serialize:function(){return
jQuery.param(this.serializeArray());},serializeArray:function(){return
this.map(function(){return jQuery.nodeName(this,"form")?
jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!
this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|
password/i.test(this.type));}).map(function(i,elem){var
val=jQuery(this).val();return val==null?null:val.constructor==Array?
jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):
{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxCo
mplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o)
61
jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!
s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var
head=document.getElementsByTagName("head")[0];var
script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.c
harset=s.scriptCharset;if(!jsonp){var
done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!
this.readyState||this.readyState=="loaded"||this.readyState=="complete"))
{done=true;success();complete();head.removeChild(script);}};}head.appendChild(
script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?
new ActiveXObject("Microsoft.XMLHTTP"):new
XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.
data)xml.setRequestHeader("ContentType",s.contentType);if(s.ifModified)xml.setRequestHeader("If-ModifiedSince",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00
GMT");xml.setRequestHeader("X-RequestedWith","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accep
ts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e)
{}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",
[xml,s]);var onreadystatechange=function(isTimeout){if(!
requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout"))
{requestDone=true;if(ival)
{clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!
jQuery.httpSuccess(xml)&&"error"||
s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(
status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e)
{status="parsererror";}}if(status=="success"){var
modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e)
{}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!
jsonp)success();}else
jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var
ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function()
{if(xml){xml.abort();if(!
requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}
catch(e){jQuery.handleError(s,xml,null,e);}if(!
63
s.async)onreadystatechange();function success()
{if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",
[xml,s]);}function complete()
{if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxCompl
ete",[xml,s]);if(s.global&&!-jQuery.active)jQuery.event.trigger("ajaxStop");}return
xml;},handleError:function(s,xml,status,e)
{if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",
[xml,s,e]);},active:0,httpSuccess:function(r){try{return!
r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||
r.status==304||r.status==1223||
jQuery.browser.safari&&r.status==undefined;}catch(e){}return
false;},httpNotModified:function(xml,url){try{var
xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||
xmlRes==jQuery.lastModified[url]||
jQuery.browser.safari&&xml.status==undefined;}catch(e){}return
false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var
xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?
r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parse
rerror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="jso
n")data=eval("("+data+")");return data;},param:function(a){var
s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function()
{s.push(encodeURIComponent(this.name)
+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function()
{s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return
s.join("&").replace(/
%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?
this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.fil
ter(":hidden").each(function()
{this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var
elem=jQuery("<"+this.tagName+"
/>").appendTo("body");this.style.display=elem.css("display");if(this.style.display=
64
="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,
callback){return speed?
this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter
(":visible").each(function(){this.oldblock=this.oldblock||
jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.to
ggle,toggle:function(fn,fn2){return
jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?
this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(fu
nction(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]
();});},slideDown:function(speed,callback){return
this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback)
{return
this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback
){return
this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback)
{return
this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback)
{return
this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback)
{return
this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,cal
lback){var optall=jQuery.speed(speed,easing,callback);return
this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return
false;var opt=jQuery.extend({},optall);var
hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop)
{if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return
jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||
p=="width")
{opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.o
verflow!
=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.ea
ch(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|
hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var
parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts)
{var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px")
65
{self.style[name]=(end||1)+unit;start=((end||
1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn)
{if(jQuery.isFunction(type)||(type&&type.constructor==Array))
{fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return
queue(this[0],type);return this.each(function()
{if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(qu
eue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd)
{var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function()
{for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i]
(true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var
queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var
q=jQuery.data(elem,type+"queue");if(!q||
array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return
q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function()
{var
q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:
function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:
{complete:fn||!fn&&easing||
jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||
easing&&easing.constructor!
=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Nu
mber?opt.duration:{slow:600,fast:200}[opt.duration])||
400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!
==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};
return opt;},easing:{linear:function(p,n,firstNum,diff){return
firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:
[],timerId:null,fx:function(elem,options,prop)
{this.options=options;this.elem=elem;this.prop=prop;if(!
options.orig)options.orig={};}});jQuery.fx.prototype={update:function()
{if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);
(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||
66
this.prop=="width")this.elem.style.display="block";},cur:function(force)
{if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return
this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return
r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||
0;},custom:function(from,to,unit){this.startTime=(new
Date()).getTime();this.start=from;this.end=to;this.unit=unit||
this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var
self=this;function t(gotoEnd){return
self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null
){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var
i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length)
{clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function()
{this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.sho
w=true;this.custom(0,this.cur());if(this.prop=="width"||
this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hi
de:function()
{this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide
=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new
Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime)
{this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.pr
op]=true;var done=true;for(var i in
this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done)
{if(this.options.display!=null)
{this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.option
s.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="bloc
k";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||
this.options.show)for(var p in
this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&
jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);ret
urn false;}else{var n=tthis.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options
.easing||(jQuery.easing.swing?"swing":"linear")]
(this.state,n,0,1,this.options.duration);this.now=this.start+((this.endthis.start)*this.pos);this.update();}return
true;}};jQuery.fx.step={scrollLeft:function(fx)
67
{fx.elem.scrollLeft=fx.now;},scrollTop:function(fx)
{fx.elem.scrollTop=fx.now;},opacity:function(fx)
{jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx)
{fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var
left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var
parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=ele
m.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(use
rAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRe
ct){var
box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElemen
t.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollT
op,doc.body.scrollTop));add(-doc.documentElement.clientLeft,doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(
offsetParent)
{add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)
$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!
fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^bo
dy$/i.test(offsetParent.tagName)?
offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&pa
rent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|
table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!
="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||
jQuery.css(offsetChild,"position")=="absolute"))||
(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(doc.body.offsetLeft,doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.b
ody.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}r
esults={top:top,left:left};}function border(elem)
{add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTo
pWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return
results;};})();
/**
* jQuery lightBox plugin
68
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)
* and adapted to me for use like a plugin from jQuery.
* @name jquery-lightbox-0.5.js
* @author Leandro Vieira Pinho - http://leandrovieira.com
* @version 0.5
* @date April 11, 2008
* @category jQuery plugin
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
* @license CCAttribution-ShareAlike 2.5 Brazil http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more
informations about this jQuery plugin
*/
settings = jQuery.extend({
// Configuration related to overlay
overlayBgColor:
'#000',
// (string)
Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where
RR, GG, and BB are the hexadecimal values for the red, green, and blue values of
the color.
overlayOpacity:
0.8,
// (integer) Opacity
value to overlay; inform: 0.X. Where X are number from 0 to 9
// Configuration related to navigation
fixedNavigation:
false,
// (boolean) Boolean that
informs if the navigation (next and prev button) will be fixed or not in the
interface.
// Configuration related to images
loading.gif',
imageLoading:
'images/lightbox-ico// (string) Path and the name of the loading icon
imageBtnPrev:
'images/lightbox-btn-prev.gif',
// (string) Path and the name of the prev button image
imageBtnNext:
'images/lightbox-btn-next.gif',
// (string) Path and the name of the next button image
imageBtnClose:
'images/lightbox-btn-close.gif',
// (string) Path and the name of the close btn
imageBlank:
'images/lightbox-blank.gif',
// (string) Path and the name of a blank image (one pixel)
// Configuration related to container image box
containerBorderSize:
10,
// (integer) If you
adjust the padding in the CSS for the container, #lightbox-container-image-box,
you will need to update this value
70
containerResizeSpeed: 400,
// (integer) Specify the
resize duration of container image. These number are miliseconds. 400 is default.
// Configuration related to texts in caption. For example: Image
2 of 8. You can alter either "Image" and "of" texts.
txtImage:
'Image',
// (string) Specify
txtOf:
'of',
// (string) Specify
text "Image"
text "of"
// Configuration related to keyboard navigation
keyToClose:
'c',
// (string) (c =
close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X
and the SCAPE key is used to.
keyToPrev:
previous) Letter to show the previous image
'p',
// (string) (p =
keyToNext:
next) Letter to show the next image.
'n',
// (string) (n =
[],
activeImage:
},settings);
// Caching the jQuery object with all elements matched
var jQueryMatchedObj = this; // This, in this context, refer to jQuery
object
/**
* Initializing the plugin calling the start function
*
71
72
73
*
* The HTML markup will be like that:
<div id="jquery-overlay"></div>
<div id="jquery-lightbox">
<div id="lightbox-container-image-box">
<div id="lightbox-container-image">
<img src="../fotos/XX.jpg" id="lightboximage">
<div id="lightbox-nav">
<a href="#" id="lightbox-navbtnPrev"></a>
<a href="#" id="lightbox-navbtnNext"></a>
</div>
<div id="lightbox-loading">
<a href="#" id="lightbox-loadinglink">
<img src="../images/lightboxico-loading.gif">
</a>
</div>
</div>
</div>
<div id="lightbox-container-image-data-box">
74
<div id="lightbox-container-image-data">
<div id="lightbox-image-details">
<span id="lightbox-image-detailscaption"></span>
<span id="lightbox-image-detailscurrentNumber"></span>
</div>
<div id="lightbox-secNav">
<a href="#" id="lightbox-secNavbtnClose">
<img src="../images/lightboxbtn-close.gif">
</a>
</div>
</div>
</div>
</div>
*
*/
function _set_interface() {
// Apply the HTML markup into body tag
$('body').append('<div id="jquery-overlay"></div><div
id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightboxcontainer-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a
href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav75
settings.overlayOpacity,
width:
arrPageSizes[0],
height:
arrPageSizes[1]
}).fadeIn();
// Get page scroll
var arrPageScroll = ___getPageScroll();
// Calculate top and left offset for the jquery-lightbox div object
and show it
$('#jquery-lightbox').css({
top:
left: arrPageScroll[0]
}).show();
76
arrPageSizes[0],
arrPageSizes[1]
});
// Get page scroll
var arrPageScroll = ___getPageScroll();
77
left: arrPageScroll[0]
});
});
}
/**
* Prepares image exibition; doing a images preloader to calculate its
size
*
*/
function _set_image_to_view() { // show the loading
// Show the loading
$('#lightbox-loading').show();
if ( settings.fixedNavigation ) {
$('#lightbox-image,#lightbox-container-image-databox,#lightbox-image-details-currentNumber').hide();
} else {
// Hide some elements
$('#lightbox-image,#lightbox-nav,#lightbox-navbtnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightboximage-details-currentNumber').hide();
78
}
// Image preload process
var objImagePreloader = new Image();
objImagePreloader.onload = function() {
$('#lightboximage').attr('src',settings.imageArray[settings.activeImage][0]);
// Perfomance an effect in the image container resizing it
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height)
;
//
gifs otherwise
objImagePreloader.onload=function(){};
};
objImagePreloader.src =
settings.imageArray[settings.activeImage][0];
};
/**
* Perfomance an effect in the image container resizing it
*
* @param integer intImageWidth The images width that will be
showed
* @param integer intImageHeight The images height that will be
showed
*/
79
function
_resize_container_image_box(intImageWidth,intImageHeight) {
// Get current width and height
var intCurrentWidth = $('#lightbox-container-imagebox').width();
var intCurrentHeight = $('#lightbox-container-imagebox').height();
// Get the width and height of the selected image plus the
padding
var intWidth = (intImageWidth + (settings.containerBorderSize
* 2)); // Plus the images width and the left and right padding value
var intHeight = (intImageHeight +
(settings.containerBorderSize * 2)); // Plus the images height and the left and right
padding value
// Diferences
var intDiffW = intCurrentWidth - intWidth;
var intDiffH = intCurrentHeight - intHeight;
// Perfomance the effect
$('#lightbox-container-image-box').animate({ width: intWidth,
height: intHeight },settings.containerResizeSpeed,function() { _show_image(); });
if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) {
if ( $.browser.msie ) {
___pause(250);
} else {
___pause(100);
80
}
}
$('#lightbox-container-image-data-box').css({ width:
intImageWidth });
$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height:
intImageHeight + (settings.containerBorderSize * 2) });
};
/**
* Show the prepared image
*
*/
function _show_image() {
$('#lightbox-loading').hide();
$('#lightbox-image').fadeIn(function() {
_show_image_data();
_set_navigation();
});
_preload_neighbor_images();
};
/**
* Show the image information
*
*/
81
function _show_image_data() {
$('#lightbox-container-image-data-box').slideDown('fast');
$('#lightbox-image-details-caption').hide();
if ( settings.imageArray[settings.activeImage][1] ) {
$('#lightbox-image-detailscaption').html(settings.imageArray[settings.activeImage][1]).show();
}
// If we have a image set, display 'Image X of X'
if ( settings.imageArray.length > 1 ) {
$('#lightbox-image-detailscurrentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' +
settings.txtOf + ' ' + settings.imageArray.length).show();
}
}
/**
* Display the button navigations
*
*/
function _set_navigation() {
$('#lightbox-nav').show();
82
}).show().bind('click',function() {
settings.activeImage = settings.activeImage
- 1;
_set_image_to_view();
return false;
});
}
}
84
$('#lightbox-navbtnNext').unbind().hover(function() {
$(this).css({ 'background' : 'url(' +
settings.imageBtnNext + ') right 15% no-repeat' });
},function() {
$(this).css({ 'background' : 'transparent url('
+ settings.imageBlank + ') no-repeat' });
}).show().bind('click',function() {
settings.activeImage = settings.activeImage
+ 1;
_set_image_to_view();
return false;
});
}
}
// Enable keyboard navigation
_enable_keyboard_navigation();
}
/**
* Enable a support to keyboard navigation
*
*/
function _enable_keyboard_navigation() {
$(document).keydown(function(objEvent) {
85
_keyboard_action(objEvent);
});
}
/**
* Disable the support to keyboard navigation
*
*/
function _disable_keyboard_navigation() {
$(document).unbind();
}
/**
* Perform the keyboard actions
*
*/
function _keyboard_action(objEvent) {
// To ie
if ( objEvent == null ) {
keycode = event.keyCode;
escapeKey = 27;
// To Mozilla
} else {
keycode = objEvent.keyCode;
escapeKey = objEvent.DOM_VK_ESCAPE;
86
}
// Get the key in lower case form
key = String.fromCharCode(keycode).toLowerCase();
// Verify the keys to close the ligthBox
if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode
== escapeKey ) ) {
_finish();
}
// Verify the key to show the previous image
if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) {
// If were not showing the first image, call the previous
if ( settings.activeImage != 0 ) {
settings.activeImage = settings.activeImage - 1;
_set_image_to_view();
_disable_keyboard_navigation();
}
}
// Verify the key to show the next image
if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) {
// If were not showing the last image, call the next
if ( settings.activeImage != ( settings.imageArray.length 1)){
settings.activeImage = settings.activeImage + 1;
87
_set_image_to_view();
_disable_keyboard_navigation();
}
}
}
/**
* Preload prev and next images being showed
*
*/
function _preload_neighbor_images() {
if ( (settings.imageArray.length -1) > settings.activeImage ) {
objNext = new Image();
objNext.src = settings.imageArray[settings.activeImage +
1][0];
}
if ( settings.activeImage > 0 ) {
objPrev = new Image();
objPrev.src = settings.imageArray[settings.activeImage
-1][0];
}
}
/**
* Remove jQuery lightBox plugin HTML markup
88
*
*/
function _finish() {
$('#jquery-lightbox').remove();
$('#jquery-overlay').fadeOut(function() { $('#jqueryoverlay').remove(); });
// Show some elements to avoid conflict with overlay in IE.
These elements appear above the overlay.
$('embed, object, select').css({ 'visibility' : 'visible' });
}
/**
/ THIRD FUNCTION
* getPageSize() by quirksmode.com
*
* @return Array Return an array with page width, height and window
width, height
*/
function ___getPageSize() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = window.innerWidth + window.scrollMaxX;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight >
document.body.offsetHeight){ // all but Explorer Mac
89
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict,
Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) {
if(document.documentElement.clientWidth){
windowWidth =
document.documentElement.clientWidth;
} else {
windowWidth = self.innerWidth;
}
windowHeight = self.innerHeight;
} else if (document.documentElement &&
document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth =
document.documentElement.clientWidth;
windowHeight =
document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
90
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the
viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the
viewport
if(xScroll < windowWidth){
pageWidth = xScroll;
} else {
pageWidth = windowWidth;
}
arrayPageSize = new
Array(pageWidth,pageHeight,windowWidth,windowHeight);
return arrayPageSize;
};
/**
/ THIRD FUNCTION
* getPageScroll() by quirksmode.com
*
91
93
intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$
('#lightbox-container-imagebox').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,fu
nction(){_show_image();});if((intDiffW==0)&&(intDiffH==0))
{if($.browser.msie){___pause(250);}else{___pause(100);}}
$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightboxnav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+
(settings.containerBorderSize*2)});};function _show_image(){$('#lightboxloading').hide();$('#lightbox-image').fadeIn(function()
{_show_image_data();_set_navigation();});_preload_neighbor_images();};functio
n _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');
$('#lightbox-image-detailscaption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightboximage-details-caption').html(settings.imageArray[settings.activeImage]
[1]).show();}
if(settings.imageArray.length>1){$('#lightbox-image-detailscurrentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+'
'+settings.txtOf+' '+settings.imageArray.length).show();}}
function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-navbtnPrev,#lightbox-nav-btnNext').css({'background':'transparent
url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0)
{if(settings.fixedNavigation){$('#lightbox-navbtnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% norepeat'}).unbind().bind('click',function()
{settings.activeImage=settings.activeImage-1;_set_image_to_view();return
false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$
(this).css({'background':'url('+settings.imageBtnPrev+') left 15% norepeat'});},function(){$(this).css({'background':'transparent
url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function()
{settings.activeImage=settings.activeImage-1;_set_image_to_view();return
false;});}}
96
if(settings.activeImage!=(settings.imageArray.length-1))
{if(settings.fixedNavigation){$('#lightbox-navbtnNext').css({'background':'url('+settings.imageBtnNext+') right 15% norepeat'}).unbind().bind('click',function()
{settings.activeImage=settings.activeImage+1;_set_image_to_view();return
false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$
(this).css({'background':'url('+settings.imageBtnNext+') right 15% norepeat'});},function(){$(this).css({'background':'transparent
url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function()
{settings.activeImage=settings.activeImage+1;_set_image_to_view();return
false;});}}
_enable_keyboard_navigation();}
function _enable_keyboard_navigation(){$
(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
function _disable_keyboard_navigation(){$(document).unbind();}
function _keyboard_action(objEvent){if(objEvent==null)
{keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escap
eKey=objEvent.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose
)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0)
{settings.activeImage=settings.activeImage1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!
=(settings.imageArray.length-1))
{settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_key
board_navigation();}}}
function _preload_neighbor_images(){if((settings.imageArray.length1)>settings.activeImage){objNext=new
Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
97
if(settings.activeImage>0){objPrev=new
Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
function _finish(){$('#jquery-lightbox').remove();$('#jqueryoverlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object,
select').css({'visibility':'visible'});}
function ___getPageSize(){var
xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY)
{xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+
window.scrollMaxY;}else
if(document.body.scrollHeight>document.body.offsetHeight)
{xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{x
Scroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight)
{if(document.documentElement.clientWidth)
{windowWidth=document.documentElement.clientWidth;}else{windowWidth=sel
f.innerWidth;}
windowHeight=self.innerHeight;}else
if(document.documentElement&&document.documentElement.clientHeight)
{windowWidth=document.documentElement.clientWidth;windowHeight=docume
nt.documentElement.clientHeight;}else if(document.body)
{windowWidth=document.body.clientWidth;windowHeight=document.body.client
Height;}
if(yScroll<windowHeight)
{pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new
Array(pageWidth,pageHeight,windowWidth,windowHeight);return
arrayPageSize;};function ___getPageScroll(){var
xScroll,yScroll;if(self.pageYOffset)
{yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else
if(document.documentElement&&document.documentElement.scrollTop)
98
{yScroll=document.documentElement.scrollTop;xScroll=document.documentElem
ent.scrollLeft;}else if(document.body)
{yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function
___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);
/**
* jQuery lightBox plugin
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
(http://www.huddletogether.com/projects/lightbox2/)
* and adapted to me for use like a plugin from jQuery.
* @name jquery-lightbox-0.5.js
* @author Leandro Vieira Pinho - http://leandrovieira.com
* @version 0.5
* @date April 11, 2008
* @category jQuery plugin
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
* @license CCAttribution-ShareAlike 2.5 Brazil http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more
informations about this jQuery plugin
*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c
%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String))
{while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function()
{return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)
99
+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4)
{4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/52F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20()
{1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S,
1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v
1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<I.B;i++){4.h.1J(v
1m(I[i].17(\'J\'),I[i].17(\'2v\')))}}2n(4.h[4.9][0]!=1e.17(\'J\')){4.9++}D()}6 1O(){$
(\'m\').31(\'<e g="q-13"></e><e g="q-5"><e g="5-s-b-w"><e g="5-s-b"><1w
g="5-b"><e 2V="" g="5-k"><a J="#" g="5-k-V"></a><a J="#" g="5-kX"></a></e><e g="5-Y"><a J="#" g="5-Y-29"><1w
W="\'+4.1M+\'"></a></e></e></e><e g="5-s-b-T-w"><e g="5-s-b-T"><e g="5-bA"><1i g="5-b-A-1t"></1i><1i g="5-b-A-1g"></1i></e><e g="5-1s"><a J="#"
g="5-1s-22"><1w W="\'+4.1W+\'"></a></e></e></e></e>\');f z=1D();$(\'#q13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+
(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6()
{1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-sb-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9]
[0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-bw\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6()
{2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-Tw\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$
(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-bA-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$
(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-kV\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u
F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$
(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u
F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% LO\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$
(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L100
blank|resize|extend|close|opacity|backgroundColor|next|pageXOffset|fn|
offsetWidth|scrollWidth|prev|scrollMaxX|visible|fadeOut|toLowerCase|style|
fromCharCode|String|DOM_VK_ESCAPE|event|keydown|append|of|ico|000|fast|
for||slideDown||100|250|msie|400|browser|animate|lightBox|do'.split('|'),0,{}))
102
ADMIN PART
CODING
103
LOGIN.PHP
<?php
session_start();
$name=$_SESSION['eid'];
include("config.php");
$catg=$_REQUEST['cat'];
$subcatg=$_REQUEST['subcat'];
$img=$_FILES['file']['tmp_name'];
$itemno=$_REQUEST['t1'];
$price=$_REQUEST['t2'];
$desc=$_REQUEST['text'];
$t=date("d-m-y h-i-s");
104
if($_REQUEST['sub'])
{
if(mysql_query("insert into items
values('$catg','$subcatg','$img','$ite
mno','$price','$desc','$t') "))
{
move_uploaded_file($_FILES['file']
['tmp_name'],"itempics/
$itemno.jpg");
echo "<font size='+2'>item
inserted successfully</font>";
}
105
else
{
echo "item is not inserted";
}
}
?><head>
<script>
function AjaxFunction(cat_id)
{
var httpxml;
try
106
{
// Firefox, Opera 8.0+, Safari
httpxml=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpxml=new
ActiveXObject("Msxml2.XMLHTTP
");
}
107
catch (e)
{
try
{
httpxml=new
ActiveXObject("Microsoft.XMLHTT
P");
}
catch (e)
{
alert("Your browser does
not support AJAX!");
return false;
108
}
}
}
function stateck()
{
if(httpxml.readyState==4)
{
var
myarray=eval(httpxml.responseText);
// Before adding new we must remove
previously loaded elements
109
for(j=document.testform.subcat.optio
ns.length-1;j>=0;j--)
{
document.testform.subcat.remove(j);
}
for (i=0;i<myarray.length;i++)
{
var optn =
document.createElement("OPTION"
);
optn.text = myarray[i];
110
optn.value = myarray[i];
document.testform.subcat.options.ad
d(optn);
}
}
}
var url="dd.php";
url=url+"?cat_id="+cat_id;
url=url+"&sid="+Math.random();
httpxml.onreadystatechange=stateck;
httpxml.open("GET",url,true);
httpxml.send(null);
111
}
</script>
</head>
<style type="text/css">
<!-.style3 {font-size: 18px; font-weight:
bold; }
-->
</style>
<body>
112
<br><br><br>
<center><font color="#660066"
size="+3">Add
Item</font></center>
<br><br>
<center><fieldset
style="width:50%">
<form name="testform"
method="post"
enctype="multipart/form-data" >
<table align="center">
<tr><td width="111"><span
class="style3">Category:</span></t
d>
113
114
115
</select></td>
</tr>
<tr>
<td><span
class="style3">Image:</span></td>
<td><input name="file"
type="file"></td></tr>
<tr>
<td><span class="style3">Item No:
</span></td>
<td><label>
<input name="t1" type="text"
id="t1">
</label></td>
116
</tr>
<tr>
<td><span
class="style3">Price:</span></td>
<td><label>
<input name="t2" type="text"
id="t2">
</label></td>
</tr>
<tr>
<td><span
class="style3">Description:</span>
</td>
117
<td><textarea name="text"
cols="35"
rows="6"></textarea></td></tr>
<tr><td colspan="2"
align="center"><input name="sub"
type="submit"
value="Submit"></td></tr>
</table>
</form>
</fieldset></center>
</body>
</html>
118
TESTING
Software testing is the process of executing a program or system
with the intent of finding errors. Or, it involves any activity
aimed at evaluating an attribute or capability of a program or
system and determining that it meet its required results.
Software is not unlike other physical processes where inputs are
received and output are produced. Where software differs is in
the manner in which it is fails. Most physical systems fails in a
fixed (and reasonable small) set of ways. By contrast, software
can fail in many bizarre ways. Detecting all of the different
failure modes for software is generally infeasible.
Module testing:
Here testing is done at each module level. Each case has been
thoroughly tested to discover pitfalls.
System testing:
Here testing is done after all the modules have been integrated.
119
IMPLEMENTATION
The implementation phase is less creative than system design. It
is primarily concerned with user training, site preparation and
file conversion. During file testing, user acceptance is, tested
followed by user training. Depending on the nature of system,
extensive user training may be required. Conversion usually
takes place at about the same time the user is being trained.
Programming is thought to be modified as a result of
programming effort. Programming provides a realty test for
the assumption made by analyst.
121
FUTURE SCOPE
The future of this project depend on whether the author has enough
spare time over the next 2 month to continue with the developing.
The author feels that last few remaining features would round off
the system. If the author was to try to sell this system then more
system testing would have to be done, in a particular a more
comprehensive real world. Testing environment would have to be
adopted along with some real words usage. Multiple concurrent
users would be command in real world usage but have been difficult
to test for considering there was only tester involved in this project.
This type of system would benefit for the hardware in case of a
system failure for the software in case of newly found bugs, in
return of a subscription free.
122
BIBLIOGRAPHY
PHP 6.0 AND MY SQL :
JAVA SCRIPT
HTML & CSS
: EVEN BAYROUS
123
CONCLUSION
124
THANK
YOU
125