svnno****@sourc*****
svnno****@sourc*****
2008年 11月 14日 (金) 21:11:04 JST
Revision: 1352 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1352 Author: karma Date: 2008-11-14 21:11:03 +0900 (Fri, 14 Nov 2008) Log Message: ----------- Added Paths: ----------- palwassr/.classpath palwassr/.project palwassr/LICENSE.txt palwassr/pom.xml palwassr/src/ palwassr/src/main/ palwassr/src/main/java/ palwassr/src/main/java/jp/ palwassr/src/main/java/jp/sf/ palwassr/src/main/java/jp/sf/pal/ palwassr/src/main/java/jp/sf/pal/wassr/ palwassr/src/main/java/jp/sf/pal/wassr/action/ palwassr/src/main/java/jp/sf/pal/wassr/action/IndexAction.java palwassr/src/main/java/jp/sf/pal/wassr/form/ palwassr/src/main/java/jp/sf/pal/wassr/service/ palwassr/src/main/java/jp/sf/pal/wassr/service/HttpClientService.java palwassr/src/main/java/jp/sf/pal/wassr/service/TimelineService.java palwassr/src/main/java/jp/sf/pal/wassr/service/WassrTimelineService.java palwassr/src/main/resources/ palwassr/src/main/resources/app.dicon palwassr/src/main/resources/application.properties palwassr/src/main/resources/application_ja.properties palwassr/src/main/resources/convention.dicon palwassr/src/main/resources/creator.dicon palwassr/src/main/resources/customizer.dicon palwassr/src/main/resources/data/ palwassr/src/main/resources/data/demo.1.log.db palwassr/src/main/resources/data/demo.data.db palwassr/src/main/resources/data/demo.index.db palwassr/src/main/resources/data/demo.sql palwassr/src/main/resources/env.txt palwassr/src/main/resources/env_ut.txt palwassr/src/main/resources/jdbc.dicon palwassr/src/main/resources/jp/ palwassr/src/main/resources/jp/sf/ palwassr/src/main/resources/jp/sf/pal/ palwassr/src/main/resources/jp/sf/pal/wassr/ palwassr/src/main/resources/jp/sf/pal/wassr/action/ palwassr/src/main/resources/jp/sf/pal/wassr/form/ palwassr/src/main/resources/log4j.properties palwassr/src/main/resources/s2container.dicon palwassr/src/main/webapp/ palwassr/src/main/webapp/WEB-INF/ palwassr/src/main/webapp/WEB-INF/lib/ palwassr/src/main/webapp/WEB-INF/lib/antlr-2.7.7.jar palwassr/src/main/webapp/WEB-INF/lib/aopalliance-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/commons-beanutils-1.7.0.jar palwassr/src/main/webapp/WEB-INF/lib/commons-codec-1.3.jar palwassr/src/main/webapp/WEB-INF/lib/commons-collections-3.1.jar palwassr/src/main/webapp/WEB-INF/lib/commons-digester-1.6.jar palwassr/src/main/webapp/WEB-INF/lib/commons-el-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/commons-fileupload-1.2.jar palwassr/src/main/webapp/WEB-INF/lib/commons-httpclient-3.1.jar palwassr/src/main/webapp/WEB-INF/lib/commons-io-1.3.2.jar palwassr/src/main/webapp/WEB-INF/lib/commons-logging-1.1.jar palwassr/src/main/webapp/WEB-INF/lib/commons-validator-1.2.0.jar palwassr/src/main/webapp/WEB-INF/lib/geronimo-annotation_1.0_spec-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/geronimo-ejb_3.0_spec-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/geronimo-interceptor_3.0_spec-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.0.jar palwassr/src/main/webapp/WEB-INF/lib/h2-1.0.69.jar palwassr/src/main/webapp/WEB-INF/lib/jakarta-oro-2.0.8.jar palwassr/src/main/webapp/WEB-INF/lib/jakarta-taglibs-standard-1.1.2.jar palwassr/src/main/webapp/WEB-INF/lib/javassist-3.4.ga.jar palwassr/src/main/webapp/WEB-INF/lib/jstl-1.1.2.jar palwassr/src/main/webapp/WEB-INF/lib/log4j-1.2.13.jar palwassr/src/main/webapp/WEB-INF/lib/ognl-2.6.9-patch-20070908.jar palwassr/src/main/webapp/WEB-INF/lib/poi-3.0-FINAL.jar palwassr/src/main/webapp/WEB-INF/lib/s2-extension-2.4.29.jar palwassr/src/main/webapp/WEB-INF/lib/s2-framework-2.4.29.jar palwassr/src/main/webapp/WEB-INF/lib/s2-tiger-2.4.29.jar palwassr/src/main/webapp/WEB-INF/lib/sa-struts-1.0.4-sp1.jar palwassr/src/main/webapp/WEB-INF/lib/sa-struts-portlet-1.0.0-rc3.jar palwassr/src/main/webapp/WEB-INF/lib/sources/ palwassr/src/main/webapp/WEB-INF/lib/sources/commons-beanutils-1.7.0-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-collections-3.1-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-el-1.0-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-fileupload-1.2-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-io-1.3.2-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-logging-1.1-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/commons-validator-1.2.0-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-oro-2.0.8-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-taglibs-standard-1.1.2-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/log4j-1.2.13-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/s2-extension-2.4.29-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/s2-framework-2.4.29-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/s2-tiger-2.4.29-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/sa-struts-1.0.4-sp1-sources.jar palwassr/src/main/webapp/WEB-INF/lib/sources/struts-1.2.9-sources.jar palwassr/src/main/webapp/WEB-INF/lib/struts-1.2.9.jar palwassr/src/main/webapp/WEB-INF/portlet.xml palwassr/src/main/webapp/WEB-INF/struts-config.xml palwassr/src/main/webapp/WEB-INF/validator-rules.xml palwassr/src/main/webapp/WEB-INF/view/ palwassr/src/main/webapp/WEB-INF/view/common/ palwassr/src/main/webapp/WEB-INF/view/common/common.jsp palwassr/src/main/webapp/WEB-INF/view/common/footer.jsp palwassr/src/main/webapp/WEB-INF/view/common/header.jsp palwassr/src/main/webapp/WEB-INF/view/common/layout.jsp palwassr/src/main/webapp/WEB-INF/view/common/menu.jsp palwassr/src/main/webapp/WEB-INF/view/index.jsp palwassr/src/main/webapp/WEB-INF/web.xml palwassr/src/main/webapp/js/ palwassr/src/main/webapp/js/jquery.js palwassr/src/test/ palwassr/src/test/java/ palwassr/src/test/java/jp/ palwassr/src/test/java/jp/sf/ palwassr/src/test/java/jp/sf/pal/ palwassr/src/test/java/jp/sf/pal/wassr/ palwassr/src/test/java/jp/sf/pal/wassr/action/ palwassr/src/test/java/jp/sf/pal/wassr/form/ palwassr/src/test/resources/ -------------- next part -------------- Added: palwassr/.classpath =================================================================== --- palwassr/.classpath (rev 0) +++ palwassr/.classpath 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="lib" path="lib/geronimo-jsp_2.0_spec-1.0.jar"/> + <classpathentry kind="lib" path="lib/geronimo-servlet_2.4_spec-1.0.jar"/> + <classpathentry kind="lib" path="lib/junit-3.8.2.jar" sourcepath="lib/sources/junit-3.8.2-sources.jar"/> + <classpathentry kind="lib" path="lib/junit-addons-1.4.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/antlr-2.7.7.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/aopalliance-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-beanutils-1.7.0.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-beanutils-1.7.0-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-collections-3.1.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-collections-3.1-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-digester-1.6.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-el-1.0.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-el-1.0-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-fileupload-1.2.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-fileupload-1.2-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-io-1.3.2.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-io-1.3.2-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-logging-1.1.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-logging-1.1-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-validator-1.2.0.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/commons-validator-1.2.0-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/geronimo-annotation_1.0_spec-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/geronimo-ejb_3.0_spec-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/geronimo-interceptor_3.0_spec-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.0.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/h2-1.0.69.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/jakarta-oro-2.0.8.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/jakarta-oro-2.0.8-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/jakarta-taglibs-standard-1.1.2.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/jakarta-taglibs-standard-1.1.2-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/javassist-3.4.ga.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/jstl-1.1.2.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/log4j-1.2.13.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/log4j-1.2.13-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/ognl-2.6.9-patch-20070908.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/poi-3.0-FINAL.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/s2-extension-2.4.29.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/s2-extension-2.4.29-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/s2-framework-2.4.29.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/s2-framework-2.4.29-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/s2-tiger-2.4.29.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/s2-tiger-2.4.29-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/sa-struts-1.0.4-sp1.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/sa-struts-1.0.4-sp1-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/struts-1.2.9.jar" sourcepath="src/main/webapp/WEB-INF/lib/sources/struts-1.2.9-sources.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-httpclient-3.1.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/commons-codec-1.3.jar"/> + <classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/sa-struts-portlet-1.0.0-rc3.jar"/> + <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> + <classpathentry kind="output" path="src/main/webapp/WEB-INF/classes"/> +</classpath> Added: palwassr/.project =================================================================== --- palwassr/.project (rev 0) +++ palwassr/.project 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>palwassr</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.maven.ide.eclipse.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.maven.ide.eclipse.maven2Nature</nature> + <nature>org.seasar.dolteng.eclipse.nature</nature> + <nature>org.seasar.dblauncher.nature</nature> + <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature> + </natures> +</projectDescription> Added: palwassr/LICENSE.txt =================================================================== --- palwassr/LICENSE.txt (rev 0) +++ palwassr/LICENSE.txt 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Added: palwassr/pom.xml =================================================================== --- palwassr/pom.xml (rev 0) +++ palwassr/pom.xml 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>jp.sf.pal.wassr</groupId> + <artifactId>palwassr</artifactId> + <version>0.0.1</version> + <packaging>war</packaging> + <name>palwassr</name> + <build> + <sourceDirectory>src/main/java</sourceDirectory> + <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + <testOutputDirectory>target/test-classes</testOutputDirectory> + <testSourceDirectory>src/test/java</testSourceDirectory> + <testResources> + <testResource> + <directory>src/test/resources</directory> + </testResource> + </testResources> + <defaultGoal>validate</defaultGoal> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.6</source> + <target>1.6</target> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <artifactId>maven-source-plugin</artifactId> + <executions> + <execution> + <id>source-jar</id> + <phase>package</phase> + <goals> + <goal>jar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-eclipse-plugin</artifactId> + <configuration> + <wtpversion>1.5</wtpversion> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + <pluginRepositories> + <pluginRepository> + <id>maven.seasar.org</id> + <name>The Seasar Foundation Maven2 Repository</name> + <url>http://maven.seasar.org/maven2</url> + </pluginRepository> + </pluginRepositories> + <repositories> + <repository> + <id>local</id> + <name>Local Repository</name> + <url>file:repo</url> + </repository> + <repository> + <id>maven.seasar.org</id> + <name>The Seasar Foundation Maven2 Repository</name> + <url>http://maven.seasar.org/maven2</url> + </repository> + </repositories> + <dependencies> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-jsp_2.0_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_2.4_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.2</version> + </dependency> + <dependency> + <groupId>junit-addons</groupId> + <artifactId>junit-addons</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>antlr</groupId> + <artifactId>antlr</artifactId> + <version>2.7.7</version> + </dependency> + <dependency> + <groupId>aopalliance</groupId> + <artifactId>aopalliance</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + <version>1.7.0</version> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + <version>3.1</version> + </dependency> + <dependency> + <groupId>commons-digester</groupId> + <artifactId>commons-digester</artifactId> + <version>1.6</version> + </dependency> + <dependency> + <groupId>commons-el</groupId> + <artifactId>commons-el</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + <version>1.2</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>1.3.2</version> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version>1.1</version> + </dependency> + <dependency> + <groupId>commons-validator</groupId> + <artifactId>commons-validator</artifactId> + <version>1.2.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-annotation_1.0_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-ejb_3.0_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-interceptor_3.0_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-jpa_3.0_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-jta_1.1_spec</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <version>1.0.69</version> + </dependency> + <dependency> + <groupId>oro</groupId> + <artifactId>oro</artifactId> + <version>2.0.8</version> + </dependency> + <dependency> + <groupId>taglibs</groupId> + <artifactId>standard</artifactId> + <version>1.1.2</version> + </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>javassist</artifactId> + <version>3.4.ga</version> + </dependency> + <dependency> + <groupId>jstl</groupId> + <artifactId>jstl</artifactId> + <version>1.1.2</version> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>1.2.13</version> + </dependency> + <dependency> + <groupId>ognl</groupId> + <artifactId>ognl</artifactId> + <version>2.6.9-patch-20070908</version> + </dependency> + <dependency> + <groupId>poi</groupId> + <artifactId>poi</artifactId> + <version>3.0-FINAL</version> + </dependency> + <dependency> + <groupId>org.seasar.container</groupId> + <artifactId>s2-extension</artifactId> + <version>2.4.29</version> + </dependency> + <dependency> + <groupId>org.seasar.container</groupId> + <artifactId>s2-framework</artifactId> + <version>2.4.29</version> + </dependency> + <dependency> + <groupId>org.seasar.container</groupId> + <artifactId>s2-tiger</artifactId> + <version>2.4.29</version> + </dependency> + <dependency> + <groupId>org.seasar.sastruts</groupId> + <artifactId>sa-struts</artifactId> + <version>1.0.4-sp1</version> + </dependency> + <dependency> + <groupId>struts</groupId> + <artifactId>struts</artifactId> + <version>1.2.9</version> + </dependency> + </dependencies> +</project> Added: palwassr/src/main/java/jp/sf/pal/wassr/action/IndexAction.java =================================================================== --- palwassr/src/main/java/jp/sf/pal/wassr/action/IndexAction.java (rev 0) +++ palwassr/src/main/java/jp/sf/pal/wassr/action/IndexAction.java 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,41 @@ +/* + * Copyright 2004-2008 the Seasar Foundation and the Others. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package jp.sf.pal.wassr.action; + +import javax.annotation.*; + +import org.seasar.struts.annotation.Execute; +import org.seasar.struts.util.*; + +import jp.sf.pal.wassr.service.WassrTimelineService; + +public class IndexAction { + + @Resource + protected WassrTimelineService wassrTimelineService ; + + @Execute(validator = false) + public String index() { + return "index.jsp"; + } + + @Execute(validator = false) + public String public_timeline() { + ResponseUtil.write(wassrTimelineService.getPublicTimeline()); + return null ; + } + +} Added: palwassr/src/main/java/jp/sf/pal/wassr/service/HttpClientService.java =================================================================== --- palwassr/src/main/java/jp/sf/pal/wassr/service/HttpClientService.java (rev 0) +++ palwassr/src/main/java/jp/sf/pal/wassr/service/HttpClientService.java 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,92 @@ +package jp.sf.pal.wassr.service; + +import org.apache.commons.httpclient.*; +import org.apache.commons.httpclient.methods.*; +import org.apache.commons.httpclient.auth.*; + +public class HttpClientService { + + private String userId ; + private String password ; + private HttpClient client ; + private boolean requireAuth ; + + public HttpClientService(String userId, String password, boolean requireAuth) { + this.userId = userId; + this.password = password; + this.requireAuth = requireAuth; + this.client = new HttpClient(); + } + + public HttpClientService(boolean requireAuth) { + this(null,null,requireAuth); + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public boolean isRequireAuth() { + return requireAuth; + } + + public void setRequireAuth(boolean requireAuth) { + this.requireAuth = requireAuth; + } + + public String getContents(String _url) { + + HttpURL url = null ; + String hostname = null ; + int port = 80 ; + String ret = null ; + + try { + url = new HttpURL(_url); + hostname = url.getHost(); + port = url.getPort(); + } catch(Exception e) { + // TODO: + return ret ; + } + + if (this.requireAuth) { + this.client.getState().setCredentials( + new AuthScope(hostname, port, "realm"), + new UsernamePasswordCredentials(userId, password)); + } + + GetMethod get = new GetMethod(url.toString()); + + if (this.requireAuth) { + get.setDoAuthentication(true); + } else { + get.setDoAuthentication(false); + } + + try { + int status = this.client.executeMethod(get); + ret = get.getResponseBodyAsString(); + } catch(Exception e) { + // TODO: + } finally { + get.releaseConnection(); + } + + return ret; + + } + +} Added: palwassr/src/main/java/jp/sf/pal/wassr/service/TimelineService.java =================================================================== --- palwassr/src/main/java/jp/sf/pal/wassr/service/TimelineService.java (rev 0) +++ palwassr/src/main/java/jp/sf/pal/wassr/service/TimelineService.java 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,17 @@ +package jp.sf.pal.wassr.service; + +public interface TimelineService { + + /** + * 友達のひとことを得る + * @return 友達のひとこと + */ + String getFriendsTimeline(String userId); + + /** + * 日本中のひとことを得る + * @return 日本中のひとこと + */ + String getPublicTimeline(); + +} Added: palwassr/src/main/java/jp/sf/pal/wassr/service/WassrTimelineService.java =================================================================== --- palwassr/src/main/java/jp/sf/pal/wassr/service/WassrTimelineService.java (rev 0) +++ palwassr/src/main/java/jp/sf/pal/wassr/service/WassrTimelineService.java 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,18 @@ + package jp.sf.pal.wassr.service; + +public class WassrTimelineService implements TimelineService { + + private static final String friendsTimelineUrl = "http://api.wassr.jp/statuses/friends_timeline.json" ; + private static final String publicTimelineUrl = "http://api.wassr.jp/statuses/public_timeline.json" ; + + public String getFriendsTimeline(String userId) { + HttpClientService service = new HttpClientService(false); + return service.getContents(friendsTimelineUrl + "?" + userId); + } + + public String getPublicTimeline() { + HttpClientService service = new HttpClientService(false); + return service.getContents(publicTimelineUrl) ; + } + +} Added: palwassr/src/main/resources/app.dicon =================================================================== --- palwassr/src/main/resources/app.dicon (rev 0) +++ palwassr/src/main/resources/app.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> + <include path="convention.dicon"/> + <include path="aop.dicon"/> + <include path="j2ee.dicon"/> + <component name="actionMessagesThrowsInterceptor" class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/> +</components> Added: palwassr/src/main/resources/application.properties =================================================================== --- palwassr/src/main/resources/application.properties (rev 0) +++ palwassr/src/main/resources/application.properties 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,23 @@ +errors.header=<font color="red"><ul> +errors.footer=</ul></font> +errors.prefix=<li> +errors.suffix=</li> +errors.invalid={0} is invalid. +errors.maxlength={0} can not be greater than {1} characters. +errors.minlength={0} can not be less than {1} characters. +errors.maxbytelength={0} can not be greater than {1} bytes. +errors.minbytelength={0} can not be less than {1} bytes. +errors.range={0} is not in the range {1} through {2}. +errors.required={0} is required. +errors.byte={0} must be an byte. +errors.date={0} is not a date. +errors.double={0} must be an double. +errors.float={0} must be an float. +errors.integer={0} must be an integer. +errors.long={0} must be an long. +errors.short={0} must be an short. +errors.creditcard={0} is not a valid credit card number. +errors.email={0} is an invalid e-mail address. +errors.url={0} is an invalid url (web address). + +errors.upload.size=Uploading failed, because actual size {0} bytes exceeded limit size {1} bytes. \ No newline at end of file Added: palwassr/src/main/resources/application_ja.properties =================================================================== --- palwassr/src/main/resources/application_ja.properties (rev 0) +++ palwassr/src/main/resources/application_ja.properties 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,23 @@ +errors.header=<font color="red"><ul> +errors.footer=</ul></font> +errors.prefix=<li> +errors.suffix=</li> +errors.invalid={0}\u304c\u4e0d\u6b63\u3067\u3059\u3002 +errors.maxlength={0}\u306e\u9577\u3055\u304c\u6700\u5927\u5024({1})\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 +errors.minlength={0}\u306e\u9577\u3055\u304c\u6700\u5c0f\u5024({1})\u672a\u6e80\u3067\u3059\u3002 +errors.maxbytelength={0}\u306e\u30d0\u30a4\u30c8\u9577\u304c\u6700\u5927\u5024({1})\u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 +errors.minbytelength={0}\u306e\u30d0\u30a4\u30c8\u9577\u304c\u6700\u5c0f\u5024({1})\u672a\u6e80\u3067\u3059\u3002 +errors.range={0}\u306f{1}\u3068{2}\u306e\u9593\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.required={0}\u306f\u5fc5\u9808\u3067\u3059\u3002 +errors.byte={0}\u306f\u30d0\u30a4\u30c8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.date={0}\u306f\u65e5\u4ed8\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093 +errors.double={0}\u306f\u500d\u7cbe\u5ea6\u5b9f\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.float={0}\u306f\u5358\u7cbe\u5ea6\u5b9f\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.integer={0}\u306f\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.long={0}\u306f\u9577\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.short={0}\u306f\u77ed\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002 +errors.creditcard={0}\u306f\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002 +errors.email={0}\u306f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002 +errors.url={0}\u306fURL\u3068\u3057\u3066\u4e0d\u6b63\u3067\u3059\u3002 + +errors.upload.size=\u4e0a\u9650\u304c{1}\u30d0\u30a4\u30c8\u306a\u306e\u306b\u5b9f\u969b\u306f{0}\u30d0\u30a4\u30c8\u3060\u3063\u305f\u306e\u3067\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 \ No newline at end of file Added: palwassr/src/main/resources/convention.dicon =================================================================== --- palwassr/src/main/resources/convention.dicon (rev 0) +++ palwassr/src/main/resources/convention.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> + <component class="org.seasar.framework.convention.impl.NamingConventionImpl"> + <initMethod name="addRootPackageName"> + <arg>"jp.sf.pal.wassr"</arg> + </initMethod> + </component> +</components> Added: palwassr/src/main/resources/creator.dicon =================================================================== --- palwassr/src/main/resources/creator.dicon (rev 0) +++ palwassr/src/main/resources/creator.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> + <include path="convention.dicon"/> + <include path="customizer.dicon"/> + <component class="org.seasar.framework.container.creator.ActionCreator"/> + <component class="org.seasar.struts.creator.FormCreator"/> + <component class="org.seasar.framework.container.creator.ServiceCreator"/> + <component class="org.seasar.framework.container.creator.DtoCreator"/> + <component class="org.seasar.framework.container.creator.InterceptorCreator"/> + <component class="org.seasar.framework.container.creator.DaoCreator"/> +</components> Added: palwassr/src/main/resources/customizer.dicon =================================================================== --- palwassr/src/main/resources/customizer.dicon (rev 0) +++ palwassr/src/main/resources/customizer.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> + <include path="default-customizer.dicon"/> + <component name="formCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain"/> + <component name="actionCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain"> + <initMethod name="addAspectCustomizer"> + <arg>"aop.traceInterceptor"</arg> + </initMethod> + <initMethod name="addAspectCustomizer"> + <arg>"actionMessagesThrowsInterceptor"</arg> + </initMethod> + <initMethod name="addCustomizer"> + <arg> + <component class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/> + </arg> + </initMethod> + <initMethod name="addCustomizer"> + <arg> + <component class="org.seasar.struts.customizer.ActionCustomizer"/> + </arg> + </initMethod> + </component> + <component name="serviceCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain"> + <initMethod name="addAspectCustomizer"> + <arg>"aop.traceInterceptor"</arg> + </initMethod> + <initMethod name="addCustomizer"> + <arg> + <component class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/> + </arg> + </initMethod> + </component> +</components> Added: palwassr/src/main/resources/data/demo.1.log.db =================================================================== (Binary files differ) Property changes on: palwassr/src/main/resources/data/demo.1.log.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/resources/data/demo.data.db =================================================================== (Binary files differ) Property changes on: palwassr/src/main/resources/data/demo.data.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/resources/data/demo.index.db =================================================================== (Binary files differ) Property changes on: palwassr/src/main/resources/data/demo.index.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/resources/data/demo.sql =================================================================== --- palwassr/src/main/resources/data/demo.sql (rev 0) +++ palwassr/src/main/resources/data/demo.sql 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,21 @@ +CREATE TABLE EMP(ID IDENTITY NOT NULL PRIMARY KEY, EMP_NO INTEGER NOT NULL ,EMP_NAME VARCHAR(20),MGR_ID INTEGER,HIREDATE DATE,SAL NUMERIC(7,2),DEPT_ID INTEGER, VERSION_NO INTEGER); +CREATE TABLE DEPT(ID IDENTITY NOT NULL PRIMARY KEY, DEPT_NO INTEGER NOT NULL,DEPT_NAME VARCHAR(20),LOC VARCHAR(20), VERSION_NO INTEGER); + +INSERT INTO EMP VALUES(1,7369,'SMITH',13,'1980-12-17',800,2,1); +INSERT INTO EMP VALUES(2,7499,'ALLEN',6,'1981-02-20',1600,3,1); +INSERT INTO EMP VALUES(3,7521,'WARD',6,'1981-02-22',1250,3,1); +INSERT INTO EMP VALUES(4,7566,'JONES',9,'1981-04-02',2975,2,1); +INSERT INTO EMP VALUES(5,7654,'MARTIN',6,'1981-09-28',1250,3,1); +INSERT INTO EMP VALUES(6,7698,'BLAKE',9,'1981-05-01',2850,3,1); +INSERT INTO EMP VALUES(7,7782,'CLARK',9,'1981-06-09',2450,1,1); +INSERT INTO EMP VALUES(8,7788,'SCOTT',4,'1982-12-09',3000.0,2,1); +INSERT INTO EMP VALUES(9,7839,'KING',NULL,'1981-11-17',5000,1,1); +INSERT INTO EMP VALUES(10,7844,'TURNER',6,'1981-09-08',1500,3,1); +INSERT INTO EMP VALUES(11,7876,'ADAMS',8,'1983-01-12',1100,2,1); +INSERT INTO EMP VALUES(12,7900,'JAMES',6,'1981-12-03',950,3,1); +INSERT INTO EMP VALUES(13,7902,'FORD',4,'1981-12-03',3000,2,1); +INSERT INTO EMP VALUES(14,7934,'MILLER',7,'1982-01-23',1300,1,1); +INSERT INTO DEPT VALUES(1,10,'ACCOUNTING','NEW YORK',1); +INSERT INTO DEPT VALUES(2,20,'RESEARCH','DALLAS',1); +INSERT INTO DEPT VALUES(3,30,'SALES','CHICAGO',1); +INSERT INTO DEPT VALUES(4,40,'OPERATIONS','BOSTON',1); \ No newline at end of file Added: palwassr/src/main/resources/env.txt =================================================================== --- palwassr/src/main/resources/env.txt (rev 0) +++ palwassr/src/main/resources/env.txt 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1 @@ +ct \ No newline at end of file Added: palwassr/src/main/resources/env_ut.txt =================================================================== --- palwassr/src/main/resources/env_ut.txt (rev 0) +++ palwassr/src/main/resources/env_ut.txt 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1 @@ +ut \ No newline at end of file Added: palwassr/src/main/resources/jdbc.dicon =================================================================== --- palwassr/src/main/resources/jdbc.dicon (rev 0) +++ palwassr/src/main/resources/jdbc.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components namespace="jdbc"> + <include path="jta.dicon"/> + <include path="jdbc-extension.dicon"/> + + <component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/> + <component class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory"> + <arg> + <component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/> + </arg> + <property name="fetchSize">100</property> + <!-- + <property name="maxRows">100</property> + --> + </component> + <!-- + <component class="org.seasar.extension.jdbc.impl.OracleResultSetFactory"/> + <component class="org.seasar.extension.jdbc.impl.BooleanToIntStatementFactory"/> + --> + + <!-- for HSQLDB --> + <!-- + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "org.hsqldb.jdbcDriver" + </property> + <property name="URL"> + "jdbc:hsqldb:file:" + + @org.seasar.framework.util.ResourceUtil @ getBuildDir('app.dicon').getCanonicalPath() + + "/data/test" + </property> + <property name="user">"sa"</property> + <property name="password">""</property> + </component> + --> + + <!-- for H2 --> + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "org.h2.Driver" + </property> + <property name="URL"> + "jdbc:h2:tcp://localhost:9092/demo" + </property> + <property name="user">"sa"</property> + <property name="password">""</property> + <destroyMethod> + @org.seasar.framework.util.DriverManagerUtil @ deregisterAllDrivers() + </destroyMethod> + </component> + + <!-- for Oracle --> + <!-- + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "oracle.jdbc.driver.OracleDriver" + </property> + <property name="URL"> + "jdbc:oracle:thin:@xxx:1521:xxx" + </property> + <property name="user">"xxx"</property> + <property name="password">"xxx"</property> + </component> + --> + + <!-- for DB2 --> + <!-- + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "com.ibm.db2.jcc.DB2Driver" + </property> + <property name="URL"> + "jdbc:db2://foo.bar.com:50000/SAMPLE" + </property> + <property name="user">"db2user"</property> + <property name="password">"db2password"</property> + <initMethod name="addProperty"> + <arg>"currentSchema"</arg> + <arg>"SCHEMA"</arg> + </initMethod> + </component> + --> + + <!-- for PostgreSQL --> + <!-- + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "org.postgresql.Driver" + </property> + <property name="URL"> + "jdbc:postgresql://localhost/TEST" + </property> + <property name="user">"xxxx"</property> + <property name="password">"xxxx"</property> + </component> + --> + + <!-- MySQL + - MySQL4.0以下でマルチバイト文字を扱う場合には,URL指定の後に, + 以下の接続パラメータを追加で指定してください. + useUnicode=true + characterEncoding=[MySQLのエンコーディングに対応した + Javaのエンコーディング名] + 例:"jdbc:mysql://localhost:3306/test?useUnicode=true" + + "&characterEncoding=Windows-31J" + + - MySQL5.0以降で,エンコーディングがeucjpmsの列を扱う場合には, + URL指定の後に,以下の接続パラメータを追加で指定してください. + characterEncoding=UTF-8またはWindows-31J + characterSetResults=UTF-8またはWindows-31J + 例:"jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" + + "&characterSetResults=UTF-8" + この指定をしない場合,Java側でUCS-2⇔EUC_JP_Solarisの変換が + 行なわれるため,ユーザー定義外字などの一部の文字が化けます. + この指定をすることで,MySQL側でeucjpms⇔ucs2⇔utf8(cp932)の + 変換が行なわれ,Java側でUCS-2⇔UTF-8(Windows-31J)の変換が + 行なわれるようになります.この結果,文字化けを防げます. + なおJIS X 0212(補助漢字)を使用する場合は,Windows-31Jではなく + UTF-8を指定する必要があります. + + - 上記以外の場合は,my.cnfでdefault-character-setの設定を適切に + (cp932やutf8など.デフォルトのlatin1は不可)行なっていれば, + 文字化けは防げます. + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "com.mysql.jdbc.Driver" + </property> + <property name="URL"> + "jdbc:mysql://localhost:3306/test" + </property> + <property name="user">"xxx"</property> + <property name="password">"xxx"</property> + </component> + --> + + <!-- for SQLServer --> + <!-- + <component name="xaDataSource" + class="org.seasar.extension.dbcp.impl.XADataSourceImpl"> + <property name="driverClassName"> + "net.sourceforge.jtds.jdbc.Driver" + </property> + <property name="URL"> + "jdbc:jtds:sqlserver://localhost/TEST;instance=SQLEXPRESS" + </property> + <property name="user">"xxxx"</property> + <property name="password">"xxxx"</property> + </component> + --> + + <component name="connectionPool" + class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl"> + <property name="timeout">600</property> + <property name="maxPoolSize">10</property> + <property name="allowLocalTx">true</property> + <destroyMethod name="close"/> + </component> + + <component name="dataSource" + class="org.seasar.extension.dbcp.impl.DataSourceImpl" + /> + + <!-- from JNDI --> + <!-- + <component name="dataSource" + class="javax.sql.DataSource"> + @org.seasar.extension.j2ee.JndiResourceLocator @ lookup("java:comp/env/jdbc/DataSource") + </component> + --> + + <!-- + <component name="dataSource" + class="org.seasar.extension.datasource.impl.SelectableDataSourceProxy"/> + --> +</components> \ No newline at end of file Added: palwassr/src/main/resources/log4j.properties =================================================================== --- palwassr/src/main/resources/log4j.properties (rev 0) +++ palwassr/src/main/resources/log4j.properties 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,16 @@ +log4j.category.org.seasar=DEBUG, C +log4j.additivity.org.seasar=false + +log4j.category.tutorial=DEBUG, C +log4j.additivity.tutorial=false + +log4j.appender.C=org.apache.log4j.ConsoleAppender +log4j.appender.C.Target=System.out +log4j.appender.C.ImmediateFlush=true +log4j.appender.C.layout=org.apache.log4j.PatternLayout +log4j.appender.C.layout.ConversionPattern=%-5p %d [%t] %m%n + +log4j.rootLogger=INFO, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n Added: palwassr/src/main/resources/s2container.dicon =================================================================== --- palwassr/src/main/resources/s2container.dicon (rev 0) +++ palwassr/src/main/resources/s2container.dicon 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> + <include condition="#ENV == 'ut'" path="warmdeploy.dicon"/> + <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/> + <include condition="#ENV != 'ut' and #ENV != 'ct'" path="cooldeploy.dicon"/> +</components> \ No newline at end of file Added: palwassr/src/main/webapp/WEB-INF/lib/antlr-2.7.7.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/antlr-2.7.7.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/aopalliance-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/aopalliance-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-beanutils-1.7.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-beanutils-1.7.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-codec-1.3.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-codec-1.3.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-collections-3.1.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-collections-3.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-digester-1.6.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-digester-1.6.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-el-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-el-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-fileupload-1.2.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-fileupload-1.2.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-httpclient-3.1.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-httpclient-3.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-io-1.3.2.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-io-1.3.2.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-logging-1.1.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-logging-1.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/commons-validator-1.2.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/commons-validator-1.2.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/geronimo-annotation_1.0_spec-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/geronimo-annotation_1.0_spec-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/geronimo-ejb_3.0_spec-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/geronimo-ejb_3.0_spec-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/geronimo-interceptor_3.0_spec-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/geronimo-interceptor_3.0_spec-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/geronimo-jpa_3.0_spec-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.0.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.0.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/h2-1.0.69.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/h2-1.0.69.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/jakarta-oro-2.0.8.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/jakarta-oro-2.0.8.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/jakarta-taglibs-standard-1.1.2.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/jakarta-taglibs-standard-1.1.2.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/javassist-3.4.ga.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/javassist-3.4.ga.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/jstl-1.1.2.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/jstl-1.1.2.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/log4j-1.2.13.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/log4j-1.2.13.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/ognl-2.6.9-patch-20070908.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/ognl-2.6.9-patch-20070908.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/poi-3.0-FINAL.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/poi-3.0-FINAL.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/s2-extension-2.4.29.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/s2-extension-2.4.29.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/s2-framework-2.4.29.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/s2-framework-2.4.29.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/s2-tiger-2.4.29.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/s2-tiger-2.4.29.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sa-struts-1.0.4-sp1.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sa-struts-1.0.4-sp1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sa-struts-portlet-1.0.0-rc3.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sa-struts-portlet-1.0.0-rc3.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-beanutils-1.7.0-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-beanutils-1.7.0-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-collections-3.1-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-collections-3.1-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-el-1.0-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-el-1.0-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-fileupload-1.2-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-fileupload-1.2-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-io-1.3.2-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-io-1.3.2-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-logging-1.1-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-logging-1.1-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-validator-1.2.0-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/commons-validator-1.2.0-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-oro-2.0.8-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-oro-2.0.8-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-taglibs-standard-1.1.2-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/jakarta-taglibs-standard-1.1.2-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/log4j-1.2.13-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/log4j-1.2.13-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-extension-2.4.29-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-extension-2.4.29-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-framework-2.4.29-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-framework-2.4.29-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-tiger-2.4.29-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/s2-tiger-2.4.29-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/sa-struts-1.0.4-sp1-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/sa-struts-1.0.4-sp1-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/sources/struts-1.2.9-sources.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/sources/struts-1.2.9-sources.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/lib/struts-1.2.9.jar =================================================================== (Binary files differ) Property changes on: palwassr/src/main/webapp/WEB-INF/lib/struts-1.2.9.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: palwassr/src/main/webapp/WEB-INF/portlet.xml =================================================================== --- palwassr/src/main/webapp/WEB-INF/portlet.xml (rev 0) +++ palwassr/src/main/webapp/WEB-INF/portlet.xml 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2005-2006 The Portal Application Laboratory Team. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<portlet-app id="palwassr" version="1.0"> + <portlet id="PalWassrPortlet"> + <portlet-name>PalWassrPortlet</portlet-name> + <display-name>Wassr Portlet by PAL</display-name> + <description>Wassr</description> + <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class> + <init-param> + <name>viewPage</name> + <value>/</value> + </init-param> + <expiration-cache>600</expiration-cache> + <supports> + <mime-type>text/html</mime-type> + <portlet-mode>VIEW</portlet-mode> + </supports> + <supported-locale>en</supported-locale> + <supported-locale>ja</supported-locale> + <portlet-info> + <title>Wassr</title> + <short-title>Wassr</short-title> + <keywords>Wassr</keywords> + </portlet-info> + </portlet> +</portlet-app> + Added: palwassr/src/main/webapp/WEB-INF/struts-config.xml =================================================================== --- palwassr/src/main/webapp/WEB-INF/struts-config.xml (rev 0) +++ palwassr/src/main/webapp/WEB-INF/struts-config.xml 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,56 @@ +<?xml version="1.0"?> + +<!DOCTYPE struts-config PUBLIC + "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" + "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> + +<struts-config> + +<!-- ======================================== Form Bean Definitions --> + + <form-beans> + </form-beans> + +<!-- ================================= Global Exception Definitions --> + + <global-exceptions> + </global-exceptions> + +<!-- =================================== Global Forward Definitions --> + + <global-forwards> + </global-forwards> + +<!-- =================================== Action Mapping Definitions --> + + <action-mappings> + </action-mappings> + + +<!-- ===================================== Controller Configuration --> + + <!-- + <controller + maxFileSize="1024K" + bufferSize="1024" + processorClass="org.seasar.struts.action.S2RequestProcessor"/> + --> + <controller + maxFileSize="1024K" + bufferSize="1024" + processorClass="org.seasar.struts.portlet.action.S2RequestProcessor"/> + +<!-- ================================ Message Resources Definitions --> + + <message-resources parameter="application" + factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory"/> + +<!-- ======================================= Plug Ins Configuration --> + + <plug-in className="org.seasar.struts.validator.S2ValidatorPlugIn"> + <set-property + property="pathnames" + value="/WEB-INF/validator-rules.xml"/> + </plug-in> +</struts-config> + Added: palwassr/src/main/webapp/WEB-INF/validator-rules.xml =================================================================== --- palwassr/src/main/webapp/WEB-INF/validator-rules.xml (rev 0) +++ palwassr/src/main/webapp/WEB-INF/validator-rules.xml 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,352 @@ +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> +<!-- + + This file contains the default Struts Validator pluggable validator + definitions. It should be placed somewhere under /WEB-INF and + referenced in the struts-config.xml under the plug-in element + for the ValidatorPlugIn. + + <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> + <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, + /WEB-INF/validation.xml"/> + </plug-in> + + These are the default error messages associated with + each validator defined in this file. They should be + added to your projects ApplicationResources.properties + file or you can associate new ones by modifying the + pluggable validators msg attributes in this file. + + # Struts Validator Error Messages + errors.required={0} is required. + errors.minlength={0} can not be less than {1} characters. + errors.maxlength={0} can not be greater than {1} characters. + errors.invalid={0} is invalid. + + errors.byte={0} must be a byte. + errors.short={0} must be a short. + errors.integer={0} must be an integer. + errors.long={0} must be a long. + errors.float={0} must be a float. + errors.double={0} must be a double. + + errors.date={0} is not a date. + errors.range={0} is not in the range {1} through {2}. + errors.creditcard={0} is an invalid credit card number. + errors.email={0} is an invalid e-mail address. + errors.url={0} is an invalid url (web address). + + errors.minbytelength={0} can not be less than {1} bytes. + errors.maxbytelength={0} can not be greater than {1} bytes. + + Note: Starting in Struts 1.2.0 the default javascript definitions have + been consolidated to commons-validator. The default can be overridden + by supplying a <javascript> element with a CDATA section, just as + in struts 1.1. + +--> + +<form-validation> + + <global> + + <validator name="required" + classname="org.apache.struts.validator.FieldChecks" + method="validateRequired" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + msg="errors.required"/> + + <validator name="requiredif" + classname="org.apache.struts.validator.FieldChecks" + method="validateRequiredIf" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + msg="errors.required"/> + + <validator name="validwhen" + msg="errors.required" + classname="org.apache.struts.validator.validwhen.ValidWhen" + method="validateValidWhen" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest"/> + + + <validator name="minlength" + classname="org.apache.struts.validator.FieldChecks" + method="validateMinLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.minlength" + jsFunction="org.apache.commons.validator.javascript.validateMinLength"/> + + + <validator name="maxlength" + classname="org.apache.struts.validator.FieldChecks" + method="validateMaxLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.maxlength" + jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/> + + + + <validator name="mask" + classname="org.apache.struts.validator.FieldChecks" + method="validateMask" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.invalid"/> + + + <validator name="byte" + classname="org.apache.struts.validator.FieldChecks" + method="validateByte" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.byte" + jsFunctionName="ByteValidations"/> + + + <validator name="short" + classname="org.apache.struts.validator.FieldChecks" + method="validateShort" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.short" + jsFunctionName="ShortValidations"/> + + + <validator name="integer" + classname="org.apache.struts.validator.FieldChecks" + method="validateInteger" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.integer" + jsFunctionName="IntegerValidations"/> + + + + <validator name="long" + classname="org.apache.struts.validator.FieldChecks" + method="validateLong" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.long"/> + + + <validator name="float" + classname="org.apache.struts.validator.FieldChecks" + method="validateFloat" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.float" + jsFunctionName="FloatValidations"/> + + <validator name="double" + classname="org.apache.struts.validator.FieldChecks" + method="validateDouble" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.double"/> + + + <validator name="date" + classname="org.apache.struts.validator.FieldChecks" + method="validateDate" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.date" + jsFunctionName="DateValidations"/> + + + <validator name="intRange" + classname="org.apache.struts.validator.FieldChecks" + method="validateIntRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="integer" + msg="errors.range"/> + + + <validator name="floatRange" + classname="org.apache.struts.validator.FieldChecks" + method="validateFloatRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="float" + msg="errors.range"/> + + <validator name="doubleRange" + classname="org.apache.struts.validator.FieldChecks" + method="validateDoubleRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="double" + msg="errors.range"/> + + <validator name="creditCard" + classname="org.apache.struts.validator.FieldChecks" + method="validateCreditCard" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.creditcard"/> + + + <validator name="email" + classname="org.apache.struts.validator.FieldChecks" + method="validateEmail" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.email"/> + + <validator name="url" + classname="org.apache.struts.validator.FieldChecks" + method="validateUrl" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.url"/> + + <validator name="minbytelength" + classname="org.seasar.struts.validator.S2FieldChecks" + method="validateMinByteLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.minbytelength"/> + + + <validator name="maxbytelength" + classname="org.seasar.struts.validator.S2FieldChecks" + method="validateMaxByteLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="" + msg="errors.maxbytelength"/> + + <validator name="longRange" + classname="org.seasar.struts.validator.S2FieldChecks" + method="validateLongRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.apache.struts.action.ActionMessages, + org.apache.commons.validator.Validator, + javax.servlet.http.HttpServletRequest" + depends="long" + msg="errors.range"/> + + <!-- + This simply allows struts to include the validateUtilities into a page, it should + not be used as a validation rule. + --> + <validator name="includeJavaScriptUtilities" + classname="" + method="" + methodParams="" + depends="" + msg="" + jsFunction="org.apache.commons.validator.javascript.validateUtilities"/> + + </global> + +</form-validation> Added: palwassr/src/main/webapp/WEB-INF/view/common/common.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/common/common.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/common/common.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,9 @@ +<%@page pageEncoding="UTF-8"%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@taglib prefix="html" uri="http://struts.apache.org/tags-html"%> +<%@taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> +<%@taglib prefix="tiles" uri="http://jakarta.apache.org/struts/tags-tiles"%> +<%@taglib prefix="f" uri="http://sastruts.seasar.org/functions" %> +<%@taglib prefix="s" uri="http://sastruts.seasar.org/portlet"%> Added: palwassr/src/main/webapp/WEB-INF/view/common/footer.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/common/footer.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/common/footer.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1 @@ +footer \ No newline at end of file Added: palwassr/src/main/webapp/WEB-INF/view/common/header.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/common/header.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/common/header.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1 @@ +header \ No newline at end of file Added: palwassr/src/main/webapp/WEB-INF/view/common/layout.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/common/layout.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/common/layout.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,15 @@ +<html> +<head> +<title><tiles:getAsString name="title" /></title> +</head> +<body> +<table width="100%"> + <tr><td colspan="2"><tiles:insert page="/common/header.jsp" /></td></tr> + <tr> + <td width="20%"><tiles:insert page="/common/menu.jsp" /></td> + <td><tiles:insert attribute="content" /></td> + </tr> + <tr><td colspan="2"><tiles:insert page="/common/footer.jsp" /></td></tr> +</table> +</body> +</html> \ No newline at end of file Added: palwassr/src/main/webapp/WEB-INF/view/common/menu.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/common/menu.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/common/menu.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,3 @@ +<ul> +<li><s:link href="#">appName</s:link></li> +</ul> \ No newline at end of file Added: palwassr/src/main/webapp/WEB-INF/view/index.jsp =================================================================== --- palwassr/src/main/webapp/WEB-INF/view/index.jsp (rev 0) +++ palwassr/src/main/webapp/WEB-INF/view/index.jsp 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,36 @@ +<script type="text/javascript" src="${f:url('/js/jquery.js')}"></script> + +<script type="text/javascript"> +function loadJSON() { + + $.ajax( { + url :'${f:url('/public_timeline')}', + type :'GET', + dataType :'json', + cache :false, + error : function() { + alert("Error"); + }, + success : function(json) { + for (var i=0; i<10; i++) { + $("#timeline").append( + "<tr><td>" + + json[i].user_login_id + + "</td><td>" + + json[i].html + "</td></tr>"); + } + } + }); + } +function updateTimeline() { + $("#timeline").empty(); + loadJSON(); +} +loadJSON(); +</script> + +<h1>Wassr Public Timeline</h1> +<input type="button" value="Update!" onclick="updateTimeline()"/> +<table border="1" cellspacing="0" id="timeline"> +</table> + Added: palwassr/src/main/webapp/WEB-INF/web.xml =================================================================== --- palwassr/src/main/webapp/WEB-INF/web.xml (rev 0) +++ palwassr/src/main/webapp/WEB-INF/web.xml 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,190 @@ +<?xml version="1.0"?> + +<!-- + * Copyright 2004-2006 the Seasar Foundation and the Others. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. +--> + +<web-app xmlns="http://java.sun.com/xml/ns/j2ee" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" +version="2.4"> + + <context-param> + <param-name>sastruts.VIEW_PREFIX</param-name> + <param-value>/WEB-INF/view</param-value> + </context-param> + + <filter> + <filter-name>encodingfilter</filter-name> + <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class> + <init-param> + <param-name>encoding</param-name> + <param-value>UTF-8</param-value> + </init-param> + </filter> + + <filter> + <filter-name>portletRequestFilter</filter-name> + <filter-class>org.seasar.struts.portlet.filter.PortletRequestFilter</filter-class> + </filter> + + <filter> + <filter-name>s2filter</filter-name> + <filter-class>org.seasar.struts.portlet.filter.S2ContainerFilter</filter-class> + <!-- + <filter-class>org.seasar.framework.container.filter.S2ContainerFilter</filter-class> + --> + </filter> + + <filter> + <filter-name>hotdeployfilter</filter-name> + <filter-class>org.seasar.struts.portlet.filter.HotdeployFilter</filter-class> + <!-- + <filter-class>org.seasar.framework.container.hotdeploy.HotdeployFilter</filter-class> + --> + </filter> + + <filter> + <filter-name>routingfilter</filter-name> + <filter-class>org.seasar.struts.filter.RoutingFilter</filter-class> + <init-param> + <param-name>jspDirectAccess</param-name> + <param-value>false</param-value> + </init-param> + </filter> + + <filter> + <filter-name>portletRoutingfilter</filter-name> + <filter-class>org.seasar.struts.portlet.filter.PortletRoutingFilter</filter-class> + <init-param> + <param-name>jspDirectAccess</param-name> + <param-value>false</param-value> + </init-param> + </filter> + + <filter> + <filter-name>requestDumpFilter</filter-name> + <filter-class>org.seasar.extension.filter.RequestDumpFilter</filter-class> + </filter> + + <filter-mapping> + <filter-name>encodingfilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <filter-mapping> + <filter-name>portletRequestFilter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>INCLUDE</dispatcher> + </filter-mapping> + + <filter-mapping> + <filter-name>s2filter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + <dispatcher>FORWARD</dispatcher> + <dispatcher>INCLUDE</dispatcher> + </filter-mapping> + + <filter-mapping> + <filter-name>hotdeployfilter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + <dispatcher>FORWARD</dispatcher> + <dispatcher>INCLUDE</dispatcher> + </filter-mapping> + + <filter-mapping> + <filter-name>routingfilter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>REQUEST</dispatcher> + </filter-mapping> + + <filter-mapping> + <filter-name>portletRoutingfilter</filter-name> + <url-pattern>/*</url-pattern> + <dispatcher>INCLUDE</dispatcher> + </filter-mapping> + + <filter-mapping> + <filter-name>requestDumpFilter</filter-name> + <url-pattern>*.do</url-pattern> + <dispatcher>REQUEST</dispatcher> + <dispatcher>FORWARD</dispatcher> + <dispatcher>INCLUDE</dispatcher> + </filter-mapping> + + <servlet> + <servlet-name>action</servlet-name> + <servlet-class>org.seasar.struts.portlet.servlet.ActionServlet</servlet-class> + <!-- + <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> + --> + <init-param> + <param-name>config</param-name> + <param-value>/WEB-INF/struts-config.xml</param-value> + </init-param> + <init-param> + <param-name>configFactory</param-name> + <param-value>org.seasar.struts.config.S2ModuleConfigFactory</param-value> + </init-param> + <init-param> + <param-name>debug</param-name> + <param-value>2</param-value> + </init-param> + <init-param> + <param-name>detail</param-name> + <param-value>2</param-value> + </init-param> + <load-on-startup>1</load-on-startup> + </servlet> + + <servlet> + <servlet-name>s2container</servlet-name> + <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class> + <load-on-startup>2</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>action</servlet-name> + <url-pattern>*.do</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>s2container</servlet-name> + <url-pattern>/s2container</url-pattern> + </servlet-mapping> + + <!-- + <session-config> + <session-timeout>1</session-timeout> + </session-config> + --> + + <!-- + <welcome-file-list> + </welcome-file-list> + --> + + <jsp-config> + <jsp-property-group> + <url-pattern>*.jsp</url-pattern> + <el-ignored>false</el-ignored> + <page-encoding>UTF-8</page-encoding> + <scripting-invalid>false</scripting-invalid> + <include-prelude>/WEB-INF/view/common/common.jsp</include-prelude> + </jsp-property-group> + </jsp-config> +</web-app> Added: palwassr/src/main/webapp/js/jquery.js =================================================================== --- palwassr/src/main/webapp/js/jquery.js (rev 0) +++ palwassr/src/main/webapp/js/jquery.js 2008-11-14 12:11:03 UTC (rev 1352) @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.6 - 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-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ + * $Rev: 5685 $ + */ +(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}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);return jQuery(elem);}selector=[];}}else +return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",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;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);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){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.appendChild(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(function(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 +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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},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;}if(value.constructor==Number)value+='';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=jQuery.makeArray(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[0]?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(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&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);});}};jQuery.fn.init.prototype=jQuery.fn;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);}function now(){return+new Date;}jQuery.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==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&©&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.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.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},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){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else +for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else +for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+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(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.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,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(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 left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}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+='';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")||!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.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.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 notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else +while(elem=second[i++])first[pos++]=elem;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))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)ret[ret.length]=value;}return ret.concat.apply([],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(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.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",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(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);},addClass: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.parentNode.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?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){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){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,re=quickChild,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.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=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=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.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)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&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)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});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(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[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.removeData(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({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&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,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;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.clientX+(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;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},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);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.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);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;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.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,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",function(){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.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){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,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(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:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._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:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(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,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=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 xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")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(jQuery.isFunction(a[j])?a[j]():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.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){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,callback){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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"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"){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(queue(this,type).length==1)fn.call(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){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",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].call(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==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(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.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||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=now();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.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}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)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){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=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,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&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file