Skip to content

Instantly share code, notes, and snippets.

@arms-air
Created December 30, 2015 17:01
Show Gist options
  • Select an option

  • Save arms-air/07e78e7fc8eaa075b534 to your computer and use it in GitHub Desktop.

Select an option

Save arms-air/07e78e7fc8eaa075b534 to your computer and use it in GitHub Desktop.
create.
This gist exceeds the recommended number of files (~10). To access all files, please clone this gist.
<component name="ArtifactManager">
<artifact type="war" name="CoreSystemSpring:war">
<output-path>$PROJECT_DIR$/target</output-path>
<root id="archive" name="CoreSytemSpring-1.0-SNAPSHOT.war">
<element id="artifact" artifact-name="CoreSystemSpring:war exploded" />
</root>
</artifact>
</component>
<component name="ArtifactManager">
<artifact type="exploded-war" name="CoreSystemSpring:war exploded">
<output-path>$PROJECT_DIR$/target/CoreSytemSpring-1.0-SNAPSHOT</output-path>
<root id="root">
<element id="directory" name="WEB-INF">
<element id="directory" name="classes">
<element id="module-output" name="CoreSystemSpring" />
</element>
<element id="directory" name="lib">
<element id="library" level="project" name="Maven: org.springframework:spring-context:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-beans:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-expression:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-aop:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: aopalliance:aopalliance:1.0" />
<element id="library" level="project" name="Maven: org.springframework:spring-webmvc:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-web:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-core:4.2.2.RELEASE" />
<element id="library" level="project" name="Maven: commons-logging:commons-logging:1.2" />
<element id="library" level="project" name="Maven: org.springframework:spring-orm:3.2.4.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-jdbc:3.2.4.RELEASE" />
<element id="library" level="project" name="Maven: org.springframework:spring-tx:3.2.4.RELEASE" />
<element id="library" level="project" name="Maven: javax.servlet:jstl:1.2" />
<element id="library" level="project" name="Maven: javax.servlet:servlet-api:2.5" />
<element id="library" level="project" name="Maven: org.hibernate:hibernate-core:4.2.6.Final" />
<element id="library" level="project" name="Maven: antlr:antlr:2.7.7" />
<element id="library" level="project" name="Maven: org.jboss.logging:jboss-logging:3.1.0.GA" />
<element id="library" level="project" name="Maven: dom4j:dom4j:1.6.1" />
<element id="library" level="project" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final" />
<element id="library" level="project" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final" />
<element id="library" level="project" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.2.Final" />
<element id="library" level="project" name="Maven: org.javassist:javassist:3.15.0-GA" />
<element id="library" level="project" name="Maven: commons-dbcp:commons-dbcp:1.4" />
<element id="library" level="project" name="Maven: commons-pool:commons-pool:1.5.4" />
<element id="library" level="project" name="Maven: mysql:mysql-connector-java:5.1.35" />
<element id="library" level="project" name="Maven: javax.validation:validation-api:1.0.0.GA" />
<element id="library" level="project" name="Maven: org.hibernate:hibernate-validator:4.3.2.Final" />
<element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.3" />
<element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.3" />
<element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.0" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-core:3.0.5" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-api:3.0.5" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-request-api:1.0.6" />
<element id="library" level="project" name="Maven: commons-digester:commons-digester:2.0" />
<element id="library" level="project" name="Maven: commons-beanutils:commons-beanutils:1.8.0" />
<element id="library" level="project" name="Maven: org.slf4j:slf4j-api:1.7.6" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-jsp:3.0.5" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-servlet:3.0.5" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-request-servlet:1.0.6" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-template:3.0.5" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-autotag-core-runtime:1.1.0" />
<element id="library" level="project" name="Maven: org.apache.tiles:tiles-request-jsp:1.0.6" />
<element id="library" level="project" name="Maven: org.slf4j:jcl-over-slf4j:1.7.12" />
<element id="library" level="project" name="Maven: ch.qos.logback:logback-classic:1.1.3" />
<element id="library" level="project" name="Maven: ch.qos.logback:logback-core:1.1.3" />
<element id="library" level="project" name="Maven: log4j:log4j:1.2.17" />
<element id="library" level="project" name="Maven: org.slf4j:slf4j-log4j12:1.6.1" />
<element id="library" level="project" name="Maven: commons-io:commons-io:2.4" />
<element id="library" level="project" name="Maven: org.apache.commons:commons-lang3:3.4" />
<element id="library" level="project" name="Maven: net.sf.supercsv:super-csv:2.4.0" />
<element id="library" level="project" name="Maven: com.lowagie:itext:4.2.1" />
<element id="library" level="project" name="Maven: org.bouncycastle:bctsp-jdk14:1.38" />
<element id="library" level="project" name="Maven: org.bouncycastle:bcprov-jdk14:1.38" />
<element id="library" level="project" name="Maven: org.bouncycastle:bcmail-jdk14:1.38" />
<element id="library" level="project" name="Maven: jfree:jfreechart:1.0.12" />
<element id="library" level="project" name="Maven: jfree:jcommon:1.0.15" />
<element id="library" level="project" name="Maven: org.swinglabs:pdf-renderer:1.0.5" />
<element id="library" level="project" name="Maven: org.apache.poi:poi:3.10-beta2" />
<element id="library" level="project" name="Maven: commons-codec:commons-codec:1.5" />
</element>
</element>
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/target/MANIFEST.MF" />
</element>
<element id="javaee-facet-resources" facet="CoreSystemSpring/web/Web" />
</root>
</artifact>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
<profile default="false" name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<processorPath useClasspath="true" />
<module name="CoreSystemSpring" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
<module name="CoreSystemSpring" target="1.8" />
</bytecodeTargetLevel>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
<component name="libraryTable">
<library name="Maven: antlr:antlr:2.7.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/antlr/antlr/2.7.7/antlr-2.7.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/antlr/antlr/2.7.7/antlr-2.7.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/antlr/antlr/2.7.7/antlr-2.7.7-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: aopalliance:aopalliance:1.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/aopalliance/aopalliance/1.0/aopalliance-1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/aopalliance/aopalliance/1.0/aopalliance-1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-classic:1.1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: ch.qos.logback:logback-core:1.1.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.6.0/jackson-annotations-2.6.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.6.0/jackson-annotations-2.6.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.6.0/jackson-annotations-2.6.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.6.3/jackson-core-2.6.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.6.3/jackson-core-2.6.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.6.3/jackson-core-2.6.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.6.3/jackson-databind-2.6.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.6.3/jackson-databind-2.6.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.6.3/jackson-databind-2.6.3-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: com.lowagie:itext:4.2.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/lowagie/itext/4.2.1/itext-4.2.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/lowagie/itext/4.2.1/itext-4.2.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/lowagie/itext/4.2.1/itext-4.2.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-beanutils:commons-beanutils:1.8.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-codec:commons-codec:1.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-dbcp:commons-dbcp:1.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-digester:commons-digester:2.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-digester/commons-digester/2.0/commons-digester-2.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-digester/commons-digester/2.0/commons-digester-2.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-digester/commons-digester/2.0/commons-digester-2.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-io:commons-io:2.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-logging:commons-logging:1.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.2/commons-logging-1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.2/commons-logging-1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.2/commons-logging-1.2-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: commons-pool:commons-pool:1.5.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: dom4j:dom4j:1.6.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: javax.servlet:javax.servlet-api:3.1.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: javax.servlet:jstl:1.2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.2/jstl-1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.2/jstl-1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.2/jstl-1.2-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: javax.servlet:servlet-api:2.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: javax.validation:validation-api:1.0.0.GA">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: jfree:jcommon:1.0.15">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jcommon/1.0.15/jcommon-1.0.15.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jcommon/1.0.15/jcommon-1.0.15-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jcommon/1.0.15/jcommon-1.0.15-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: jfree:jfreechart:1.0.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jfreechart/1.0.12/jfreechart-1.0.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jfreechart/1.0.12/jfreechart-1.0.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/jfree/jfreechart/1.0.12/jfreechart-1.0.12-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: log4j:log4j:1.2.17">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: mysql:mysql-connector-java:5.1.35">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/5.1.35/mysql-connector-java-5.1.35.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/5.1.35/mysql-connector-java-5.1.35-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/mysql/mysql-connector-java/5.1.35/mysql-connector-java-5.1.35-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: net.sf.supercsv:super-csv:2.4.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/supercsv/super-csv/2.4.0/super-csv-2.4.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/supercsv/super-csv/2.4.0/super-csv-2.4.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/net/sf/supercsv/super-csv/2.4.0/super-csv-2.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-lang3:3.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.poi:poi:3.10-beta2">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.10-beta2/poi-3.10-beta2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.10-beta2/poi-3.10-beta2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.10-beta2/poi-3.10-beta2-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-api:3.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-api/3.0.5/tiles-api-3.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-api/3.0.5/tiles-api-3.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-api/3.0.5/tiles-api-3.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-autotag-core-runtime:1.1.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-autotag-core-runtime/1.1.0/tiles-autotag-core-runtime-1.1.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-autotag-core-runtime/1.1.0/tiles-autotag-core-runtime-1.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-autotag-core-runtime/1.1.0/tiles-autotag-core-runtime-1.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-core:3.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-core/3.0.5/tiles-core-3.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-core/3.0.5/tiles-core-3.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-core/3.0.5/tiles-core-3.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-jsp:3.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-jsp/3.0.5/tiles-jsp-3.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-jsp/3.0.5/tiles-jsp-3.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-jsp/3.0.5/tiles-jsp-3.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-request-api:1.0.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-api/1.0.6/tiles-request-api-1.0.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-api/1.0.6/tiles-request-api-1.0.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-api/1.0.6/tiles-request-api-1.0.6-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-request-jsp:1.0.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-jsp/1.0.6/tiles-request-jsp-1.0.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-jsp/1.0.6/tiles-request-jsp-1.0.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-jsp/1.0.6/tiles-request-jsp-1.0.6-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-request-servlet:1.0.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-servlet/1.0.6/tiles-request-servlet-1.0.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-servlet/1.0.6/tiles-request-servlet-1.0.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-request-servlet/1.0.6/tiles-request-servlet-1.0.6-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-servlet:3.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-servlet/3.0.5/tiles-servlet-3.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-servlet/3.0.5/tiles-servlet-3.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-servlet/3.0.5/tiles-servlet-3.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.apache.tiles:tiles-template:3.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-template/3.0.5/tiles-template-3.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-template/3.0.5/tiles-template-3.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/apache/tiles/tiles-template/3.0.5/tiles-template-3.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.bouncycastle:bcmail-jdk14:1.38">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.bouncycastle:bcprov-jdk14:1.38">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcprov-jdk14/1.38/bcprov-jdk14-1.38.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcprov-jdk14/1.38/bcprov-jdk14-1.38-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcprov-jdk14/1.38/bcprov-jdk14-1.38-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.bouncycastle:bctsp-jdk14:1.38">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bctsp-jdk14/1.38/bctsp-jdk14-1.38.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bctsp-jdk14/1.38/bctsp-jdk14-1.38-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bctsp-jdk14/1.38/bctsp-jdk14-1.38-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.2.Final">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/common/hibernate-commons-annotations/4.0.2.Final/hibernate-commons-annotations-4.0.2.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/common/hibernate-commons-annotations/4.0.2.Final/hibernate-commons-annotations-4.0.2.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/common/hibernate-commons-annotations/4.0.2.Final/hibernate-commons-annotations-4.0.2.Final-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.hibernate:hibernate-core:4.2.6.Final">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-core/4.2.6.Final/hibernate-core-4.2.6.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-core/4.2.6.Final/hibernate-core-4.2.6.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-core/4.2.6.Final/hibernate-core-4.2.6.Final-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.hibernate:hibernate-validator:4.3.2.Final">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/4.3.2.Final/hibernate-validator-4.3.2.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/4.3.2.Final/hibernate-validator-4.3.2.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/hibernate-validator/4.3.2.Final/hibernate-validator-4.3.2.Final-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.javassist:javassist:3.15.0-GA">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.jboss.logging:jboss-logging:3.1.0.GA">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.1.0.GA/jboss-logging-3.1.0.GA.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.1.0.GA/jboss-logging-3.1.0.GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/logging/jboss-logging/3.1.0.GA/jboss-logging-3.1.0.GA-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.1.Final/jboss-transaction-api_1.1_spec-1.0.1.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.1.Final/jboss-transaction-api_1.1_spec-1.0.1.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.1.Final/jboss-transaction-api_1.1_spec-1.0.1.Final-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.slf4j:jcl-over-slf4j:1.7.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.12/jcl-over-slf4j-1.7.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.12/jcl-over-slf4j-1.7.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/jcl-over-slf4j/1.7.12/jcl-over-slf4j-1.7.12-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.12">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-api:1.7.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.slf4j:slf4j-log4j12:1.6.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-aop:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-beans:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-context:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-core:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-expression:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-jdbc:3.2.4.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/3.2.4.RELEASE/spring-jdbc-3.2.4.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/3.2.4.RELEASE/spring-jdbc-3.2.4.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-jdbc/3.2.4.RELEASE/spring-jdbc-3.2.4.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-orm:3.2.4.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-orm/3.2.4.RELEASE/spring-orm-3.2.4.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-orm/3.2.4.RELEASE/spring-orm-3.2.4.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-orm/3.2.4.RELEASE/spring-orm-3.2.4.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-tx:3.2.4.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/3.2.4.RELEASE/spring-tx-3.2.4.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/3.2.4.RELEASE/spring-tx-3.2.4.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-tx/3.2.4.RELEASE/spring-tx-3.2.4.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-web:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.springframework:spring-webmvc:4.2.2.RELEASE">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>
<component name="libraryTable">
<library name="Maven: org.swinglabs:pdf-renderer:1.0.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/swinglabs/pdf-renderer/1.0.5/pdf-renderer-1.0.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/swinglabs/pdf-renderer/1.0.5/pdf-renderer-1.0.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/swinglabs/pdf-renderer/1.0.5/pdf-renderer-1.0.5-sources.jar!/" />
</SOURCES>
</library>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
<component name="CopyrightManager" default="" />
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="DependencyValidationManager">
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</component>
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="IdProvider" IDEtalkID="3DE40CC97CB187C5C7E6CFE78040ED7A" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectModuleManager">
<modules />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="PropertiesComponent">
<property name="GoToClass.includeLibraries" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="MemberChooser.sorted" value="false" />
<property name="MemberChooser.showClasses" value="true" />
<property name="MemberChooser.copyJavadoc" value="false" />
</component>
<component name="RunManager">
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
<option name="PROGRAM_PARAMETERS" />
<method />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<envs />
<properties />
<listeners />
<method />
</configuration>
<configuration default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<method />
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
<list size="0" />
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/CoreSystemSpring.iml" filepath="$PROJECT_DIR$/CoreSystemSpring.iml" />
</modules>
</component>
</project>
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
</webroots>
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:3.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:3.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:3.2.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.2.6.Final" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.1.0.GA" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.15.0-GA" level="project" />
<orderEntry type="library" name="Maven: commons-dbcp:commons-dbcp:1.4" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.5.4" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.35" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.0.0.GA" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:4.3.2.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-core:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-api:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-api:1.0.6" level="project" />
<orderEntry type="library" name="Maven: commons-digester:commons-digester:2.0" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-jsp:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-servlet:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-servlet:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-template:3.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-autotag-core-runtime:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.tiles:tiles-request-jsp:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.12" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.6.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.4" level="project" />
<orderEntry type="library" name="Maven: net.sf.supercsv:super-csv:2.4.0" level="project" />
<orderEntry type="library" name="Maven: com.lowagie:itext:4.2.1" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bctsp-jdk14:1.38" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk14:1.38" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcmail-jdk14:1.38" level="project" />
<orderEntry type="library" name="Maven: jfree:jfreechart:1.0.12" level="project" />
<orderEntry type="library" name="Maven: jfree:jcommon:1.0.15" level="project" />
<orderEntry type="library" name="Maven: org.swinglabs:pdf-renderer:1.0.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.10-beta2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.5" level="project" />
</component>
</module>
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.arms.ari</groupId>
<artifactId>CoreSytemSpring</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<jdk.version>1.8</jdk.version>
<spring.version>4.2.2.RELEASE</spring.version>
<jackson.version>2.6.3</jackson.version>
<logback.version>1.1.3</logback.version>
<jcl.slf4j.version>1.7.12</jcl.slf4j.version>
<jstl.version>1.2</jstl.version>
<servletapi.version>3.1.0</servletapi.version>
<tiles.version>3.0.5</tiles.version>
<super-csv.version>2.4.0</super-csv.version>
</properties>
<dependencies>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- Database -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<!-- validation -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.2.Final</version>
</dependency>
<!-- Need this for json to/from object -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- JSTL for views -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<!-- Layouts -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>${tiles.version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${jcl.slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- compile only, deployed container will provide this -->
<!-- Need this for config annotation -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servletapi.version}</version>
<scope>provided</scope>
</dependency>
<!-- Log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${jcl.slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- Apache Commons IO -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<!-- CSV -->
<dependency>
<groupId>net.sf.supercsv</groupId>
<artifactId>super-csv</artifactId>
<version>${super-csv.version}</version>
</dependency>
<!-- Needed for PDF View -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.1</version>
</dependency>
<!-- Needed for XLS View -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-beta2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.11.v20150529</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<contextPath>/spring4ajax</contextPath>
</webApp>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
<wtpversion>2.0</wtpversion>
<wtpContextName>spring4ajax</wtpContextName>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.ari.arms.core.system.web.constant;
import org.springframework.context.MessageSource;
import java.util.*;
/**
* Created by arms_matsushita on 西暦2015/12/29.
*/
public final class EmployeeConstant {
public enum COLUMN {
NAME("app.employee.master.column.name", "name"),
EMAIL("app.employee.master.column.email", "email"),
THEORETICAL_COST("app.employee.master.column.theoretical.cost", "theoreticalCost");
private String label;
private String columnName;
COLUMN(String label, String columnName) {
this.label = label;
this.columnName = columnName;
}
public String getLabel() { return label; }
public String getColumnName() { return columnName; }
}
public static Map<String, String> getLabelMap(MessageSource messageSource, Locale locale) {
Map<String, String> map = new HashMap<>();
for(COLUMN c : COLUMN.values()) {
map.put(c.columnName, messageSource.getMessage(c.getLabel(), null, locale));
}
return map;
}
}
package com.ari.arms.core.system.web.controller;
import com.ari.arms.core.system.web.jsonview.Views;
import com.ari.arms.core.system.web.model.*;
import com.fasterxml.jackson.annotation.JsonView;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/17.
*/
@RestController
public class AjaxController {
List<SampleUser> users;
@JsonView(Views.Public.class)
@RequestMapping(value = "/search/api/getSearchResult")
public AjaxSampleBody getSearchResultViaAjax(@RequestBody SearchCriteria search) {
AjaxSampleBody result = new AjaxSampleBody();
if (isValidSearchCriteria(search)) {
List<SampleUser> users = findByUserNameOrEmail(search.getUsername(), search.getEmail());
if (users.size() > 0) {
result.setCode("200");
result.setMsg("");
result.setResult(users);
} else {
result.setCode("204");
result.setMsg("No user!");
}
} else {
result.setCode("499");
result.setMsg("Search criteria is empty!");
}
//AjaxResponseBody will be converted into json format and send back to client.
return result;
}
// Init some users for testing
@PostConstruct
private void iniDataForTesting() {
users = new ArrayList<SampleUser>();
SampleUser user1 = new SampleUser("mkyong", "pass123", "[email protected]", "012-1234567", "address 123");
SampleUser user2 = new SampleUser("yflow", "pass456", "[email protected]", "016-7654321", "address 456");
SampleUser user3 = new SampleUser("laplap", "pass789", "[email protected]", "012-111111", "address 789");
users.add(user1);
users.add(user2);
users.add(user3);
}
private boolean isValidSearchCriteria(SearchCriteria search) {
boolean valid = true;
if (search == null) {
valid = false;
}
if ((StringUtils.isEmpty(search.getUsername())) && (StringUtils.isEmpty(search.getEmail()))) {
valid = false;
}
return valid;
}
// Simulate the search function
private List<SampleUser> findByUserNameOrEmail(String username, String email) {
List<SampleUser> result = new ArrayList<SampleUser>();
for (SampleUser user : users) {
if ((!StringUtils.isEmpty(username)) && (!StringUtils.isEmpty(email))) {
if (username.equals(user.getUsername()) && email.equals(user.getEmail())) {
result.add(user);
continue;
} else {
continue;
}
}
if (!StringUtils.isEmpty(username)) {
if (username.equals(user.getUsername())) {
result.add(user);
continue;
}
}
if (!StringUtils.isEmpty(email)) {
if (email.equals(user.getEmail())) {
result.add(user);
continue;
}
}
}
return result;
}
}
package com.ari.arms.core.system.web.controller.contract;
import com.ari.arms.core.system.web.jsonview.Views;
import com.ari.arms.core.system.web.model.AjaxSalesResponseBody;
import com.ari.arms.core.system.web.service.contract.DevelopmentService;
import com.fasterxml.jackson.annotation.JsonView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/12/29.
*/
@RestController
public class AjaxDevelopmentController {
@Autowired
private DevelopmentService developmentService;
@JsonView(Views.Public.class)
@RequestMapping(value = "/search/api/sales")
public AjaxSalesResponseBody getSearchResultViaAjax(Locale locale) throws NoSuchFieldException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
AjaxSalesResponseBody result = new AjaxSalesResponseBody();
result.setLabelColumnMap(developmentService.getEmployeeLabelMap(locale));
result.setValueMapList(developmentService.getEmployeeValueMapList(locale));
return result;
}
}
package com.ari.arms.core.system.web.controller.contract;
import com.ari.arms.core.system.web.form.ContractDevelopmentForm;
import com.ari.arms.core.system.web.model.Project;
import com.ari.arms.core.system.web.service.contract.DevelopmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Controller
public class DevelopmentController {
@Autowired
DevelopmentService developmentService;
@Autowired
private MessageSource messageSource;
@RequestMapping(value = "/contract/development/list", method = RequestMethod.GET)
public String list(Model model, Locale locale) {
developmentService.initProcess(model, locale);
return "contract_development_list";
}
@RequestMapping(value = "/contract/development/add", method = RequestMethod.GET)
public String add(ContractDevelopmentForm contractDevelopmentForm, Model model, Locale locale) {
developmentService.initProcess(model, locale);
contractDevelopmentForm.setProjectAdditionalSalesList(developmentService.initProjectAdditionalSale());
contractDevelopmentForm.setProjectProfitLossList(developmentService.initProjectProfitLoss());
contractDevelopmentForm.setProjectProfitLossDateLockList(developmentService.initProjectProfitLossDateLock());
model.addAttribute("contractTypes", developmentService.findContractTypeAll());
model.addAttribute("projectStatuses", developmentService.findProjectStatusAll());
model.addAttribute("projectProfitLossTypes", developmentService.findProjectProfitLossTypeAll());
model.addAttribute("positions", developmentService.findPositionAll());
model.addAttribute("today", new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
return "contract_development_add";
}
@RequestMapping(value = "/contract/development/add_confirm", method = RequestMethod.POST)
public String addConfirm(@Valid @ModelAttribute("project") Project project, Model model, Locale locale, BindingResult result) {
// Error Check
if (result.hasErrors()) {
return "contract_development_add";
}
developmentService.initProcess(model, locale);
return "contract_development_add_confirm";
}
@RequestMapping(value = "/contract/development/save", method = RequestMethod.POST)
public String save(@Valid @ModelAttribute("project") Project project) {
developmentService.save(project);
return "redirect:/contract/development/save?complete";
}
@RequestMapping(value = "/contract/development/save", params = "complete")
public String save(Model model, Locale locale) {
developmentService.initProcess(model, locale);
return "contract_development_save_complete";
}
@RequestMapping(value = "/contract/development/edit", method = RequestMethod.GET)
public String edit(@ModelAttribute("project") Project project, Model model, Locale locale) {
developmentService.initProcess(model, locale);
model.addAttribute("project", developmentService.findById(project.getId()));
return "contract_development_edit";
}
@RequestMapping(value = "/contract/development/edit_confirm", method = RequestMethod.POST)
public String editConfirm(@Valid @ModelAttribute("project") Project project, BindingResult result, Model model, Locale locale) {
developmentService.initProcess(model, locale);
// Error Check
if (result.hasErrors()) {
return "contract_development_edit";
}
model.addAttribute("project", project);
return "contract_development_edit_confirm";
}
@RequestMapping(value = "/contract/development/update", method = RequestMethod.POST)
public String update(@Valid @ModelAttribute("project") Project project) {
developmentService.update(project);
return "/contract/development/update?complate";
}
@RequestMapping(value = "/contract/development/update", params = "complete")
public String update(Model model, Locale locale) {
return "contract_development_update_complete";
}
@RequestMapping(value = "/contract/development/delete", method = RequestMethod.GET)
public String delete(@RequestParam("id") Integer id, Model model, Locale locale, RedirectAttributes redirectAttributes) {
developmentService.initProcess(model, locale);
developmentService.delete(id);
redirectAttributes.addFlashAttribute("deletedMessage", messageSource.getMessage("comment.deleted.message", null, locale));
return "redirect:/master/employee/list";
}
@RequestMapping(value = "/contract/development/detail", method = RequestMethod.GET)
public String detail(@RequestParam("id") Integer id, Model model, Locale locale) {
developmentService.initProcess(model, locale);
model.addAttribute("project", developmentService.findById(id));
return "contract_development_detail";
}
}
package com.ari.arms.core.system.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Created by arms_matsushita on 西暦2015/11/28.
*/
@Controller
@RequestMapping(value = "/")
public class HomeController {
@RequestMapping(method = RequestMethod.GET)
public String home(Model model) {
return "index";
}
}
package com.ari.arms.core.system.web.controller.master;
import com.ari.arms.core.system.web.form.FileUploadForm;
import com.ari.arms.core.system.web.model.Employee;
import com.ari.arms.core.system.web.service.master.CsvFileService;
import com.ari.arms.core.system.web.service.master.EmployeeService;
import com.ari.arms.core.system.web.util.CSVReader;
import com.ari.arms.core.system.web.validator.FileUploadFormValidator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.beans.IntrospectionException;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/12/04.
*/
@Controller
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@Autowired
private CsvFileService csvFileService;
@Autowired
private MessageSource messageSource;
@ModelAttribute
public FileUploadForm setFileUploadForm() {
return new FileUploadForm();
}
@Autowired
@Qualifier("fileUploadValidator")
private FileUploadFormValidator fileUploadFormValidator;
@InitBinder("fileUploadForm")
private void initBinder(WebDataBinder binder) {
binder.setValidator(this.fileUploadFormValidator);
}
/**
* List Page
*
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/list", method = RequestMethod.GET)
public String list(Model model, Locale locale) {
employeeService.initProcess(model, locale);
List<Employee> result = employeeService.getAll();
model.addAttribute("employeeList", result);
return "master_employee_list";
}
/**
* Add Page
*
* @param model
* @param locale
* @param employee
* @return
*/
@RequestMapping(value = "/master/employee/add")
public String add(Model model, Locale locale, Employee employee) {
employeeService.initProcess(model, locale);
model.addAttribute("locale", locale.getLanguage());
model.addAttribute("employee", employee);
return "master_employee_add";
}
/**
* Add Confirm Page
*
* @param employee
* @param result
* @param locale
* @param model
* @return
*/
@RequestMapping(value = "/master/employee/add_confirm", method = RequestMethod.POST)
public String addConfirm(@Valid Employee employee, BindingResult result, Locale locale, Model model) {
employeeService.initProcess(model, locale);
if (result.hasErrors()) {
model.addAttribute("errorMessage", result.getFieldError().getDefaultMessage());
return add(model, locale, employee);
}
model.addAttribute("employee", employee);
return "master_employee_add_confirm";
}
/**
* Save
*
* @param employee
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/save", method = RequestMethod.POST)
public String save(@ModelAttribute("employee") Employee employee, Model model, Locale locale) {
employeeService.initProcess(model, locale);
employeeService.save(employee);
return "redirect:/master/employee/save?complete";
}
/**
* Save Complete Page
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/save", method = RequestMethod.GET, params = "complete")
public String save(Model model, Locale locale) {
employeeService.initProcess(model, locale);
return "master_employee_save";
}
/**
* Edit Page
*
* @param id
* @param model
* @param employee
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/edit")
public String edit(@RequestParam("id") Long id, Model model, @ModelAttribute("employee") Employee employee, Locale locale) {
employeeService.initProcess(model, locale);
model.addAttribute("locale", locale.getLanguage());
if (employee.getName() == null) {
model.addAttribute("employee", employeeService.getById(id));
} else {
model.addAttribute("employee", employee);
}
return "master_employee_edit";
}
/**
* Edit Confirm Page
*
* @param employee
* @param result
* @param locale
* @param model
* @return
*/
@RequestMapping(value = "/master/employee/edit_confirm", method = RequestMethod.POST)
public String editConfirm(@Valid Employee employee, BindingResult result, Locale locale, Model model) {
employeeService.initProcess(model, locale);
if (result.hasErrors()) {
model.addAttribute("errorMessage", result.getFieldError().getDefaultMessage());
return edit(employee.getId(), model, employee, locale);
}
model.addAttribute("employee", employee);
return "master_employee_edit_confirm";
}
/**
* Update
*
* @param employee
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/update", method = RequestMethod.POST)
public String update(@Valid @ModelAttribute("employee") Employee employee, Model model, Locale locale) {
employeeService.initProcess(model, locale);
employeeService.update(employee);
return "redirect:/master/employee/save?complete";
}
/**
* Delete
*
* @param id
* @param model
* @param locale
* @param redirectAttributes
* @return
*/
@RequestMapping(value = "/master/employee/delete")
public String delete(@RequestParam("id") Long id, Model model, Locale locale, RedirectAttributes redirectAttributes) {
employeeService.initProcess(model, locale);
employeeService.delete(id);
redirectAttributes.addFlashAttribute("deletedMessage", messageSource.getMessage("comment.deleted.message", null, locale));
return "redirect:/master/employee/list";
}
/**
* CSV Upload Page
*
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/csv_upload", method = RequestMethod.GET)
public String csvUpload(Model model, Locale locale) {
employeeService.initProcess(model, locale);
return "master_employee_csv_upload";
}
/**
* CSV Confirm Page
* @param form
* @param result
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/csv_confirm", method = RequestMethod.POST)
public String csvConfirm(@Validated FileUploadForm form, BindingResult result, Model model, Locale locale) {
employeeService.initProcess(model, locale);
// Error Check
if (result.hasErrors()) {
return "master_employee_csv_upload";
}
MultipartFile uploadFile = form.getFile();
CSVReader reader = new CSVReader(uploadFile);
model.addAttribute("valueList", reader.read());
model.addAttribute("fileUploadForm", form);
return "master_employee_csv_confirm";
}
/**
* CSV Import
* @param form
* @param result
* @param model
* @param locale
* @return
* @throws InstantiationException
* @throws IllegalAccessException
* @throws java.beans.IntrospectionException
* @throws java.lang.reflect.InvocationTargetException
*/
@RequestMapping(value = "/master/employee/csv_import")
public String csvImport(@Validated FileUploadForm form, BindingResult result, Model model, Locale locale) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException {
employeeService.initProcess(model, locale);
// Error Check
if (result.hasErrors()) {
return "master_employee_csv_upload";
}
MultipartFile uploadFile = form.getFile();
CSVReader reader = new CSVReader(uploadFile);
employeeService.importCsv(reader.read());
return "redirect:/master/employee/csv_import?complete";
}
/**
* CSV Import Complate Page
* @param model
* @param locale
* @return
*/
@RequestMapping(value = "/master/employee/csv_import", method = RequestMethod.GET, params = "complete")
public String csvImport(Model model, Locale locale) {
employeeService.initProcess(model, locale);
return "master_employee_csv_import";
}
/**
* CSV Export
* @param response
* @throws java.io.IOException
*/
@RequestMapping(value = "/master/employee/csv_export", method = RequestMethod.GET)
public void csvExport(HttpServletResponse response) throws IOException {
List employeeList = employeeService.getAll();
String csvFileName = "employee.csv";
response.setContentType("text/csv");
String headerKey = "Content-Disposition";
String headerValue = String.format("attachment; filename=\"%s\"", csvFileName);
response.setHeader(headerKey, headerValue);
List<String> excludeList = new ArrayList<String>();
excludeList.add("id");
csvFileService.setCsvWriter(response.getWriter(), employeeList, Employee.class, excludeList);
}
}
package com.ari.arms.core.system.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class WelcomeController {
@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String printWelcome(ModelMap model) {
return "welcome";
}
}
package com.ari.arms.core.system.web.dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.PostConstruct;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
public class AbstAppDao {
protected Session session;
@Autowired
protected SessionFactory sessionFactory;
@PostConstruct
public void init() {
if(session == null) {
session = sessionFactory.openSession();
} else if(!session.isOpen()) {
session = sessionFactory.openSession();
} else {
session = sessionFactory.getCurrentSession();
}
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ContractType;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/13.
*/
@Repository
public class ContractDaoImpl extends AbstAppDao implements ContractTypeDao {
@Override
public List<ContractType> findAll() {
List<ContractType> result = null;
try {
final Query query = session.createQuery("FROM " + ContractType.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ContractType;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/13.
*/
public interface ContractTypeDao {
public List<ContractType> findAll();
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Employee;
import org.hibernate.Session;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;
/**
* Created by arms_matsushita on 西暦2015/11/29.
*/
public interface EmployeeDao {
public List<Employee> findAll();
public List<Employee> findAllBySpecifiedColumnOrder(String columnOrder);
public void save(Employee employee);
public void save(List<Employee> employeeList);
public Employee findById(Long id);
public void update(Employee employee);
public void delete(Long id);
public void deleteAll();
public void deleteAll4Csv();
public Session getSession();
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Employee;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.stereotype.Repository;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by arms_matsushita on 西暦2015/11/29.
*/
@Repository
public class EmployeeDaoImpl extends AbstAppDao implements EmployeeDao {
@Override
public List<Employee> findAll() throws HibernateException {
List<Employee> result;
try {
final Query query = session.createQuery("FROM " + Employee.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
@Override
public List<Employee> findAllBySpecifiedColumnOrder(String columnOrder) {
List<Employee> result;
try {
final Query query = session.createQuery("SELECT " + columnOrder + " FROM " + Employee.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
@Override
public Employee findById(Long id) {
try {
final Query query = session.createQuery("FROM " + Employee.class.getName() + " WHERE id = :id");
query.setParameter("id", id);
List<Employee> resultList = query.list();
return resultList.get(0);
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
}
@Override
public void save(Employee employee) {
try {
session.getTransaction().begin();
session.save(employee);
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void save(List<Employee> employeeList) {
try {
session.getTransaction().begin();
for(Employee employee : employeeList) {
session.save(employee);
}
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void update(Employee employee) {
try {
session.getTransaction().begin();
session.merge(employee);
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void delete(Long id) {
try {
session.getTransaction().begin();
session.delete(this.findById(id));
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void deleteAll() {
try {
session.getTransaction().begin();
session.createQuery("DELETE FROM " + Employee.class.getName()).executeUpdate();
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void deleteAll4Csv() {
session.createQuery("DELETE FROM " + Employee.class.getName()).executeUpdate();
}
public Session getSession() {
return this.session;
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Position;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
public interface PositionDao {
public List<Position> findAll();
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Position;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Repository
public class PositionDaoImpl extends AbstAppDao implements PositionDao {
public List<Position> findAll() {
List<Position> result = null;
try {
final Query query = session.createQuery("FROM " + Position.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Project;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
public interface ProjectDao {
public List<Project> findAll4List();
public Project findById(Integer id);
public void save(Project project);
public void update(Project project);
public void delete(Integer id);
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.Project;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Repository
public class ProjectDaoImpl extends AbstAppDao implements ProjectDao {
@Override
public List<Project> findAll4List() throws HibernateException {
List<Project> result = null;
try {
final Query query = session.createQuery("FROM " + Project.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
@Override
public Project findById(Integer id) {
try {
final Query query = session.createQuery("FROM " + Project.class.getName() + " WHERE id = :id");
query.setParameter("id", id);
List<Project> resultList = query.list();
return resultList.get(0);
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
}
@Override
public void save(Project project) {
try {
session.getTransaction().begin();
session.save(project);
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void update(Project project) {
try {
session.getTransaction().begin();
session.merge(project);
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
@Override
public void delete(Integer id) {
try {
session.getTransaction().begin();
session.delete(this.findById(id));
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ProjectProfitLossType;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
public interface ProjectProfitLossTypeDao {
public List<ProjectProfitLossType> findAll();
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ProjectProfitLossType;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Repository
public class ProjectProfitLossTypeDaoImpl extends AbstAppDao implements ProjectProfitLossTypeDao {
public List<ProjectProfitLossType> findAll() {
List<ProjectProfitLossType> result = null;
try {
final Query query = session.createQuery("FROM " + ProjectProfitLossType.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ProjectStatus;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/13.
*/
public interface ProjectStatusDao {
public List<ProjectStatus> findAll();
}
package com.ari.arms.core.system.web.dao;
import com.ari.arms.core.system.web.model.ProjectStatus;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/13.
*/
@Repository
public class ProjectStatusDaoImpl extends AbstAppDao implements ProjectStatusDao {
@Override
public List<ProjectStatus> findAll() {
List<ProjectStatus> result = null;
try {
final Query query = session.createQuery("FROM " + ProjectStatus.class.getName());
result = query.list();
} catch (final HibernateException e) {
// TODO Forward 500 error page
throw e;
}
return result;
}
}
package com.ari.arms.core.system.web.form;
import com.ari.arms.core.system.web.model.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
public class ContractDevelopmentForm implements Serializable {
private static final long serialVersionUID = 685269043065603229L;
@NotNull
private ProjectStatus projectStatus;
@NotNull
private ContractType contractType;
@NotNull
private Employee salesRepresentative;
@NotNull
private BusinessUnit businessUnit;
@NotNull
private Employee projectManager;
@NotNull
private BusinessCompany businessCompany;
@NotNull
private Project project;
@NotNull
private List<ProjectAdditionalSales> projectAdditionalSalesList;
@NotNull
private List<ProjectProfitLoss> projectProfitLossList;
@NotNull
private List<ProjectProfitLossDateLock> projectProfitLossDateLockList;
public ProjectStatus getProjectStatus() {
return projectStatus;
}
public void setProjectStatus(ProjectStatus projectStatus) {
this.projectStatus = projectStatus;
}
public ContractType getContractType() {
return contractType;
}
public void setContractType(ContractType contractType) {
this.contractType = contractType;
}
public Employee getSalesRepresentative() {
return salesRepresentative;
}
public void setSalesRepresentative(Employee salesRepresentative) {
this.salesRepresentative = salesRepresentative;
}
public BusinessUnit getBusinessUnit() {
return businessUnit;
}
public void setBusinessUnit(BusinessUnit businessUnit) {
this.businessUnit = businessUnit;
}
public Employee getProjectManager() {
return projectManager;
}
public void setProjectManager(Employee projectManager) {
this.projectManager = projectManager;
}
public BusinessCompany getBusinessCompany() {
return businessCompany;
}
public void setBusinessCompany(BusinessCompany businessCompany) {
this.businessCompany = businessCompany;
}
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
public List<ProjectAdditionalSales> getProjectAdditionalSalesList() {
return projectAdditionalSalesList;
}
public void setProjectAdditionalSalesList(List<ProjectAdditionalSales> projectAdditionalSalesList) {
this.projectAdditionalSalesList = projectAdditionalSalesList;
}
public List<ProjectProfitLoss> getProjectProfitLossList() {
return projectProfitLossList;
}
public void setProjectProfitLossList(List<ProjectProfitLoss> projectProfitLossList) {
this.projectProfitLossList = projectProfitLossList;
}
public List<ProjectProfitLossDateLock> getProjectProfitLossDateLockList() {
return projectProfitLossDateLockList;
}
public void setProjectProfitLossDateLockList(List<ProjectProfitLossDateLock> projectProfitLossDateLockList) {
this.projectProfitLossDateLockList = projectProfitLossDateLockList;
}
}
package com.ari.arms.core.system.web.form;
import com.sun.istack.internal.NotNull;
import org.springframework.web.multipart.MultipartFile;
import java.io.Serializable;
/**
* Created by arms_matsushita on 西暦2015/12/07.
*/
public class FileUploadForm implements Serializable {
private MultipartFile file;
@NotNull
private String description;
public MultipartFile getFile() {
return file;
}
public void setFile(MultipartFile file) {
this.file = file;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
package com.ari.arms.core.system.web.jsonview;
public class Views {
public static class Public {}
}
package com.ari.arms.core.system.web.model;
import com.ari.arms.core.system.web.jsonview.Views;
import com.fasterxml.jackson.annotation.JsonView;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/17.
*/
public abstract class AjaxResponseBody {
@JsonView(Views.Public.class)
String msg;
@JsonView(Views.Public.class)
String code;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package com.ari.arms.core.system.web.model;
import com.ari.arms.core.system.web.jsonview.Views;
import com.fasterxml.jackson.annotation.JsonView;
import java.util.List;
import java.util.Map;
/**
* Created by arms_matsushita on 西暦2015/12/29.
*/
public class AjaxSalesResponseBody extends AjaxResponseBody{
@JsonView(Views.Public.class)
Map<String, String> labelColumnMap;
@JsonView(Views.Public.class)
List<Map<String, Object>> valueMapList;
public Map<String, String> getLabelColumnMap() {
return labelColumnMap;
}
public void setLabelColumnMap(Map<String, String> labelColumnMap) {
this.labelColumnMap = labelColumnMap;
}
public List<Map<String, Object>> getValueMapList() {
return valueMapList;
}
public void setValueMapList(List<Map<String, Object>> valueMapList) {
this.valueMapList = valueMapList;
}
}
package com.ari.arms.core.system.web.model;
import com.ari.arms.core.system.web.jsonview.Views;
import com.fasterxml.jackson.annotation.JsonView;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/29.
*/
public class AjaxSampleBody extends AjaxResponseBody{
@JsonView(Views.Public.class)
List<SampleUser> result;
public List<SampleUser> getResult() {
return result;
}
public void setResult(List<SampleUser> result) {
this.result = result;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
/**
* Created by arms_matsushita on 西暦2015/12/13.
*/
@Entity
@Table(name = "business_company")
public class BusinessCompany {
@Id
@GeneratedValue
@Column(name = "id")
private int businessUnitId;
@Column(name = "name")
private String name;
public int getBusinessUnitId() {
return businessUnitId;
}
public void setBusinessUnitId(int businessUnitId) {
this.businessUnitId = businessUnitId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "business_unit")
public class BusinessUnit {
@Id
@GeneratedValue
@Column(name = "id")
private int businessUnitId;
@Column(name = "name")
private String name;
@Column(name = "level")
private Integer level;
@Column(name = "parent_id")
private Integer parentId;
public int getBusinessUnitId() {
return businessUnitId;
}
public void setBusinessUnitId(int businessUnitId) {
this.businessUnitId = businessUnitId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "contract_type")
public class ContractType {
@Id
@GeneratedValue
@Column(name = "id")
private int contractTypeId;
@Column(name = "label_name")
private String labelName;
public int getContractTypeId() {
return contractTypeId;
}
public void setContractTypeId(int contractTypeId) {
this.contractTypeId = contractTypeId;
}
public String getLabelName() {
return labelName;
}
public void setLabelName(String name) {
this.labelName = name;
}
}
package com.ari.arms.core.system.web.model;
import org.hibernate.validator.constraints.Email;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
/**
* Created by arms_matsushita on 西暦2015/11/28.
*/
@Entity
@Table(name = "employee_masters")
public class Employee {
@Id
@Column(name = "id")
@GeneratedValue
private Long id;
@Column(name = "name")
@NotNull
private String name;
@Column(name = "email")
@Email
@NotNull
private String email;
@Column(name = "theoretical_cost")
@NotNull
private Long theoreticalCost;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getTheoreticalCost() {
return theoreticalCost;
}
public void setTheoreticalCost(Long theoreticalCost) {
this.theoreticalCost = theoreticalCost;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Entity
@Table(name = "position_masters")
public class Position {
@Id
@GeneratedValue
@Column(name = "id")
private int positionId;
@NotNull
@Column(name = "name")
private String name;
public int getPositionId() {
return positionId;
}
public void setPositionId(int positionId) {
this.positionId = positionId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "projects")
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer Id;
@Column(name = "sequence")
@NotNull
private Integer sequence;
@Column(name = "name")
@NotNull
private String name;
@Column(name = "project_code")
private String projectCode;
@OneToOne
@JoinColumn(name = "contract_type_Id")
private ContractType contractType;
@Column(name = "short_name")
private String shortName;
@Column(name = "end_user")
@NotNull
private String endUser;
@OneToOne
@JoinColumn(name = "sales_representative_id")
private Employee salesRepresentative;
@OneToOne
@JoinColumn(name = "project_manager_id")
private Employee projectManager;
@OneToOne
@JoinColumn(name = "project_status_id")
private ProjectStatus projectStatus;
@OneToOne
@JoinColumn(name = "business_unit_id")
private BusinessUnit businessUnit;
@OneToOne
@JoinColumn(name = "business_company_id")
private BusinessCompany businessCompany;
@Column(name = "start_project_date")
@NotNull
private Date startProjectDate;
@Column(name = "acceptance_schedule_date")
@NotNull
private Date acceptanceScheduleDate;
@Column(name = "acceptance_finished_date")
private Date acceptanceFinishedDate;
@Column(name = "final_project_finished_date")
private Date finalProjectFinishedDate;
@Column(name = "first_order_sales_amount")
private Integer firstOrderSalesAmount;
@Column(name = "first_standard_sales_amount")
private Integer firstStandardSalesAmount;
@Column(name = "current_judgement")
private String currentJudgement;
@Column(name = "is_lock")
private Boolean projectLock;
@Column(name = "remark")
private String remark;
@Column(name = "remark2")
private String remark2;
@Column(name = "created_at")
private Timestamp createdAt;
@Column(name = "updated_at")
private Timestamp updatedAt;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Integer getId() {
return Id;
}
public void setId(Integer id) {
Id = id;
}
public Integer getSequence() {
return sequence;
}
public void setSequence(Integer sequence) {
this.sequence = sequence;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ContractType getContractType() {
return contractType;
}
public void setContractType(ContractType contractType) {
this.contractType = contractType;
}
public String getShortName() {
return shortName;
}
public void setShortName(String shortName) {
this.shortName = shortName;
}
public String getEndUser() {
return endUser;
}
public void setEndUser(String endUser) {
this.endUser = endUser;
}
public Employee getSalesRepresentative() {
return salesRepresentative;
}
public void setSalesRepresentative(Employee salesRepresentative) {
this.salesRepresentative = salesRepresentative;
}
public Employee getProjectManager() {
return projectManager;
}
public void setProjectManager(Employee projectManager) {
this.projectManager = projectManager;
}
public ProjectStatus getProjectStatus() {
return projectStatus;
}
public void setProjectStatus(ProjectStatus projectStatus) {
this.projectStatus = projectStatus;
}
public BusinessUnit getBusinessUnit() {
return businessUnit;
}
public void setBusinessUnit(BusinessUnit businessUnit) {
this.businessUnit = businessUnit;
}
public BusinessCompany getBusinessCompany() {
return businessCompany;
}
public void setBusinessCompany(BusinessCompany businessCompany) {
this.businessCompany = businessCompany;
}
public Date getStartProjectDate() {
return startProjectDate;
}
public void setStartProjectDate(Date startProjectDate) {
this.startProjectDate = startProjectDate;
}
public Date getAcceptanceScheduleDate() {
return acceptanceScheduleDate;
}
public void setAcceptanceScheduleDate(Date acceptanceScheduleDate) {
this.acceptanceScheduleDate = acceptanceScheduleDate;
}
public Date getAcceptanceFinishedDate() {
return acceptanceFinishedDate;
}
public void setAcceptanceFinishedDate(Date acceptanceFinishedDate) {
this.acceptanceFinishedDate = acceptanceFinishedDate;
}
public Date getFinalProjectFinishedDate() {
return finalProjectFinishedDate;
}
public void setFinalProjectFinishedDate(Date finalProjectFinishedDate) {
this.finalProjectFinishedDate = finalProjectFinishedDate;
}
public Integer getFirstOrderSalesAmount() {
return firstOrderSalesAmount;
}
public void setFirstOrderSalesAmount(Integer firstOrderSalesAmount) {
this.firstOrderSalesAmount = firstOrderSalesAmount;
}
public Integer getFirstStandardSalesAmount() {
return firstStandardSalesAmount;
}
public void setFirstStandardSalesAmount(Integer firstStandardSalesAmount) {
this.firstStandardSalesAmount = firstStandardSalesAmount;
}
public String getCurrentJudgement() {
return currentJudgement;
}
public void setCurrentJudgement(String currentJudgement) {
this.currentJudgement = currentJudgement;
}
public Boolean getProjectLock() {
if(projectLock == null) return new Boolean(false);
return projectLock;
}
public void setProjectLock(Boolean projectLock) {
this.projectLock = projectLock;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getRemark2() {
return remark2;
}
public void setRemark2(String remark2) {
this.remark2 = remark2;
}
public Timestamp getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Timestamp createdAt) {
this.createdAt = createdAt;
}
public Timestamp getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Timestamp updatedAt) {
this.updatedAt = updatedAt;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "project_additional_sales")
public class ProjectAdditionalSales {
@Id
@GeneratedValue
@Column(name = "id")
private Integer projectAdditionalSalesId;
@Column(name = "project_id")
private Integer projectId;
@Column(name = "sequence")
private Integer sequence;
@Column(name = "date")
private Date date;
@Column(name = "amount")
private Integer amount;
public Integer getProjectAdditionalSalesId() {
return projectAdditionalSalesId;
}
public void setProjectAdditionalSalesId(Integer projectAdditionalSalesId) {
this.projectAdditionalSalesId = projectAdditionalSalesId;
}
public Integer getProjectId() {
return projectId;
}
public void setProjectId(Integer projectId) {
this.projectId = projectId;
}
public Integer getSequence() {
return sequence;
}
public void setSequence(Integer sequence) {
this.sequence = sequence;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public Integer getAmount() {
return amount;
}
public void setAmount(Integer amount) {
this.amount = amount;
}
public String formatDate() {
if(this.date != null) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM");
return sdf.format(this.date.getTime());
} else {
return "";
}
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "project_profit_loss")
public class ProjectProfitLoss {
@Id
@GeneratedValue
@Column(name = "id")
private int projectProfitLossId;
@OneToOne
@JoinColumn(name = "project_profit_loss_type")
private ProjectProfitLossType projectProfitLossType;
@OneToOne
@JoinColumn(name = "partner_company")
private BusinessCompany partnerCompany;
@OneToOne
@JoinColumn(name = "engineer")
private Employee engineer;
@Column(name = "partner_name")
private String partnerName;
@Column(name = "partner_cost")
private Integer partnerCost;
@OneToOne
@JoinColumn(name = "position")
private Position position;
@OneToMany
private List<ProjectProfitLossDetail> projectProfitLossDetailList;
public int getProjectProfitLossId() {
return projectProfitLossId;
}
public void setProjectProfitLossId(int projectProfitLossId) {
this.projectProfitLossId = projectProfitLossId;
}
public ProjectProfitLossType getProjectProfitLossType() {
return projectProfitLossType;
}
public void setProjectProfitLossType(ProjectProfitLossType projectProfitLossType) {
this.projectProfitLossType = projectProfitLossType;
}
public BusinessCompany getPartnerCompany() {
return partnerCompany;
}
public void setPartnerCompany(BusinessCompany partnerCompany) {
this.partnerCompany = partnerCompany;
}
public Employee getEngineer() {
return engineer;
}
public void setEngineer(Employee engineer) {
this.engineer = engineer;
}
public String getPartnerName() {
return partnerName;
}
public void setPartnerName(String partnerName) {
this.partnerName = partnerName;
}
public Integer getPartnerCost() {
return partnerCost;
}
public void setPartnerCost(Integer partnerCost) {
this.partnerCost = partnerCost;
}
public Position getPosition() {
return position;
}
public void setPosition(Position position) {
this.position = position;
}
public List<ProjectProfitLossDetail> getProjectProfitLossDetailList() {
return projectProfitLossDetailList;
}
public void setProjectProfitLossDetailList(List<ProjectProfitLossDetail> projectProfitLossDetailList) {
this.projectProfitLossDetailList = projectProfitLossDetailList;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import java.util.Date;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Entity
@Table(name = "project_profit_loss_date_lock")
public class ProjectProfitLossDateLock {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "project_id")
private Integer projectId;
@Column(name = "project_loss_date_lock")
private Boolean profitLossDateLock;
@Column(name = "date")
private Date profitLossDate;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getProjectId() {
return projectId;
}
public void setProjectId(Integer projectId) {
this.projectId = projectId;
}
public Boolean getProfitLossDateLock() {
return profitLossDateLock;
}
public void setProfitLossDateLock(Boolean profitLossDateLock) {
this.profitLossDateLock = profitLossDateLock;
}
public Date getProfitLossDate() {
return profitLossDate;
}
public void setProfitLossDate(Date profitLossDate) {
this.profitLossDate = profitLossDate;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Entity
@Table(name = "project_profit_loss_detail")
public class ProjectProfitLossDetail {
@Id
@GeneratedValue
@Column(name = "id")
private int projectProfitLossId;
@NotNull
@Column(name = "date")
private Date date;
@NotNull
@Column(name = "workload")
private Integer workload;
@NotNull
@Column(name = "standard_sales_amount")
private Integer standardSalesAmount;
@NotNull
@Column(name = "is_lock")
private Boolean profitLossLock;
public int getProjectProfitLossId() {
return projectProfitLossId;
}
public void setProjectProfitLossId(int projectProfitLossId) {
this.projectProfitLossId = projectProfitLossId;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public Integer getWorkload() {
return workload;
}
public void setWorkload(Integer workload) {
this.workload = workload;
}
public Integer getStandardSalesAmount() {
return standardSalesAmount;
}
public void setStandardSalesAmount(Integer standardSalesAmount) {
this.standardSalesAmount = standardSalesAmount;
}
public Boolean getProfitLossLock() {
return profitLossLock;
}
public void setProfitLossLock(Boolean profitLossLock) {
this.profitLossLock = profitLossLock;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
/**
* Created by arms_matsushita on 西暦2015/12/14.
*/
@Entity
@Table(name = "project_profit_loss_type")
public class ProjectProfitLossType {
@Id
@GeneratedValue
@Column(name = "id")
private int projectProfitLossTypeId;
@Column(name = "label_name")
private String labelName;
public int getProjectProfitLossTypeId() {
return projectProfitLossTypeId;
}
public void setProjectProfitLossTypeId(int projectProfitLossTypeId) {
this.projectProfitLossTypeId = projectProfitLossTypeId;
}
public String getLabelName() {
return labelName;
}
public void setLabelName(String labelName) {
this.labelName = labelName;
}
}
package com.ari.arms.core.system.web.model;
import javax.persistence.*;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Entity
@Table(name = "project_status")
public class ProjectStatus {
@Id
@GeneratedValue
@Column(name = "id")
private int projectStatusId;
@Column(name = "label_name")
private String labelName;
public int getProjectStatusId() {
return projectStatusId;
}
public void setProjectStatusId(int projectStatusId) {
this.projectStatusId = projectStatusId;
}
public String getLabelName() {
return labelName;
}
public void setLabelName(String labelName) {
this.labelName = labelName;
}
}
package com.ari.arms.core.system.web.model;
import com.ari.arms.core.system.web.jsonview.Views;
import com.fasterxml.jackson.annotation.JsonView;
/**
* Created by arms_matsushita on 西暦2015/12/17.
*/
public class SampleUser {
@JsonView(Views.Public.class)
String username;
String password;
@JsonView(Views.Public.class)
String email;
@JsonView(Views.Public.class)
String phone;
String address;
public SampleUser() {
}
public SampleUser(String username, String password, String email, String phone, String address) {
super();
this.username = username;
this.password = password;
this.email = email;
this.phone = phone;
this.address = address;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + ", email=" + email + ", phone=" + phone
+ ", address=" + address + "]";
}
}
package com.ari.arms.core.system.web.model;
/**
* Created by arms_matsushita on 西暦2015/12/17.
*/
public class SearchCriteria {
String username;
String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "SearchCriteria [username=" + username + ", email=" + email + "]";
}
}
package com.ari.arms.core.system.web.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/12/06.
*/
@Service
public class AppService {
@Autowired
private MessageSource messageSource;
protected void setTitle(Model model, String code, Locale locale) {
model.addAttribute("title", messageSource.getMessage(code, null, locale));
}
protected void setMiddleTitle(Model model, String code, Locale locale) {
model.addAttribute("moduleName", messageSource.getMessage(code, null, locale));
}
protected void activeDashboardMenu(Model model) {
model.addAttribute("active_menu_dashboard", true);
}
protected void activeMasterMenu(Model model) {
model.addAttribute("active_menu_master", true);
}
protected void activeWorkloadManagementMenu(Model model) {
model.addAttribute("active_menu_workload_management", true);
}
protected void activeProjectBalanceSheetMenu(Model model) {
model.addAttribute("active_menu_project_balance_sheet", true);
}
protected void activeClaimMenu(Model model) {
model.addAttribute("active_menu_claim", true);
}
protected void activeBusinessCustomerMenu(Model model) {
model.addAttribute("active_menu_business_customer", true);
}
protected List makeEntityList(List<List<String>> list, Class clazz) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException {
List<String> headerList = list.get(0);
List objectList = new ArrayList();
boolean isFirst = true;
for(Iterator it=list.iterator(); it.hasNext();) {
if(isFirst) {
it.next();
isFirst = false;
} else {
List<String> valueList = (List<String>) it.next();
Object object = clazz.newInstance();
for(int i = 0; i < valueList.size(); i++) {
String header = headerList.get(i);
String value = valueList.get(i);
PropertyDescriptor pd = new PropertyDescriptor(header, clazz);
Method w = pd.getWriteMethod();
String className = pd.getPropertyType().getName();
Object value2;
if(className.equals("java.lang.Long")) {
value2 = Long.parseLong(value);
} else if(className.equals("java.lang.Integer")) {
value2 = Integer.parseInt(value);
} else if(className.equals("java.lang.Short")) {
value2 = Short.parseShort(value);
} else if(className.equals("java.lang.String")) {
value2 = value;
} else {
throw new InstantiationException("Can't convert class.");
}
w.invoke(object, new Object[]{value2});
}
objectList.add(object);
}
}
return objectList;
}
}
package com.ari.arms.core.system.web.service.contract;
import com.ari.arms.core.system.web.model.*;
import org.springframework.ui.Model;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Locale;
import java.util.Map;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
public interface DevelopmentService {
public void initProcess(Model model, Locale local);
public List<Project> findProjectAll4List();
public List<ProjectAdditionalSales> initProjectAdditionalSale();
public List<ProjectProfitLoss> initProjectProfitLoss();
public List<ProjectProfitLossDateLock> initProjectProfitLossDateLock();
public Project findById(Integer id);
public List<ContractType> findContractTypeAll();
public List<ProjectStatus> findProjectStatusAll();
public List<ProjectProfitLossType> findProjectProfitLossTypeAll();
public List<Position> findPositionAll();
public List<Employee> findEmployeeAll();
public Map<String, String> getEmployeeLabelMap(Locale locale);
public List<Map<String, Object>> getEmployeeValueMapList(Locale locale) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, NoSuchFieldException;
public void save(Project project);
public void update(Project project);
public void delete(Integer id);
}
package com.ari.arms.core.system.web.service.contract;
import com.ari.arms.core.system.web.constant.EmployeeConstant;
import com.ari.arms.core.system.web.dao.*;
import com.ari.arms.core.system.web.model.*;
import com.ari.arms.core.system.web.service.AppService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.*;
/**
* Created by arms_matsushita on 西暦2015/12/10.
*/
@Service
public class DevelopmentServiceImpl extends AppService implements DevelopmentService {
@Autowired
private ProjectDao projectDao;
@Autowired
private ContractTypeDao contractTypeDao;
@Autowired
private ProjectStatusDao projectStatusDao;
@Autowired
private ProjectProfitLossTypeDao projectProfitLossTypeDao;
@Autowired
private PositionDao positionDao;
@Autowired
private EmployeeDao employeeDao;
@Autowired
private MessageSource messageSource;
public void initProcess(Model model, Locale locale) {
this.setTitle(model, "app.menu.contract.development", locale);
this.setMiddleTitle(model, "app.menu.contract.development", locale);
this.activeProjectBalanceSheetMenu(model);
}
@Override
public List<ProjectAdditionalSales> initProjectAdditionalSale() {
int maxMonthCount = 12;
Calendar calendar = Calendar.getInstance();
List<ProjectAdditionalSales> projectAdditionalSalesList = new ArrayList<ProjectAdditionalSales>();
for(int i = 0; i < maxMonthCount; i++) {
ProjectAdditionalSales projectAdditionalSales = new ProjectAdditionalSales();
projectAdditionalSales.setDate(calendar.getTime());
calendar.add(Calendar.MONTH, 1);
projectAdditionalSalesList.add(projectAdditionalSales);
}
return projectAdditionalSalesList;
}
@Override
public List<ProjectProfitLoss> initProjectProfitLoss() {
int maxPlCount = 2;
int maxMonthCount = 12;
List<ProjectProfitLoss> projectProfitLossList = new ArrayList<ProjectProfitLoss>();
for(int i = 0; i < maxPlCount; i++) {
ProjectProfitLoss projectProfitLoss = new ProjectProfitLoss();
List<ProjectProfitLossDetail> projectProfitLossDetailList = new ArrayList<ProjectProfitLossDetail>();
for(int j = 0; j < maxMonthCount; j++) {
ProjectProfitLossDetail projectProfitLossDetail = new ProjectProfitLossDetail();
projectProfitLossDetailList.add(projectProfitLossDetail);
}
projectProfitLoss.setProjectProfitLossDetailList(projectProfitLossDetailList);
projectProfitLossList.add(projectProfitLoss);
}
return projectProfitLossList;
}
@Override
public List<ProjectProfitLossDateLock> initProjectProfitLossDateLock() {
int maxMonthCount = 12;
Calendar calendar = Calendar.getInstance();
List<ProjectProfitLossDateLock> projectProfitLossDateLockList = new ArrayList<ProjectProfitLossDateLock>();
for(int i = 0; i < maxMonthCount; i++) {
ProjectProfitLossDateLock projectProfitLossDateLock = new ProjectProfitLossDateLock();
projectProfitLossDateLock.setProfitLossDate(calendar.getTime());
calendar.add(Calendar.MONTH, 1);
projectProfitLossDateLockList.add(projectProfitLossDateLock);
}
return projectProfitLossDateLockList;
}
@Override
public List<Employee> findEmployeeAll() {
return employeeDao.findAll();
}
@Override
public Map<String, String> getEmployeeLabelMap(Locale locale) {
return EmployeeConstant.getLabelMap(messageSource, locale);
}
@Override
public List<Map<String, Object>> getEmployeeValueMapList(Locale locale) throws IllegalAccessException, InvocationTargetException, NoSuchFieldException, NoSuchMethodException {
List<Employee> employeesList = employeeDao.findAll();
Map<String, String> employeeLabelMap = EmployeeConstant.getLabelMap(messageSource, locale);
List<Map<String, Object>> formValueMapList = new ArrayList<>();
for (Employee employee : employeesList) {
Map<String, Object> formValueMap = new HashMap<>();
for (String key : employeeLabelMap.keySet()) {
Method method = Employee.class.getDeclaredMethod("get" + StringUtils.capitalize(key));
formValueMap.put(key, method.invoke(employee));
}
formValueMapList.add(formValueMap);
}
return formValueMapList;
}
@Override
public List<Project> findProjectAll4List() {
return projectDao.findAll4List();
}
@Override
public List<ContractType> findContractTypeAll() {
return contractTypeDao.findAll();
}
@Override
public List<ProjectStatus> findProjectStatusAll() {
return projectStatusDao.findAll();
}
@Override
public List<ProjectProfitLossType> findProjectProfitLossTypeAll() {
return projectProfitLossTypeDao.findAll();
}
@Override
public List<Position> findPositionAll() {
return positionDao.findAll();
}
@Override
public Project findById(Integer id) {
return projectDao.findById(id);
}
@Override
public void save(Project project) {
projectDao.save(project);
}
@Override
public void update(Project project) {
projectDao.update(project);
}
@Override
public void delete(Integer id) {
projectDao.delete(id);
}
}
package com.ari.arms.core.system.web.service.master;
import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/09.
*/
public interface CsvFileService {
public List makeEntityList(List<List<String>> list, Class clazz) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException;
public void setCsvWriter(PrintWriter writer, List<Object> valueList, Class clazz, List<String> excludeList) throws IOException;
}
package com.ari.arms.core.system.web.service.master;
import com.ari.arms.core.system.web.service.AppService;
import org.springframework.stereotype.Service;
import org.supercsv.io.CsvBeanWriter;
import org.supercsv.io.ICsvBeanWriter;
import org.supercsv.prefs.CsvPreference;
import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/09.
*/
@Service
public class CsvFileServiceImpl extends AppService implements CsvFileService {
@Override
public List makeEntityList(List<List<String>> list, Class clazz) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException {
return super.makeEntityList(list, clazz);
}
@Override
public void setCsvWriter(PrintWriter writer, List<Object> valueList, Class clazz, List<String> excludeList) throws IOException {
ICsvBeanWriter csvWriter = new CsvBeanWriter(writer, CsvPreference.STANDARD_PREFERENCE);
Field fields[] = clazz.getDeclaredFields();
List<String> headerList = new ArrayList<String>();
for(Field field : fields) {
boolean isAdd = true;
for (String exclude : excludeList) {
if(field.getName().equals(exclude)) {
isAdd = false;
break;
}
}
if(isAdd) headerList.add(field.getName());
}
String a[] = {};
String[] headers = headerList.toArray(a);
csvWriter.writeHeader(headers);
for(Object value : valueList) {
csvWriter.write(value, headers);
}
csvWriter.close();
}
}
package com.ari.arms.core.system.web.service.master;
import com.ari.arms.core.system.web.model.Employee;
import org.springframework.ui.Model;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/11/29.
*/
public interface EmployeeService {
public void initProcess(Model model, Locale local);
public List<Employee> getAll();
public void save(Employee employee);
public void save(List<Employee> employeeList);
public Employee getById(Long id);
public void update(Employee employee);
public void delete(Long id);
public void importCsv(List<List<String>> valueList) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException;
}
package com.ari.arms.core.system.web.service.master;
import com.ari.arms.core.system.web.dao.EmployeeDao;
import com.ari.arms.core.system.web.model.Employee;
import com.ari.arms.core.system.web.service.AppService;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Locale;
/**
* Created by arms_matsushita on 西暦2015/11/29.
*/
@Service
public class EmployeeServiceImpl extends AppService implements EmployeeService {
@Autowired
private EmployeeDao employeeDao;
@Autowired
private CsvFileService csvFileService;
@Override
public void initProcess(Model model, Locale locale) {
this.setTitle(model, "app.menu.employee.master", locale);
this.setMiddleTitle(model, "app.employee.master.title", locale);
this.activeMasterMenu(model);
}
@Override
public List<Employee> getAll() {
return employeeDao.findAll();
}
@Override
public void save(Employee employee) {
employeeDao.save(employee);
}
@Override
public void save(List<Employee> employeeList) {
employeeDao.save(employeeList);
}
@Override
public Employee getById(Long id) {
return employeeDao.findById(id);
}
@Override
public void update(Employee employee) {
employeeDao.update(employee);
}
@Override
public void delete(Long id) {
employeeDao.delete(id);
}
@Override
public void importCsv(List<List<String>> valueList) throws InstantiationException, IllegalAccessException, IntrospectionException, InvocationTargetException {
Session session = employeeDao.getSession();
try {
session.getTransaction().begin();
employeeDao.deleteAll4Csv();
List<Employee> employeeList = csvFileService.makeEntityList(valueList, (Class) Employee.class);
this.save(employeeList);
session.getTransaction().commit();
} catch (final HibernateException e) {
session.getTransaction().rollback();
// TODO Forward 500 error page
throw e;
}
}
}
package com.ari.arms.core.system.web.util;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
* Created by arms_matsushita on 西暦2015/12/07.
*/
public class CSVReader {
private MultipartFile uploadFile;
public CSVReader(MultipartFile uploadFile) {
this.uploadFile = uploadFile;
}
/**
* CSVファイルの読み込みを実行する
* @return
*/
public List<List<String>> read() {
// 返却用リスト箱作成
List<List<String>> ret = new ArrayList<List<String>>();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(uploadFile.getInputStream()));
// num行読み込む(0の場合は全行)
String line = "";
int idx = 0;
while ((line = br.readLine()) != null) {
// 1行を格納する箱作成
List<String> tmpList = new ArrayList<String>();
// 文字列index
int idxFrom = 0;
int idxTo = 0;
// 文字列長
while (true){
// 最終項目を取得後は終了
if(idxFrom > line.length()){
break;
}
// 次のセパレータ位置を取得
idxTo = line.indexOf(",", idxFrom);
// セパレータが発見できない場合は最終項目を取得
if( idxTo == -1 ){
idxTo = line.length();
}
// 文字列取得
String word = line.substring(idxFrom, idxTo);
// 文字列を格納
tmpList.add(word);
// 検索開始位置を更新
idxFrom = idxTo + 1;
}
// 返却用リストに1行データを格納
ret.add(tmpList);
// カウンタ
if(idx % 1000 == 0){
System.out.println("入力: " + idx + " 件");
}
idx++;
// numを超えたら読み込み終了。numが0のときは全量読む。
if( uploadFile.getSize() != 0 && idx > uploadFile.getSize() ){
break;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return ret;
}
}
package com.ari.arms.core.system.web.validator;
import com.ari.arms.core.system.web.form.FileUploadForm;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import org.springframework.web.multipart.MultipartFile;
/**
* Created by arms_matsushita on 西暦2015/12/09.
*/
@Component
public class FileUploadFormValidator implements Validator {
@Value("${upload.allowableFileSize}")
private int uploadAllowableFileSize;
@Override
public boolean supports(Class<?> paramClass) {
return FileUploadForm.class.equals(paramClass);
}
@Override
public void validate(Object obj, Errors errors) {
FileUploadForm form = (FileUploadForm) obj;
MultipartFile uploadFile = form.getFile();
if(uploadFile == null || uploadFile.isEmpty()) {
errors.reject("error.code.0002");
}
if (!StringUtils.hasLength(uploadFile.getOriginalFilename())) {
errors.reject("error.code.0001");
}
if (uploadAllowableFileSize < uploadFile.getSize()) {
errors.reject("error.code.0003", new Object[] {uploadAllowableFileSize}, null);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<logger name="org.springframework" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="com.mkyong.ajax" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<root level="error">
<appender-ref ref="STDOUT" />
</root>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
<context:component-scan base-package="com.ari.arms.core.system.web" />
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
<!-- View -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- layouts -->
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>
<property name="order" value="0"/>
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layouts/layouts.xml</value>
<value>/WEB-INF/views/views.xml</value>
</list>
</property>
</bean>
<!-- Database basic setting -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.33.10/ari_core" />
<property name="username" value="developer" />
<property name="password" value="arms1234" />
</bean>
<!-- Database Session -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.ari.arms.core.system.web.model" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<tx:annotation-driven />
<!-- Database Transaction -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- i18n Locale Setting -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/resources/core/messages/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<!-- Properties File -->
<context:property-placeholder location="/META-INF/spring/*.properties"/>
<!-- File Upload -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
</bean>
<!-- Customer Validator for Fild Upload -->
<bean id="fileUploadValidator" class="com.ari.arms.core.system.web.validator.FileUploadFormValidator" />
</beans>
# Building Chosen requires coffee-script and uglify-js. For
# help installing, try:
#
# `npm -g install coffee-script uglify-js`
#
fs = require 'fs'
path = require 'path'
{spawn, exec} = require 'child_process'
CoffeeScript = require 'coffee-script'
{parser, uglify} = require 'uglify-js'
javascripts = {
'chosen/chosen.jquery.js': [
'coffee/lib/select-parser.coffee'
'coffee/lib/abstract-chosen.coffee'
'coffee/chosen.jquery.coffee'
]
'chosen/chosen.proto.js': [
'coffee/lib/select-parser.coffee'
'coffee/lib/abstract-chosen.coffee'
'coffee/chosen.proto.coffee'
]
}
Array::unique = ->
output = {}
output[@[key]] = @[key] for key in [0...@length]
value for key, value of output
# Gather a list of unique source files.
#
source_files = ->
all_sources = []
for javascript, sources of javascripts
for source in sources
all_sources.push source
all_sources.unique()
# Get the version number
#
version = ->
"#{fs.readFileSync('VERSION')}".replace /[^0-9a-zA-Z.]*/gm, ''
version_tag = ->
"v#{version()}"
# Write chosen files with a header
#
write_chosen_javascript = (filename, body, trailing='') ->
fs.writeFileSync filename, """
// Chosen, a Select Box Enhancer for jQuery and Prototype
// by Patrick Filler for Harvest, http://getharvest.com
//
// Version #{version()}
// Full source at https://github.com/harvesthq/chosen
// Copyright (c) 2011 Harvest http://getharvest.com
// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
// This file is generated by `cake build`, do not edit it by hand.
#{body}#{trailing}
"""
console.log "Wrote #{filename}"
# Build Chosen.
#
task 'build', 'build Chosen from source', build = (cb) ->
file_name = null; file_contents = null
try
for javascript, sources of javascripts
code = ''
for source in sources
file_name = source
file_contents = "#{fs.readFileSync source}"
code += CoffeeScript.compile file_contents
write_chosen_javascript javascript, code
unless process.env.MINIFY is 'false'
write_chosen_javascript javascript.replace(/\.js$/,'.min.js'), (
uglify.gen_code uglify.ast_squeeze uglify.ast_mangle parser.parse code
), ';'
package_npm () ->
package_jquery () ->
cb() if typeof cb is 'function'
catch e
print_error e, file_name, file_contents
task 'watch', 'watch coffee/ for changes and build Chosen', ->
console.log "Watching for changes in coffee/"
for file in source_files()
# Coffeescript wasn't scoping file correctly-
# without this closure the file name displayed
# is incorrect.
((file) ->
fs.watchFile file, (curr, prev) ->
if +curr.mtime isnt +prev.mtime
console.log "Saw change in #{file}"
invoke 'build'
)(file)
task 'package_npm', 'generate the package.json file for npm', package_npm = (cb) ->
try
package_file = 'package.json'
package_obj = JSON.parse("#{fs.readFileSync package_file}")
package_obj['version'] = version()
fs.writeFileSync package_file, JSON.stringify(package_obj, null, 2)
console.log "Wrote #{package_file}"
cb() if typeof cb is 'function'
catch e
print_error e, package_file
task 'package_jquery', 'generate the chosen.jquery.json file for the jQuery plugin website', package_jquery = (cb) ->
try
package_file = 'chosen.jquery.json'
package_obj = JSON.parse("#{fs.readFileSync package_file}")
package_obj['version'] = version()
fs.writeFileSync package_file, JSON.stringify(package_obj, null, 2)
console.log "Wrote #{package_file}"
cb() if typeof cb is 'function'
catch e
print_error e, package_file
run = (cmd, args, cb, err_cb) ->
exec "#{cmd} #{args.join(' ')}", (err, stdout, stderr) ->
if err isnt null
console.error stderr
if typeof err_cb is 'function'
err_cb()
else
throw "Failed command execution (#{err})."
else
cb(stdout) if typeof cb is 'function'
with_clean_repo = (cb) ->
run 'git', ['diff', '--exit-code'], cb, ->
throw 'There are files that need to be committed first.'
without_existing_tag = (cb) ->
run 'git', ['tag'], (stdout) ->
if stdout.split("\n").indexOf( version_tag() ) >= 0
throw 'This tag has already been committed to the repo.'
else
cb()
tag_release = (cb, cb_err) ->
run 'git', ['tag', '-a', '-m', "\"Version #{version()}\"", version_tag()], cb, cb_err
untag_release = (e) ->
console.log "Failure to tag caught: #{e}"
console.log "Removing tag #{version_tag()}"
run 'git', ['tag', '-d', version_tag()]
push_repo = (args=[], cb, cb_err) ->
run 'git', ['push'].concat(args), cb, cb_err
print_error = (error, file_name, file_contents) ->
if error.location
console.log CoffeeScript.helpers.prettyErrorMessage(error, file_name, file_contents, true)
else
console.log """
Error compiling #{file_name}:
#{error.message}
"""
task 'release', 'build, tag the current release, and push', ->
console.log "Trying to tag #{version_tag()}..."
with_clean_repo ->
without_existing_tag ->
build ->
tag_release ->
push_repo [], ->
push_repo ['--tags'], ->
console.log "Successfully tagged #{version_tag()}: https://github.com/harvesthq/chosen/tree/#{version_tag()}"
, untag_release ('push repo with tags')
, untag_release ('push repo')
, untag_release ('tag release')
{
"name": "chosen",
"title": "Chosen",
"description": "Chosen is a JavaScript plugin that makes long, unwieldy select boxes much more user-friendly. It is currently available in both jQuery and Prototype flavors.",
"keywords": [
"select",
"multiselect",
"dropdown"
],
"version": "0.9.15",
"author": {
"name": "harvest",
"url": "http://getharvest.com"
},
"maintainers": [
{
"name": "Patrick Filler"
},
{
"name": "Christophe Coevoet"
},
{
"name": "Ken Earley"
}
],
"licenses": [
{
"type": "MIT",
"url": "https://github.com/harvesthq/chosen/blob/master/LICENSE.md"
}
],
"homepage": "https://github.com/harvesthq/chosen",
"docs": "https://github.com/harvesthq/chosen",
"bugs": "https://github.com/harvesthq/chosen/issues",
"dependencies": {
"jquery": ">=1.4.4"
}
}
�PNG

IHDR4% ���MIDATx��ֿkq��S��B� T��O"�@�VȒI�`�
E��E%�b~��"n:8A�@ P�Aqq�J$p(z�O� ��+�k }��w��Ᾱ$�S���Ld�E�Q�YoA}"U�cA�[�*LԆ�"t��1� ��!wAj���L^3+�':iP�;��G�Œ�lL�uD6�^���}ʠ,��� �z&����#� �1Fȥ zAo�A�&1F�]�/(C�{)�����$A�R��A��އ���E !F��yف���2h��;�� ��O�0@6��i����>��*걠�b���A�80Q&f?}�Z��X�#���M�&���kP�;��dc"�#�Qނz&����#x ʠ7�1B�"�,�xgA��Y�c�f�y��ZW5��A��#����Q{�v{�]��lC�g�[=w�U����Xr��8����6n�ZW�1� ����P��mOAo<��j�V4��i�=ס��^q>�-7A,�� �������71U����z�~��S�.�a�� Ɩ� ]^7��?�w�3�-����4��Ч&�%\i�#�~APv�Q5(L�?��\zO\IEND�B`�
�PNG

IHDRhJ`���PLTE������������FFFFFFFFF���������������������FFF������������������������������������������������������������������������������������ttt���������UUU������������������������������������������������������FFF2�ϠBtRNS��00�``��Pp��� ���@ϰ����`�E��ݐ�ܖ�� �!)�� f���ߋDJ��~��p IDATx^���n�0�a���b[��S6���{��;���E���¹���W�b4�8#��Q�
#U/�F�&5���Ó�z)vG{�=� 8`>�:�Dv"X)8`B��g��@���a�L`#�*UK ��f�6낶�[ �T�Zv@�6e�~&������f9p�Ç�͢);���t�P���TW���Z�m=��--��2m��@v��n���AW2�1���a]7�s�zر^z�8V�8 j/%�H�/�L�\'���N+L���L��u�a��7��� �Re=�:>B�N�:����TDVE�6�U �~Θй�H�X��:�A��\�|x���㽨d,(7*��ghz�t#brT�����';т�$}���kъ�J���� J_�ނ ��XW��wu�ʻ�p]^��"A����On�.����ťu�|݈�s�
�ݷ�?~��U󖪊�����1���>H��oe����N"A!8� � �"CA"BA"C�Ju���<���a+IEND�B`�
/* @group Base */
.chzn-container {
font-size: 13px;
position: relative;
display: inline-block;
vertical-align: middle;
zoom: 1;
*display: inline;
}
.chzn-container .chzn-drop {
background: #fff;
border: 1px solid #aaa;
border-top: 0;
position: absolute;
top: 100%;
left: -9999px;
-webkit-box-shadow: 0 4px 5px rgba(0,0,0,.15);
-moz-box-shadow : 0 4px 5px rgba(0,0,0,.15);
box-shadow : 0 4px 5px rgba(0,0,0,.15);
z-index: 1010;
width: 100%;
-moz-box-sizing : border-box;
-ms-box-sizing : border-box;
-webkit-box-sizing: border-box;
-khtml-box-sizing : border-box;
box-sizing : border-box;
}
.chzn-container.chzn-with-drop .chzn-drop {
left: 0;
}
/* @end */
/* @group Single Chosen */
.chzn-container-single .chzn-single {
background-color: #ffffff;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
background-image: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: linear-gradient(#ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
-webkit-border-radius: 5px;
-moz-border-radius : 5px;
border-radius : 5px;
-moz-background-clip : padding;
-webkit-background-clip: padding-box;
background-clip : padding-box;
border: 1px solid #aaaaaa;
-webkit-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-moz-box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
display: block;
overflow: hidden;
white-space: nowrap;
position: relative;
height: 23px;
line-height: 24px;
padding: 0 0 0 8px;
color: #444444;
text-decoration: none;
}
.chzn-container-single .chzn-default {
color: #999;
}
.chzn-container-single .chzn-single span {
margin-right: 26px;
display: block;
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
}
.chzn-container-single .chzn-single-with-deselect span {
margin-right: 38px;
}
.chzn-container-single .chzn-single abbr {
display: block;
position: absolute;
right: 26px;
top: 6px;
width: 12px;
height: 12px;
font-size: 1px;
background: url('chosen-sprite.png') -42px 1px no-repeat;
}
.chzn-container-single .chzn-single abbr:hover {
background-position: -42px -10px;
}
.chzn-container-single.chzn-disabled .chzn-single abbr:hover {
background-position: -42px -10px;
}
.chzn-container-single .chzn-single div {
position: absolute;
right: 0;
top: 0;
display: block;
height: 100%;
width: 18px;
}
.chzn-container-single .chzn-single div b {
background: url('chosen-sprite.png') no-repeat 0px 2px;
display: block;
width: 100%;
height: 100%;
}
.chzn-container-single .chzn-search {
padding: 3px 4px;
position: relative;
margin: 0;
white-space: nowrap;
z-index: 1010;
}
.chzn-container-single .chzn-search input {
background: #fff url('chosen-sprite.png') no-repeat 100% -20px;
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 0 0, 0 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
margin: 1px 0;
padding: 4px 20px 4px 5px;
outline: 0;
border: 1px solid #aaa;
font-family: sans-serif;
font-size: 1em;
width: 100%;
-moz-box-sizing : border-box;
-ms-box-sizing : border-box;
-webkit-box-sizing: border-box;
-khtml-box-sizing : border-box;
box-sizing : border-box;
}
.chzn-container-single .chzn-drop {
margin-top: -1px;
-webkit-border-radius: 0 0 4px 4px;
-moz-border-radius : 0 0 4px 4px;
border-radius : 0 0 4px 4px;
-moz-background-clip : padding;
-webkit-background-clip: padding-box;
background-clip : padding-box;
}
.chzn-container-single-nosearch .chzn-search {
position: absolute;
left: -9999px;
}
/* @end */
/* @group Multi Chosen */
.chzn-container-multi .chzn-choices {
background-color: #fff;
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
border: 1px solid #aaa;
margin: 0;
padding: 0;
cursor: text;
overflow: hidden;
height: auto !important;
height: 1%;
position: relative;
width: 100%;
-moz-box-sizing : border-box;
-ms-box-sizing : border-box;
-webkit-box-sizing: border-box;
-khtml-box-sizing : border-box;
box-sizing : border-box;
}
.chzn-container-multi .chzn-choices li {
float: left;
list-style: none;
}
.chzn-container-multi .chzn-choices .search-field {
white-space: nowrap;
margin: 0;
padding: 0;
}
.chzn-container-multi .chzn-choices .search-field input {
color: #666;
background: transparent !important;
border: 0 !important;
font-family: sans-serif;
font-size: 100%;
height: 15px;
padding: 5px;
margin: 1px 0;
outline: 0;
-webkit-box-shadow: none;
-moz-box-shadow : none;
box-shadow : none;
}
.chzn-container-multi .chzn-choices .search-field .default {
color: #999;
}
.chzn-container-multi .chzn-choices .search-choice {
-webkit-border-radius: 3px;
-moz-border-radius : 3px;
border-radius : 3px;
-moz-background-clip : padding;
-webkit-background-clip: padding-box;
background-clip : padding-box;
background-color: #e4e4e4;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
-webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
-moz-box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
color: #333;
border: 1px solid #aaaaaa;
line-height: 13px;
padding: 3px 20px 3px 5px;
margin: 3px 0 3px 5px;
position: relative;
cursor: default;
}
.chzn-container-multi .chzn-choices .search-choice.search-choice-disabled {
background-color: #e4e4e4;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
color: #666;
border: 1px solid #cccccc;
padding-right: 5px;
}
.chzn-container-multi .chzn-choices .search-choice-focus {
background: #d4d4d4;
}
.chzn-container-multi .chzn-choices .search-choice .search-choice-close {
display: block;
position: absolute;
right: 3px;
top: 4px;
width: 12px;
height: 12px;
font-size: 1px;
background: url('chosen-sprite.png') -42px 1px no-repeat;
}
.chzn-container-multi .chzn-choices .search-choice .search-choice-close:hover {
background-position: -42px -10px;
}
.chzn-container-multi .chzn-choices .search-choice-focus .search-choice-close {
background-position: -42px -10px;
}
/* @end */
/* @group Results */
.chzn-container .chzn-results {
margin: 0 4px 4px 0;
max-height: 240px;
padding: 0 0 0 4px;
position: relative;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.chzn-container-multi .chzn-results {
margin: 0;
padding: 0;
}
.chzn-container .chzn-results li {
display: none;
line-height: 15px;
padding: 5px 6px;
margin: 0;
list-style: none;
}
.chzn-container .chzn-results .active-result {
cursor: pointer;
display: list-item;
}
.chzn-container .chzn-results .highlighted {
background-color: #3875d7;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3875d7', endColorstr='#2a62bc', GradientType=0 );
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
background-image: -webkit-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -moz-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -o-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
color: #fff;
}
.chzn-container .chzn-results li em {
background: #feffde;
font-style: normal;
}
.chzn-container .chzn-results .highlighted em {
background: transparent;
}
.chzn-container .chzn-results .no-results {
background: #f4f4f4;
display: list-item;
}
.chzn-container .chzn-results .group-result {
cursor: default;
color: #999;
font-weight: bold;
}
.chzn-container .chzn-results .group-option {
padding-left: 15px;
}
.chzn-container-multi .chzn-drop .result-selected {
display: none;
}
.chzn-container .chzn-results-scroll {
background: white;
margin: 0 4px;
position: absolute;
text-align: center;
width: 321px; /* This should by dynamic with js */
z-index: 1;
}
.chzn-container .chzn-results-scroll span {
display: inline-block;
height: 17px;
text-indent: -5000px;
width: 9px;
}
.chzn-container .chzn-results-scroll-down {
bottom: 0;
}
.chzn-container .chzn-results-scroll-down span {
background: url('chosen-sprite.png') no-repeat -4px -3px;
}
.chzn-container .chzn-results-scroll-up span {
background: url('chosen-sprite.png') no-repeat -22px -3px;
}
/* @end */
/* @group Active */
.chzn-container-active .chzn-single {
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
-moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
box-shadow : 0 0 5px rgba(0,0,0,.3);
border: 1px solid #5897fb;
}
.chzn-container-active.chzn-with-drop .chzn-single {
border: 1px solid #aaa;
-webkit-box-shadow: 0 1px 0 #fff inset;
-moz-box-shadow : 0 1px 0 #fff inset;
box-shadow : 0 1px 0 #fff inset;
background-color: #eee;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0 );
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
background-image: -webkit-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -moz-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -o-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
-webkit-border-bottom-left-radius : 0;
-webkit-border-bottom-right-radius: 0;
-moz-border-radius-bottomleft : 0;
-moz-border-radius-bottomright: 0;
border-bottom-left-radius : 0;
border-bottom-right-radius: 0;
}
.chzn-container-active.chzn-with-drop .chzn-single div {
background: transparent;
border-left: none;
}
.chzn-container-active.chzn-with-drop .chzn-single div b {
background-position: -18px 2px;
}
.chzn-container-active .chzn-choices {
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
-moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
box-shadow : 0 0 5px rgba(0,0,0,.3);
border: 1px solid #5897fb;
}
.chzn-container-active .chzn-choices .search-field input {
color: #111 !important;
}
/* @end */
/* @group Disabled Support */
.chzn-disabled {
cursor: default;
opacity:0.5 !important;
}
.chzn-disabled .chzn-single {
cursor: default;
}
.chzn-disabled .chzn-choices .search-choice .search-choice-close {
cursor: default;
}
/* @group Right to Left */
.chzn-rtl { text-align: right; }
.chzn-rtl .chzn-single { padding: 0 8px 0 0; overflow: visible; }
.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; direction: rtl; }
.chzn-rtl .chzn-single-with-deselect span { margin-left: 38px; }
.chzn-rtl .chzn-single div { left: 3px; right: auto; }
.chzn-rtl .chzn-single abbr {
left: 26px;
right: auto;
}
.chzn-rtl .chzn-choices .search-field input { direction: rtl; }
.chzn-rtl .chzn-choices li { float: right; }
.chzn-rtl .chzn-choices .search-choice { padding: 3px 5px 3px 19px; margin: 3px 5px 3px 0; }
.chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 4px; right: auto; }
.chzn-rtl .chzn-search { left: 9999px; }
.chzn-rtl.chzn-with-drop .chzn-search { left: 0px; }
.chzn-rtl .chzn-drop { left: 9999px; }
.chzn-rtl.chzn-container-single .chzn-results { margin: 0 0 4px 4px; padding: 0 4px 0 0; }
.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 15px; }
.chzn-rtl.chzn-container-active.chzn-with-drop .chzn-single div { border-right: none; }
.chzn-rtl .chzn-search input {
background: #fff url('chosen-sprite.png') no-repeat -30px -20px;
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 0 0, 0 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
padding: 4px 5px 4px 20px;
direction: rtl;
}
.chzn-container-single.chzn-rtl .chzn-single div b {
background-position: 6px 2px;
}
.chzn-container-single.chzn-rtl.chzn-with-drop .chzn-single div b {
background-position: -12px 2px;
}
/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
.chzn-rtl .chzn-search input, .chzn-container-single .chzn-single abbr, .chzn-container-single .chzn-single div b, .chzn-container-single .chzn-search input, .chzn-container-multi .chzn-choices .search-choice .search-choice-close, .chzn-container .chzn-results-scroll-down span, .chzn-container .chzn-results-scroll-up span {
background-image: url('[email protected]') !important;
background-repeat: no-repeat !important;
background-size: 52px 37px !important;
}
}
/* @end */
// Chosen, a Select Box Enhancer for jQuery and Prototype
// by Patrick Filler for Harvest, http://getharvest.com
//
// Version 0.9.15
// Full source at https://github.com/harvesthq/chosen
// Copyright (c) 2011 Harvest http://getharvest.com
// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
// This file is generated by `cake build`, do not edit it by hand.
(function() {
var SelectParser;
SelectParser = (function() {
function SelectParser() {
this.options_index = 0;
this.parsed = [];
}
SelectParser.prototype.add_node = function(child) {
if (child.nodeName.toUpperCase() === "OPTGROUP") {
return this.add_group(child);
} else {
return this.add_option(child);
}
};
SelectParser.prototype.add_group = function(group) {
var group_position, option, _i, _len, _ref, _results;
group_position = this.parsed.length;
this.parsed.push({
array_index: group_position,
group: true,
label: group.label,
children: 0,
disabled: group.disabled
});
_ref = group.childNodes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
option = _ref[_i];
_results.push(this.add_option(option, group_position, group.disabled));
}
return _results;
};
SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
if (option.nodeName.toUpperCase() === "OPTION") {
if (option.text !== "") {
if (group_position != null) {
this.parsed[group_position].children += 1;
}
this.parsed.push({
array_index: this.parsed.length,
options_index: this.options_index,
value: option.value,
text: option.text,
html: option.innerHTML,
selected: option.selected,
disabled: group_disabled === true ? group_disabled : option.disabled,
group_array_index: group_position,
classes: option.className,
style: option.style.cssText
});
} else {
this.parsed.push({
array_index: this.parsed.length,
options_index: this.options_index,
empty: true
});
}
return this.options_index += 1;
}
};
return SelectParser;
})();
SelectParser.select_to_array = function(select) {
var child, parser, _i, _len, _ref;
parser = new SelectParser();
_ref = select.childNodes;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
child = _ref[_i];
parser.add_node(child);
}
return parser.parsed;
};
this.SelectParser = SelectParser;
}).call(this);
/*
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
*/
(function() {
var AbstractChosen, root;
root = this;
AbstractChosen = (function() {
function AbstractChosen(form_field, options) {
this.form_field = form_field;
this.options = options != null ? options : {};
if (!AbstractChosen.browser_is_supported()) {
return;
}
this.is_multiple = this.form_field.multiple;
this.set_default_text();
this.set_default_values();
this.setup();
this.set_up_html();
this.register_observers();
this.finish_setup();
}
AbstractChosen.prototype.set_default_values = function() {
var _this = this;
this.click_test_action = function(evt) {
return _this.test_active_click(evt);
};
this.activate_action = function(evt) {
return _this.activate_field(evt);
};
this.active_field = false;
this.mouse_on_container = false;
this.results_showing = false;
this.result_highlighted = null;
this.result_single_selected = null;
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
this.disable_search_threshold = this.options.disable_search_threshold || 0;
this.disable_search = this.options.disable_search || false;
this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;
this.search_contains = this.options.search_contains || false;
this.single_backstroke_delete = this.options.single_backstroke_delete || false;
this.max_selected_options = this.options.max_selected_options || Infinity;
return this.inherit_select_classes = this.options.inherit_select_classes || false;
};
AbstractChosen.prototype.set_default_text = function() {
if (this.form_field.getAttribute("data-placeholder")) {
this.default_text = this.form_field.getAttribute("data-placeholder");
} else if (this.is_multiple) {
this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;
} else {
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
}
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
};
AbstractChosen.prototype.mouse_enter = function() {
return this.mouse_on_container = true;
};
AbstractChosen.prototype.mouse_leave = function() {
return this.mouse_on_container = false;
};
AbstractChosen.prototype.input_focus = function(evt) {
var _this = this;
if (this.is_multiple) {
if (!this.active_field) {
return setTimeout((function() {
return _this.container_mousedown();
}), 50);
}
} else {
if (!this.active_field) {
return this.activate_field();
}
}
};
AbstractChosen.prototype.input_blur = function(evt) {
var _this = this;
if (!this.mouse_on_container) {
this.active_field = false;
return setTimeout((function() {
return _this.blur_test();
}), 100);
}
};
AbstractChosen.prototype.result_add_option = function(option) {
var classes, style;
if (!option.disabled) {
option.dom_id = this.container_id + "_o_" + option.array_index;
classes = option.selected && this.is_multiple ? [] : ["active-result"];
if (option.selected) {
classes.push("result-selected");
}
if (option.group_array_index != null) {
classes.push("group-option");
}
if (option.classes !== "") {
classes.push(option.classes);
}
style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : "";
return '<li id="' + option.dom_id + '" class="' + classes.join(' ') + '"' + style + '>' + option.html + '</li>';
} else {
return "";
}
};
AbstractChosen.prototype.results_update_field = function() {
this.set_default_text();
if (!this.is_multiple) {
this.results_reset_cleanup();
}
this.result_clear_highlight();
this.result_single_selected = null;
return this.results_build();
};
AbstractChosen.prototype.results_toggle = function() {
if (this.results_showing) {
return this.results_hide();
} else {
return this.results_show();
}
};
AbstractChosen.prototype.results_search = function(evt) {
if (this.results_showing) {
return this.winnow_results();
} else {
return this.results_show();
}
};
AbstractChosen.prototype.choices_count = function() {
var option, _i, _len, _ref;
if (this.selected_option_count != null) {
return this.selected_option_count;
}
this.selected_option_count = 0;
_ref = this.form_field.options;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
option = _ref[_i];
if (option.selected) {
this.selected_option_count += 1;
}
}
return this.selected_option_count;
};
AbstractChosen.prototype.choices_click = function(evt) {
evt.preventDefault();
if (!this.results_showing) {
return this.results_show();
}
};
AbstractChosen.prototype.keyup_checker = function(evt) {
var stroke, _ref;
stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
this.search_field_scale();
switch (stroke) {
case 8:
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
return this.keydown_backstroke();
} else if (!this.pending_backstroke) {
this.result_clear_highlight();
return this.results_search();
}
break;
case 13:
evt.preventDefault();
if (this.results_showing) {
return this.result_select(evt);
}
break;
case 27:
if (this.results_showing) {
this.results_hide();
}
return true;
case 9:
case 38:
case 40:
case 16:
case 91:
case 17:
break;
default:
return this.results_search();
}
};
AbstractChosen.prototype.generate_field_id = function() {
var new_id;
new_id = this.generate_random_id();
this.form_field.id = new_id;
return new_id;
};
AbstractChosen.prototype.generate_random_char = function() {
var chars, newchar, rand;
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
rand = Math.floor(Math.random() * chars.length);
return newchar = chars.substring(rand, rand + 1);
};
AbstractChosen.prototype.container_width = function() {
if (this.options.width != null) {
return this.options.width;
} else {
return "" + this.form_field.offsetWidth + "px";
}
};
AbstractChosen.browser_is_supported = function() {
var _ref;
if (window.navigator.appName === "Microsoft Internet Explorer") {
return (null !== (_ref = document.documentMode) && _ref >= 8);
}
return true;
};
AbstractChosen.default_multiple_text = "Select Some Options";
AbstractChosen.default_single_text = "Select an Option";
AbstractChosen.default_no_result_text = "No results match";
return AbstractChosen;
})();
root.AbstractChosen = AbstractChosen;
}).call(this);
/*
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
*/
(function() {
var $, Chosen, root, _ref,
__hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
root = this;
$ = jQuery;
$.fn.extend({
chosen: function(options) {
if (!AbstractChosen.browser_is_supported()) {
return this;
}
return this.each(function(input_field) {
var $this;
$this = $(this);
if (!$this.hasClass("chzn-done")) {
return $this.data('chosen', new Chosen(this, options));
}
});
}
});
Chosen = (function(_super) {
__extends(Chosen, _super);
function Chosen() {
_ref = Chosen.__super__.constructor.apply(this, arguments);
return _ref;
}
Chosen.prototype.setup = function() {
this.form_field_jq = $(this.form_field);
this.current_selectedIndex = this.form_field.selectedIndex;
return this.is_rtl = this.form_field_jq.hasClass("chzn-rtl");
};
Chosen.prototype.finish_setup = function() {
return this.form_field_jq.addClass("chzn-done");
};
Chosen.prototype.set_up_html = function() {
var container_classes, container_props;
this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\w]/g, '_') : this.generate_field_id();
this.container_id += "_chzn";
container_classes = ["chzn-container"];
container_classes.push("chzn-container-" + (this.is_multiple ? "multi" : "single"));
if (this.inherit_select_classes && this.form_field.className) {
container_classes.push(this.form_field.className);
}
if (this.is_rtl) {
container_classes.push("chzn-rtl");
}
container_props = {
'id': this.container_id,
'class': container_classes.join(' '),
'style': "width: " + (this.container_width()) + ";",
'title': this.form_field.title
};
this.container = $("<div />", container_props);
if (this.is_multiple) {
this.container.html('<ul class="chzn-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>');
} else {
this.container.html('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>');
}
this.form_field_jq.hide().after(this.container);
this.dropdown = this.container.find('div.chzn-drop').first();
this.search_field = this.container.find('input').first();
this.search_results = this.container.find('ul.chzn-results').first();
this.search_field_scale();
this.search_no_results = this.container.find('li.no-results').first();
if (this.is_multiple) {
this.search_choices = this.container.find('ul.chzn-choices').first();
this.search_container = this.container.find('li.search-field').first();
} else {
this.search_container = this.container.find('div.chzn-search').first();
this.selected_item = this.container.find('.chzn-single').first();
}
this.results_build();
this.set_tab_index();
this.set_label_behavior();
return this.form_field_jq.trigger("liszt:ready", {
chosen: this
});
};
Chosen.prototype.register_observers = function() {
var _this = this;
this.container.mousedown(function(evt) {
_this.container_mousedown(evt);
});
this.container.mouseup(function(evt) {
_this.container_mouseup(evt);
});
this.container.mouseenter(function(evt) {
_this.mouse_enter(evt);
});
this.container.mouseleave(function(evt) {
_this.mouse_leave(evt);
});
this.search_results.mouseup(function(evt) {
_this.search_results_mouseup(evt);
});
this.search_results.mouseover(function(evt) {
_this.search_results_mouseover(evt);
});
this.search_results.mouseout(function(evt) {
_this.search_results_mouseout(evt);
});
this.search_results.bind('mousewheel DOMMouseScroll', function(evt) {
_this.search_results_mousewheel(evt);
});
this.form_field_jq.bind("liszt:updated", function(evt) {
_this.results_update_field(evt);
});
this.form_field_jq.bind("liszt:activate", function(evt) {
_this.activate_field(evt);
});
this.form_field_jq.bind("liszt:open", function(evt) {
_this.container_mousedown(evt);
});
this.search_field.blur(function(evt) {
_this.input_blur(evt);
});
this.search_field.keyup(function(evt) {
_this.keyup_checker(evt);
});
this.search_field.keydown(function(evt) {
_this.keydown_checker(evt);
});
this.search_field.focus(function(evt) {
_this.input_focus(evt);
});
if (this.is_multiple) {
return this.search_choices.click(function(evt) {
_this.choices_click(evt);
});
} else {
return this.container.click(function(evt) {
evt.preventDefault();
});
}
};
Chosen.prototype.search_field_disabled = function() {
this.is_disabled = this.form_field_jq[0].disabled;
if (this.is_disabled) {
this.container.addClass('chzn-disabled');
this.search_field[0].disabled = true;
if (!this.is_multiple) {
this.selected_item.unbind("focus", this.activate_action);
}
return this.close_field();
} else {
this.container.removeClass('chzn-disabled');
this.search_field[0].disabled = false;
if (!this.is_multiple) {
return this.selected_item.bind("focus", this.activate_action);
}
}
};
Chosen.prototype.container_mousedown = function(evt) {
if (!this.is_disabled) {
if (evt && evt.type === "mousedown" && !this.results_showing) {
evt.preventDefault();
}
if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) {
if (!this.active_field) {
if (this.is_multiple) {
this.search_field.val("");
}
$(document).click(this.click_test_action);
this.results_show();
} else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chzn-single").length)) {
evt.preventDefault();
this.results_toggle();
}
return this.activate_field();
}
}
};
Chosen.prototype.container_mouseup = function(evt) {
if (evt.target.nodeName === "ABBR" && !this.is_disabled) {
return this.results_reset(evt);
}
};
Chosen.prototype.search_results_mousewheel = function(evt) {
var delta, _ref1, _ref2;
delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);
if (delta != null) {
evt.preventDefault();
if (evt.type === 'DOMMouseScroll') {
delta = delta * 40;
}
return this.search_results.scrollTop(delta + this.search_results.scrollTop());
}
};
Chosen.prototype.blur_test = function(evt) {
if (!this.active_field && this.container.hasClass("chzn-container-active")) {
return this.close_field();
}
};
Chosen.prototype.close_field = function() {
$(document).unbind("click", this.click_test_action);
this.active_field = false;
this.results_hide();
this.container.removeClass("chzn-container-active");
this.winnow_results_clear();
this.clear_backstroke();
this.show_search_field_default();
return this.search_field_scale();
};
Chosen.prototype.activate_field = function() {
this.container.addClass("chzn-container-active");
this.active_field = true;
this.search_field.val(this.search_field.val());
return this.search_field.focus();
};
Chosen.prototype.test_active_click = function(evt) {
if ($(evt.target).parents('#' + this.container_id).length) {
return this.active_field = true;
} else {
return this.close_field();
}
};
Chosen.prototype.results_build = function() {
var content, data, _i, _len, _ref1;
this.parsing = true;
this.selected_option_count = null;
this.results_data = root.SelectParser.select_to_array(this.form_field);
if (this.is_multiple && this.choices_count() > 0) {
this.search_choices.find("li.search-choice").remove();
} else if (!this.is_multiple) {
this.selected_item.addClass("chzn-default").find("span").text(this.default_text);
if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
this.container.addClass("chzn-container-single-nosearch");
} else {
this.container.removeClass("chzn-container-single-nosearch");
}
}
content = '';
_ref1 = this.results_data;
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
data = _ref1[_i];
if (data.group) {
content += this.result_add_group(data);
} else if (!data.empty) {
content += this.result_add_option(data);
if (data.selected && this.is_multiple) {
this.choice_build(data);
} else if (data.selected && !this.is_multiple) {
this.selected_item.removeClass("chzn-default").find("span").text(data.text);
if (this.allow_single_deselect) {
this.single_deselect_control_build();
}
}
}
}
this.search_field_disabled();
this.show_search_field_default();
this.search_field_scale();
this.search_results.html(content);
return this.parsing = false;
};
Chosen.prototype.result_add_group = function(group) {
if (!group.disabled) {
group.dom_id = this.container_id + "_g_" + group.array_index;
return '<li id="' + group.dom_id + '" class="group-result">' + $("<div />").text(group.label).html() + '</li>';
} else {
return "";
}
};
Chosen.prototype.result_do_highlight = function(el) {
var high_bottom, high_top, maxHeight, visible_bottom, visible_top;
if (el.length) {
this.result_clear_highlight();
this.result_highlight = el;
this.result_highlight.addClass("highlighted");
maxHeight = parseInt(this.search_results.css("maxHeight"), 10);
visible_top = this.search_results.scrollTop();
visible_bottom = maxHeight + visible_top;
high_top = this.result_highlight.position().top + this.search_results.scrollTop();
high_bottom = high_top + this.result_highlight.outerHeight();
if (high_bottom >= visible_bottom) {
return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);
} else if (high_top < visible_top) {
return this.search_results.scrollTop(high_top);
}
}
};
Chosen.prototype.result_clear_highlight = function() {
if (this.result_highlight) {
this.result_highlight.removeClass("highlighted");
}
return this.result_highlight = null;
};
Chosen.prototype.results_show = function() {
if (this.result_single_selected != null) {
this.result_do_highlight(this.result_single_selected);
} else if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
this.form_field_jq.trigger("liszt:maxselected", {
chosen: this
});
return false;
}
this.container.addClass("chzn-with-drop");
this.form_field_jq.trigger("liszt:showing_dropdown", {
chosen: this
});
this.results_showing = true;
this.search_field.focus();
this.search_field.val(this.search_field.val());
return this.winnow_results();
};
Chosen.prototype.results_hide = function() {
this.result_clear_highlight();
this.container.removeClass("chzn-with-drop");
this.form_field_jq.trigger("liszt:hiding_dropdown", {
chosen: this
});
return this.results_showing = false;
};
Chosen.prototype.set_tab_index = function(el) {
var ti;
if (this.form_field_jq.attr("tabindex")) {
ti = this.form_field_jq.attr("tabindex");
this.form_field_jq.attr("tabindex", -1);
return this.search_field.attr("tabindex", ti);
}
};
Chosen.prototype.set_label_behavior = function() {
var _this = this;
this.form_field_label = this.form_field_jq.parents("label");
if (!this.form_field_label.length && this.form_field.id.length) {
this.form_field_label = $("label[for='" + this.form_field.id + "']");
}
if (this.form_field_label.length > 0) {
return this.form_field_label.click(function(evt) {
if (_this.is_multiple) {
return _this.container_mousedown(evt);
} else {
return _this.activate_field();
}
});
}
};
Chosen.prototype.show_search_field_default = function() {
if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {
this.search_field.val(this.default_text);
return this.search_field.addClass("default");
} else {
this.search_field.val("");
return this.search_field.removeClass("default");
}
};
Chosen.prototype.search_results_mouseup = function(evt) {
var target;
target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
if (target.length) {
this.result_highlight = target;
this.result_select(evt);
return this.search_field.focus();
}
};
Chosen.prototype.search_results_mouseover = function(evt) {
var target;
target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
if (target) {
return this.result_do_highlight(target);
}
};
Chosen.prototype.search_results_mouseout = function(evt) {
if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) {
return this.result_clear_highlight();
}
};
Chosen.prototype.choice_build = function(item) {
var choice, close_link,
_this = this;
choice = $('<li />', {
"class": "search-choice"
}).html("<span>" + item.html + "</span>");
if (item.disabled) {
choice.addClass('search-choice-disabled');
} else {
close_link = $('<a />', {
href: '#',
"class": 'search-choice-close',
rel: item.array_index
});
close_link.click(function(evt) {
return _this.choice_destroy_link_click(evt);
});
choice.append(close_link);
}
return this.search_container.before(choice);
};
Chosen.prototype.choice_destroy_link_click = function(evt) {
evt.preventDefault();
evt.stopPropagation();
if (!this.is_disabled) {
return this.choice_destroy($(evt.target));
}
};
Chosen.prototype.choice_destroy = function(link) {
if (this.result_deselect(link.attr("rel"))) {
this.show_search_field_default();
if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {
this.results_hide();
}
link.parents('li').first().remove();
return this.search_field_scale();
}
};
Chosen.prototype.results_reset = function() {
this.form_field.options[0].selected = true;
this.selected_option_count = null;
this.selected_item.find("span").text(this.default_text);
if (!this.is_multiple) {
this.selected_item.addClass("chzn-default");
}
this.show_search_field_default();
this.results_reset_cleanup();
this.form_field_jq.trigger("change");
if (this.active_field) {
return this.results_hide();
}
};
Chosen.prototype.results_reset_cleanup = function() {
this.current_selectedIndex = this.form_field.selectedIndex;
return this.selected_item.find("abbr").remove();
};
Chosen.prototype.result_select = function(evt) {
var high, high_id, item, position;
if (this.result_highlight) {
high = this.result_highlight;
high_id = high.attr("id");
this.result_clear_highlight();
if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
this.form_field_jq.trigger("liszt:maxselected", {
chosen: this
});
return false;
}
if (this.is_multiple) {
this.result_deactivate(high);
} else {
this.search_results.find(".result-selected").removeClass("result-selected");
this.result_single_selected = high;
this.selected_item.removeClass("chzn-default");
}
high.addClass("result-selected");
position = high_id.substr(high_id.lastIndexOf("_") + 1);
item = this.results_data[position];
item.selected = true;
this.form_field.options[item.options_index].selected = true;
this.selected_option_count = null;
if (this.is_multiple) {
this.choice_build(item);
} else {
this.selected_item.find("span").first().text(item.text);
if (this.allow_single_deselect) {
this.single_deselect_control_build();
}
}
if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {
this.results_hide();
}
this.search_field.val("");
if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
this.form_field_jq.trigger("change", {
'selected': this.form_field.options[item.options_index].value
});
}
this.current_selectedIndex = this.form_field.selectedIndex;
return this.search_field_scale();
}
};
Chosen.prototype.result_activate = function(el) {
return el.addClass("active-result");
};
Chosen.prototype.result_deactivate = function(el) {
return el.removeClass("active-result");
};
Chosen.prototype.result_deselect = function(pos) {
var result, result_data;
result_data = this.results_data[pos];
if (!this.form_field.options[result_data.options_index].disabled) {
result_data.selected = false;
this.form_field.options[result_data.options_index].selected = false;
this.selected_option_count = null;
result = $("#" + this.container_id + "_o_" + pos);
result.removeClass("result-selected").addClass("active-result").show();
this.result_clear_highlight();
this.winnow_results();
this.form_field_jq.trigger("change", {
deselected: this.form_field.options[result_data.options_index].value
});
this.search_field_scale();
return true;
} else {
return false;
}
};
Chosen.prototype.single_deselect_control_build = function() {
if (!this.allow_single_deselect) {
return;
}
if (!this.selected_item.find("abbr").length) {
this.selected_item.find("span").first().after("<abbr class=\"search-choice-close\"></abbr>");
}
return this.selected_item.addClass("chzn-single-with-deselect");
};
Chosen.prototype.winnow_results = function() {
var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;
this.no_results_clear();
results = 0;
searchText = this.search_field.val() === this.default_text ? "" : $('<div/>').text($.trim(this.search_field.val())).html();
regexAnchor = this.search_contains ? "" : "^";
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
_ref1 = this.results_data;
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
option = _ref1[_i];
if (!option.disabled && !option.empty) {
if (option.group) {
$('#' + option.dom_id).css('display', 'none');
} else if (!(this.is_multiple && option.selected)) {
found = false;
result_id = option.dom_id;
result = $("#" + result_id);
if (regex.test(option.html)) {
found = true;
results += 1;
} else if (this.enable_split_word_search && (option.html.indexOf(" ") >= 0 || option.html.indexOf("[") === 0)) {
parts = option.html.replace(/\[|\]/g, "").split(" ");
if (parts.length) {
for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {
part = parts[_j];
if (regex.test(part)) {
found = true;
results += 1;
}
}
}
}
if (found) {
if (searchText.length) {
startpos = option.html.search(zregex);
text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length);
text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
} else {
text = option.html;
}
result.html(text);
this.result_activate(result);
if (option.group_array_index != null) {
$("#" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item');
}
} else {
if (this.result_highlight && result_id === this.result_highlight.attr('id')) {
this.result_clear_highlight();
}
this.result_deactivate(result);
}
}
}
}
if (results < 1 && searchText.length) {
return this.no_results(searchText);
} else {
return this.winnow_results_set_highlight();
}
};
Chosen.prototype.winnow_results_clear = function() {
var li, lis, _i, _len, _results;
this.search_field.val("");
lis = this.search_results.find("li");
_results = [];
for (_i = 0, _len = lis.length; _i < _len; _i++) {
li = lis[_i];
li = $(li);
if (li.hasClass("group-result")) {
_results.push(li.css('display', 'auto'));
} else if (!this.is_multiple || !li.hasClass("result-selected")) {
_results.push(this.result_activate(li));
} else {
_results.push(void 0);
}
}
return _results;
};
Chosen.prototype.winnow_results_set_highlight = function() {
var do_high, selected_results;
if (!this.result_highlight) {
selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : [];
do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first();
if (do_high != null) {
return this.result_do_highlight(do_high);
}
}
};
Chosen.prototype.no_results = function(terms) {
var no_results_html;
no_results_html = $('<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>');
no_results_html.find("span").first().html(terms);
return this.search_results.append(no_results_html);
};
Chosen.prototype.no_results_clear = function() {
return this.search_results.find(".no-results").remove();
};
Chosen.prototype.keydown_arrow = function() {
var first_active, next_sib;
if (!this.result_highlight) {
first_active = this.search_results.find("li.active-result").first();
if (first_active) {
this.result_do_highlight($(first_active));
}
} else if (this.results_showing) {
next_sib = this.result_highlight.nextAll("li.active-result").first();
if (next_sib) {
this.result_do_highlight(next_sib);
}
}
if (!this.results_showing) {
return this.results_show();
}
};
Chosen.prototype.keyup_arrow = function() {
var prev_sibs;
if (!this.results_showing && !this.is_multiple) {
return this.results_show();
} else if (this.result_highlight) {
prev_sibs = this.result_highlight.prevAll("li.active-result");
if (prev_sibs.length) {
return this.result_do_highlight(prev_sibs.first());
} else {
if (this.choices_count() > 0) {
this.results_hide();
}
return this.result_clear_highlight();
}
}
};
Chosen.prototype.keydown_backstroke = function() {
var next_available_destroy;
if (this.pending_backstroke) {
this.choice_destroy(this.pending_backstroke.find("a").first());
return this.clear_backstroke();
} else {
next_available_destroy = this.search_container.siblings("li.search-choice").last();
if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) {
this.pending_backstroke = next_available_destroy;
if (this.single_backstroke_delete) {
return this.keydown_backstroke();
} else {
return this.pending_backstroke.addClass("search-choice-focus");
}
}
}
};
Chosen.prototype.clear_backstroke = function() {
if (this.pending_backstroke) {
this.pending_backstroke.removeClass("search-choice-focus");
}
return this.pending_backstroke = null;
};
Chosen.prototype.keydown_checker = function(evt) {
var stroke, _ref1;
stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
this.search_field_scale();
if (stroke !== 8 && this.pending_backstroke) {
this.clear_backstroke();
}
switch (stroke) {
case 8:
this.backstroke_length = this.search_field.val().length;
break;
case 9:
if (this.results_showing && !this.is_multiple) {
this.result_select(evt);
}
this.mouse_on_container = false;
break;
case 13:
evt.preventDefault();
break;
case 38:
evt.preventDefault();
this.keyup_arrow();
break;
case 40:
this.keydown_arrow();
break;
}
};
Chosen.prototype.search_field_scale = function() {
var div, h, style, style_block, styles, w, _i, _len;
if (this.is_multiple) {
h = 0;
w = 0;
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
for (_i = 0, _len = styles.length; _i < _len; _i++) {
style = styles[_i];
style_block += style + ":" + this.search_field.css(style) + ";";
}
div = $('<div />', {
'style': style_block
});
div.text(this.search_field.val());
$('body').append(div);
w = div.width() + 25;
div.remove();
if (!this.f_width) {
this.f_width = this.container.outerWidth();
}
if (w > this.f_width - 10) {
w = this.f_width - 10;
}
return this.search_field.css({
'width': w + 'px'
});
}
};
Chosen.prototype.generate_random_id = function() {
var string;
string = "sel" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();
while ($("#" + string).length > 0) {
string += this.generate_random_char();
}
return string;
};
return Chosen;
})(AbstractChosen);
root.Chosen = Chosen;
}).call(this);
// Chosen, a Select Box Enhancer for jQuery and Prototype
// by Patrick Filler for Harvest, http://getharvest.com
//
// Version 0.9.15
// Full source at https://github.com/harvesthq/chosen
// Copyright (c) 2011 Harvest http://getharvest.com
// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
// This file is generated by `cake build`, do not edit it by hand.
(function(){var e;e=function(){function e(){this.options_index=0,this.parsed=[]}return e.prototype.add_node=function(e){return e.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(e):this.add_option(e)},e.prototype.add_group=function(e){var t,n,r,i,s,o;t=this.parsed.length,this.parsed.push({array_index:t,group:!0,label:e.label,children:0,disabled:e.disabled}),s=e.childNodes,o=[];for(r=0,i=s.length;r<i;r++)n=s[r],o.push(this.add_option(n,t,e.disabled));return o},e.prototype.add_option=function(e,t,n){if(e.nodeName.toUpperCase()==="OPTION")return e.text!==""?(t!=null&&(this.parsed[t].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,selected:e.selected,disabled:n===!0?n:e.disabled,group_array_index:t,classes:e.className,style:e.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},e}(),e.select_to_array=function(t){var n,r,i,s,o;r=new e,o=t.childNodes;for(i=0,s=o.length;i<s;i++)n=o[i],r.add_node(n);return r.parsed},this.SelectParser=e}).call(this),function(){var e,t;t=this,e=function(){function e(t,n){this.form_field=t,this.options=n!=null?n:{};if(!e.browser_is_supported())return;this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.finish_setup()}return e.prototype.set_default_values=function(){var e=this;return this.click_test_action=function(t){return e.test_active_click(t)},this.activate_action=function(t){return e.activate_field(t)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=this.options.enable_split_word_search!=null?this.options.enable_split_word_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=this.options.single_backstroke_delete||!1,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1},e.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||e.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||e.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||e.default_no_result_text},e.prototype.mouse_enter=function(){return this.mouse_on_container=!0},e.prototype.mouse_leave=function(){return this.mouse_on_container=!1},e.prototype.input_focus=function(e){var t=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return t.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},e.prototype.input_blur=function(e){var t=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return t.blur_test()},100)},e.prototype.result_add_option=function(e){var t,n;return e.disabled?"":(e.dom_id=this.container_id+"_o_"+e.array_index,t=e.selected&&this.is_multiple?[]:["active-result"],e.selected&&t.push("result-selected"),e.group_array_index!=null&&t.push("group-option"),e.classes!==""&&t.push(e.classes),n=e.style.cssText!==""?' style="'+e.style+'"':"",'<li id="'+e.dom_id+'" class="'+t.join(" ")+'"'+n+">"+e.html+"</li>")},e.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},e.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},e.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()},e.prototype.choices_count=function(){var e,t,n,r;if(this.selected_option_count!=null)return this.selected_option_count;this.selected_option_count=0,r=this.form_field.options;for(t=0,n=r.length;t<n;t++)e=r[t],e.selected&&(this.selected_option_count+=1);return this.selected_option_count},e.prototype.choices_click=function(e){e.preventDefault();if(!this.results_showing)return this.results_show()},e.prototype.keyup_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale();switch(t){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:e.preventDefault();if(this.results_showing)return this.result_select(e);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},e.prototype.generate_field_id=function(){var e;return e=this.generate_random_id(),this.form_field.id=e,e},e.prototype.generate_random_char=function(){var e,t,n;return e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",n=Math.floor(Math.random()*e.length),t=e.substring(n,n+1)},e.prototype.container_width=function(){return this.options.width!=null?this.options.width:""+this.form_field.offsetWidth+"px"},e.browser_is_supported=function(){var e;return window.navigator.appName==="Microsoft Internet Explorer"?null!==(e=document.documentMode)&&e>=8:!0},e.default_multiple_text="Select Some Options",e.default_single_text="Select an Option",e.default_no_result_text="No results match",e}(),t.AbstractChosen=e}.call(this),function(){var e,t,n,r,i={}.hasOwnProperty,s=function(e,t){function r(){this.constructor=e}for(var n in t)i.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e};n=this,e=jQuery,e.fn.extend({chosen:function(n){return AbstractChosen.browser_is_supported()?this.each(function(r){var i;i=e(this);if(!i.hasClass("chzn-done"))return i.data("chosen",new t(this,n))}):this}}),t=function(t){function i(){return r=i.__super__.constructor.apply(this,arguments),r}return s(i,t),i.prototype.setup=function(){return this.form_field_jq=e(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},i.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},i.prototype.set_up_html=function(){var t,n;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",t=["chzn-container"],t.push("chzn-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className),this.is_rtl&&t.push("chzn-rtl"),n={id:this.container_id,"class":t.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.container=e("<div />",n),this.is_multiple?this.container.html('<ul class="chzn-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>'):this.container.html('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chzn-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},i.prototype.register_observers=function(){var e=this;return this.container.mousedown(function(t){e.container_mousedown(t)}),this.container.mouseup(function(t){e.container_mouseup(t)}),this.container.mouseenter(function(t){e.mouse_enter(t)}),this.container.mouseleave(function(t){e.mouse_leave(t)}),this.search_results.mouseup(function(t){e.search_results_mouseup(t)}),this.search_results.mouseover(function(t){e.search_results_mouseover(t)}),this.search_results.mouseout(function(t){e.search_results_mouseout(t)}),this.search_results.bind("mousewheel DOMMouseScroll",function(t){e.search_results_mousewheel(t)}),this.form_field_jq.bind("liszt:updated",function(t){e.results_update_field(t)}),this.form_field_jq.bind("liszt:activate",function(t){e.activate_field(t)}),this.form_field_jq.bind("liszt:open",function(t){e.container_mousedown(t)}),this.search_field.blur(function(t){e.input_blur(t)}),this.search_field.keyup(function(t){e.keyup_checker(t)}),this.search_field.keydown(function(t){e.keydown_checker(t)}),this.search_field.focus(function(t){e.input_focus(t)}),this.is_multiple?this.search_choices.click(function(t){e.choices_click(t)}):this.container.click(function(e){e.preventDefault()})},i.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},i.prototype.container_mousedown=function(t){if(!this.is_disabled){t&&t.type==="mousedown"&&!this.results_showing&&t.preventDefault();if(t==null||!e(t.target).hasClass("search-choice-close"))return this.active_field?!this.is_multiple&&t&&(e(t.target)[0]===this.selected_item[0]||e(t.target).parents("a.chzn-single").length)&&(t.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),e(document).click(this.click_test_action),this.results_show()),this.activate_field()}},i.prototype.container_mouseup=function(e){if(e.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(e)},i.prototype.search_results_mousewheel=function(e){var t,n,r;t=-((n=e.originalEvent)!=null?n.wheelDelta:void 0)||((r=e.originialEvent)!=null?r.detail:void 0);if(t!=null)return e.preventDefault(),e.type==="DOMMouseScroll"&&(t*=40),this.search_results.scrollTop(t+this.search_results.scrollTop())},i.prototype.blur_test=function(e){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},i.prototype.close_field=function(){return e(document).unbind("click",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},i.prototype.activate_field=function(){return this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},i.prototype.test_active_click=function(t){return e(t.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},i.prototype.results_build=function(){var e,t,r,i,s;this.parsing=!0,this.selected_option_count=null,this.results_data=n.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices_count()>0?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),e="",s=this.results_data;for(r=0,i=s.length;r<i;r++)t=s[r],t.group?e+=this.result_add_group(t):t.empty||(e+=this.result_add_option(t),t.selected&&this.is_multiple?this.choice_build(t):t.selected&&!this.is_multiple&&(this.selected_item.removeClass("chzn-default").find("span").text(t.text),this.allow_single_deselect&&this.single_deselect_control_build()));return this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.search_results.html(e),this.parsing=!1},i.prototype.result_add_group=function(t){return t.disabled?"":(t.dom_id=this.container_id+"_g_"+t.array_index,'<li id="'+t.dom_id+'" class="group-result">'+e("<div />").text(t.label).html()+"</li>")},i.prototype.result_do_highlight=function(e){var t,n,r,i,s;if(e.length){this.result_clear_highlight(),this.result_highlight=e,this.result_highlight.addClass("highlighted"),r=parseInt(this.search_results.css("maxHeight"),10),s=this.search_results.scrollTop(),i=r+s,n=this.result_highlight.position().top+this.search_results.scrollTop(),t=n+this.result_highlight.outerHeight();if(t>=i)return this.search_results.scrollTop(t-r>0?t-r:0);if(n<s)return this.search_results.scrollTop(n)}},i.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},i.prototype.results_show=function(){if(this.result_single_selected!=null)this.result_do_highlight(this.result_single_selected);else if(this.is_multiple&&this.max_selected_options<=this.choices_count())return this.form_field_jq.trigger("liszt:maxselected",{chosen:this}),!1;return this.container.addClass("chzn-with-drop"),this.form_field_jq.trigger("liszt:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results()},i.prototype.results_hide=function(){return this.result_clear_highlight(),this.container.removeClass("chzn-with-drop"),this.form_field_jq.trigger("liszt:hiding_dropdown",{chosen:this}),this.results_showing=!1},i.prototype.set_tab_index=function(e){var t;if(this.form_field_jq.attr("tabindex"))return t=this.form_field_jq.attr("tabindex"),this.form_field_jq.attr("tabindex",-1),this.search_field.attr("tabindex",t)},i.prototype.set_label_behavior=function(){var t=this;this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=e("label[for='"+this.form_field.id+"']"));if(this.form_field_label.length>0)return this.form_field_label.click(function(e){return t.is_multiple?t.container_mousedown(e):t.activate_field()})},i.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},i.prototype.search_results_mouseup=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n.length)return this.result_highlight=n,this.result_select(t),this.search_field.focus()},i.prototype.search_results_mouseover=function(t){var n;n=e(t.target).hasClass("active-result")?e(t.target):e(t.target).parents(".active-result").first();if(n)return this.result_do_highlight(n)},i.prototype.search_results_mouseout=function(t){if(e(t.target).hasClass("active-result"))return this.result_clear_highlight()},i.prototype.choice_build=function(t){var n,r,i=this;return n=e("<li />",{"class":"search-choice"}).html("<span>"+t.html+"</span>"),t.disabled?n.addClass("search-choice-disabled"):(r=e("<a />",{href:"#","class":"search-choice-close",rel:t.array_index}),r.click(function(e){return i.choice_destroy_link_click(e)}),n.append(r)),this.search_container.before(n)},i.prototype.choice_destroy_link_click=function(t){t.preventDefault(),t.stopPropagation();if(!this.is_disabled)return this.choice_destroy(e(t.target))},i.prototype.choice_destroy=function(e){if(this.result_deselect(e.attr("rel")))return this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),e.parents("li").first().remove(),this.search_field_scale()},i.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_option_count=null,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},i.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},i.prototype.result_select=function(e){var t,n,r,i;if(this.result_highlight)return t=this.result_highlight,n=t.attr("id"),this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("liszt:maxselected",{chosen:this}),!1):(this.is_multiple?this.result_deactivate(t):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=t,this.selected_item.removeClass("chzn-default")),t.addClass("result-selected"),i=n.substr(n.lastIndexOf("_")+1),r=this.results_data[i],r.selected=!0,this.form_field.options[r.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(r):(this.selected_item.find("span").first().text(r.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!e.metaKey&&!e.ctrlKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[r.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())},i.prototype.result_activate=function(e){return e.addClass("active-result")},i.prototype.result_deactivate=function(e){return e.removeClass("active-result")},i.prototype.result_deselect=function(t){var n,r;return r=this.results_data[t],this.form_field.options[r.options_index].disabled?!1:(r.selected=!1,this.form_field.options[r.options_index].selected=!1,this.selected_option_count=null,n=e("#"+this.container_id+"_o_"+t),n.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[r.options_index].value}),this.search_field_scale(),!0)},i.prototype.single_deselect_control_build=function(){if(!this.allow_single_deselect)return;return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chzn-single-with-deselect")},i.prototype.winnow_results=function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;this.no_results_clear(),f=0,l=this.search_field.val()===this.default_text?"":e("<div/>").text(e.trim(this.search_field.val())).html(),o=this.search_contains?"":"^",s=new RegExp(o+l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),p=new RegExp(l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),y=this.results_data;for(d=0,m=y.length;d<m;d++){n=y[d];if(!n.disabled&&!n.empty)if(n.group)e("#"+n.dom_id).css("display","none");else if(!this.is_multiple||!n.selected){t=!1,a=n.dom_id,u=e("#"+a);if(s.test(n.html))t=!0,f+=1;else if(this.enable_split_word_search&&(n.html.indexOf(" ")>=0||n.html.indexOf("[")===0)){i=n.html.replace(/\[|\]/g,"").split(" ");if(i.length)for(v=0,g=i.length;v<g;v++)r=i[v],s.test(r)&&(t=!0,f+=1)}t?(l.length?(c=n.html.search(p),h=n.html.substr(0,c+l.length)+"</em>"+n.html.substr(c+l.length),h=h.substr(0,c)+"<em>"+h.substr(c)):h=n.html,u.html(h),this.result_activate(u),n.group_array_index!=null&&e("#"+this.results_data[n.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&a===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(u))}}return f<1&&l.length?this.no_results(l):this.winnow_results_set_highlight()},i.prototype.winnow_results_clear=function(){var t,n,r,i,s;this.search_field.val(""),n=this.search_results.find("li"),s=[];for(r=0,i=n.length;r<i;r++)t=n[r],t=e(t),t.hasClass("group-result")?s.push(t.css("display","auto")):!this.is_multiple||!t.hasClass("result-selected")?s.push(this.result_activate(t)):s.push(void 0);return s},i.prototype.winnow_results_set_highlight=function(){var e,t;if(!this.result_highlight){t=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),e=t.length?t.first():this.search_results.find(".active-result").first();if(e!=null)return this.result_do_highlight(e)}},i.prototype.no_results=function(t){var n;return n=e('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),n.find("span").first().html(t),this.search_results.append(n)},i.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},i.prototype.keydown_arrow=function(){var t,n;this.result_highlight?this.results_showing&&(n=this.result_highlight.nextAll("li.active-result").first(),n&&this.result_do_highlight(n)):(t=this.search_results.find("li.active-result").first(),t&&this.result_do_highlight(e(t)));if(!this.results_showing)return this.results_show()},i.prototype.keyup_arrow=function(){var e;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return e=this.result_highlight.prevAll("li.active-result"),e.length?this.result_do_highlight(e.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())},i.prototype.keydown_backstroke=function(){var e;if(this.pending_backstroke)return this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke();e=this.search_container.siblings("li.search-choice").last();if(e.length&&!e.hasClass("search-choice-disabled"))return this.pending_backstroke=e,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")},i.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},i.prototype.keydown_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale(),t!==8&&this.pending_backstroke&&this.clear_backstroke();switch(t){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e),this.mouse_on_container=!1;break;case 13:e.preventDefault();break;case 38:e.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},i.prototype.search_field_scale=function(){var t,n,r,i,s,o,u,a;if(this.is_multiple){n=0,o=0,i="position:absolute; left: -1000px; top: -1000px; display:none;",s=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(u=0,a=s.length;u<a;u++)r=s[u],i+=r+":"+this.search_field.css(r)+";";return t=e("<div />",{style:i}),t.text(this.search_field.val()),e("body").append(t),o=t.width()+25,t.remove(),this.f_width||(this.f_width=this.container.outerWidth()),o>this.f_width-10&&(o=this.f_width-10),this.search_field.css({width:o+"px"})}},i.prototype.generate_random_id=function(){var t;t="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(e("#"+t).length>0)t+=this.generate_random_char();return t},i}(AbstractChosen),n.Chosen=t}.call(this);
// Chosen, a Select Box Enhancer for jQuery and Prototype
// by Patrick Filler for Harvest, http://getharvest.com
//
// Version 0.9.15
// Full source at https://github.com/harvesthq/chosen
// Copyright (c) 2011 Harvest http://getharvest.com
// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
// This file is generated by `cake build`, do not edit it by hand.
(function() {
var SelectParser;
SelectParser = (function() {
function SelectParser() {
this.options_index = 0;
this.parsed = [];
}
SelectParser.prototype.add_node = function(child) {
if (child.nodeName.toUpperCase() === "OPTGROUP") {
return this.add_group(child);
} else {
return this.add_option(child);
}
};
SelectParser.prototype.add_group = function(group) {
var group_position, option, _i, _len, _ref, _results;
group_position = this.parsed.length;
this.parsed.push({
array_index: group_position,
group: true,
label: group.label,
children: 0,
disabled: group.disabled
});
_ref = group.childNodes;
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
option = _ref[_i];
_results.push(this.add_option(option, group_position, group.disabled));
}
return _results;
};
SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
if (option.nodeName.toUpperCase() === "OPTION") {
if (option.text !== "") {
if (group_position != null) {
this.parsed[group_position].children += 1;
}
this.parsed.push({
array_index: this.parsed.length,
options_index: this.options_index,
value: option.value,
text: option.text,
html: option.innerHTML,
selected: option.selected,
disabled: group_disabled === true ? group_disabled : option.disabled,
group_array_index: group_position,
classes: option.className,
style: option.style.cssText
});
} else {
this.parsed.push({
array_index: this.parsed.length,
options_index: this.options_index,
empty: true
});
}
return this.options_index += 1;
}
};
return SelectParser;
})();
SelectParser.select_to_array = function(select) {
var child, parser, _i, _len, _ref;
parser = new SelectParser();
_ref = select.childNodes;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
child = _ref[_i];
parser.add_node(child);
}
return parser.parsed;
};
this.SelectParser = SelectParser;
}).call(this);
/*
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
*/
(function() {
var AbstractChosen, root;
root = this;
AbstractChosen = (function() {
function AbstractChosen(form_field, options) {
this.form_field = form_field;
this.options = options != null ? options : {};
if (!AbstractChosen.browser_is_supported()) {
return;
}
this.is_multiple = this.form_field.multiple;
this.set_default_text();
this.set_default_values();
this.setup();
this.set_up_html();
this.register_observers();
this.finish_setup();
}
AbstractChosen.prototype.set_default_values = function() {
var _this = this;
this.click_test_action = function(evt) {
return _this.test_active_click(evt);
};
this.activate_action = function(evt) {
return _this.activate_field(evt);
};
this.active_field = false;
this.mouse_on_container = false;
this.results_showing = false;
this.result_highlighted = null;
this.result_single_selected = null;
this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
this.disable_search_threshold = this.options.disable_search_threshold || 0;
this.disable_search = this.options.disable_search || false;
this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;
this.search_contains = this.options.search_contains || false;
this.single_backstroke_delete = this.options.single_backstroke_delete || false;
this.max_selected_options = this.options.max_selected_options || Infinity;
return this.inherit_select_classes = this.options.inherit_select_classes || false;
};
AbstractChosen.prototype.set_default_text = function() {
if (this.form_field.getAttribute("data-placeholder")) {
this.default_text = this.form_field.getAttribute("data-placeholder");
} else if (this.is_multiple) {
this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;
} else {
this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
}
return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
};
AbstractChosen.prototype.mouse_enter = function() {
return this.mouse_on_container = true;
};
AbstractChosen.prototype.mouse_leave = function() {
return this.mouse_on_container = false;
};
AbstractChosen.prototype.input_focus = function(evt) {
var _this = this;
if (this.is_multiple) {
if (!this.active_field) {
return setTimeout((function() {
return _this.container_mousedown();
}), 50);
}
} else {
if (!this.active_field) {
return this.activate_field();
}
}
};
AbstractChosen.prototype.input_blur = function(evt) {
var _this = this;
if (!this.mouse_on_container) {
this.active_field = false;
return setTimeout((function() {
return _this.blur_test();
}), 100);
}
};
AbstractChosen.prototype.result_add_option = function(option) {
var classes, style;
if (!option.disabled) {
option.dom_id = this.container_id + "_o_" + option.array_index;
classes = option.selected && this.is_multiple ? [] : ["active-result"];
if (option.selected) {
classes.push("result-selected");
}
if (option.group_array_index != null) {
classes.push("group-option");
}
if (option.classes !== "") {
classes.push(option.classes);
}
style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : "";
return '<li id="' + option.dom_id + '" class="' + classes.join(' ') + '"' + style + '>' + option.html + '</li>';
} else {
return "";
}
};
AbstractChosen.prototype.results_update_field = function() {
this.set_default_text();
if (!this.is_multiple) {
this.results_reset_cleanup();
}
this.result_clear_highlight();
this.result_single_selected = null;
return this.results_build();
};
AbstractChosen.prototype.results_toggle = function() {
if (this.results_showing) {
return this.results_hide();
} else {
return this.results_show();
}
};
AbstractChosen.prototype.results_search = function(evt) {
if (this.results_showing) {
return this.winnow_results();
} else {
return this.results_show();
}
};
AbstractChosen.prototype.choices_count = function() {
var option, _i, _len, _ref;
if (this.selected_option_count != null) {
return this.selected_option_count;
}
this.selected_option_count = 0;
_ref = this.form_field.options;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
option = _ref[_i];
if (option.selected) {
this.selected_option_count += 1;
}
}
return this.selected_option_count;
};
AbstractChosen.prototype.choices_click = function(evt) {
evt.preventDefault();
if (!this.results_showing) {
return this.results_show();
}
};
AbstractChosen.prototype.keyup_checker = function(evt) {
var stroke, _ref;
stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
this.search_field_scale();
switch (stroke) {
case 8:
if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
return this.keydown_backstroke();
} else if (!this.pending_backstroke) {
this.result_clear_highlight();
return this.results_search();
}
break;
case 13:
evt.preventDefault();
if (this.results_showing) {
return this.result_select(evt);
}
break;
case 27:
if (this.results_showing) {
this.results_hide();
}
return true;
case 9:
case 38:
case 40:
case 16:
case 91:
case 17:
break;
default:
return this.results_search();
}
};
AbstractChosen.prototype.generate_field_id = function() {
var new_id;
new_id = this.generate_random_id();
this.form_field.id = new_id;
return new_id;
};
AbstractChosen.prototype.generate_random_char = function() {
var chars, newchar, rand;
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
rand = Math.floor(Math.random() * chars.length);
return newchar = chars.substring(rand, rand + 1);
};
AbstractChosen.prototype.container_width = function() {
if (this.options.width != null) {
return this.options.width;
} else {
return "" + this.form_field.offsetWidth + "px";
}
};
AbstractChosen.browser_is_supported = function() {
var _ref;
if (window.navigator.appName === "Microsoft Internet Explorer") {
return (null !== (_ref = document.documentMode) && _ref >= 8);
}
return true;
};
AbstractChosen.default_multiple_text = "Select Some Options";
AbstractChosen.default_single_text = "Select an Option";
AbstractChosen.default_no_result_text = "No results match";
return AbstractChosen;
})();
root.AbstractChosen = AbstractChosen;
}).call(this);
/*
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
*/
(function() {
var Chosen, root, _ref,
__hasProp = {}.hasOwnProperty,
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
root = this;
Chosen = (function(_super) {
__extends(Chosen, _super);
function Chosen() {
_ref = Chosen.__super__.constructor.apply(this, arguments);
return _ref;
}
Chosen.prototype.setup = function() {
this.current_selectedIndex = this.form_field.selectedIndex;
return this.is_rtl = this.form_field.hasClassName("chzn-rtl");
};
Chosen.prototype.finish_setup = function() {
return this.form_field.addClassName("chzn-done");
};
Chosen.prototype.set_default_values = function() {
Chosen.__super__.set_default_values.call(this);
this.single_temp = new Template('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>#{default}</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>');
this.multi_temp = new Template('<ul class="chzn-choices"><li class="search-field"><input type="text" value="#{default}" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>');
return this.no_results_temp = new Template('<li class="no-results">' + this.results_none_found + ' "<span>#{terms}</span>"</li>');
};
Chosen.prototype.set_up_html = function() {
var container_classes, container_props;
this.container_id = this.form_field.identify().replace(/[^\w]/g, '_') + "_chzn";
container_classes = ["chzn-container"];
container_classes.push("chzn-container-" + (this.is_multiple ? "multi" : "single"));
if (this.inherit_select_classes && this.form_field.className) {
container_classes.push(this.form_field.className);
}
if (this.is_rtl) {
container_classes.push("chzn-rtl");
}
container_props = {
'id': this.container_id,
'class': container_classes.join(' '),
'style': "width: " + (this.container_width()) + ";",
'title': this.form_field.title
};
this.container = this.is_multiple ? new Element('div', container_props).update(this.multi_temp.evaluate({
"default": this.default_text
})) : new Element('div', container_props).update(this.single_temp.evaluate({
"default": this.default_text
}));
this.form_field.hide().insert({
after: this.container
});
this.dropdown = this.container.down('div.chzn-drop');
this.search_field = this.container.down('input');
this.search_results = this.container.down('ul.chzn-results');
this.search_field_scale();
this.search_no_results = this.container.down('li.no-results');
if (this.is_multiple) {
this.search_choices = this.container.down('ul.chzn-choices');
this.search_container = this.container.down('li.search-field');
} else {
this.search_container = this.container.down('div.chzn-search');
this.selected_item = this.container.down('.chzn-single');
}
this.results_build();
this.set_tab_index();
this.set_label_behavior();
return this.form_field.fire("liszt:ready", {
chosen: this
});
};
Chosen.prototype.register_observers = function() {
var _this = this;
this.container.observe("mousedown", function(evt) {
return _this.container_mousedown(evt);
});
this.container.observe("mouseup", function(evt) {
return _this.container_mouseup(evt);
});
this.container.observe("mouseenter", function(evt) {
return _this.mouse_enter(evt);
});
this.container.observe("mouseleave", function(evt) {
return _this.mouse_leave(evt);
});
this.search_results.observe("mouseup", function(evt) {
return _this.search_results_mouseup(evt);
});
this.search_results.observe("mouseover", function(evt) {
return _this.search_results_mouseover(evt);
});
this.search_results.observe("mouseout", function(evt) {
return _this.search_results_mouseout(evt);
});
this.search_results.observe("mousewheel", function(evt) {
return _this.search_results_mousewheel(evt);
});
this.search_results.observe("DOMMouseScroll", function(evt) {
return _this.search_results_mousewheel(evt);
});
this.form_field.observe("liszt:updated", function(evt) {
return _this.results_update_field(evt);
});
this.form_field.observe("liszt:activate", function(evt) {
return _this.activate_field(evt);
});
this.form_field.observe("liszt:open", function(evt) {
return _this.container_mousedown(evt);
});
this.search_field.observe("blur", function(evt) {
return _this.input_blur(evt);
});
this.search_field.observe("keyup", function(evt) {
return _this.keyup_checker(evt);
});
this.search_field.observe("keydown", function(evt) {
return _this.keydown_checker(evt);
});
this.search_field.observe("focus", function(evt) {
return _this.input_focus(evt);
});
if (this.is_multiple) {
return this.search_choices.observe("click", function(evt) {
return _this.choices_click(evt);
});
} else {
return this.container.observe("click", function(evt) {
return evt.preventDefault();
});
}
};
Chosen.prototype.search_field_disabled = function() {
this.is_disabled = this.form_field.disabled;
if (this.is_disabled) {
this.container.addClassName('chzn-disabled');
this.search_field.disabled = true;
if (!this.is_multiple) {
this.selected_item.stopObserving("focus", this.activate_action);
}
return this.close_field();
} else {
this.container.removeClassName('chzn-disabled');
this.search_field.disabled = false;
if (!this.is_multiple) {
return this.selected_item.observe("focus", this.activate_action);
}
}
};
Chosen.prototype.container_mousedown = function(evt) {
if (!this.is_disabled) {
if (evt && evt.type === "mousedown" && !this.results_showing) {
evt.stop();
}
if (!((evt != null) && evt.target.hasClassName("search-choice-close"))) {
if (!this.active_field) {
if (this.is_multiple) {
this.search_field.clear();
}
document.observe("click", this.click_test_action);
this.results_show();
} else if (!this.is_multiple && evt && (evt.target === this.selected_item || evt.target.up("a.chzn-single"))) {
this.results_toggle();
}
return this.activate_field();
}
}
};
Chosen.prototype.container_mouseup = function(evt) {
if (evt.target.nodeName === "ABBR" && !this.is_disabled) {
return this.results_reset(evt);
}
};
Chosen.prototype.search_results_mousewheel = function(evt) {
var delta;
delta = -evt.wheelDelta || evt.detail;
if (delta != null) {
evt.preventDefault();
if (evt.type === 'DOMMouseScroll') {
delta = delta * 40;
}
return this.search_results.scrollTop = delta + this.search_results.scrollTop;
}
};
Chosen.prototype.blur_test = function(evt) {
if (!this.active_field && this.container.hasClassName("chzn-container-active")) {
return this.close_field();
}
};
Chosen.prototype.close_field = function() {
document.stopObserving("click", this.click_test_action);
this.active_field = false;
this.results_hide();
this.container.removeClassName("chzn-container-active");
this.winnow_results_clear();
this.clear_backstroke();
this.show_search_field_default();
return this.search_field_scale();
};
Chosen.prototype.activate_field = function() {
this.container.addClassName("chzn-container-active");
this.active_field = true;
this.search_field.value = this.search_field.value;
return this.search_field.focus();
};
Chosen.prototype.test_active_click = function(evt) {
if (evt.target.up('#' + this.container_id)) {
return this.active_field = true;
} else {
return this.close_field();
}
};
Chosen.prototype.results_build = function() {
var content, data, _i, _len, _ref1;
this.parsing = true;
this.selected_option_count = null;
this.results_data = root.SelectParser.select_to_array(this.form_field);
if (this.is_multiple && this.choices_count() > 0) {
this.search_choices.select("li.search-choice").invoke("remove");
} else if (!this.is_multiple) {
this.selected_item.addClassName("chzn-default").down("span").update(this.default_text);
if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
this.container.addClassName("chzn-container-single-nosearch");
} else {
this.container.removeClassName("chzn-container-single-nosearch");
}
}
content = '';
_ref1 = this.results_data;
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
data = _ref1[_i];
if (data.group) {
content += this.result_add_group(data);
} else if (!data.empty) {
content += this.result_add_option(data);
if (data.selected && this.is_multiple) {
this.choice_build(data);
} else if (data.selected && !this.is_multiple) {
this.selected_item.removeClassName("chzn-default").down("span").update(data.html);
if (this.allow_single_deselect) {
this.single_deselect_control_build();
}
}
}
}
this.search_field_disabled();
this.show_search_field_default();
this.search_field_scale();
this.search_results.update(content);
return this.parsing = false;
};
Chosen.prototype.result_add_group = function(group) {
if (!group.disabled) {
group.dom_id = this.container_id + "_g_" + group.array_index;
return '<li id="' + group.dom_id + '" class="group-result">' + group.label.escapeHTML() + '</li>';
} else {
return "";
}
};
Chosen.prototype.result_do_highlight = function(el) {
var high_bottom, high_top, maxHeight, visible_bottom, visible_top;
this.result_clear_highlight();
this.result_highlight = el;
this.result_highlight.addClassName("highlighted");
maxHeight = parseInt(this.search_results.getStyle('maxHeight'), 10);
visible_top = this.search_results.scrollTop;
visible_bottom = maxHeight + visible_top;
high_top = this.result_highlight.positionedOffset().top + this.search_results.scrollTop;
high_bottom = high_top + this.result_highlight.getHeight();
if (high_bottom >= visible_bottom) {
return this.search_results.scrollTop = (high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0;
} else if (high_top < visible_top) {
return this.search_results.scrollTop = high_top;
}
};
Chosen.prototype.result_clear_highlight = function() {
if (this.result_highlight) {
this.result_highlight.removeClassName('highlighted');
}
return this.result_highlight = null;
};
Chosen.prototype.results_show = function() {
if (this.result_single_selected != null) {
this.result_do_highlight(this.result_single_selected);
} else if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
this.form_field.fire("liszt:maxselected", {
chosen: this
});
return false;
}
this.container.addClassName("chzn-with-drop");
this.form_field.fire("liszt:showing_dropdown", {
chosen: this
});
this.results_showing = true;
this.search_field.focus();
this.search_field.value = this.search_field.value;
return this.winnow_results();
};
Chosen.prototype.results_hide = function() {
this.result_clear_highlight();
this.container.removeClassName("chzn-with-drop");
this.form_field.fire("liszt:hiding_dropdown", {
chosen: this
});
return this.results_showing = false;
};
Chosen.prototype.set_tab_index = function(el) {
var ti;
if (this.form_field.tabIndex) {
ti = this.form_field.tabIndex;
this.form_field.tabIndex = -1;
return this.search_field.tabIndex = ti;
}
};
Chosen.prototype.set_label_behavior = function() {
var _this = this;
this.form_field_label = this.form_field.up("label");
if (this.form_field_label == null) {
this.form_field_label = $$("label[for='" + this.form_field.id + "']").first();
}
if (this.form_field_label != null) {
return this.form_field_label.observe("click", function(evt) {
if (_this.is_multiple) {
return _this.container_mousedown(evt);
} else {
return _this.activate_field();
}
});
}
};
Chosen.prototype.show_search_field_default = function() {
if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {
this.search_field.value = this.default_text;
return this.search_field.addClassName("default");
} else {
this.search_field.value = "";
return this.search_field.removeClassName("default");
}
};
Chosen.prototype.search_results_mouseup = function(evt) {
var target;
target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result");
if (target) {
this.result_highlight = target;
this.result_select(evt);
return this.search_field.focus();
}
};
Chosen.prototype.search_results_mouseover = function(evt) {
var target;
target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result");
if (target) {
return this.result_do_highlight(target);
}
};
Chosen.prototype.search_results_mouseout = function(evt) {
if (evt.target.hasClassName('active-result') || evt.target.up('.active-result')) {
return this.result_clear_highlight();
}
};
Chosen.prototype.choice_build = function(item) {
var choice, close_link,
_this = this;
choice = new Element('li', {
"class": "search-choice"
}).update("<span>" + item.html + "</span>");
if (item.disabled) {
choice.addClassName('search-choice-disabled');
} else {
close_link = new Element('a', {
href: '#',
"class": 'search-choice-close',
rel: item.array_index
});
close_link.observe("click", function(evt) {
return _this.choice_destroy_link_click(evt);
});
choice.insert(close_link);
}
return this.search_container.insert({
before: choice
});
};
Chosen.prototype.choice_destroy_link_click = function(evt) {
evt.preventDefault();
evt.stopPropagation();
if (!this.is_disabled) {
return this.choice_destroy(evt.target);
}
};
Chosen.prototype.choice_destroy = function(link) {
if (this.result_deselect(link.readAttribute("rel"))) {
this.show_search_field_default();
if (this.is_multiple && this.choices_count() > 0 && this.search_field.value.length < 1) {
this.results_hide();
}
link.up('li').remove();
return this.search_field_scale();
}
};
Chosen.prototype.results_reset = function() {
this.form_field.options[0].selected = true;
this.selected_option_count = null;
this.selected_item.down("span").update(this.default_text);
if (!this.is_multiple) {
this.selected_item.addClassName("chzn-default");
}
this.show_search_field_default();
this.results_reset_cleanup();
if (typeof Event.simulate === 'function') {
this.form_field.simulate("change");
}
if (this.active_field) {
return this.results_hide();
}
};
Chosen.prototype.results_reset_cleanup = function() {
var deselect_trigger;
this.current_selectedIndex = this.form_field.selectedIndex;
deselect_trigger = this.selected_item.down("abbr");
if (deselect_trigger) {
return deselect_trigger.remove();
}
};
Chosen.prototype.result_select = function(evt) {
var high, item, position;
if (this.result_highlight) {
high = this.result_highlight;
this.result_clear_highlight();
if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
this.form_field.fire("liszt:maxselected", {
chosen: this
});
return false;
}
if (this.is_multiple) {
this.result_deactivate(high);
} else {
this.search_results.descendants(".result-selected").invoke("removeClassName", "result-selected");
this.selected_item.removeClassName("chzn-default");
this.result_single_selected = high;
}
high.addClassName("result-selected");
position = high.id.substr(high.id.lastIndexOf("_") + 1);
item = this.results_data[position];
item.selected = true;
this.form_field.options[item.options_index].selected = true;
this.selected_option_count = null;
if (this.is_multiple) {
this.choice_build(item);
} else {
this.selected_item.down("span").update(item.html);
if (this.allow_single_deselect) {
this.single_deselect_control_build();
}
}
if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {
this.results_hide();
}
this.search_field.value = "";
if (typeof Event.simulate === 'function' && (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex)) {
this.form_field.simulate("change");
}
this.current_selectedIndex = this.form_field.selectedIndex;
return this.search_field_scale();
}
};
Chosen.prototype.result_activate = function(el) {
return el.addClassName("active-result");
};
Chosen.prototype.result_deactivate = function(el) {
return el.removeClassName("active-result");
};
Chosen.prototype.result_deselect = function(pos) {
var result, result_data;
result_data = this.results_data[pos];
if (!this.form_field.options[result_data.options_index].disabled) {
result_data.selected = false;
this.form_field.options[result_data.options_index].selected = false;
this.selected_option_count = null;
result = $(this.container_id + "_o_" + pos);
result.removeClassName("result-selected").addClassName("active-result").show();
this.result_clear_highlight();
this.winnow_results();
if (typeof Event.simulate === 'function') {
this.form_field.simulate("change");
}
this.search_field_scale();
return true;
} else {
return false;
}
};
Chosen.prototype.single_deselect_control_build = function() {
if (!this.allow_single_deselect) {
return;
}
if (!this.selected_item.down("abbr")) {
this.selected_item.down("span").insert({
after: "<abbr class=\"search-choice-close\"></abbr>"
});
}
return this.selected_item.addClassName("chzn-single-with-deselect");
};
Chosen.prototype.winnow_results = function() {
var found, option, part, parts, regex, regexAnchor, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;
this.no_results_clear();
results = 0;
searchText = this.search_field.value === this.default_text ? "" : this.search_field.value.strip().escapeHTML();
regexAnchor = this.search_contains ? "" : "^";
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i');
_ref1 = this.results_data;
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
option = _ref1[_i];
if (!option.disabled && !option.empty) {
if (option.group) {
$(option.dom_id).hide();
} else if (!(this.is_multiple && option.selected)) {
found = false;
result_id = option.dom_id;
if (regex.test(option.html)) {
found = true;
results += 1;
} else if (this.enable_split_word_search && (option.html.indexOf(" ") >= 0 || option.html.indexOf("[") === 0)) {
parts = option.html.replace(/\[|\]/g, "").split(" ");
if (parts.length) {
for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {
part = parts[_j];
if (regex.test(part)) {
found = true;
results += 1;
}
}
}
}
if (found) {
if (searchText.length) {
startpos = option.html.search(zregex);
text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length);
text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
} else {
text = option.html;
}
if ($(result_id).innerHTML !== text) {
$(result_id).update(text);
}
this.result_activate($(result_id));
if (option.group_array_index != null) {
$(this.results_data[option.group_array_index].dom_id).setStyle({
display: 'list-item'
});
}
} else {
if ($(result_id) === this.result_highlight) {
this.result_clear_highlight();
}
this.result_deactivate($(result_id));
}
}
}
}
if (results < 1 && searchText.length) {
return this.no_results(searchText);
} else {
return this.winnow_results_set_highlight();
}
};
Chosen.prototype.winnow_results_clear = function() {
var li, lis, _i, _len, _results;
this.search_field.clear();
lis = this.search_results.select("li");
_results = [];
for (_i = 0, _len = lis.length; _i < _len; _i++) {
li = lis[_i];
if (li.hasClassName("group-result")) {
_results.push(li.show());
} else if (!this.is_multiple || !li.hasClassName("result-selected")) {
_results.push(this.result_activate(li));
} else {
_results.push(void 0);
}
}
return _results;
};
Chosen.prototype.winnow_results_set_highlight = function() {
var do_high;
if (!this.result_highlight) {
if (!this.is_multiple) {
do_high = this.search_results.down(".result-selected.active-result");
}
if (do_high == null) {
do_high = this.search_results.down(".active-result");
}
if (do_high != null) {
return this.result_do_highlight(do_high);
}
}
};
Chosen.prototype.no_results = function(terms) {
return this.search_results.insert(this.no_results_temp.evaluate({
terms: terms
}));
};
Chosen.prototype.no_results_clear = function() {
var nr, _results;
nr = null;
_results = [];
while (nr = this.search_results.down(".no-results")) {
_results.push(nr.remove());
}
return _results;
};
Chosen.prototype.keydown_arrow = function() {
var actives, nexts, sibs;
actives = this.search_results.select("li.active-result");
if (actives.length) {
if (!this.result_highlight) {
this.result_do_highlight(actives.first());
} else if (this.results_showing) {
sibs = this.result_highlight.nextSiblings();
nexts = sibs.intersect(actives);
if (nexts.length) {
this.result_do_highlight(nexts.first());
}
}
if (!this.results_showing) {
return this.results_show();
}
}
};
Chosen.prototype.keyup_arrow = function() {
var actives, prevs, sibs;
if (!this.results_showing && !this.is_multiple) {
return this.results_show();
} else if (this.result_highlight) {
sibs = this.result_highlight.previousSiblings();
actives = this.search_results.select("li.active-result");
prevs = sibs.intersect(actives);
if (prevs.length) {
return this.result_do_highlight(prevs.first());
} else {
if (this.choices_count() > 0) {
this.results_hide();
}
return this.result_clear_highlight();
}
}
};
Chosen.prototype.keydown_backstroke = function() {
var next_available_destroy;
if (this.pending_backstroke) {
this.choice_destroy(this.pending_backstroke.down("a"));
return this.clear_backstroke();
} else {
next_available_destroy = this.search_container.siblings().last();
if (next_available_destroy && next_available_destroy.hasClassName("search-choice") && !next_available_destroy.hasClassName("search-choice-disabled")) {
this.pending_backstroke = next_available_destroy;
if (this.pending_backstroke) {
this.pending_backstroke.addClassName("search-choice-focus");
}
if (this.single_backstroke_delete) {
return this.keydown_backstroke();
} else {
return this.pending_backstroke.addClassName("search-choice-focus");
}
}
}
};
Chosen.prototype.clear_backstroke = function() {
if (this.pending_backstroke) {
this.pending_backstroke.removeClassName("search-choice-focus");
}
return this.pending_backstroke = null;
};
Chosen.prototype.keydown_checker = function(evt) {
var stroke, _ref1;
stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
this.search_field_scale();
if (stroke !== 8 && this.pending_backstroke) {
this.clear_backstroke();
}
switch (stroke) {
case 8:
this.backstroke_length = this.search_field.value.length;
break;
case 9:
if (this.results_showing && !this.is_multiple) {
this.result_select(evt);
}
this.mouse_on_container = false;
break;
case 13:
evt.preventDefault();
break;
case 38:
evt.preventDefault();
this.keyup_arrow();
break;
case 40:
this.keydown_arrow();
break;
}
};
Chosen.prototype.search_field_scale = function() {
var div, h, style, style_block, styles, w, _i, _len;
if (this.is_multiple) {
h = 0;
w = 0;
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
for (_i = 0, _len = styles.length; _i < _len; _i++) {
style = styles[_i];
style_block += style + ":" + this.search_field.getStyle(style) + ";";
}
div = new Element('div', {
'style': style_block
}).update(this.search_field.value.escapeHTML());
document.body.appendChild(div);
w = Element.measure(div, 'width') + 25;
div.remove();
if (!this.f_width) {
this.f_width = this.container.getWidth();
}
if (w > this.f_width - 10) {
w = this.f_width - 10;
}
return this.search_field.setStyle({
'width': w + 'px'
});
}
};
return Chosen;
})(AbstractChosen);
root.Chosen = Chosen;
}).call(this);
// Chosen, a Select Box Enhancer for jQuery and Prototype
// by Patrick Filler for Harvest, http://getharvest.com
//
// Version 0.9.15
// Full source at https://github.com/harvesthq/chosen
// Copyright (c) 2011 Harvest http://getharvest.com
// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
// This file is generated by `cake build`, do not edit it by hand.
(function(){var e;e=function(){function e(){this.options_index=0,this.parsed=[]}return e.prototype.add_node=function(e){return e.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(e):this.add_option(e)},e.prototype.add_group=function(e){var t,n,r,i,s,o;t=this.parsed.length,this.parsed.push({array_index:t,group:!0,label:e.label,children:0,disabled:e.disabled}),s=e.childNodes,o=[];for(r=0,i=s.length;r<i;r++)n=s[r],o.push(this.add_option(n,t,e.disabled));return o},e.prototype.add_option=function(e,t,n){if(e.nodeName.toUpperCase()==="OPTION")return e.text!==""?(t!=null&&(this.parsed[t].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,selected:e.selected,disabled:n===!0?n:e.disabled,group_array_index:t,classes:e.className,style:e.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},e}(),e.select_to_array=function(t){var n,r,i,s,o;r=new e,o=t.childNodes;for(i=0,s=o.length;i<s;i++)n=o[i],r.add_node(n);return r.parsed},this.SelectParser=e}).call(this),function(){var e,t;t=this,e=function(){function e(t,n){this.form_field=t,this.options=n!=null?n:{};if(!e.browser_is_supported())return;this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.finish_setup()}return e.prototype.set_default_values=function(){var e=this;return this.click_test_action=function(t){return e.test_active_click(t)},this.activate_action=function(t){return e.activate_field(t)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=this.options.enable_split_word_search!=null?this.options.enable_split_word_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=this.options.single_backstroke_delete||!1,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1},e.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||e.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||e.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||e.default_no_result_text},e.prototype.mouse_enter=function(){return this.mouse_on_container=!0},e.prototype.mouse_leave=function(){return this.mouse_on_container=!1},e.prototype.input_focus=function(e){var t=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return t.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},e.prototype.input_blur=function(e){var t=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return t.blur_test()},100)},e.prototype.result_add_option=function(e){var t,n;return e.disabled?"":(e.dom_id=this.container_id+"_o_"+e.array_index,t=e.selected&&this.is_multiple?[]:["active-result"],e.selected&&t.push("result-selected"),e.group_array_index!=null&&t.push("group-option"),e.classes!==""&&t.push(e.classes),n=e.style.cssText!==""?' style="'+e.style+'"':"",'<li id="'+e.dom_id+'" class="'+t.join(" ")+'"'+n+">"+e.html+"</li>")},e.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},e.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},e.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()},e.prototype.choices_count=function(){var e,t,n,r;if(this.selected_option_count!=null)return this.selected_option_count;this.selected_option_count=0,r=this.form_field.options;for(t=0,n=r.length;t<n;t++)e=r[t],e.selected&&(this.selected_option_count+=1);return this.selected_option_count},e.prototype.choices_click=function(e){e.preventDefault();if(!this.results_showing)return this.results_show()},e.prototype.keyup_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale();switch(t){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:e.preventDefault();if(this.results_showing)return this.result_select(e);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},e.prototype.generate_field_id=function(){var e;return e=this.generate_random_id(),this.form_field.id=e,e},e.prototype.generate_random_char=function(){var e,t,n;return e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",n=Math.floor(Math.random()*e.length),t=e.substring(n,n+1)},e.prototype.container_width=function(){return this.options.width!=null?this.options.width:""+this.form_field.offsetWidth+"px"},e.browser_is_supported=function(){var e;return window.navigator.appName==="Microsoft Internet Explorer"?null!==(e=document.documentMode)&&e>=8:!0},e.default_multiple_text="Select Some Options",e.default_single_text="Select an Option",e.default_no_result_text="No results match",e}(),t.AbstractChosen=e}.call(this),function(){var e,t,n,r={}.hasOwnProperty,i=function(e,t){function i(){this.constructor=e}for(var n in t)r.call(t,n)&&(e[n]=t[n]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e};t=this,e=function(e){function r(){return n=r.__super__.constructor.apply(this,arguments),n}return i(r,e),r.prototype.setup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field.hasClassName("chzn-rtl")},r.prototype.finish_setup=function(){return this.form_field.addClassName("chzn-done")},r.prototype.set_default_values=function(){return r.__super__.set_default_values.call(this),this.single_temp=new Template('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>#{default}</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'),this.multi_temp=new Template('<ul class="chzn-choices"><li class="search-field"><input type="text" value="#{default}" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>'),this.no_results_temp=new Template('<li class="no-results">'+this.results_none_found+' "<span>#{terms}</span>"</li>')},r.prototype.set_up_html=function(){var e,t;return this.container_id=this.form_field.identify().replace(/[^\w]/g,"_")+"_chzn",e=["chzn-container"],e.push("chzn-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chzn-rtl"),t={id:this.container_id,"class":e.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.container=this.is_multiple?(new Element("div",t)).update(this.multi_temp.evaluate({"default":this.default_text})):(new Element("div",t)).update(this.single_temp.evaluate({"default":this.default_text})),this.form_field.hide().insert({after:this.container}),this.dropdown=this.container.down("div.chzn-drop"),this.search_field=this.container.down("input"),this.search_results=this.container.down("ul.chzn-results"),this.search_field_scale(),this.search_no_results=this.container.down("li.no-results"),this.is_multiple?(this.search_choices=this.container.down("ul.chzn-choices"),this.search_container=this.container.down("li.search-field")):(this.search_container=this.container.down("div.chzn-search"),this.selected_item=this.container.down(".chzn-single")),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field.fire("liszt:ready",{chosen:this})},r.prototype.register_observers=function(){var e=this;return this.container.observe("mousedown",function(t){return e.container_mousedown(t)}),this.container.observe("mouseup",function(t){return e.container_mouseup(t)}),this.container.observe("mouseenter",function(t){return e.mouse_enter(t)}),this.container.observe("mouseleave",function(t){return e.mouse_leave(t)}),this.search_results.observe("mouseup",function(t){return e.search_results_mouseup(t)}),this.search_results.observe("mouseover",function(t){return e.search_results_mouseover(t)}),this.search_results.observe("mouseout",function(t){return e.search_results_mouseout(t)}),this.search_results.observe("mousewheel",function(t){return e.search_results_mousewheel(t)}),this.search_results.observe("DOMMouseScroll",function(t){return e.search_results_mousewheel(t)}),this.form_field.observe("liszt:updated",function(t){return e.results_update_field(t)}),this.form_field.observe("liszt:activate",function(t){return e.activate_field(t)}),this.form_field.observe("liszt:open",function(t){return e.container_mousedown(t)}),this.search_field.observe("blur",function(t){return e.input_blur(t)}),this.search_field.observe("keyup",function(t){return e.keyup_checker(t)}),this.search_field.observe("keydown",function(t){return e.keydown_checker(t)}),this.search_field.observe("focus",function(t){return e.input_focus(t)}),this.is_multiple?this.search_choices.observe("click",function(t){return e.choices_click(t)}):this.container.observe("click",function(e){return e.preventDefault()})},r.prototype.search_field_disabled=function(){this.is_disabled=this.form_field.disabled;if(this.is_disabled)return this.container.addClassName("chzn-disabled"),this.search_field.disabled=!0,this.is_multiple||this.selected_item.stopObserving("focus",this.activate_action),this.close_field();this.container.removeClassName("chzn-disabled"),this.search_field.disabled=!1;if(!this.is_multiple)return this.selected_item.observe("focus",this.activate_action)},r.prototype.container_mousedown=function(e){if(!this.is_disabled){e&&e.type==="mousedown"&&!this.results_showing&&e.stop();if(e==null||!e.target.hasClassName("search-choice-close"))return this.active_field?!this.is_multiple&&e&&(e.target===this.selected_item||e.target.up("a.chzn-single"))&&this.results_toggle():(this.is_multiple&&this.search_field.clear(),document.observe("click",this.click_test_action),this.results_show()),this.activate_field()}},r.prototype.container_mouseup=function(e){if(e.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(e)},r.prototype.search_results_mousewheel=function(e){var t;t=-e.wheelDelta||e.detail;if(t!=null)return e.preventDefault(),e.type==="DOMMouseScroll"&&(t*=40),this.search_results.scrollTop=t+this.search_results.scrollTop},r.prototype.blur_test=function(e){if(!this.active_field&&this.container.hasClassName("chzn-container-active"))return this.close_field()},r.prototype.close_field=function(){return document.stopObserving("click",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClassName("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},r.prototype.activate_field=function(){return this.container.addClassName("chzn-container-active"),this.active_field=!0,this.search_field.value=this.search_field.value,this.search_field.focus()},r.prototype.test_active_click=function(e){return e.target.up("#"+this.container_id)?this.active_field=!0:this.close_field()},r.prototype.results_build=function(){var e,n,r,i,s;this.parsing=!0,this.selected_option_count=null,this.results_data=t.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices_count()>0?this.search_choices.select("li.search-choice").invoke("remove"):this.is_multiple||(this.selected_item.addClassName("chzn-default").down("span").update(this.default_text),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClassName("chzn-container-single-nosearch"):this.container.removeClassName("chzn-container-single-nosearch")),e="",s=this.results_data;for(r=0,i=s.length;r<i;r++)n=s[r],n.group?e+=this.result_add_group(n):n.empty||(e+=this.result_add_option(n),n.selected&&this.is_multiple?this.choice_build(n):n.selected&&!this.is_multiple&&(this.selected_item.removeClassName("chzn-default").down("span").update(n.html),this.allow_single_deselect&&this.single_deselect_control_build()));return this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.search_results.update(e),this.parsing=!1},r.prototype.result_add_group=function(e){return e.disabled?"":(e.dom_id=this.container_id+"_g_"+e.array_index,'<li id="'+e.dom_id+'" class="group-result">'+e.label.escapeHTML()+"</li>")},r.prototype.result_do_highlight=function(e){var t,n,r,i,s;this.result_clear_highlight(),this.result_highlight=e,this.result_highlight.addClassName("highlighted"),r=parseInt(this.search_results.getStyle("maxHeight"),10),s=this.search_results.scrollTop,i=r+s,n=this.result_highlight.positionedOffset().top+this.search_results.scrollTop,t=n+this.result_highlight.getHeight();if(t>=i)return this.search_results.scrollTop=t-r>0?t-r:0;if(n<s)return this.search_results.scrollTop=n},r.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClassName("highlighted"),this.result_highlight=null},r.prototype.results_show=function(){if(this.result_single_selected!=null)this.result_do_highlight(this.result_single_selected);else if(this.is_multiple&&this.max_selected_options<=this.choices_count())return this.form_field.fire("liszt:maxselected",{chosen:this}),!1;return this.container.addClassName("chzn-with-drop"),this.form_field.fire("liszt:showing_dropdown",{chosen:this}),this.results_showing=!0,this.search_field.focus(),this.search_field.value=this.search_field.value,this.winnow_results()},r.prototype.results_hide=function(){return this.result_clear_highlight(),this.container.removeClassName("chzn-with-drop"),this.form_field.fire("liszt:hiding_dropdown",{chosen:this}),this.results_showing=!1},r.prototype.set_tab_index=function(e){var t;if(this.form_field.tabIndex)return t=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field.tabIndex=t},r.prototype.set_label_behavior=function(){var e=this;this.form_field_label=this.form_field.up("label"),this.form_field_label==null&&(this.form_field_label=$$("label[for='"+this.form_field.id+"']").first());if(this.form_field_label!=null)return this.form_field_label.observe("click",function(t){return e.is_multiple?e.container_mousedown(t):e.activate_field()})},r.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.value=this.default_text,this.search_field.addClassName("default")):(this.search_field.value="",this.search_field.removeClassName("default"))},r.prototype.search_results_mouseup=function(e){var t;t=e.target.hasClassName("active-result")?e.target:e.target.up(".active-result");if(t)return this.result_highlight=t,this.result_select(e),this.search_field.focus()},r.prototype.search_results_mouseover=function(e){var t;t=e.target.hasClassName("active-result")?e.target:e.target.up(".active-result");if(t)return this.result_do_highlight(t)},r.prototype.search_results_mouseout=function(e){if(e.target.hasClassName("active-result")||e.target.up(".active-result"))return this.result_clear_highlight()},r.prototype.choice_build=function(e){var t,n,r=this;return t=(new Element("li",{"class":"search-choice"})).update("<span>"+e.html+"</span>"),e.disabled?t.addClassName("search-choice-disabled"):(n=new Element("a",{href:"#","class":"search-choice-close",rel:e.array_index}),n.observe("click",function(e){return r.choice_destroy_link_click(e)}),t.insert(n)),this.search_container.insert({before:t})},r.prototype.choice_destroy_link_click=function(e){e.preventDefault(),e.stopPropagation();if(!this.is_disabled)return this.choice_destroy(e.target)},r.prototype.choice_destroy=function(e){if(this.result_deselect(e.readAttribute("rel")))return this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.value.length<1&&this.results_hide(),e.up("li").remove(),this.search_field_scale()},r.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_option_count=null,this.selected_item.down("span").update(this.default_text),this.is_multiple||this.selected_item.addClassName("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),typeof Event.simulate=="function"&&this.form_field.simulate("change");if(this.active_field)return this.results_hide()},r.prototype.results_reset_cleanup=function(){var e;this.current_selectedIndex=this.form_field.selectedIndex,e=this.selected_item.down("abbr");if(e)return e.remove()},r.prototype.result_select=function(e){var t,n,r;if(this.result_highlight)return t=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field.fire("liszt:maxselected",{chosen:this}),!1):(this.is_multiple?this.result_deactivate(t):(this.search_results.descendants(".result-selected").invoke("removeClassName","result-selected"),this.selected_item.removeClassName("chzn-default"),this.result_single_selected=t),t.addClassName("result-selected"),r=t.id.substr(t.id.lastIndexOf("_")+1),n=this.results_data[r],n.selected=!0,this.form_field.options[n.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(n):(this.selected_item.down("span").update(n.html),this.allow_single_deselect&&this.single_deselect_control_build()),(!e.metaKey&&!e.ctrlKey||!this.is_multiple)&&this.results_hide(),this.search_field.value="",typeof Event.simulate=="function"&&(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field.simulate("change"),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())},r.prototype.result_activate=function(e){return e.addClassName("active-result")},r.prototype.result_deactivate=function(e){return e.removeClassName("active-result")},r.prototype.result_deselect=function(e){var t,n;return n=this.results_data[e],this.form_field.options[n.options_index].disabled?!1:(n.selected=!1,this.form_field.options[n.options_index].selected=!1,this.selected_option_count=null,t=$(this.container_id+"_o_"+e),t.removeClassName("result-selected").addClassName("active-result").show(),this.result_clear_highlight(),this.winnow_results(),typeof Event.simulate=="function"&&this.form_field.simulate("change"),this.search_field_scale(),!0)},r.prototype.single_deselect_control_build=function(){if(!this.allow_single_deselect)return;return this.selected_item.down("abbr")||this.selected_item.down("span").insert({after:'<abbr class="search-choice-close"></abbr>'}),this.selected_item.addClassName("chzn-single-with-deselect")},r.prototype.winnow_results=function(){var e,t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;this.no_results_clear(),u=0,a=this.search_field.value===this.default_text?"":this.search_field.value.strip().escapeHTML(),s=this.search_contains?"":"^",i=new RegExp(s+a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),c=new RegExp(a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),m=this.results_data;for(h=0,d=m.length;h<d;h++){t=m[h];if(!t.disabled&&!t.empty)if(t.group)$(t.dom_id).hide();else if(!this.is_multiple||!t.selected){e=!1,o=t.dom_id;if(i.test(t.html))e=!0,u+=1;else if(this.enable_split_word_search&&(t.html.indexOf(" ")>=0||t.html.indexOf("[")===0)){r=t.html.replace(/\[|\]/g,"").split(" ");if(r.length)for(p=0,v=r.length;p<v;p++)n=r[p],i.test(n)&&(e=!0,u+=1)}e?(a.length?(f=t.html.search(c),l=t.html.substr(0,f+a.length)+"</em>"+t.html.substr(f+a.length),l=l.substr(0,f)+"<em>"+l.substr(f)):l=t.html,$(o).innerHTML!==l&&$(o).update(l),this.result_activate($(o)),t.group_array_index!=null&&$(this.results_data[t.group_array_index].dom_id).setStyle({display:"list-item"})):($(o)===this.result_highlight&&this.result_clear_highlight(),this.result_deactivate($(o)))}}return u<1&&a.length?this.no_results(a):this.winnow_results_set_highlight()},r.prototype.winnow_results_clear=function(){var e,t,n,r,i;this.search_field.clear(),t=this.search_results.select("li"),i=[];for(n=0,r=t.length;n<r;n++)e=t[n],e.hasClassName("group-result")?i.push(e.show()):!this.is_multiple||!e.hasClassName("result-selected")?i.push(this.result_activate(e)):i.push(void 0);return i},r.prototype.winnow_results_set_highlight=function(){var e;if(!this.result_highlight){this.is_multiple||(e=this.search_results.down(".result-selected.active-result")),e==null&&(e=this.search_results.down(".active-result"));if(e!=null)return this.result_do_highlight(e)}},r.prototype.no_results=function(e){return this.search_results.insert(this.no_results_temp.evaluate({terms:e}))},r.prototype.no_results_clear=function(){var e,t;e=null,t=[];while(e=this.search_results.down(".no-results"))t.push(e.remove());return t},r.prototype.keydown_arrow=function(){var e,t,n;e=this.search_results.select("li.active-result");if(e.length){this.result_highlight?this.results_showing&&(n=this.result_highlight.nextSiblings(),t=n.intersect(e),t.length&&this.result_do_highlight(t.first())):this.result_do_highlight(e.first());if(!this.results_showing)return this.results_show()}},r.prototype.keyup_arrow=function(){var e,t,n;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return n=this.result_highlight.previousSiblings(),e=this.search_results.select("li.active-result"),t=n.intersect(e),t.length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())},r.prototype.keydown_backstroke=function(){var e;if(this.pending_backstroke)return this.choice_destroy(this.pending_backstroke.down("a")),this.clear_backstroke();e=this.search_container.siblings().last();if(e&&e.hasClassName("search-choice")&&!e.hasClassName("search-choice-disabled"))return this.pending_backstroke=e,this.pending_backstroke&&this.pending_backstroke.addClassName("search-choice-focus"),this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClassName("search-choice-focus")},r.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClassName("search-choice-focus"),this.pending_backstroke=null},r.prototype.keydown_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale(),t!==8&&this.pending_backstroke&&this.clear_backstroke();switch(t){case 8:this.backstroke_length=this.search_field.value.length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e),this.mouse_on_container=!1;break;case 13:e.preventDefault();break;case 38:e.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},r.prototype.search_field_scale=function(){var e,t,n,r,i,s,o,u;if(this.is_multiple){t=0,s=0,r="position:absolute; left: -1000px; top: -1000px; display:none;",i=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(o=0,u=i.length;o<u;o++)n=i[o],r+=n+":"+this.search_field.getStyle(n)+";";return e=(new Element("div",{style:r})).update(this.search_field.value.escapeHTML()),document.body.appendChild(e),s=Element.measure(e,"width")+25,e.remove(),this.f_width||(this.f_width=this.container.getWidth()),s>this.f_width-10&&(s=this.f_width-10),this.search_field.setStyle({width:s+"px"})}},r}(AbstractChosen),t.Chosen=e}.call(this);
###
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
###
root = this
$ = jQuery
$.fn.extend({
chosen: (options) ->
# Do no harm and return as soon as possible for unsupported browsers, namely IE6 and IE7
# Continue on if running IE document type but in compatibility mode
return this unless AbstractChosen.browser_is_supported()
this.each((input_field) ->
$this = $ this
$this.data('chosen', new Chosen(this, options)) unless $this.hasClass "chzn-done"
)
})
class Chosen extends AbstractChosen
setup: ->
@form_field_jq = $ @form_field
@current_selectedIndex = @form_field.selectedIndex
@is_rtl = @form_field_jq.hasClass "chzn-rtl"
finish_setup: ->
@form_field_jq.addClass "chzn-done"
set_up_html: ->
@container_id = if @form_field.id.length then @form_field.id.replace(/[^\w]/g, '_') else this.generate_field_id()
@container_id += "_chzn"
container_classes = ["chzn-container"]
container_classes.push "chzn-container-" + (if @is_multiple then "multi" else "single")
container_classes.push @form_field.className if @inherit_select_classes && @form_field.className
container_classes.push "chzn-rtl" if @is_rtl
container_props =
'id': @container_id
'class': container_classes.join ' '
'style': "width: #{this.container_width()};"
'title': @form_field.title
@container = ($ "<div />", container_props)
if @is_multiple
@container.html '<ul class="chzn-choices"><li class="search-field"><input type="text" value="' + @default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>'
else
@container.html '<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>' + @default_text + '</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>'
@form_field_jq.hide().after @container
@dropdown = @container.find('div.chzn-drop').first()
@search_field = @container.find('input').first()
@search_results = @container.find('ul.chzn-results').first()
this.search_field_scale()
@search_no_results = @container.find('li.no-results').first()
if @is_multiple
@search_choices = @container.find('ul.chzn-choices').first()
@search_container = @container.find('li.search-field').first()
else
@search_container = @container.find('div.chzn-search').first()
@selected_item = @container.find('.chzn-single').first()
this.results_build()
this.set_tab_index()
this.set_label_behavior()
@form_field_jq.trigger("liszt:ready", {chosen: this})
register_observers: ->
@container.mousedown (evt) => this.container_mousedown(evt); return
@container.mouseup (evt) => this.container_mouseup(evt); return
@container.mouseenter (evt) => this.mouse_enter(evt); return
@container.mouseleave (evt) => this.mouse_leave(evt); return
@search_results.mouseup (evt) => this.search_results_mouseup(evt); return
@search_results.mouseover (evt) => this.search_results_mouseover(evt); return
@search_results.mouseout (evt) => this.search_results_mouseout(evt); return
@search_results.bind 'mousewheel DOMMouseScroll', (evt) => this.search_results_mousewheel(evt); return
@form_field_jq.bind "liszt:updated", (evt) => this.results_update_field(evt); return
@form_field_jq.bind "liszt:activate", (evt) => this.activate_field(evt); return
@form_field_jq.bind "liszt:open", (evt) => this.container_mousedown(evt); return
@search_field.blur (evt) => this.input_blur(evt); return
@search_field.keyup (evt) => this.keyup_checker(evt); return
@search_field.keydown (evt) => this.keydown_checker(evt); return
@search_field.focus (evt) => this.input_focus(evt); return
if @is_multiple
@search_choices.click (evt) => this.choices_click(evt); return
else
@container.click (evt) => evt.preventDefault(); return # gobble click of anchor
search_field_disabled: ->
@is_disabled = @form_field_jq[0].disabled
if(@is_disabled)
@container.addClass 'chzn-disabled'
@search_field[0].disabled = true
@selected_item.unbind "focus", @activate_action if !@is_multiple
this.close_field()
else
@container.removeClass 'chzn-disabled'
@search_field[0].disabled = false
@selected_item.bind "focus", @activate_action if !@is_multiple
container_mousedown: (evt) ->
if !@is_disabled
if evt and evt.type is "mousedown" and not @results_showing
evt.preventDefault()
if not (evt? and ($ evt.target).hasClass "search-choice-close")
if not @active_field
@search_field.val "" if @is_multiple
$(document).click @click_test_action
this.results_show()
else if not @is_multiple and evt and (($(evt.target)[0] == @selected_item[0]) || $(evt.target).parents("a.chzn-single").length)
evt.preventDefault()
this.results_toggle()
this.activate_field()
container_mouseup: (evt) ->
this.results_reset(evt) if evt.target.nodeName is "ABBR" and not @is_disabled
search_results_mousewheel: (evt) ->
delta = -evt.originalEvent?.wheelDelta or evt.originialEvent?.detail
if delta?
evt.preventDefault()
delta = delta * 40 if evt.type is 'DOMMouseScroll'
@search_results.scrollTop(delta + @search_results.scrollTop())
blur_test: (evt) ->
this.close_field() if not @active_field and @container.hasClass "chzn-container-active"
close_field: ->
$(document).unbind "click", @click_test_action
@active_field = false
this.results_hide()
@container.removeClass "chzn-container-active"
this.winnow_results_clear()
this.clear_backstroke()
this.show_search_field_default()
this.search_field_scale()
activate_field: ->
@container.addClass "chzn-container-active"
@active_field = true
@search_field.val(@search_field.val())
@search_field.focus()
test_active_click: (evt) ->
if $(evt.target).parents('#' + @container_id).length
@active_field = true
else
this.close_field()
results_build: ->
@parsing = true
@selected_option_count = null
@results_data = root.SelectParser.select_to_array @form_field
if @is_multiple and this.choices_count() > 0
@search_choices.find("li.search-choice").remove()
else if not @is_multiple
@selected_item.addClass("chzn-default").find("span").text(@default_text)
if @disable_search or @form_field.options.length <= @disable_search_threshold
@container.addClass "chzn-container-single-nosearch"
else
@container.removeClass "chzn-container-single-nosearch"
content = ''
for data in @results_data
if data.group
content += this.result_add_group data
else if !data.empty
content += this.result_add_option data
if data.selected and @is_multiple
this.choice_build data
else if data.selected and not @is_multiple
@selected_item.removeClass("chzn-default").find("span").text data.text
this.single_deselect_control_build() if @allow_single_deselect
this.search_field_disabled()
this.show_search_field_default()
this.search_field_scale()
@search_results.html content
@parsing = false
result_add_group: (group) ->
if not group.disabled
group.dom_id = @container_id + "_g_" + group.array_index
'<li id="' + group.dom_id + '" class="group-result">' + $("<div />").text(group.label).html() + '</li>'
else
""
result_do_highlight: (el) ->
if el.length
this.result_clear_highlight()
@result_highlight = el
@result_highlight.addClass "highlighted"
maxHeight = parseInt @search_results.css("maxHeight"), 10
visible_top = @search_results.scrollTop()
visible_bottom = maxHeight + visible_top
high_top = @result_highlight.position().top + @search_results.scrollTop()
high_bottom = high_top + @result_highlight.outerHeight()
if high_bottom >= visible_bottom
@search_results.scrollTop if (high_bottom - maxHeight) > 0 then (high_bottom - maxHeight) else 0
else if high_top < visible_top
@search_results.scrollTop high_top
result_clear_highlight: ->
@result_highlight.removeClass "highlighted" if @result_highlight
@result_highlight = null
results_show: ->
if @result_single_selected?
this.result_do_highlight @result_single_selected
else if @is_multiple and @max_selected_options <= this.choices_count()
@form_field_jq.trigger("liszt:maxselected", {chosen: this})
return false
@container.addClass "chzn-with-drop"
@form_field_jq.trigger("liszt:showing_dropdown", {chosen: this})
@results_showing = true
@search_field.focus()
@search_field.val @search_field.val()
this.winnow_results()
results_hide: ->
this.result_clear_highlight()
@container.removeClass "chzn-with-drop"
@form_field_jq.trigger("liszt:hiding_dropdown", {chosen: this})
@results_showing = false
set_tab_index: (el) ->
if @form_field_jq.attr "tabindex"
ti = @form_field_jq.attr "tabindex"
@form_field_jq.attr "tabindex", -1
@search_field.attr "tabindex", ti
set_label_behavior: ->
@form_field_label = @form_field_jq.parents("label") # first check for a parent label
if not @form_field_label.length and @form_field.id.length
@form_field_label = $("label[for='#{@form_field.id}']") #next check for a for=#{id}
if @form_field_label.length > 0
@form_field_label.click (evt) => if @is_multiple then this.container_mousedown(evt) else this.activate_field()
show_search_field_default: ->
if @is_multiple and this.choices_count() < 1 and not @active_field
@search_field.val(@default_text)
@search_field.addClass "default"
else
@search_field.val("")
@search_field.removeClass "default"
search_results_mouseup: (evt) ->
target = if $(evt.target).hasClass "active-result" then $(evt.target) else $(evt.target).parents(".active-result").first()
if target.length
@result_highlight = target
this.result_select(evt)
@search_field.focus()
search_results_mouseover: (evt) ->
target = if $(evt.target).hasClass "active-result" then $(evt.target) else $(evt.target).parents(".active-result").first()
this.result_do_highlight( target ) if target
search_results_mouseout: (evt) ->
this.result_clear_highlight() if $(evt.target).hasClass "active-result" or $(evt.target).parents('.active-result').first()
choice_build: (item) ->
choice = $('<li />', { class: "search-choice" }).html("<span>#{item.html}</span>")
if item.disabled
choice.addClass 'search-choice-disabled'
else
close_link = $('<a />', { href: '#', class: 'search-choice-close', rel: item.array_index })
close_link.click (evt) => this.choice_destroy_link_click(evt)
choice.append close_link
@search_container.before choice
choice_destroy_link_click: (evt) ->
evt.preventDefault()
evt.stopPropagation()
this.choice_destroy $(evt.target) unless @is_disabled
choice_destroy: (link) ->
if this.result_deselect (link.attr "rel")
this.show_search_field_default()
this.results_hide() if @is_multiple and this.choices_count() > 0 and @search_field.val().length < 1
link.parents('li').first().remove()
this.search_field_scale()
results_reset: ->
@form_field.options[0].selected = true
@selected_option_count = null
@selected_item.find("span").text @default_text
@selected_item.addClass("chzn-default") if not @is_multiple
this.show_search_field_default()
this.results_reset_cleanup()
@form_field_jq.trigger "change"
this.results_hide() if @active_field
results_reset_cleanup: ->
@current_selectedIndex = @form_field.selectedIndex
@selected_item.find("abbr").remove()
result_select: (evt) ->
if @result_highlight
high = @result_highlight
high_id = high.attr "id"
this.result_clear_highlight()
if @is_multiple and @max_selected_options <= this.choices_count()
@form_field_jq.trigger("liszt:maxselected", {chosen: this})
return false
if @is_multiple
this.result_deactivate high
else
@search_results.find(".result-selected").removeClass "result-selected"
@result_single_selected = high
@selected_item.removeClass("chzn-default")
high.addClass "result-selected"
position = high_id.substr(high_id.lastIndexOf("_") + 1 )
item = @results_data[position]
item.selected = true
@form_field.options[item.options_index].selected = true
@selected_option_count = null
if @is_multiple
this.choice_build item
else
@selected_item.find("span").first().text item.text
this.single_deselect_control_build() if @allow_single_deselect
this.results_hide() unless (evt.metaKey or evt.ctrlKey) and @is_multiple
@search_field.val ""
@form_field_jq.trigger "change", {'selected': @form_field.options[item.options_index].value} if @is_multiple || @form_field.selectedIndex != @current_selectedIndex
@current_selectedIndex = @form_field.selectedIndex
this.search_field_scale()
result_activate: (el) ->
el.addClass("active-result")
result_deactivate: (el) ->
el.removeClass("active-result")
result_deselect: (pos) ->
result_data = @results_data[pos]
if not @form_field.options[result_data.options_index].disabled
result_data.selected = false
@form_field.options[result_data.options_index].selected = false
@selected_option_count = null
result = $("#" + @container_id + "_o_" + pos)
result.removeClass("result-selected").addClass("active-result").show()
this.result_clear_highlight()
this.winnow_results()
@form_field_jq.trigger "change", {deselected: @form_field.options[result_data.options_index].value}
this.search_field_scale()
return true
else
return false
single_deselect_control_build: ->
return unless @allow_single_deselect
@selected_item.find("span").first().after "<abbr class=\"search-choice-close\"></abbr>" unless @selected_item.find("abbr").length
@selected_item.addClass("chzn-single-with-deselect")
winnow_results: ->
this.no_results_clear()
results = 0
searchText = if @search_field.val() is @default_text then "" else $('<div/>').text($.trim(@search_field.val())).html()
regexAnchor = if @search_contains then "" else "^"
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
for option in @results_data
if not option.disabled and not option.empty
if option.group
$('#' + option.dom_id).css('display', 'none')
else if not (@is_multiple and option.selected)
found = false
result_id = option.dom_id
result = $("#" + result_id)
if regex.test option.html
found = true
results += 1
else if @enable_split_word_search and (option.html.indexOf(" ") >= 0 or option.html.indexOf("[") == 0)
#TODO: replace this substitution of /\[\]/ with a list of characters to skip.
parts = option.html.replace(/\[|\]/g, "").split(" ")
if parts.length
for part in parts
if regex.test part
found = true
results += 1
if found
if searchText.length
startpos = option.html.search zregex
text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length)
text = text.substr(0, startpos) + '<em>' + text.substr(startpos)
else
text = option.html
result.html(text)
this.result_activate result
$("#" + @results_data[option.group_array_index].dom_id).css('display', 'list-item') if option.group_array_index?
else
this.result_clear_highlight() if @result_highlight and result_id is @result_highlight.attr 'id'
this.result_deactivate result
if results < 1 and searchText.length
this.no_results searchText
else
this.winnow_results_set_highlight()
winnow_results_clear: ->
@search_field.val ""
lis = @search_results.find("li")
for li in lis
li = $(li)
if li.hasClass "group-result"
li.css('display', 'auto')
else if not @is_multiple or not li.hasClass "result-selected"
this.result_activate li
winnow_results_set_highlight: ->
if not @result_highlight
selected_results = if not @is_multiple then @search_results.find(".result-selected.active-result") else []
do_high = if selected_results.length then selected_results.first() else @search_results.find(".active-result").first()
this.result_do_highlight do_high if do_high?
no_results: (terms) ->
no_results_html = $('<li class="no-results">' + @results_none_found + ' "<span></span>"</li>')
no_results_html.find("span").first().html(terms)
@search_results.append no_results_html
no_results_clear: ->
@search_results.find(".no-results").remove()
keydown_arrow: ->
if not @result_highlight
first_active = @search_results.find("li.active-result").first()
this.result_do_highlight $(first_active) if first_active
else if @results_showing
next_sib = @result_highlight.nextAll("li.active-result").first()
this.result_do_highlight next_sib if next_sib
this.results_show() if not @results_showing
keyup_arrow: ->
if not @results_showing and not @is_multiple
this.results_show()
else if @result_highlight
prev_sibs = @result_highlight.prevAll("li.active-result")
if prev_sibs.length
this.result_do_highlight prev_sibs.first()
else
this.results_hide() if this.choices_count() > 0
this.result_clear_highlight()
keydown_backstroke: ->
if @pending_backstroke
this.choice_destroy @pending_backstroke.find("a").first()
this.clear_backstroke()
else
next_available_destroy = @search_container.siblings("li.search-choice").last()
if next_available_destroy.length and not next_available_destroy.hasClass("search-choice-disabled")
@pending_backstroke = next_available_destroy
if @single_backstroke_delete
@keydown_backstroke()
else
@pending_backstroke.addClass "search-choice-focus"
clear_backstroke: ->
@pending_backstroke.removeClass "search-choice-focus" if @pending_backstroke
@pending_backstroke = null
keydown_checker: (evt) ->
stroke = evt.which ? evt.keyCode
this.search_field_scale()
this.clear_backstroke() if stroke != 8 and this.pending_backstroke
switch stroke
when 8
@backstroke_length = this.search_field.val().length
break
when 9
this.result_select(evt) if this.results_showing and not @is_multiple
@mouse_on_container = false
break
when 13
evt.preventDefault()
break
when 38
evt.preventDefault()
this.keyup_arrow()
break
when 40
this.keydown_arrow()
break
search_field_scale: ->
if @is_multiple
h = 0
w = 0
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"
styles = ['font-size','font-style', 'font-weight', 'font-family','line-height', 'text-transform', 'letter-spacing']
for style in styles
style_block += style + ":" + @search_field.css(style) + ";"
div = $('<div />', { 'style' : style_block })
div.text @search_field.val()
$('body').append div
w = div.width() + 25
div.remove()
@f_width = @container.outerWidth() unless @f_width
if( w > @f_width-10 )
w = @f_width - 10
@search_field.css({'width': w + 'px'})
generate_random_id: ->
string = "sel" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char()
while $("#" + string).length > 0
string += this.generate_random_char()
string
root.Chosen = Chosen
###
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
###
root = this
class Chosen extends AbstractChosen
setup: ->
@current_selectedIndex = @form_field.selectedIndex
@is_rtl = @form_field.hasClassName "chzn-rtl"
finish_setup: ->
@form_field.addClassName "chzn-done"
set_default_values: ->
super()
# HTML Templates
@single_temp = new Template('<a href="javascript:void(0)" class="chzn-single chzn-default" tabindex="-1"><span>#{default}</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" /></div><ul class="chzn-results"></ul></div>')
@multi_temp = new Template('<ul class="chzn-choices"><li class="search-field"><input type="text" value="#{default}" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop"><ul class="chzn-results"></ul></div>')
@no_results_temp = new Template('<li class="no-results">' + @results_none_found + ' "<span>#{terms}</span>"</li>')
set_up_html: ->
@container_id = @form_field.identify().replace(/[^\w]/g, '_') + "_chzn"
container_classes = ["chzn-container"]
container_classes.push "chzn-container-" + (if @is_multiple then "multi" else "single")
container_classes.push @form_field.className if @inherit_select_classes && @form_field.className
container_classes.push "chzn-rtl" if @is_rtl
container_props =
'id': @container_id
'class': container_classes.join ' '
'style': "width: #{this.container_width()};"
'title': @form_field.title
@container = if @is_multiple then new Element('div', container_props).update( @multi_temp.evaluate({ "default": @default_text}) ) else new Element('div', container_props).update( @single_temp.evaluate({ "default":@default_text }) )
@form_field.hide().insert({ after: @container })
@dropdown = @container.down('div.chzn-drop')
@search_field = @container.down('input')
@search_results = @container.down('ul.chzn-results')
this.search_field_scale()
@search_no_results = @container.down('li.no-results')
if @is_multiple
@search_choices = @container.down('ul.chzn-choices')
@search_container = @container.down('li.search-field')
else
@search_container = @container.down('div.chzn-search')
@selected_item = @container.down('.chzn-single')
this.results_build()
this.set_tab_index()
this.set_label_behavior()
@form_field.fire("liszt:ready", {chosen: this})
register_observers: ->
@container.observe "mousedown", (evt) => this.container_mousedown(evt)
@container.observe "mouseup", (evt) => this.container_mouseup(evt)
@container.observe "mouseenter", (evt) => this.mouse_enter(evt)
@container.observe "mouseleave", (evt) => this.mouse_leave(evt)
@search_results.observe "mouseup", (evt) => this.search_results_mouseup(evt)
@search_results.observe "mouseover", (evt) => this.search_results_mouseover(evt)
@search_results.observe "mouseout", (evt) => this.search_results_mouseout(evt)
@search_results.observe "mousewheel", (evt) => this.search_results_mousewheel(evt)
@search_results.observe "DOMMouseScroll", (evt) => this.search_results_mousewheel(evt)
@form_field.observe "liszt:updated", (evt) => this.results_update_field(evt)
@form_field.observe "liszt:activate", (evt) => this.activate_field(evt)
@form_field.observe "liszt:open", (evt) => this.container_mousedown(evt)
@search_field.observe "blur", (evt) => this.input_blur(evt)
@search_field.observe "keyup", (evt) => this.keyup_checker(evt)
@search_field.observe "keydown", (evt) => this.keydown_checker(evt)
@search_field.observe "focus", (evt) => this.input_focus(evt)
if @is_multiple
@search_choices.observe "click", (evt) => this.choices_click(evt)
else
@container.observe "click", (evt) => evt.preventDefault() # gobble click of anchor
search_field_disabled: ->
@is_disabled = @form_field.disabled
if(@is_disabled)
@container.addClassName 'chzn-disabled'
@search_field.disabled = true
@selected_item.stopObserving "focus", @activate_action if !@is_multiple
this.close_field()
else
@container.removeClassName 'chzn-disabled'
@search_field.disabled = false
@selected_item.observe "focus", @activate_action if !@is_multiple
container_mousedown: (evt) ->
if !@is_disabled
if evt and evt.type is "mousedown" and not @results_showing
evt.stop()
if not (evt? and evt.target.hasClassName "search-choice-close")
if not @active_field
@search_field.clear() if @is_multiple
document.observe "click", @click_test_action
this.results_show()
else if not @is_multiple and evt and (evt.target is @selected_item || evt.target.up("a.chzn-single"))
this.results_toggle()
this.activate_field()
container_mouseup: (evt) ->
this.results_reset(evt) if evt.target.nodeName is "ABBR" and not @is_disabled
search_results_mousewheel: (evt) ->
delta = -evt.wheelDelta or evt.detail
if delta?
evt.preventDefault()
delta = delta * 40 if evt.type is 'DOMMouseScroll'
@search_results.scrollTop = delta + @search_results.scrollTop
blur_test: (evt) ->
this.close_field() if not @active_field and @container.hasClassName("chzn-container-active")
close_field: ->
document.stopObserving "click", @click_test_action
@active_field = false
this.results_hide()
@container.removeClassName "chzn-container-active"
this.winnow_results_clear()
this.clear_backstroke()
this.show_search_field_default()
this.search_field_scale()
activate_field: ->
@container.addClassName "chzn-container-active"
@active_field = true
@search_field.value = @search_field.value
@search_field.focus()
test_active_click: (evt) ->
if evt.target.up('#' + @container_id)
@active_field = true
else
this.close_field()
results_build: ->
@parsing = true
@selected_option_count = null
@results_data = root.SelectParser.select_to_array @form_field
if @is_multiple and this.choices_count() > 0
@search_choices.select("li.search-choice").invoke("remove")
else if not @is_multiple
@selected_item.addClassName("chzn-default").down("span").update(@default_text)
if @disable_search or @form_field.options.length <= @disable_search_threshold
@container.addClassName "chzn-container-single-nosearch"
else
@container.removeClassName "chzn-container-single-nosearch"
content = ''
for data in @results_data
if data.group
content += this.result_add_group data
else if !data.empty
content += this.result_add_option data
if data.selected and @is_multiple
this.choice_build data
else if data.selected and not @is_multiple
@selected_item.removeClassName("chzn-default").down("span").update( data.html )
this.single_deselect_control_build() if @allow_single_deselect
this.search_field_disabled()
this.show_search_field_default()
this.search_field_scale()
@search_results.update content
@parsing = false
result_add_group: (group) ->
if not group.disabled
group.dom_id = @container_id + "_g_" + group.array_index
'<li id="' + group.dom_id + '" class="group-result">' + group.label.escapeHTML() + '</li>'
else
""
result_do_highlight: (el) ->
this.result_clear_highlight()
@result_highlight = el
@result_highlight.addClassName "highlighted"
maxHeight = parseInt @search_results.getStyle('maxHeight'), 10
visible_top = @search_results.scrollTop
visible_bottom = maxHeight + visible_top
high_top = @result_highlight.positionedOffset().top + @search_results.scrollTop
high_bottom = high_top + @result_highlight.getHeight()
if high_bottom >= visible_bottom
@search_results.scrollTop = if (high_bottom - maxHeight) > 0 then (high_bottom - maxHeight) else 0
else if high_top < visible_top
@search_results.scrollTop = high_top
result_clear_highlight: ->
@result_highlight.removeClassName('highlighted') if @result_highlight
@result_highlight = null
results_show: ->
if @result_single_selected?
this.result_do_highlight @result_single_selected
else if @is_multiple and @max_selected_options <= this.choices_count()
@form_field.fire("liszt:maxselected", {chosen: this})
return false
@container.addClassName "chzn-with-drop"
@form_field.fire("liszt:showing_dropdown", {chosen: this})
@results_showing = true
@search_field.focus()
@search_field.value = @search_field.value
this.winnow_results()
results_hide: ->
this.result_clear_highlight()
@container.removeClassName "chzn-with-drop"
@form_field.fire("liszt:hiding_dropdown", {chosen: this})
@results_showing = false
set_tab_index: (el) ->
if @form_field.tabIndex
ti = @form_field.tabIndex
@form_field.tabIndex = -1
@search_field.tabIndex = ti
set_label_behavior: ->
@form_field_label = @form_field.up("label") # first check for a parent label
if not @form_field_label?
@form_field_label = $$("label[for='#{@form_field.id}']").first() #next check for a for=#{id}
if @form_field_label?
@form_field_label.observe "click", (evt) => if @is_multiple then this.container_mousedown(evt) else this.activate_field()
show_search_field_default: ->
if @is_multiple and this.choices_count() < 1 and not @active_field
@search_field.value = @default_text
@search_field.addClassName "default"
else
@search_field.value = ""
@search_field.removeClassName "default"
search_results_mouseup: (evt) ->
target = if evt.target.hasClassName("active-result") then evt.target else evt.target.up(".active-result")
if target
@result_highlight = target
this.result_select(evt)
@search_field.focus()
search_results_mouseover: (evt) ->
target = if evt.target.hasClassName("active-result") then evt.target else evt.target.up(".active-result")
this.result_do_highlight( target ) if target
search_results_mouseout: (evt) ->
this.result_clear_highlight() if evt.target.hasClassName('active-result') or evt.target.up('.active-result')
choice_build: (item) ->
choice = new Element('li', { class: "search-choice" }).update("<span>#{item.html}</span>")
if item.disabled
choice.addClassName 'search-choice-disabled'
else
close_link = new Element('a', { href: '#', class: 'search-choice-close', rel: item.array_index })
close_link.observe "click", (evt) => this.choice_destroy_link_click(evt)
choice.insert close_link
@search_container.insert { before: choice }
choice_destroy_link_click: (evt) ->
evt.preventDefault()
evt.stopPropagation()
this.choice_destroy evt.target unless @is_disabled
choice_destroy: (link) ->
if this.result_deselect link.readAttribute("rel")
this.show_search_field_default()
this.results_hide() if @is_multiple and this.choices_count() > 0 and @search_field.value.length < 1
link.up('li').remove()
this.search_field_scale()
results_reset: ->
@form_field.options[0].selected = true
@selected_option_count = null
@selected_item.down("span").update(@default_text)
@selected_item.addClassName("chzn-default") if not @is_multiple
this.show_search_field_default()
this.results_reset_cleanup()
@form_field.simulate("change") if typeof Event.simulate is 'function'
this.results_hide() if @active_field
results_reset_cleanup: ->
@current_selectedIndex = @form_field.selectedIndex
deselect_trigger = @selected_item.down("abbr")
deselect_trigger.remove() if(deselect_trigger)
result_select: (evt) ->
if @result_highlight
high = @result_highlight
this.result_clear_highlight()
if @is_multiple and @max_selected_options <= this.choices_count()
@form_field.fire("liszt:maxselected", {chosen: this})
return false
if @is_multiple
this.result_deactivate high
else
@search_results.descendants(".result-selected").invoke "removeClassName", "result-selected"
@selected_item.removeClassName("chzn-default")
@result_single_selected = high
high.addClassName("result-selected")
position = high.id.substr(high.id.lastIndexOf("_") + 1 )
item = @results_data[position]
item.selected = true
@form_field.options[item.options_index].selected = true
@selected_option_count = null
if @is_multiple
this.choice_build item
else
@selected_item.down("span").update(item.html)
this.single_deselect_control_build() if @allow_single_deselect
this.results_hide() unless (evt.metaKey or evt.ctrlKey) and @is_multiple
@search_field.value = ""
@form_field.simulate("change") if typeof Event.simulate is 'function' && (@is_multiple || @form_field.selectedIndex != @current_selectedIndex)
@current_selectedIndex = @form_field.selectedIndex
this.search_field_scale()
result_activate: (el) ->
el.addClassName("active-result")
result_deactivate: (el) ->
el.removeClassName("active-result")
result_deselect: (pos) ->
result_data = @results_data[pos]
if not @form_field.options[result_data.options_index].disabled
result_data.selected = false
@form_field.options[result_data.options_index].selected = false
@selected_option_count = null
result = $(@container_id + "_o_" + pos)
result.removeClassName("result-selected").addClassName("active-result").show()
this.result_clear_highlight()
this.winnow_results()
@form_field.simulate("change") if typeof Event.simulate is 'function'
this.search_field_scale()
return true
else
return false
single_deselect_control_build: ->
return unless @allow_single_deselect
@selected_item.down("span").insert { after: "<abbr class=\"search-choice-close\"></abbr>" } unless @selected_item.down("abbr")
@selected_item.addClassName("chzn-single-with-deselect")
winnow_results: ->
this.no_results_clear()
results = 0
searchText = if @search_field.value is @default_text then "" else @search_field.value.strip().escapeHTML()
regexAnchor = if @search_contains then "" else "^"
regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')
for option in @results_data
if not option.disabled and not option.empty
if option.group
$(option.dom_id).hide()
else if not (@is_multiple and option.selected)
found = false
result_id = option.dom_id
if regex.test option.html
found = true
results += 1
else if @enable_split_word_search and (option.html.indexOf(" ") >= 0 or option.html.indexOf("[") == 0)
#TODO: replace this substitution of /\[\]/ with a list of characters to skip.
parts = option.html.replace(/\[|\]/g, "").split(" ")
if parts.length
for part in parts
if regex.test part
found = true
results += 1
if found
if searchText.length
startpos = option.html.search zregex
text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length)
text = text.substr(0, startpos) + '<em>' + text.substr(startpos)
else
text = option.html
$(result_id).update text if $(result_id).innerHTML != text
this.result_activate $(result_id)
$(@results_data[option.group_array_index].dom_id).setStyle({display: 'list-item'}) if option.group_array_index?
else
this.result_clear_highlight() if $(result_id) is @result_highlight
this.result_deactivate $(result_id)
if results < 1 and searchText.length
this.no_results(searchText)
else
this.winnow_results_set_highlight()
winnow_results_clear: ->
@search_field.clear()
lis = @search_results.select("li")
for li in lis
if li.hasClassName("group-result")
li.show()
else if not @is_multiple or not li.hasClassName("result-selected")
this.result_activate li
winnow_results_set_highlight: ->
if not @result_highlight
if not @is_multiple
do_high = @search_results.down(".result-selected.active-result")
if not do_high?
do_high = @search_results.down(".active-result")
this.result_do_highlight do_high if do_high?
no_results: (terms) ->
@search_results.insert @no_results_temp.evaluate( terms: terms )
no_results_clear: ->
nr = null
nr.remove() while nr = @search_results.down(".no-results")
keydown_arrow: ->
actives = @search_results.select("li.active-result")
if actives.length
if not @result_highlight
this.result_do_highlight actives.first()
else if @results_showing
sibs = @result_highlight.nextSiblings()
nexts = sibs.intersect(actives)
this.result_do_highlight nexts.first() if nexts.length
this.results_show() if not @results_showing
keyup_arrow: ->
if not @results_showing and not @is_multiple
this.results_show()
else if @result_highlight
sibs = @result_highlight.previousSiblings()
actives = @search_results.select("li.active-result")
prevs = sibs.intersect(actives)
if prevs.length
this.result_do_highlight prevs.first()
else
this.results_hide() if this.choices_count() > 0
this.result_clear_highlight()
keydown_backstroke: ->
if @pending_backstroke
this.choice_destroy @pending_backstroke.down("a")
this.clear_backstroke()
else
next_available_destroy = @search_container.siblings().last()
if next_available_destroy and next_available_destroy.hasClassName("search-choice") and not next_available_destroy.hasClassName("search-choice-disabled")
@pending_backstroke = next_available_destroy
@pending_backstroke.addClassName("search-choice-focus") if @pending_backstroke
if @single_backstroke_delete
@keydown_backstroke()
else
@pending_backstroke.addClassName("search-choice-focus")
clear_backstroke: ->
@pending_backstroke.removeClassName("search-choice-focus") if @pending_backstroke
@pending_backstroke = null
keydown_checker: (evt) ->
stroke = evt.which ? evt.keyCode
this.search_field_scale()
this.clear_backstroke() if stroke != 8 and this.pending_backstroke
switch stroke
when 8
@backstroke_length = this.search_field.value.length
break
when 9
this.result_select(evt) if this.results_showing and not @is_multiple
@mouse_on_container = false
break
when 13
evt.preventDefault()
break
when 38
evt.preventDefault()
this.keyup_arrow()
break
when 40
this.keydown_arrow()
break
search_field_scale: ->
if @is_multiple
h = 0
w = 0
style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"
styles = ['font-size','font-style', 'font-weight', 'font-family','line-height', 'text-transform', 'letter-spacing']
for style in styles
style_block += style + ":" + @search_field.getStyle(style) + ";"
div = new Element('div', { 'style' : style_block }).update(@search_field.value.escapeHTML())
document.body.appendChild(div)
w = Element.measure(div, 'width') + 25
div.remove()
@f_width = @container.getWidth() unless @f_width
if( w > @f_width-10 )
w = @f_width - 10
@search_field.setStyle({'width': w + 'px'})
root.Chosen = Chosen
###
Chosen source: generate output using 'cake build'
Copyright (c) 2011 by Harvest
###
root = this
class AbstractChosen
constructor: (@form_field, @options={}) ->
return unless AbstractChosen.browser_is_supported()
@is_multiple = @form_field.multiple
this.set_default_text()
this.set_default_values()
this.setup()
this.set_up_html()
this.register_observers()
this.finish_setup()
set_default_values: ->
@click_test_action = (evt) => this.test_active_click(evt)
@activate_action = (evt) => this.activate_field(evt)
@active_field = false
@mouse_on_container = false
@results_showing = false
@result_highlighted = null
@result_single_selected = null
@allow_single_deselect = if @options.allow_single_deselect? and @form_field.options[0]? and @form_field.options[0].text is "" then @options.allow_single_deselect else false
@disable_search_threshold = @options.disable_search_threshold || 0
@disable_search = @options.disable_search || false
@enable_split_word_search = if @options.enable_split_word_search? then @options.enable_split_word_search else true
@search_contains = @options.search_contains || false
@single_backstroke_delete = @options.single_backstroke_delete || false
@max_selected_options = @options.max_selected_options || Infinity
@inherit_select_classes = @options.inherit_select_classes || false
set_default_text: ->
if @form_field.getAttribute("data-placeholder")
@default_text = @form_field.getAttribute("data-placeholder")
else if @is_multiple
@default_text = @options.placeholder_text_multiple || @options.placeholder_text || AbstractChosen.default_multiple_text
else
@default_text = @options.placeholder_text_single || @options.placeholder_text || AbstractChosen.default_single_text
@results_none_found = @form_field.getAttribute("data-no_results_text") || @options.no_results_text || AbstractChosen.default_no_result_text
mouse_enter: -> @mouse_on_container = true
mouse_leave: -> @mouse_on_container = false
input_focus: (evt) ->
if @is_multiple
setTimeout (=> this.container_mousedown()), 50 unless @active_field
else
@activate_field() unless @active_field
input_blur: (evt) ->
if not @mouse_on_container
@active_field = false
setTimeout (=> this.blur_test()), 100
result_add_option: (option) ->
if not option.disabled
option.dom_id = @container_id + "_o_" + option.array_index
classes = if option.selected and @is_multiple then [] else ["active-result"]
classes.push "result-selected" if option.selected
classes.push "group-option" if option.group_array_index?
classes.push option.classes if option.classes != ""
style = if option.style.cssText != "" then " style=\"#{option.style}\"" else ""
'<li id="' + option.dom_id + '" class="' + classes.join(' ') + '"'+style+'>' + option.html + '</li>'
else
""
results_update_field: ->
this.set_default_text()
this.results_reset_cleanup() if not @is_multiple
this.result_clear_highlight()
@result_single_selected = null
this.results_build()
results_toggle: ->
if @results_showing
this.results_hide()
else
this.results_show()
results_search: (evt) ->
if @results_showing
this.winnow_results()
else
this.results_show()
choices_count: ->
return @selected_option_count if @selected_option_count?
@selected_option_count = 0
for option in @form_field.options
@selected_option_count += 1 if option.selected
return @selected_option_count
choices_click: (evt) ->
evt.preventDefault()
this.results_show() unless @results_showing
keyup_checker: (evt) ->
stroke = evt.which ? evt.keyCode
this.search_field_scale()
switch stroke
when 8
if @is_multiple and @backstroke_length < 1 and this.choices_count() > 0
this.keydown_backstroke()
else if not @pending_backstroke
this.result_clear_highlight()
this.results_search()
when 13
evt.preventDefault()
this.result_select(evt) if this.results_showing
when 27
this.results_hide() if @results_showing
return true
when 9, 38, 40, 16, 91, 17
# don't do anything on these keys
else this.results_search()
generate_field_id: ->
new_id = this.generate_random_id()
@form_field.id = new_id
new_id
generate_random_char: ->
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
rand = Math.floor(Math.random() * chars.length)
newchar = chars.substring rand, rand+1
container_width: ->
return if @options.width? then @options.width else "#{@form_field.offsetWidth}px"
# class methods and variables ============================================================
@browser_is_supported: ->
if window.navigator.appName == "Microsoft Internet Explorer"
return null isnt document.documentMode >= 8
return true
@default_multiple_text: "Select Some Options"
@default_single_text: "Select an Option"
@default_no_result_text: "No results match"
root.AbstractChosen = AbstractChosen
class SelectParser
constructor: ->
@options_index = 0
@parsed = []
add_node: (child) ->
if child.nodeName.toUpperCase() is "OPTGROUP"
this.add_group child
else
this.add_option child
add_group: (group) ->
group_position = @parsed.length
@parsed.push
array_index: group_position
group: true
label: group.label
children: 0
disabled: group.disabled
this.add_option( option, group_position, group.disabled ) for option in group.childNodes
add_option: (option, group_position, group_disabled) ->
if option.nodeName.toUpperCase() is "OPTION"
if option.text != ""
if group_position?
@parsed[group_position].children += 1
@parsed.push
array_index: @parsed.length
options_index: @options_index
value: option.value
text: option.text
html: option.innerHTML
selected: option.selected
disabled: if group_disabled is true then group_disabled else option.disabled
group_array_index: group_position
classes: option.className
style: option.style.cssText
else
@parsed.push
array_index: @parsed.length
options_index: @options_index
empty: true
@options_index += 1
SelectParser.select_to_array = (select) ->
parser = new SelectParser()
parser.add_node( child ) for child in select.childNodes
parser.parsed
this.SelectParser = SelectParser

Contributing to this project

Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.

Following these guidelines will help us get back to you more quickly, and will show that you care about making Chosen better just like we do. In return, we'll do our best to respond to your issue or pull request as soon as possible with the same respect.

Please Note: These guidelines are adapted from @necolas's issue-guidelines and serve as an excellent starting point for contributing to any open source project.

Using the issue tracker

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests, but please respect the following restrictions:

  • Please do not use the issue tracker for personal support requests (use Stack Overflow).

  • Please do not derail or troll issues. Keep the discussion on topic and respect the opinions of others.

Bug reports

A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful — thank you!

Guidelines for bug reports:

  1. Use the GitHub issue search — check if the issue has already been reported.

  2. Check if the bug has already been fixed — try to reproduce it using the repository's latest master changes.

  3. Isolate the problem — ideally create a reduced test case and a live example (perhaps a fiddle).

A good bug report shouldn't leave others needing to contact you for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? What outcome did you expect, and how did it differ from what you actually saw? All these details will help people to fix any potential bugs.

Example:

Short and descriptive example bug report title

A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug.

  1. This is the first step
  2. This is the second step
  3. Further steps, etc.

<url> - a link to the reduced test case

Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).

Feature requests

Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible.

Building something great means choosing features carefully especially because it is much, much easier to add features than it is to take them away. Additions to Chosen will be evaluated on a combination of scope (how well it fits into the project), maintenance burden and general usefulness.

Creating something great often means saying no to seemingly good ideas. Don't dispair if your feature request isn't accepted, take action! Fork the repository, build your idea and share it with others. We released Chosen under the MIT License for this purpose precisely. Open source works best when smart and dedicated people riff off of each others' ideas to make even greater things.

Pull requests

Good pull requests — patches, improvements, new features — are a fantastic help. They should remain focused in scope and avoid containing unrelated commits.

Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code, porting to a different language), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project. You can solicit feedback and opinions in an open feature request thread or create a new one.

Please use the git flow for pull requesets and follow Chosen's code conventions before submitting your work. Adhering to these guidelines is the best way to get your work included in Chosen.

Git Flow for pull requests

  1. Fork the project, clone your fork, and configure the remotes:

    # Clone your fork of the repo into the current directory
    git clone [email protected]:<YOUR_USERNAME>/chosen.git
    # Navigate to the newly cloned directory
    cd chosen
    # Assign the original repo to a remote called "upstream"
    git remote add upstream https://github.com/harvesthq/chosen
  2. If you cloned a while ago, get the latest changes from upstream:

    git checkout master
    git pull upstream master
  3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:

    git checkout -b <topic-branch-name>
  4. Commit your changes in logical chunks. Please adhere to these git commit message guidelines or your code is unlikely be merged into the main project. Use Git's interactive rebase feature to tidy up your commits before making them public.

  5. Locally merge (or rebase) the upstream development branch into your topic branch:

    git pull [--rebase] upstream master
  6. Push your topic branch up to your fork:

    git push origin <topic-branch-name>
  7. Open a Pull Request with a clear title and description.

IMPORTANT: By submitting a patch, you agree to allow the project owner to license your work under the MIT License.

Chosen Code Conventions

  1. Make all changes in CoffeeScript files, not JavaScript files.
  2. Use cake to build the JavaScript files.
  3. For feature changes, update both jQuery and Prototype versions
  4. Don't touch the VERSION file

Using CoffeeScript and Cake

First, make sure you have the proper CoffeeScript / Cake setup in place. We have added a package.json that makes this easy:

npm install -d

This will install coffee-script and uglifyjs.

Once you're configured, building the JavaScript from the command line is easy:

cake build                # build Chosen from source
cake watch                # watch coffee/ for changes and build Chosen

If you're interested, you can find the recipes in Cakefile.

<!doctype html>
<html lang="en">
<head>
<style>
/* RESET */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a,
font, img, dl, dt, dd, ol, ul, li, legend, table, tbody, tr, th, td
{margin:0px;padding:0px;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;list-style:none;}
a img {border: none;}
ol li {list-style: decimal outside;}
fieldset {border:0;padding:0;}
body { font-family: sans-serif; font-size: 1em; }
div#container { width: 780px; margin: 0 auto; padding: 1em 0; }
p { margin: 1em 0; max-width: 700px; }
h1 + p { margin-top: 0; }
h1, h2 { font-family: Georgia, Times, serif; }
h1 { font-size: 2em; margin-bottom: .75em; }
h2 { font-size: 1.5em; margin: 2.5em 0 .5em; border-bottom: 1px solid #999; padding-bottom: 5px; }
h3 { font-weight: bold; }
ul li { list-style: disc; margin-left: 1em; }
ol li { margin-left: 1.25em; }
div.side-by-side { width: 100%; margin-bottom: 1em; }
div.side-by-side > div { float: left; width: 50%; }
div.side-by-side > div > em { margin-bottom: 10px; display: block; }
a { color: orange; text-decoration: underline; }
.faqs em { display: block; }
.clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
footer {
margin-top: 2em;
border-top: 1px solid #666;
padding-top: 5px;
}
</style>
<link rel="stylesheet" href="chosen/chosen.css" />
<style type="text/css" media="all">
/* fix rtl for demo */
.chzn-rtl .chzn-search { left: -9000px; }
.chzn-rtl .chzn-drop { left: -9000px; }
</style>
</head>
<body>
<form>
<div id="container">
<h1>Chosen</h1>
<p>Chosen is a JavaScript plugin for Prototype and jQuery that makes long, unwieldy select boxes much more user-friendly. For more information (including usage, explanation and faqs), check out the <a href="http://harvesthq.github.com/chosen/">online documentation</a>.</p>
<h2>Standard Select</h2>
<div class="side-by-side clearfix">
<div>
<em>Turns This</em>
<select data-placeholder="Choose a Country..." style="width:350px;" tabindex="1">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div>
<em>Into This</em>
<select data-placeholder="Choose a Country..." class="chzn-select" style="width:350px;" tabindex="2">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
</div>
<h2>Multiple Select</h2>
<div class="side-by-side clearfix">
<div>
<em>Turns This</em>
<select data-placeholder="Choose a Country..." style="width:350px;" multiple tabindex="3">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div>
<em>Into This</em>
<select data-placeholder="Choose a Country..." class="chzn-select" multiple style="width:350px;" tabindex="4">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
</div>
<h2>&lt;optgroup&gt; Support</h2>
<div class="side-by-side clearfix">
<div>
<em>Single Select with Groups</em>
<select data-placeholder="Your Favorite Football Team" style="width:350px;" class="chzn-select" tabindex="5">
<option value=""></option>
<optgroup label="NFC EAST">
<option>Dallas Cowboys</option>
<option>New York Giants</option>
<option>Philadelphia Eagles</option>
<option>Washington Redskins</option>
</optgroup>
<optgroup label="NFC NORTH">
<option>Chicago Bears</option>
<option>Detroit Lions</option>
<option>Green Bay Packers</option>
<option>Minnesota Vikings</option>
</optgroup>
<optgroup label="NFC SOUTH">
<option>Atlanta Falcons</option>
<option>Carolina Panthers</option>
<option>New Orleans Saints</option>
<option>Tampa Bay Buccaneers</option>
</optgroup>
<optgroup label="NFC WEST">
<option>Arizona Cardinals</option>
<option>St. Louis Rams</option>
<option>San Francisco 49ers</option>
<option>Seattle Seahawks</option>
</optgroup>
<optgroup label="AFC EAST">
<option>Buffalo Bills</option>
<option>Miami Dolphins</option>
<option>New England Patriots</option>
<option>New York Jets</option>
</optgroup>
<optgroup label="AFC NORTH">
<option>Baltimore Ravens</option>
<option>Cincinnati Bengals</option>
<option>Cleveland Browns</option>
<option>Pittsburgh Steelers</option>
</optgroup>
<optgroup label="AFC SOUTH">
<option>Houston Texans</option>
<option>Indianapolis Colts</option>
<option>Jacksonville Jaguars</option>
<option>Tennessee Titans</option>
</optgroup>
<optgroup label="AFC WEST">
<option>Denver Broncos</option>
<option>Kansas City Chiefs</option>
<option>Oakland Raiders</option>
<option>San Diego Chargers</option>
</optgroup>
</select>
</div>
<div>
<em>Multiple Select with Groups</em>
<select data-placeholder="Your Favorite Football Team" style="width:350px;" class="chzn-select" multiple tabindex="6">
<option value=""></option>
<optgroup label="NFC EAST">
<option>Dallas Cowboys</option>
<option>New York Giants</option>
<option>Philadelphia Eagles</option>
<option>Washington Redskins</option>
</optgroup>
<optgroup label="NFC NORTH">
<option>Chicago Bears</option>
<option>Detroit Lions</option>
<option>Green Bay Packers</option>
<option>Minnesota Vikings</option>
</optgroup>
<optgroup label="NFC SOUTH">
<option>Atlanta Falcons</option>
<option>Carolina Panthers</option>
<option>New Orleans Saints</option>
<option>Tampa Bay Buccaneers</option>
</optgroup>
<optgroup label="NFC WEST">
<option>Arizona Cardinals</option>
<option>St. Louis Rams</option>
<option>San Francisco 49ers</option>
<option>Seattle Seahawks</option>
</optgroup>
<optgroup label="AFC EAST">
<option>Buffalo Bills</option>
<option>Miami Dolphins</option>
<option>New England Patriots</option>
<option>New York Jets</option>
</optgroup>
<optgroup label="AFC NORTH">
<option>Baltimore Ravens</option>
<option>Cincinnati Bengals</option>
<option>Cleveland Browns</option>
<option>Pittsburgh Steelers</option>
</optgroup>
<optgroup label="AFC SOUTH">
<option>Houston Texans</option>
<option>Indianapolis Colts</option>
<option>Jacksonville Jaguars</option>
<option>Tennessee Titans</option>
</optgroup>
<optgroup label="AFC WEST">
<option>Denver Broncos</option>
<option>Kansas City Chiefs</option>
<option>Oakland Raiders</option>
<option>San Diego Chargers</option>
</optgroup>
</select>
</div>
</div>
<h2>Selected and Disabled Support</h2>
<div class="side-by-side clearfix">
<p>Chosen automatically highlights selected options and removes disabled options.</p>
<div>
<em>Single Select</em>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select" tabindex="7">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option selected>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Hide Search on Single Select</h2>
<div class="side-by-side clearfix">
<p>The disable_search_threshold option can be specified to hide the search input on single selects if there are fewer than (n) options.</p>
<code>
$(".chzn-select").chosen({disable_search_threshold: 10});
</code>
<p></p>
<div>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select-no-single" tabindex="9">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected disabled>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option selected disabled>Paddington Bear</option>
<option selected>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Default Text Support</h2>
<div class="side-by-side clearfix">
<p>Chosen automatically sets the default field text ("Choose a country...") by reading the select element's data-placeholder value. If no data-placeholder value is present, it will default to "Select an Option" or "Select Some Options" depending on whether the select is single or multiple. You can change these elements in the plugin js file as you see fit.</p>
<code>&lt;select <strong>data-placeholder="Choose a country..."</strong> style="width:350px;" multiple class="chzn-select"&gt;</code>
<p><strong>Note:</strong> on single selects, the first element is assumed to be selected by the browser. To take advantage of the default text support, you will need to include a blank option as the first element of your select list.</p>
</div>
<h2>No Results Text Support</h2>
<div class="side-by-side clearfix">
<p>Setting the "No results" search text is as easy as passing an option when you create Chosen:</p>
<code>
$(".chzn-select").chosen({no_results_text: "Oops, nothing found!"});
</code>
<p></p>
<div>
<em>Single Select</em>
<select data-placeholder="Type 'C' to view" style="width:350px;" class="chzn-select-no-results" tabindex="10">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Type 'C' to view" style="width:350px;" multiple class="chzn-select-no-results" tabindex="11">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Limit Selected Options in Multiselect</h2>
<div class="side-by-side clearfix">
<p>You can easily limit how many options can user select:</p>
<code>
$(".chzn-select").chosen({max_selected_options: 5});
</code>
<p>If you try to select another option with limit reached <code>liszt:maxselected</code> event is triggered:</p>
<code>
$(".chzn-select").bind("liszt:maxselected", function () { ... });
</code>
</div>
<h2>Allow Deselect on Single Selects</h2>
<div class="side-by-side clearfix">
<p>When a single select box isn't a required field, you can set <code>allow_single_deselect: true</code> and Chosen will add a UI element for option deselection. This will only work if the first option has blank text.</p>
<div class="side-by-side clearfix">
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select-deselect" tabindex="12">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Right to Left Support</h2>
<div class="side-by-side clearfix">
<p>Chosen supports right to left select boxes too. just add <code>"chzn-rtl"</code> in addition to <code>"chzn-select"</code> to your select tags and you are good to go.</p>
<p><code>&lt;select class="chzn-select <strong>chzn-rtl</strong>"&gt;</code></p>
<div>
<em>Single right to left select</em>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select chzn-rtl" tabindex="13">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option>Polar Bear</option>
</select>
</div>
<div>
<em>Multiple right to left select</em>
<select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select chzn-rtl" tabindex="14">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option selected>Polar Bear</option>
</select>
</div>
</div>
<h2>Change / Update Events</h2>
<div class="side-by-side clearfix">
<ul>
<li>
<h3>Form Field Change</h3>
<p>When working with form fields, you often want to perform some behavior after a value has been selected or deselected. Whenever a user selects a field in Chosen, it triggers a "change" event* on the original form field. That let's you do something like this:</p>
<p><code>$("#form_field").chosen().change( &hellip; );</code></p>
<p><strong>Note:</strong> Prototype doesn't offer support for triggering standard browser events. <a href="https://github.com/kangax/protolicious/blob/5b56fdafcd7d7662c9d648534225039b2e78e371/event.simulate.js">Event.simulate</a> is required to trigger the change event when using the Prototype version.</p>
</li>
<li>
<h3>Updating Chosen Dynamically</h3>
<p>If you need to update the options in your select field and want Chosen to pick up the changes, you'll need to trigger the "liszt:updated" event on the field. Chosen will re-build itself based on the updated content.</p>
<ul>
<li><strong>jQuery Version:</strong> <code>$("#form_field").trigger("liszt:updated");</code></li>
<li><strong>Prototype Version:</strong> <code>Event.fire($("form_field"), "liszt:updated");</code></li>
</ul>
</li>
</ul>
</div>
<h2>Custom Width Support</h2>
<div class="side-by-side clearfix">
<p>Using a custom width with Chosen is as easy as passing an option when you create Chosen:</p>
<code>
$(".chzn-select").chosen({width: "95%"});
</code>
<p></p>
<div>
<em>Single Select</em>
<select data-placeholder="Your Favorite Types of Bear" class="chzn-select-width" tabindex="15">
<option value=""></option>
<option selected>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Your Favorite Types of Bear" multiple class="chzn-select-width" tabindex="16">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option selected>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Labels work, too</h2>
<div class="side-by-side clearfix">
<p>Use labels just like you would a standard select</p>
<p></p>
<div>
<em><label for="single-label-example">Click to Highlight Single Select</label></em>
<select data-placeholder="Your Favorite Types of Bear" class="chzn-select" style="width:350px;" tabindex="17" id="single-label-example">
<option value=""></option>
<option selected>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em><label for="multiple-label-example">Click to Highlight Multiple Select</label></em>
<select data-placeholder="Your Favorite Types of Bear" multiple class="chzn-select" style="width:350px;" tabindex="18" id="multiple-label-example">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option selected>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Setup (for jQuery)</h2>
<p>Using Chosen is easy as can be.</p>
<ol>
<li>Download the plugin and copy the chosen files to your app.</li>
<li>Activate the plugin on the select boxes of your choice: <code>$(".chzn-select").chosen()</code></li>
<li><a href="http://youtu.be/pS-RsIzb78U?t=57s">Disco</a>.</li>
</ol>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script src="chosen/chosen.jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var config = {
'.chzn-select' : {},
'.chzn-select-deselect' : {allow_single_deselect:true},
'.chzn-select-no-single' : {disable_search_threshold:10},
'.chzn-select-no-results': {no_results_text:'Oops, nothing found!'},
'.chzn-select-width' : {width:"95%"}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
</script>
</form>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<style>
/* RESET */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a,
font, img, dl, dt, dd, ol, ul, li, legend, table, tbody, tr, th, td
{margin:0px;padding:0px;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;list-style:none;}
a img {border: none;}
ol li {list-style: decimal outside;}
fieldset {border:0;padding:0;}
body { font-family: sans-serif; font-size: 1em; }
div#container { width: 780px; margin: 0 auto; padding: 1em 0; }
p { margin: 1em 0; max-width: 700px; }
h1 + p { margin-top: 0; }
h1, h2 { font-family: Georgia, Times, serif; }
h1 { font-size: 2em; margin-bottom: .75em; }
h2 { font-size: 1.5em; margin: 2.5em 0 .5em; border-bottom: 1px solid #999; padding-bottom: 5px; }
h3 { font-weight: bold; }
ul li { list-style: disc; margin-left: 1em; }
ol li { margin-left: 1.25em; }
div.side-by-side { width: 100%; margin-bottom: 1em; }
div.side-by-side > div { float: left; width: 50%; }
div.side-by-side > div > em { margin-bottom: 10px; display: block; }
a { color: orange; text-decoration: underline; }
.faqs em { display: block; }
.clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
overflow: hidden;
visibility: hidden;
}
footer {
margin-top: 2em;
border-top: 1px solid #666;
padding-top: 5px;
}
</style>
<link rel="stylesheet" href="chosen/chosen.css" />
<style type="text/css" media="all">
/* fix rtl for demo */
.chzn-rtl .chzn-search { left: -9000px; }
.chzn-rtl .chzn-drop { left: -9000px; }
</style>
</head>
<body>
<div id="container">
<h1>Chosen</h1>
<p>Chosen is a JavaScript plugin for jQuery and Prototype that makes long, unwieldy select boxes much more user-friendly. For more information (including usage, explanation and faqs), check out the <a href="http://harvesthq.github.com/chosen/">online documentation</a>.</p>
<h2>Standard Select</h2>
<div class="side-by-side clearfix">
<div>
<em>Turns This</em>
<select data-placeholder="Choose a Country..." style="width:350px;" tabindex="1">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div>
<em>Into This</em>
<select data-placeholder="Choose a Country..." class="chzn-select" style="width:350px;" tabindex="2">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
</div>
<h2>Multiple Select</h2>
<div class="side-by-side clearfix">
<div>
<em>Turns This</em>
<select data-placeholder="Choose a Country..." style="width:350px;" multiple tabindex="3">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
<div>
<em>Into This</em>
<select data-placeholder="Choose a Country..." class="chzn-select" multiple style="width:350px;" tabindex="4">
<option value=""></option>
<option value="United States">United States</option>
<option value="United Kingdom">United Kingdom</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia, Plurinational State of">Bolivia, Plurinational State of</option>
<option value="Bonaire, Sint Eustatius and Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote D'ivoire">Cote D'ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Curacao">Curacao</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-bissau">Guinea-bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libya">Libya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena, Ascension and Tristan da Cunha">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Martin (French part)">Saint Martin (French part)</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Sint Maarten (Dutch part)">Sint Maarten (Dutch part)</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>
<option value="South Sudan">South Sudan</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-leste">Timor-leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela, Bolivarian Republic of">Venezuela, Bolivarian Republic of</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>
</div>
</div>
<h2>&lt;optgroup&gt; Support</h2>
<div class="side-by-side clearfix">
<div>
<em>Single Select with Groups</em>
<select data-placeholder="Your Favorite Football Team" style="width:350px;" class="chzn-select" tabindex="5">
<option value=""></option>
<optgroup label="NFC EAST">
<option>Dallas Cowboys</option>
<option>New York Giants</option>
<option>Philadelphia Eagles</option>
<option>Washington Redskins</option>
</optgroup>
<optgroup label="NFC NORTH">
<option>Chicago Bears</option>
<option>Detroit Lions</option>
<option>Green Bay Packers</option>
<option>Minnesota Vikings</option>
</optgroup>
<optgroup label="NFC SOUTH">
<option>Atlanta Falcons</option>
<option>Carolina Panthers</option>
<option>New Orleans Saints</option>
<option>Tampa Bay Buccaneers</option>
</optgroup>
<optgroup label="NFC WEST">
<option>Arizona Cardinals</option>
<option>St. Louis Rams</option>
<option>San Francisco 49ers</option>
<option>Seattle Seahawks</option>
</optgroup>
<optgroup label="AFC EAST">
<option>Buffalo Bills</option>
<option>Miami Dolphins</option>
<option>New England Patriots</option>
<option>New York Jets</option>
</optgroup>
<optgroup label="AFC NORTH">
<option>Baltimore Ravens</option>
<option>Cincinnati Bengals</option>
<option>Cleveland Browns</option>
<option>Pittsburgh Steelers</option>
</optgroup>
<optgroup label="AFC SOUTH">
<option>Houston Texans</option>
<option>Indianapolis Colts</option>
<option>Jacksonville Jaguars</option>
<option>Tennessee Titans</option>
</optgroup>
<optgroup label="AFC WEST">
<option>Denver Broncos</option>
<option>Kansas City Chiefs</option>
<option>Oakland Raiders</option>
<option>San Diego Chargers</option>
</optgroup>
</select>
</div>
<div>
<em>Multiple Select with Groups</em>
<select data-placeholder="Your Favorite Football Team" style="width:350px;" class="chzn-select" multiple tabindex="6">
<option value=""></option>
<optgroup label="NFC EAST">
<option>Dallas Cowboys</option>
<option>New York Giants</option>
<option>Philadelphia Eagles</option>
<option>Washington Redskins</option>
</optgroup>
<optgroup label="NFC NORTH">
<option>Chicago Bears</option>
<option>Detroit Lions</option>
<option>Green Bay Packers</option>
<option>Minnesota Vikings</option>
</optgroup>
<optgroup label="NFC SOUTH">
<option>Atlanta Falcons</option>
<option>Carolina Panthers</option>
<option>New Orleans Saints</option>
<option>Tampa Bay Buccaneers</option>
</optgroup>
<optgroup label="NFC WEST">
<option>Arizona Cardinals</option>
<option>St. Louis Rams</option>
<option>San Francisco 49ers</option>
<option>Seattle Seahawks</option>
</optgroup>
<optgroup label="AFC EAST">
<option>Buffalo Bills</option>
<option>Miami Dolphins</option>
<option>New England Patriots</option>
<option>New York Jets</option>
</optgroup>
<optgroup label="AFC NORTH">
<option>Baltimore Ravens</option>
<option>Cincinnati Bengals</option>
<option>Cleveland Browns</option>
<option>Pittsburgh Steelers</option>
</optgroup>
<optgroup label="AFC SOUTH">
<option>Houston Texans</option>
<option>Indianapolis Colts</option>
<option>Jacksonville Jaguars</option>
<option>Tennessee Titans</option>
</optgroup>
<optgroup label="AFC WEST">
<option>Denver Broncos</option>
<option>Kansas City Chiefs</option>
<option>Oakland Raiders</option>
<option>San Diego Chargers</option>
</optgroup>
</select>
</div>
</div>
<h2>Selected and Disabled Support</h2>
<div class="side-by-side clearfix">
<p>Chosen automatically highlights selected options and removes disabled options.</p>
<div>
<em>Single Select</em>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select" tabindex="7">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select" tabindex="8">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option selected>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Hide Search on Single Select</h2>
<div class="side-by-side clearfix">
<p>The disable_search_threshold option can be specified to hide the search input on single selects if there are fewer than (n) options.</p>
<code>
New Chosen($("chzn_select_field"),{disable_search_threshold: 10});
</code>
<p></p>
<div>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select-no-single" tabindex="9">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected disabled>Sloth Bear</option>
<option disabled>Sun Bear</option>
<option selected>Paddington Bear</option>
<option selected>Polar Bear</option>
<option disabled>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Default Text Support</h2>
<div class="side-by-side clearfix">
<p>Chosen automatically sets the default field text ("Choose a country...") by reading the select element's data-placeholder value. If no data-placeholder value is present, it will default to "Select an Option" or "Select Some Options" depending on whether the select is single or multiple. You can change these elements in the plugin js file as you see fit.</p>
<code>&lt;select <strong>data-placeholder="Choose a country..."</strong> style="width:350px;" multiple class="chzn-select"&gt;</code>
<p><strong>Note:</strong> on single selects, the first element is assumed to be selected by the browser. To take advantage of the default text support, you will need to include a blank option as the first element of your select list.</p>
</div>
<h2>No Results Text Support</h2>
<div class="side-by-side clearfix">
<p>Setting the "No results" search text is as easy as passing an option when you create Chosen:</p>
<code>
New Chosen($("chzn_select_field"),{no_results_text: "Oops, nothing found!"});
</code>
<p></p>
<div>
<em>Single Select</em>
<select data-placeholder="Type 'C' to view" style="width:350px;" class="chzn-select-no-results" tabindex="10">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Type 'C' to view" style="width:350px;" multiple class="chzn-select-no-results" tabindex="11">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Limit Selected Options in Multiselect</h2>
<div class="side-by-side clearfix">
<p>You can easily limit how many options can user select:</p>
<code>
new Chosen($("chzn_select_field"),{max_selected_options: 5});
</code>
<p>If you try to select another option with limit reached <code>liszt:maxselected</code> event is triggered:</p>
<code>
$("chzn_select_field").observe("liszt:maxselected", function(evt) { ... });
</code>
<p></p>
</div>
<h2>Allow Deselect on Single Selects</h2>
<div class="side-by-side clearfix">
<p>When a single select box isn't a required field, you can set <code>allow_single_deselect: true</code> and Chosen will add a UI element for option deselection. This will only work if the first option has blank text.</p>
<div class="side-by-side clearfix">
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select-deselect" tabindex="12">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Right to Left Support</h2>
<div class="side-by-side clearfix">
<p>Chosen supports right to left select boxes too. just add <code>"chzn-rtl"</code> in addition to <code>"chzn-select"</code> to your select tags and you are good to go.</p>
<p><code>&lt;select class="chzn-select <strong>chzn-rtl</strong>"&gt;</code></p>
<div>
<em>Single right to left select</em>
<select data-placeholder="Your Favorite Type of Bear" style="width:350px;" class="chzn-select chzn-rtl" tabindex="13">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option>Polar Bear</option>
</select>
</div>
<div>
<em>Multiple right to left select</em>
<select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select chzn-rtl" tabindex="14">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option selected>Sloth Bear</option>
<option selected>Polar Bear</option>
</select>
</div>
</div>
<h2>Change / Update Events</h2>
<div class="side-by-side clearfix">
<ul>
<li>
<h3>Form Field Change</h3>
<p>When working with form fields, you often want to perform some behavior after a value has been selected or deselected. Whenever a user selects a field in Chosen, it triggers a "change" event* on the original form field. That let's you do something like this:</p>
<p><code>$("#form_field").chosen().change( &hellip; );</code></p>
<p><strong>Note:</strong> Prototype doesn't offer support for triggering standard browser events. <a href="https://github.com/kangax/protolicious/blob/5b56fdafcd7d7662c9d648534225039b2e78e371/event.simulate.js">Event.simulate</a> is required to trigger the change event when using the Prototype version.</p>
</li>
<li>
<h3>Updating Chosen Dynamically</h3>
<p>If you need to update the options in your select field and want Chosen to pick up the changes, you'll need to trigger the "liszt:updated" event on the field. Chosen will re-build itself based on the updated content.</p>
<ul>
<li><strong>jQuery Version:</strong> <code>$("#form_field").trigger("liszt:updated");</code></li>
<li><strong>Prototype Version:</strong> <code>Event.fire($("form_field"), "liszt:updated");</code></li>
</ul>
</li>
</ul>
</div>
<h2>Custom Width Support</h2>
<div class="side-by-side clearfix">
<p>Using a custom width with Chosen is as easy as passing an option when you create Chosen:</p>
<code>
New Chosen($("chzn_select_field"),{width: "95%"});
</code>
<p></p>
<div>
<em>Single Select</em>
<select data-placeholder="Your Favorite Types of Bear" class="chzn-select-width" tabindex="15">
<option value=""></option>
<option selected>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em>Multiple Select</em>
<select data-placeholder="Your Favorite Types of Bear" multiple class="chzn-select-width" tabindex="16">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option selected>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Labels work, too</h2>
<div class="side-by-side clearfix">
<p>Use labels just like you would a standard select</p>
<p></p>
<div>
<em><label for="single-label-example">Click to Highlight Single Select</label></em>
<select data-placeholder="Your Favorite Types of Bear" class="chzn-select" style="width:350px;" tabindex="17" id="single-label-example">
<option value=""></option>
<option selected>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
<div>
<em><label for="multiple-label-example">Click to Highlight Multiple Select</label></em>
<select data-placeholder="Your Favorite Types of Bear" multiple class="chzn-select" style="width:350px;" tabindex="18" id="multiple-label-example">
<option value=""></option>
<option>American Black Bear</option>
<option>Asiatic Black Bear</option>
<option>Brown Bear</option>
<option selected>Giant Panda</option>
<option>Sloth Bear</option>
<option>Sun Bear</option>
<option>Polar Bear</option>
<option>Spectacled Bear</option>
</select>
</div>
</div>
<h2>Setup (for Prototype)</h2>
<p>Using Chosen is easy as can be.</p>
<ol>
<li>Download the plugin and copy the chosen files to your app.</li>
<li>Activate the plugin by creating a new instance of Chosen: New Chosen(<em>some_form_field</em>,<em>some_options</em>);</li>
<li><a href="http://youtu.be/pS-RsIzb78U?t=57s">Disco</a>.</li>
</ol>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js" type="text/javascript"></script>
<script src="chosen/chosen.proto.js" type="text/javascript"></script>
<script type="text/javascript">
document.observe('dom:loaded', function(evt) {
var config = {
'.chzn-select' : {},
'.chzn-select-deselect' : {allow_single_deselect:true},
'.chzn-select-no-single' : {disable_search_threshold:10},
'.chzn-select-no-results': {no_results_text: "Oops, nothing found!"},
'.chzn-select-width' : {width: "95%"}
}
var results = [];
for (var selector in config) {
var elements = $$(selector);
for (var i = 0; i < elements.length; i++) {
results.push(new Chosen(elements[i],config[selector]));
}
}
return results;
});
</script>
</body>
</html>

Chosen

  • by Patrick Filler for Harvest
  • Copyright (c) 2011-2013 by Harvest

Available for use under the MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

{
"author": "harvest",
"name": "chosen",
"version": "0.9.15",
"description": "Chosen is a JavaScript plugin that makes long, unwieldy select boxes much more user-friendly. It is currently available in both jQuery and Prototype flavors.",
"repository": {
"type": "git",
"url": "https://github.com/harvesthq/chosen"
},
"engines": {
"node": ">=0.4.0"
},
"dependencies": {},
"devDependencies": {
"coffee-script": ">= 1.6",
"uglify-js": ">= 1.2.5 <2.0"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/harvesthq/chosen/blob/master/LICENSE.md"
}
]
}

Chosen

Chosen is a library for making long, unwieldy select boxes more user friendly.

  • jQuery support: 1.4+
  • Prototype support: 1.7+

For documentation, usage, and examples, see:
http://harvesthq.github.io/chosen/

Contributing to this project

We welcome all to participate in making Chosen the best software it can be. The repository is maintained by only a few people, but has accepted contributions from over 50 authors after reviewing hundreds of pull requests related to thousands of issues. You can help reduce the maintainers' workload (and increase your chance of having an accepted contribution to Chosen) by following the guidelines for contributing.

Chosen Credits

div.display-table {
display: table;
}
div.mini-width-100per {
min-width: 100%;
}
td.valign-middle {
vertical-align: middle;
}
td.td-text-align-center {
text-align: center;
}
td.td-text-align-right {
text-align: right;
}
.font-bold {
font-weight: bold;
}
.font-small {
font-size: small;
}
.over-flow-x-auto {
overflow-x: auto;
}
.over-flow-visible {
overflow: visible;
}
.width-1200 {
width: 1200px;
}
.width-1500 {
width: 1500px;
}
.width-1600 {
width: 1600px;
}
.width-1700 {
width: 1700px;
}
.width-1800 {
width: 1800px;
}
.width-1900 {
width: 1900px;
}
.width-2000 {
width: 2000px;
}
.width-5 {
width: 5px;
}
.width-60 {
width: 60px;
}
.width-100 {
width: 100px;
}
.width-110 {
width: 110px;
}
.width-120 {
width: 120px;
}
.width-130 {
width: 130px;
}
.width-140 {
width: 140px;
}
/* ========================================================
* bootstrap-progressbar v0.5.0
* ========================================================
* Copyright 2012 minddust.com
*
* bootstrap-progressbar is published under Apache License,
* Version 2.0 (see LICENSE file).
*
* http://www.apache.org/licenses/LICENSE-2.0
* ======================================================== */
/* bootstrap-progressbar global styles */
.progress {
position: relative;
}
.progress .bar {
position: absolute;
overflow: hidden;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.progress .progressbar-back-text {
position: absolute;
width: 100%;
height: 100%;
font-size: 12px;
text-align: center;
}
.progress .progressbar-front-text {
display: block;
width: 100%;
font-size: 12px;
text-align: center;
}
/* bootstrap-progressbar horizontal styles */
.progress.right .bar {
right: 0;
}
.progress.right .progressbar-front-text {
position: absolute;
right: 0;
}
/* bootstrap-progressbar vertical styles */
.progress.vertical {
width: 20px;
height: 100%;
float: left;
margin-right: 20px;
background-color: #f9f9f9;
background-image: -moz-linear-gradient(left, #f5f5f5, #f9f9f9);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#f5f5f5), to(#f9f9f9));
background-image: -webkit-linear-gradient(left, #f5f5f5, #f9f9f9);
background-image: -o-linear-gradient(left, #f5f5f5, #f9f9f9);
background-image: linear-gradient(to right, #f5f5f5, #f9f9f9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=1);
}
.progress.vertical.bottom {
position: relative;
}
.progress.vertical.bottom .progressbar-front-text {
position: absolute;
bottom: 0;
}
.progress.vertical .bar {
width: 100%;
height: 0;
background-color: #0480be;
background-image: -moz-linear-gradient(left, #149bdf, #0480be);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#149bdf), to(#0480be));
background-image: -webkit-linear-gradient(left, #149bdf, #0480be);
background-image: -o-linear-gradient(left, #149bdf, #0480be);
background-image: linear-gradient(to right, #149bdf, #0480be);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=1);
-webkit-transition: height 0.6s ease;
-moz-transition: height 0.6s ease;
-o-transition: height 0.6s ease;
transition: height 0.6s ease;
}
.progress.vertical.bottom .bar {
position: absolute;
bottom: 0;
}
.progress-danger.vertical .bar,
.progress.vertical .bar-danger {
background-color: #c43c35;
background-image: -moz-linear-gradient(left, #ee5f5b, #c43c35);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#ee5f5b), to(#c43c35));
background-image: -webkit-linear-gradient(left, #ee5f5b, #c43c35);
background-image: -o-linear-gradient(left, #ee5f5b, #c43c35);
background-image: linear-gradient(to right, #ee5f5b, #c43c35);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=1);
}
.progress-success.vertical .bar,
.progress.vertical .bar-success {
background-color: #57a957;
background-image: -moz-linear-gradient(left, #62c462, #57a957);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#62c462), to(#57a957));
background-image: -webkit-linear-gradient(left, #62c462, #57a957);
background-image: -o-linear-gradient(left, #62c462, #57a957);
background-image: linear-gradient(to right, #62c462, #57a957);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=1);
}
.progress-info.vertical .bar,
.progress.vertical .bar-info {
background-color: #339bb9;
background-image: -moz-linear-gradient(left, #5bc0de, #339bb9);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#5bc0de), to(#339bb9));
background-image: -webkit-linear-gradient(left, #5bc0de, #339bb9);
background-image: -o-linear-gradient(left, #5bc0de, #339bb9);
background-image: linear-gradient(to right, #5bc0de, #339bb9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=1);
}
.progress-warning.vertical .bar,
.progress.vertical .bar-warning {
background-color: #f89406;
background-image: -moz-linear-gradient(left, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(left, #fbb450, #f89406);
background-image: -o-linear-gradient(left, #fbb450, #f89406);
background-image: linear-gradient(to right, #fbb450, #f89406);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=1);
}
/*!
* Bootstrap Responsive v2.3.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
line-height: 0;
content: "";
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
@-ms-viewport {
width: device-width;
}
.hidden {
display: none;
visibility: hidden;
}
.visible-phone {
display: none !important;
}
.visible-tablet {
display: none !important;
}
.hidden-desktop {
display: none !important;
}
.visible-desktop {
display: inherit !important;
}
@media (min-width: 768px) and (max-width: 979px) {
.hidden-desktop {
display: inherit !important;
}
.visible-desktop {
display: none !important ;
}
.visible-tablet {
display: inherit !important;
}
.hidden-tablet {
display: none !important;
}
}
@media (max-width: 767px) {
.hidden-desktop {
display: inherit !important;
}
.visible-desktop {
display: none !important;
}
.visible-phone {
display: inherit !important;
}
.hidden-phone {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: inherit !important;
}
.hidden-print {
display: none !important;
}
}
@media (min-width: 1200px) {
.row {
margin-left: -30px;
*zoom: 1;
}
.row:before,
.row:after {
display: table;
line-height: 0;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
min-height: 1px;
margin-left: 30px;
}
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
width: 1170px;
}
.span12 {
width: 1170px;
}
.span11 {
width: 1070px;
}
.span10 {
width: 970px;
}
.span9 {
width: 870px;
}
.span8 {
width: 770px;
}
.span7 {
width: 670px;
}
.span6 {
width: 570px;
}
.span5 {
width: 470px;
}
.span4 {
width: 370px;
}
.span3 {
width: 270px;
}
.span2 {
width: 170px;
}
.span1 {
width: 70px;
}
.offset12 {
margin-left: 1230px;
}
.offset11 {
margin-left: 1130px;
}
.offset10 {
margin-left: 1030px;
}
.offset9 {
margin-left: 930px;
}
.offset8 {
margin-left: 830px;
}
.offset7 {
margin-left: 730px;
}
.offset6 {
margin-left: 630px;
}
.offset5 {
margin-left: 530px;
}
.offset4 {
margin-left: 430px;
}
.offset3 {
margin-left: 330px;
}
.offset2 {
margin-left: 230px;
}
.offset1 {
margin-left: 130px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
display: table;
line-height: 0;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid [class*="span"] {
display: block;
float: left;
width: 100%;
min-height: 30px;
margin-left: 2.564102564102564%;
*margin-left: 2.5109110747408616%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row-fluid [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .controls-row [class*="span"] + [class*="span"] {
margin-left: 2.564102564102564%;
}
.row-fluid .span12 {
width: 100%;
*width: 99.94680851063829%;
}
.row-fluid .span11 {
width: 91.45299145299145%;
*width: 91.39979996362975%;
}
.row-fluid .span10 {
width: 82.90598290598291%;
*width: 82.8527914166212%;
}
.row-fluid .span9 {
width: 74.35897435897436%;
*width: 74.30578286961266%;
}
.row-fluid .span8 {
width: 65.81196581196582%;
*width: 65.75877432260411%;
}
.row-fluid .span7 {
width: 57.26495726495726%;
*width: 57.21176577559556%;
}
.row-fluid .span6 {
width: 48.717948717948715%;
*width: 48.664757228587014%;
}
.row-fluid .span5 {
width: 40.17094017094017%;
*width: 40.11774868157847%;
}
.row-fluid .span4 {
width: 31.623931623931625%;
*width: 31.570740134569924%;
}
.row-fluid .span3 {
width: 23.076923076923077%;
*width: 23.023731587561375%;
}
.row-fluid .span2 {
width: 14.52991452991453%;
*width: 14.476723040552828%;
}
.row-fluid .span1 {
width: 5.982905982905983%;
*width: 5.929714493544281%;
}
.row-fluid .offset12 {
margin-left: 105.12820512820512%;
*margin-left: 105.02182214948171%;
}
.row-fluid .offset12:first-child {
margin-left: 102.56410256410257%;
*margin-left: 102.45771958537915%;
}
.row-fluid .offset11 {
margin-left: 96.58119658119658%;
*margin-left: 96.47481360247316%;
}
.row-fluid .offset11:first-child {
margin-left: 94.01709401709402%;
*margin-left: 93.91071103837061%;
}
.row-fluid .offset10 {
margin-left: 88.03418803418803%;
*margin-left: 87.92780505546462%;
}
.row-fluid .offset10:first-child {
margin-left: 85.47008547008548%;
*margin-left: 85.36370249136206%;
}
.row-fluid .offset9 {
margin-left: 79.48717948717949%;
*margin-left: 79.38079650845607%;
}
.row-fluid .offset9:first-child {
margin-left: 76.92307692307693%;
*margin-left: 76.81669394435352%;
}
.row-fluid .offset8 {
margin-left: 70.94017094017094%;
*margin-left: 70.83378796144753%;
}
.row-fluid .offset8:first-child {
margin-left: 68.37606837606839%;
*margin-left: 68.26968539734497%;
}
.row-fluid .offset7 {
margin-left: 62.393162393162385%;
*margin-left: 62.28677941443899%;
}
.row-fluid .offset7:first-child {
margin-left: 59.82905982905982%;
*margin-left: 59.72267685033642%;
}
.row-fluid .offset6 {
margin-left: 53.84615384615384%;
*margin-left: 53.739770867430444%;
}
.row-fluid .offset6:first-child {
margin-left: 51.28205128205128%;
*margin-left: 51.175668303327875%;
}
.row-fluid .offset5 {
margin-left: 45.299145299145295%;
*margin-left: 45.1927623204219%;
}
.row-fluid .offset5:first-child {
margin-left: 42.73504273504273%;
*margin-left: 42.62865975631933%;
}
.row-fluid .offset4 {
margin-left: 36.75213675213675%;
*margin-left: 36.645753773413354%;
}
.row-fluid .offset4:first-child {
margin-left: 34.18803418803419%;
*margin-left: 34.081651209310785%;
}
.row-fluid .offset3 {
margin-left: 28.205128205128204%;
*margin-left: 28.0987452264048%;
}
.row-fluid .offset3:first-child {
margin-left: 25.641025641025642%;
*margin-left: 25.53464266230224%;
}
.row-fluid .offset2 {
margin-left: 19.65811965811966%;
*margin-left: 19.551736679396257%;
}
.row-fluid .offset2:first-child {
margin-left: 17.094017094017094%;
*margin-left: 16.98763411529369%;
}
.row-fluid .offset1 {
margin-left: 11.11111111111111%;
*margin-left: 11.004728132387708%;
}
.row-fluid .offset1:first-child {
margin-left: 8.547008547008547%;
*margin-left: 8.440625568285142%;
}
input,
textarea,
.uneditable-input {
margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
margin-left: 30px;
}
input.span12,
textarea.span12,
.uneditable-input.span12 {
width: 1156px;
}
input.span11,
textarea.span11,
.uneditable-input.span11 {
width: 1056px;
}
input.span10,
textarea.span10,
.uneditable-input.span10 {
width: 956px;
}
input.span9,
textarea.span9,
.uneditable-input.span9 {
width: 856px;
}
input.span8,
textarea.span8,
.uneditable-input.span8 {
width: 756px;
}
input.span7,
textarea.span7,
.uneditable-input.span7 {
width: 656px;
}
input.span6,
textarea.span6,
.uneditable-input.span6 {
width: 556px;
}
input.span5,
textarea.span5,
.uneditable-input.span5 {
width: 456px;
}
input.span4,
textarea.span4,
.uneditable-input.span4 {
width: 356px;
}
input.span3,
textarea.span3,
.uneditable-input.span3 {
width: 256px;
}
input.span2,
textarea.span2,
.uneditable-input.span2 {
width: 156px;
}
input.span1,
textarea.span1,
.uneditable-input.span1 {
width: 56px;
}
.thumbnails {
margin-left: -30px;
}
.thumbnails > li {
margin-left: 30px;
}
.row-fluid .thumbnails {
margin-left: 0;
}
}
@media (min-width: 768px) and (max-width: 979px) {
.row {
margin-left: -20px;
*zoom: 1;
}
.row:before,
.row:after {
display: table;
line-height: 0;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
min-height: 1px;
margin-left: 20px;
}
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
width: 724px;
}
.span12 {
width: 724px;
}
.span11 {
width: 662px;
}
.span10 {
width: 600px;
}
.span9 {
width: 538px;
}
.span8 {
width: 476px;
}
.span7 {
width: 414px;
}
.span6 {
width: 352px;
}
.span5 {
width: 290px;
}
.span4 {
width: 228px;
}
.span3 {
width: 166px;
}
.span2 {
width: 104px;
}
.span1 {
width: 42px;
}
.offset12 {
margin-left: 764px;
}
.offset11 {
margin-left: 702px;
}
.offset10 {
margin-left: 640px;
}
.offset9 {
margin-left: 578px;
}
.offset8 {
margin-left: 516px;
}
.offset7 {
margin-left: 454px;
}
.offset6 {
margin-left: 392px;
}
.offset5 {
margin-left: 330px;
}
.offset4 {
margin-left: 268px;
}
.offset3 {
margin-left: 206px;
}
.offset2 {
margin-left: 144px;
}
.offset1 {
margin-left: 82px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
display: table;
line-height: 0;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid [class*="span"] {
display: block;
float: left;
width: 100%;
min-height: 30px;
margin-left: 2.7624309392265194%;
*margin-left: 2.709239449864817%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row-fluid [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .controls-row [class*="span"] + [class*="span"] {
margin-left: 2.7624309392265194%;
}
.row-fluid .span12 {
width: 100%;
*width: 99.94680851063829%;
}
.row-fluid .span11 {
width: 91.43646408839778%;
*width: 91.38327259903608%;
}
.row-fluid .span10 {
width: 82.87292817679558%;
*width: 82.81973668743387%;
}
.row-fluid .span9 {
width: 74.30939226519337%;
*width: 74.25620077583166%;
}
.row-fluid .span8 {
width: 65.74585635359117%;
*width: 65.69266486422946%;
}
.row-fluid .span7 {
width: 57.18232044198895%;
*width: 57.12912895262725%;
}
.row-fluid .span6 {
width: 48.61878453038674%;
*width: 48.56559304102504%;
}
.row-fluid .span5 {
width: 40.05524861878453%;
*width: 40.00205712942283%;
}
.row-fluid .span4 {
width: 31.491712707182323%;
*width: 31.43852121782062%;
}
.row-fluid .span3 {
width: 22.92817679558011%;
*width: 22.87498530621841%;
}
.row-fluid .span2 {
width: 14.3646408839779%;
*width: 14.311449394616199%;
}
.row-fluid .span1 {
width: 5.801104972375691%;
*width: 5.747913483013988%;
}
.row-fluid .offset12 {
margin-left: 105.52486187845304%;
*margin-left: 105.41847889972962%;
}
.row-fluid .offset12:first-child {
margin-left: 102.76243093922652%;
*margin-left: 102.6560479605031%;
}
.row-fluid .offset11 {
margin-left: 96.96132596685082%;
*margin-left: 96.8549429881274%;
}
.row-fluid .offset11:first-child {
margin-left: 94.1988950276243%;
*margin-left: 94.09251204890089%;
}
.row-fluid .offset10 {
margin-left: 88.39779005524862%;
*margin-left: 88.2914070765252%;
}
.row-fluid .offset10:first-child {
margin-left: 85.6353591160221%;
*margin-left: 85.52897613729868%;
}
.row-fluid .offset9 {
margin-left: 79.8342541436464%;
*margin-left: 79.72787116492299%;
}
.row-fluid .offset9:first-child {
margin-left: 77.07182320441989%;
*margin-left: 76.96544022569647%;
}
.row-fluid .offset8 {
margin-left: 71.2707182320442%;
*margin-left: 71.16433525332079%;
}
.row-fluid .offset8:first-child {
margin-left: 68.50828729281768%;
*margin-left: 68.40190431409427%;
}
.row-fluid .offset7 {
margin-left: 62.70718232044199%;
*margin-left: 62.600799341718584%;
}
.row-fluid .offset7:first-child {
margin-left: 59.94475138121547%;
*margin-left: 59.838368402492065%;
}
.row-fluid .offset6 {
margin-left: 54.14364640883978%;
*margin-left: 54.037263430116376%;
}
.row-fluid .offset6:first-child {
margin-left: 51.38121546961326%;
*margin-left: 51.27483249088986%;
}
.row-fluid .offset5 {
margin-left: 45.58011049723757%;
*margin-left: 45.47372751851417%;
}
.row-fluid .offset5:first-child {
margin-left: 42.81767955801105%;
*margin-left: 42.71129657928765%;
}
.row-fluid .offset4 {
margin-left: 37.01657458563536%;
*margin-left: 36.91019160691196%;
}
.row-fluid .offset4:first-child {
margin-left: 34.25414364640884%;
*margin-left: 34.14776066768544%;
}
.row-fluid .offset3 {
margin-left: 28.45303867403315%;
*margin-left: 28.346655695309746%;
}
.row-fluid .offset3:first-child {
margin-left: 25.69060773480663%;
*margin-left: 25.584224756083227%;
}
.row-fluid .offset2 {
margin-left: 19.88950276243094%;
*margin-left: 19.783119783707537%;
}
.row-fluid .offset2:first-child {
margin-left: 17.12707182320442%;
*margin-left: 17.02068884448102%;
}
.row-fluid .offset1 {
margin-left: 11.32596685082873%;
*margin-left: 11.219583872105325%;
}
.row-fluid .offset1:first-child {
margin-left: 8.56353591160221%;
*margin-left: 8.457152932878806%;
}
input,
textarea,
.uneditable-input {
margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
margin-left: 20px;
}
input.span12,
textarea.span12,
.uneditable-input.span12 {
width: 710px;
}
input.span11,
textarea.span11,
.uneditable-input.span11 {
width: 648px;
}
input.span10,
textarea.span10,
.uneditable-input.span10 {
width: 586px;
}
input.span9,
textarea.span9,
.uneditable-input.span9 {
width: 524px;
}
input.span8,
textarea.span8,
.uneditable-input.span8 {
width: 462px;
}
input.span7,
textarea.span7,
.uneditable-input.span7 {
width: 400px;
}
input.span6,
textarea.span6,
.uneditable-input.span6 {
width: 338px;
}
input.span5,
textarea.span5,
.uneditable-input.span5 {
width: 276px;
}
input.span4,
textarea.span4,
.uneditable-input.span4 {
width: 214px;
}
input.span3,
textarea.span3,
.uneditable-input.span3 {
width: 152px;
}
input.span2,
textarea.span2,
.uneditable-input.span2 {
width: 90px;
}
input.span1,
textarea.span1,
.uneditable-input.span1 {
width: 28px;
}
}
@media (max-width: 767px) {
body {
padding-right: 20px;
padding-left: 20px;
}
.navbar-fixed-top,
.navbar-fixed-bottom,
.navbar-static-top {
margin-right: -20px;
margin-left: -20px;
}
.container-fluid {
padding: 0;
}
.dl-horizontal dt {
float: none;
width: auto;
clear: none;
text-align: left;
}
.dl-horizontal dd {
margin-left: 0;
}
.container {
width: auto;
}
.row-fluid {
width: 100%;
}
.row,
.thumbnails {
margin-left: 0;
}
.thumbnails > li {
float: none;
margin-left: 0;
}
[class*="span"],
.uneditable-input[class*="span"],
.row-fluid [class*="span"] {
display: block;
float: none;
width: 100%;
margin-left: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.span12,
.row-fluid .span12 {
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row-fluid [class*="offset"]:first-child {
margin-left: 0;
}
.input-large,
.input-xlarge,
.input-xxlarge,
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.input-prepend input,
.input-append input,
.input-prepend input[class*="span"],
.input-append input[class*="span"] {
display: inline-block;
width: auto;
}
.controls-row [class*="span"] + [class*="span"] {
margin-left: 0;
}
.modal {
position: fixed;
top: 20px;
right: 20px;
left: 20px;
width: auto;
margin: 0;
}
.modal.fade {
top: -100px;
}
.modal.fade.in {
top: 20px;
}
}
@media (max-width: 480px) {
.nav-collapse {
-webkit-transform: translate3d(0, 0, 0);
}
.page-header h1 small {
display: block;
line-height: 20px;
}
input[type="checkbox"],
input[type="radio"] {
border: 1px solid #ccc;
}
.form-horizontal .control-label {
float: none;
width: auto;
padding-top: 0;
text-align: left;
}
.form-horizontal .controls {
margin-left: 0;
}
.form-horizontal .control-list {
padding-top: 0;
}
.form-horizontal .form-actions {
padding-right: 10px;
padding-left: 10px;
}
.media .pull-left,
.media .pull-right {
display: block;
float: none;
margin-bottom: 10px;
}
.media-object {
margin-right: 0;
margin-left: 0;
}
.modal {
top: 10px;
right: 10px;
left: 10px;
}
.modal-header .close {
padding: 10px;
margin: -10px;
}
.carousel-caption {
position: static;
}
}
@media (max-width: 979px) {
body {
padding-top: 0;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: static;
}
.navbar-fixed-top {
margin-bottom: 20px;
}
.navbar-fixed-bottom {
margin-top: 20px;
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
padding: 5px;
}
.navbar .container {
width: auto;
padding: 0;
}
.navbar .brand {
padding-right: 10px;
padding-left: 10px;
margin: 0 0 0 -5px;
}
.nav-collapse {
clear: both;
}
.nav-collapse .nav {
float: none;
margin: 0 0 10px;
}
.nav-collapse .nav > li {
float: none;
}
.nav-collapse .nav > li > a {
margin-bottom: 2px;
}
.nav-collapse .nav > .divider-vertical {
display: none;
}
.nav-collapse .nav .nav-header {
color: #777777;
text-shadow: none;
}
.nav-collapse .nav > li > a,
.nav-collapse .dropdown-menu a {
padding: 9px 15px;
font-weight: bold;
color: #777777;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.nav-collapse .btn {
padding: 4px 10px 4px;
font-weight: normal;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.nav-collapse .dropdown-menu li + li a {
margin-bottom: 2px;
}
.nav-collapse .nav > li > a:hover,
.nav-collapse .nav > li > a:focus,
.nav-collapse .dropdown-menu a:hover,
.nav-collapse .dropdown-menu a:focus {
background-color: #f2f2f2;
}
.navbar-inverse .nav-collapse .nav > li > a,
.navbar-inverse .nav-collapse .dropdown-menu a {
color: #999999;
}
.navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .nav > li > a:focus,
.navbar-inverse .nav-collapse .dropdown-menu a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:focus {
background-color: #111111;
}
.nav-collapse.in .btn-group {
padding: 0;
margin-top: 5px;
}
.nav-collapse .dropdown-menu {
position: static;
top: auto;
left: auto;
display: none;
float: none;
max-width: none;
padding: 0;
margin: 0 15px;
background-color: transparent;
border: none;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.nav-collapse .open > .dropdown-menu {
display: block;
}
.nav-collapse .dropdown-menu:before,
.nav-collapse .dropdown-menu:after {
display: none;
}
.nav-collapse .dropdown-menu .divider {
display: none;
}
.nav-collapse .nav > li > .dropdown-menu:before,
.nav-collapse .nav > li > .dropdown-menu:after {
display: none;
}
.nav-collapse .navbar-form,
.nav-collapse .navbar-search {
float: none;
padding: 10px 15px;
margin: 10px 0;
border-top: 1px solid #f2f2f2;
border-bottom: 1px solid #f2f2f2;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
.navbar-inverse .nav-collapse .navbar-form,
.navbar-inverse .nav-collapse .navbar-search {
border-top-color: #111111;
border-bottom-color: #111111;
}
.navbar .nav-collapse .nav.pull-right {
float: none;
margin-left: 0;
}
.nav-collapse,
.nav-collapse.collapse {
height: 0;
overflow: hidden;
}
.navbar .btn-navbar {
display: block;
}
.navbar-static .navbar-inner {
padding-right: 10px;
padding-left: 10px;
}
}
@media (min-width: 980px) {
.nav-collapse.collapse {
height: auto !important;
overflow: visible !important;
}
}
/*!
* Bootstrap Responsive v2.3.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
/* line 11, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button {
display: inline-block;
cursor: pointer;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-ms-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
border: 1px solid;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
position: relative;
text-align: left;
overflow: hidden;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* line 29, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button.deactivate {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.5;
cursor: default !important;
}
/* line 32, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button.deactivate label, .toggle-button.deactivate span {
cursor: default !important;
}
/* line 36, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button > div {
display: inline-block;
width: 150px;
position: absolute;
top: 0;
}
/* line 41, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button > div.disabled {
left: -50%;
}
/* line 45, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button input[type=checkbox] {
display: none;
}
/* line 53, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span, .toggle-button label {
cursor: pointer;
position: relative;
float: left;
display: inline-block;
}
/* line 60, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button label {
background: #fefefe;
margin-left: -4px;
margin-right: -4px;
border: 1px solid #E6E6E6;
margin-top: -1px;
z-index: 100;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6));
background-image: -webkit-linear-gradient(top, #fefefe, #e6e6e6);
background-image: -moz-linear-gradient(top, #fefefe, #e6e6e6);
background-image: -o-linear-gradient(top, #fefefe, #e6e6e6);
background-image: linear-gradient(top, #fefefe, #e6e6e6);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
-o-border-radius: 4px;
border-radius: 4px;
}
/* line 72, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span {
color: #fefefe;
text-align: center;
font-weight: bold;
z-index: 1;
}
/* line 78, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.labelLeft {
-moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
padding-left: 3px;
}
/* line 83, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.labelRight {
-moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
color: black;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #fefefe), color-stop(100%, #e6e6e6));
background-image: -webkit-linear-gradient(bottom, #fefefe, #e6e6e6);
background-image: -moz-linear-gradient(bottom, #fefefe, #e6e6e6);
background-image: -o-linear-gradient(bottom, #fefefe, #e6e6e6);
background-image: linear-gradient(bottom, #fefefe, #e6e6e6);
padding-right: 3px;
}
/* line 91, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.primary, .toggle-button span.labelLeft {
color: #fefefe;
background: #0088cc;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #0088cc), color-stop(100%, #0055cc));
background-image: -webkit-linear-gradient(bottom, #0088cc, #0055cc);
background-image: -moz-linear-gradient(bottom, #0088cc, #0055cc);
background-image: -o-linear-gradient(bottom, #0088cc, #0055cc);
background-image: linear-gradient(bottom, #0088cc, #0055cc);
}
/* line 96, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.info {
color: #fefefe;
background: #5bc0de;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #5bc0de), color-stop(100%, #2f96b4));
background-image: -webkit-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: -moz-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(bottom, #5bc0de, #2f96b4);
background-image: linear-gradient(bottom, #5bc0de, #2f96b4);
}
/* line 102, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.success {
color: #fefefe;
background: #62c462;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #62c462), color-stop(100%, #51a351));
background-image: -webkit-linear-gradient(bottom, #62c462, #51a351);
background-image: -moz-linear-gradient(bottom, #62c462, #51a351);
background-image: -o-linear-gradient(bottom, #62c462, #51a351);
background-image: linear-gradient(bottom, #62c462, #51a351);
}
/* line 108, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.warning {
color: #fefefe;
background: #dbb450;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #dbb450), color-stop(100%, #f89406));
background-image: -webkit-linear-gradient(bottom, #dbb450, #f89406);
background-image: -moz-linear-gradient(bottom, #dbb450, #f89406);
background-image: -o-linear-gradient(bottom, #dbb450, #f89406);
background-image: linear-gradient(bottom, #dbb450, #f89406);
}
/* line 114, ../sass/bootstrap-toggle-buttons.scss */
.toggle-button span.danger {
color: #fefefe;
background: #ee5f5b;
background-image: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0%, #ee5f5b), color-stop(100%, #bd362f));
background-image: -webkit-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: -moz-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: -o-linear-gradient(bottom, #ee5f5b, #bd362f);
background-image: linear-gradient(bottom, #ee5f5b, #bd362f);
}
div.dataTables_length {
position: absolute;
right: 10px;
top: 3px;
}
div.dataTables_length label {
float: left;
text-align: left;
}
div.dataTables_length select {
width: 75px;
}
div.dataTables_filter label {
}
div.dataTables_info {
padding-top: 8px;
}
div.dataTables_paginate {
float: right;
margin: 0;
}
table.table {
clear: both;
margin-bottom: 6px !important;
}
table.table thead .sorting,
table.table thead .sorting_asc,
table.table thead .sorting_desc,
table.table thead .sorting_asc_disabled,
table.table thead .sorting_desc_disabled {
cursor: pointer;
*cursor: hand;
}
table.table thead .sorting { background: url('../img/datatable/sort_both.png') no-repeat center right; }
table.table thead .sorting_asc { background: url('../img/datatable/sort_asc.png') no-repeat center right; }
table.table thead .sorting_desc { background: url('../img/datatable/sort_desc.png') no-repeat center right; }
table.table thead .sorting_asc_disabled { background: url('../img/datatable/sort_asc_disabled.png') no-repeat center right; }
table.table thead .sorting_desc_disabled { background: url('../img/datatable/sort_desc_disabled.png') no-repeat center right; }
table.dataTable th:active {
outline: none;
}
.wmd-panel {width: 100%;}
.wmd-input {
height: 300px;
width: 100%;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.wmd-preview {
width: 100%;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.wmd-panel .btn-toolbar {
margin-bottom: 0;
padding: 0;
width: 100%;
}
/* Begin hack */
.icon-list:before {content: "\f0cb";}
.icon-blockquote:before {content: "\f10d";}
.icon-bullet-list:before {content: "\f0ca";}
.icon-header:before {content: "\f0fd";}
.icon-hr-line:before {content: "\f068";}
/* End hack */
.wmd-prompt-background {background-color: #000;}
.wmd-prompt-dialog {
border: 1px solid #999999;
background-color: #F5F5F5;
}
.wmd-prompt-dialog > div {
font-size: 0.8em;
font-family: arial, helvetica, sans-serif;
}
.wmd-prompt-dialog > form > input[type="text"] {
border: 1px solid #999999;
color: black;
}
.wmd-prompt-dialog > form > input[type="button"] {
border: 1px solid #888888;
font-family: trebuchet MS, helvetica, sans-serif;
font-size: 0.8em;
font-weight: bold;
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
</head>
<body>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="js"/>
<tiles:insertAttribute name="menu"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Cnfiguration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="default" template="/WEB-INF/layouts/default.jsp">
<put-attribute name="header" value="/WEB-INF/views/jsp/common/header.jsp"/>
<put-attribute name="js" value="/WEB-INF/views/jsp/common/js.jsp"/>
<put-attribute name="menu" value="/WEB-INF/views/jsp/common/menu.jsp"/>
<put-attribute name="footer" value="/WEB-INF/views/jsp/common/footer.jsp"/>
</definition>
</tiles-definitions>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="Appender1" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
</layout>
</appender>
<appender name="Appender2" class="org.apache.log4j.FileAppender">
<param name="File" value="${catalina.home}/logs/catalina.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
</layout>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="Appender1" />
<appender-ref ref="Appender2" />
</root>
</log4j:configuration>
<%--
Created by IntelliJ IDEA.
User: arms_matsushita
Date: 西暦2015/12/04
Time: 22:18
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/" var="AppRootUrl"/>
<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>
<html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>
<html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>${title}</title>
<meta name="description" content="Metis: Bootstrap Responsive Admin Theme">
<meta name="viewport" content="width=device-width">
<spring:url value="/resources/core/css/bootstrap.min.css" var="bootstrapCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/bootstrap-responsive.min.css" var="bootstrapResponsiveCss" />
<link href="${bootstrapResponsiveCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/font/font-awesome.min.css" var="fontAwesomCss" />
<link href="${fontAwesomCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/style.css" var="styleCss" />
<link href="${styleCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/DT_bootstrap.css" var="DTBootstrapCss" />
<link href="${DTBootstrapCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/responsive-tables.css" var="responsiveTablesCss" />
<link href="${responsiveTablesCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/theme.css" var="themeCss" />
<link href="${themeCss}" rel="stylesheet" />
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if IE 7]>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/core/css/font-awesome-ie7.min.css"/> ">
<![endif]-->
</head>
<body>
<!-- #wrap -->
<div id="wrap">
<!-- #top -->
<div id="top">
<!-- .navbar -->
<div class="navbar navbar-inverse navbar-static-top">
<div class="navbar-inner">
<div class="container-fluid">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="<spring:url value="${AppRootUrl}"/>">OpenSFA</a>
<div class="btn-toolbar topnav">
<div class="btn-group">
<a id="changeSidebarPos" class="btn btn-success" rel="tooltip"
data-original-title="Show / Hide Sidebar" data-placement="bottom">
<i class="icon-resize-horizontal"></i>
</a>
</div>
<div class="btn-group">
<a class="btn btn-inverse" data-placement="bottom" data-original-title="Logout" rel="tooltip"
href="login.html"><i class="icon-off"></i></a></div>
</div>
<!-- /.topnav -->
<div class="nav-collapse collapse">
<!-- .nav -->
<!--
<ul class="nav">
<li>
<a href="index.html">Dashboard</a></li>
<li class="active">
<a href="table.html">Tables</a></li>
<li>
<a href="file.html">File Manager</a></li>
<li class="dropdown ">
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
Form Elements <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="form-general.html">General</a></li>
<li><a href="form-validation.html">Validation</a></li>
<li><a href="form-wysiwyg.html">WYSIWYG</a></li>
<li><a href="form-wizard.html">Wizard &amp; File Upload</a></li>
</ul>
</li>
</ul>
-->
<!-- /.nav -->
</div>
</div>
</div>
</div>
<!-- /.navbar -->
</div>
<!-- /#top -->
<!-- .head -->
<header class="head">
<div class="search-bar">
<div class="row-fluid">
<div class="span12">
<div>
<a id="menu-toggle" href="#menu" data-toggle="collapse"
class="accordion-toggle btn btn-inverse visible-phone"
rel="tooltip" data-placement="bottom" data-original-title="Show/Hide Menu">
<i class="icon-sort"></i>
</a>
<form class="main-search">
</form>
</div>
</div>
</div>
</div>
<!-- ."main-bar -->
<div class="main-bar">
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<h3>${moduleName}</h3>
</div>
</div>
<!-- /.row-fluid -->
</div>
<!-- /.container-fluid -->
</div>
<!-- /.main-bar -->
</header>
<!-- /.head -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<spring:url value="/resources/core/js/vendor/jquery-1.10.1.min.js" var="jqueryJs" />
<script>window.jQuery || document.write('<script src="${jqueryJs}"><\/script>')</script>
<spring:url value="/resources/core/js/vendor/bootstrap.min.js" var="bootstrapJs" />
<script src="${bootstrapJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.tablesorter.min.js" var="jqueryTablesorterJs" />
<script src="${jqueryTablesorterJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.dataTables.min.js" var="jqueryDataTablesJs" />
<script src="${jqueryDataTablesJs}"></script>
<spring:url value="/resources/core/js/lib/DT_bootstrap.js" var="DTBootstrapJs" />
<script src="${DTBootstrapJs}"></script>
<spring:url value="/resources/core/js/lib/responsive-tables.js" var="responsiveTablesJs" />
<script src="${responsiveTablesJs}"></script>
<spring:url value="/resources/core/js/main.js" var="mainJs" />
<script src="${mainJs}"></script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/" var="dashboardUrl"/>
<spring:url value="/master/employee/list" var="masterEmployeeUrl"/>
<spring:url value="/master/parent_business_unit/list" var="masterParentBusinessUnitUrl"/>
<spring:url value="/master/business_unit/list" var="masterBusinessUnitUrl"/>
<spring:url value="/master/section_unit/list" var="masterSectionUnitUrl"/>
<spring:url value="/master/group_unit/list" var="masterGroupUnitUrl"/>
<spring:url value="/master/title/list" var="masterTitleUrl"/>
<spring:url value="/master/role/list" var="masterRoleUrl"/>
<spring:url value="/master/technical_rank/list" var="masterTechnicalRankUrl"/>
<spring:url value="/master/company_code/list" var="masterCompanyCodeUrl"/>
<spring:url value="/master/area/list" var="masterAreaUrl"/>
<spring:url value="/master/postion/list" var="masterPositionUrl"/>
<spring:url value="/master/resource_type/list" var="masterResourceTypeUrl"/>
<spring:url value="/contract/development/list" var="contractDevelopmentUrl"/>
<spring:url value="/contract/ses/list" var="contractSesUrl"/>
<spring:url value="/claim/quotation/list" var="claimQuoationUrl"/>
<spring:url value="/claim/invoice/list" var="claimInvoiceUrl"/>
<spring:url value="/claim/reciept/list" var="claimRecieptUrl"/>
<spring:url value="/customer/managment/list" var="customerManagmentUrl"/>
<spring:url value="/workload/management/list" var="workloadManagementUrl" />
<!-- #left -->
<div id="left">
<!-- .user-media -->
<div class="media user-media hidden-phone">
<a href="" class="user-link">
<img src="<c:url value="/resources/img/user.gif" />" alt="User Picture" class="media-object img-polaroid user-img">
<span class="label user-label">16</span>
</a>
<div class="media-body hidden-tablet">
<h5 class="media-heading">Archie</h5>
<ul class="unstyled user-info">
<li><a href="">Administrator</a></li>
<li>Last Access : <br/>
<small><i class="icon-calendar"></i> 16 Mar 16:32</small>
</li>
</ul>
</div>
</div>
<!-- /.user-media -->
<!-- BEGIN MAIN NAVIGATION -->
<ul id="menu" class="unstyled accordion collapse in">
<c:choose>
<c:when test="${active_menu_dashboard}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a href="${dashboardUrl}" data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#dashboard-nav">
<i class="icon-dashboard icon-large"></i> <spring:message code="app.title.dashboard" />
</a>
</li>
<c:choose>
<c:when test="${active_menu_master}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#master-nav">
<i class="icon-tasks icon-large"></i> <spring:message code="app.menu.master" htmlEscape="true" />
<span class="label label-inverse pull-right">13</span>
</a>
<ul class="collapse " id="master-nav">
<li><a href="${masterEmployeeUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.employee.master" /></a></li>
<li><a href="${masterParentBusinessUnitUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.parent.business.unit.master" /></a></li>
<li><a href="${masterBusinessUnitUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.business.unit.master" /></a></li>
<li><a href="${masterSectionUnitUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.section.unit.master" /></a></li>
<li><a href="${masterGroupUnitUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.group.unit.master" /></a></li>
<li><a href="${masterTitleUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.title.master" /></a></li>
<li><a href="${masterRoleUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.role.master" /></a></li>
<li><a href="${masterTechnicalRankUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.technical.rank.master" /></a></li>
<li><a href="${masterCompanyCodeUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.company.code.master" /></a></li>
<li><a href="${masterAreaUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.area.master" /></a></li>
<li><a href="${masterPositionUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.position.master" /></a></li>
<li><a href="${masterResourceTypeUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.resource.type.master" /></a></li>
</ul>
</li>
<c:choose>
<c:when test="${active_menu_workload_management}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a href="${workloadManagementUrl}" data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#dashboard-nav">
<i class="icon-list-alt icon-large"></i> <spring:message code="app.menu.workload.management" />
</a>
</li>
<c:choose>
<c:when test="${active_menu_project_balance_sheet}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle collapsed" data-target="#contract-nav">
<i class="icon-pencil icon-large"></i>&nbsp;<spring:message code="app.menu.project.balance.table" />
<span class="label label-inverse pull-right">2</span>
</a>
<ul class="collapse " id="contract-nav">
<li><a href="${contractDevelopmentUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.contract.development" /></a></li>
<li><a href="${contractSesUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.contract.ses" /></a></li>
</ul>
</li>
<c:choose>
<c:when test="${active_menu_claim}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#claim-nav">
<i class="icon-tasks icon-large"></i> <spring:message code="app.menu.claim.relation" htmlEscape="true" />
<span class="label label-inverse pull-right">3</span>
</a>
<ul class="collapse " id="claim-nav">
<li><a href="${claimQuoationUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.claim.quotation" /></a></li>
<li><a href="${claimInvoiceUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.claim.invoice" /></a></li>
<li><a href="${claimRecieptUrl}"><i class="icon-angle-right"></i>&nbsp;<spring:message code="app.menu.claim.receipt" /></a></li>
</ul>
</li>
<c:choose>
<c:when test="${active_menu_business_customer}">
<li class="accordion-group active">
</c:when>
<c:otherwise>
<li class="accordion-group">
</c:otherwise>
</c:choose>
<a href="${customerManagmentUrl}" data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#dashboard-nav">
<i class="icon-font icon-large"></i> <spring:message code="app.menu.customer.management" />
</a>
</li>
</ul>
<!-- END MAIN NAVIGATION -->
</div>
<!-- /#left -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<spring:url value="/contract/development/save" var="DevelopmentSaveUrl"/>
<spring:url value="/contract/development/list" var="DevelopmentListUrl" />
<spring:url value="/resources/core/css/prettify.css" var="prettifyCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<spring:url value="/resources/core/validation-engine/css/validationEngine.jquery.css" var="validationEngineJqueryCss" />
<link href="${validationEngineJqueryCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/app/contract.css" var="contractCss" />
<link href="${contractCss}" rel="stylesheet" />
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.menu.contract.development" /> : <spring:message code="app.feature.new.register" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<form:form action="${pageContext.request.contextPath}/contract/development/save" method="POST" modelAttribute="contractDevelopmentForm">
<!-- Start Project Basic Information -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="4"><spring:message code="app.contract.development.project.basic.information"/></th>
</tr>
<tr class="valign-middle">
<!-- Project Status -->
<td class="span3 valign-middle"><spring:message code="app.contract.development.project.status" /></td>
<td class="span3 valign-middle">
<select name="project_status" style="margin-bottom: 0;">
<c:forEach items="${projectStatuses}" var="projectStatus">
<option value="${projectStatus.projectStatusId}">
<spring:message code="${projectStatus.labelName}" />
</option>
</c:forEach>
</select>
</td>
<!-- Current Judgement -->
<td class="span3 valign-middle"><spring:message code="app.contract.development.current.judgement" /></td>
<td class="span3 valign-middle">
${project.currentJudgement}
</td>
</tr>
<tr>
<!-- Contract Type -->
<td class="valign-middle"><spring:message code="app.contract.development.contract.type" /></td>
<td class="valign-middle">
<select name="contract_type" style="margin-bottom: 0;">
<c:forEach items="${contractTypes}" var="contractType">
<option value="${contractType.contractTypeId}">
<spring:message code="${contractType.labelName}" />
</option>
</c:forEach>
</select>
</td>
<!-- Sales Representative -->
<td class="valign-middle"><spring:message code="app.contract.development.sales" /></td>
<td class="valign-middle">
<form:input path="salesRepresentative.name" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" class="search-modal" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
</tr>
<tr>
<!-- Project Manager -->
<td class="valign-middle"><spring:message code="app.contract.development.project.manager" /></td>
<td class="valign-middle">
<form:input path="projectManager.name" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<!-- Business Unit -->
<td class="valign-middle"><spring:message code="app.contract.development.belong.business.unit" /></td>
<td class="valign-middle">
<form:input path="businessUnit.name" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
</tr>
<tr>
<!-- Business Company -->
<td class="valign-middle"><spring:message code="app.contract.development.business.company" /></td>
<td class="valign-middle">
<form:input path="businessCompany.name" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<!-- Project Name -->
<td class="valign-middle"><spring:message code="app.contract.development.project.name" /></td>
<td class="valign-middle">
<form:input path="project.name" cssClass="span9" cssStyle="margin-bottom: 0;"/>
</td>
</tr>
<tr>
<!-- Project Short Name -->
<td class="valign-middle"><spring:message code="app.contract.development.project.short.name" /></td>
<td class="valign-middle">
<form:input path="project.shortName" cssClass="span9" cssStyle="margin-bottom: 0;"/>
</td>
<!-- End User -->
<td class="valign-middle"><spring:message code="app.contract.development.end.user" /></td>
<td class="valign-middle">
<form:input path="project.endUser" cssClass="span9" cssStyle="margin-bottom: 0;"/>
</td>
</tr>
<tr>
<!-- First Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.first.sales.amount" /></td>
<td class="valign-middle">
<form:input path="project.firstOrderSalesAmount" cssClass="span9" cssStyle="margin-bottom: 0;"/>
</td>
<!-- First Standard Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.first.standard.sales.amount" /></td>
<td class="valign-middle">
<form:input path="project.firstStandardSalesAmount" cssClass="span9" cssStyle="margin-bottom: 0;"/>
</td>
</tr>
<tr>
<!-- Project Start Date -->
<td class="valign-middle"><spring:message code="app.contract.development.start.date" /></td>
<td class="valign-middle">
<div class="input-append date" id="dp5" data-date="${today}" data-date-format="yyyy-mm-dd" style="margin-bottom: 0;">
<span class="add-on"><i class="icon-calendar"></i></span>
<form:input path="project.startProjectDate" cssClass="span9" readonly="true" cssStyle="margin-bottom: 0;"/>
</div>
</td>
<!-- Project Acceptance Schedule Date -->
<td class="valign-middle"><spring:message code="app.contract.development.acceptance.schedule.date" /></td>
<td class="valign-middle">
<div class="input-append date" id="dp2" data-date="${today}" data-date-format="yyyy-mm-dd" style="margin-bottom: 0;">
<span class="add-on"><i class="icon-calendar"></i></span>
<form:input path="project.acceptanceScheduleDate" cssClass="span9" readonly="true" cssStyle="margin-bottom: 0;"/>
</div>
</td>
</tr>
<tr>
<!-- Empty -->
<td class="valign-middle"></td>
<td class="valign-middle"></td>
<!-- Project Acceptance Finished Date -->
<td class="valign-middle"><spring:message code="app.contract.development.acceptance.finished.date" /></td>
<td class="valign-middle">
<div class="input-append date" id="dp3" data-date="${today}" data-date-format="yyyy-mm-dd" style="margin-bottom: 0;">
<span class="add-on"><i class="icon-calendar"></i></span>
<form:input path="project.acceptanceFinishedDate" cssClass="span9" readonly="true" cssStyle="margin-bottom: 0;"/>
</div>
</td>
</tr>
<tr>
<!-- Project Lock -->
<td class="valign-middle"><spring:message code="app.contract.development.project.lock" /></td>
<td class="valign-middle">
<form:checkbox path="project.projectLock" cssStyle="margin-bottom: 0;"/>
</td>
<!-- Final Project Finished Date -->
<td class="valign-middle"><spring:message code="app.contract.development.final.project.finished.date" /></td>
<td class="valign-middle">
<div class="input-append date" id="dp4" data-date="${today}" data-date-format="yyyy-mm-dd" style="margin-bottom: 0;">
<span class="add-on"><i class="icon-calendar"></i></span>
<form:input path="project.finalProjectFinishedDate" cssClass="span9" readonly="true" cssStyle="margin-bottom: 0;"/>
</div>
</td>
</tr>
<tr>
<!-- Difference of First Sales Amount and First Standard Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.difference.first.sales.amount.and.first.standard.amount" /></td>
<td class="valign-middle"></td>
<!-- First Achievement -->
<td class="valign-middle"><spring:message code="app.contract.development.first.achievement" /></td>
<td class="valign-middle"></td>
</tr>
<tr>
<!-- First Judgement -->
<td class="valign-middle"><spring:message code="app.contract.development.first.judgement" /></td>
<td class="valign-middle"></td>
<!-- Total First Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.total.first.sales.amount" /></td>
<td class="valign-middle"></td>
</tr>
<tr>
<!-- Difference of Current Sales Amount and Current Standard Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.difference.current.sales.amount.and.current.standard.amount" /></td>
<td class="valign-middle"></td>
<!-- Empty -->
<td class="valign-middle"></td>
<td class="valign-middle"></td>
</tr>
</table>
<br>
<!-- End Project Basic Information -->
<!-- Start Remarks -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="2"><spring:message code="app.contract.development.other" /></th>
</tr>
<tr>
<td class="span2"><spring:message code="app.contract.development.remark" /></td>
<td>
<form:textarea path="project.remark" cssClass="span12" cssStyle="margin-bottom: 0;"/>
</td>
</tr>
</table>
<br>
<!-- End Remarks -->
<!-- Start Project Additional Sales Amount -->
<div class="over-flow-x-auto" style="overflow-y: hidden;">
<div>
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1500">
<tr>
<th colspan="14"><spring:message code="app.contract.development.project.additional.sales.amount" /></th>
</tr>
<tr>
<td class="span2" style="padding: 1px 0 1px 1px;"></td>
<td class="span2 td-text-align-center" style="padding: 1px 0 1px 1px;"><spring:message code="app.contract.development.amount" /></td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center" style="padding: 1px 0 1px 1px;">
${projectAdditionalSales.formatDate()}
</td>
</c:forEach>
</tr>
<tr>
<td class="valign-middle" style="padding: 1px 0 1px 5px;"><spring:message code="app.contract.development.additional.sales.amount" /></td>
<td class="valign-middle td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="valign-middle td-text-align-center" style="padding: 0;">
<form:input path="${projectAdditionalSales.amount}" cssClass="valign-middle span10" cssStyle="margin-bottom: 0px;" />
</td>
</c:forEach>
</tr>
</table>
</div>
</div>
<br>
<!-- End Project Additional Sales Amount -->
<!-- Start Project Profit Loss -->
<div class="over-flow-x-auto">
<div class="display: table; min-width: 100%;">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-2000">
<tr>
<th colspan="19"><spring:message code="app.contract.development.project.profit.loss" /></th>
</tr>
<tr>
<td rowspan="2" class="width-5"></td>
<td rowspan="2" class="valign-middle width-100"><spring:message code="app.contract.development.pl.type" /></td>
<td rowspan="2" class="valign-middle width-130"><spring:message code="app.contract.development.pl.partner.company" /></td>
<td rowspan="2" class="valign-middle width-130"><spring:message code="app.contract.development.pl.employee.name.or.partner.name" /></td>
<td rowspan="2" class="valign-middle width-110"><spring:message code="app.contract.development.pl.partner.cost.etc" /></td>
<td rowspan="2" class="valign-middle width-100"><spring:message code="app.contract.development.pl.position" /></td>
<td rowspan="2" class="width-60"></td>
<c:forEach items="${contractDevelopmentForm.projectProfitLossDateLockList}" var="projectProfitLossDateLock" varStatus="loopStatus">
<td class="td-text-align-center" style="padding: 0 0 5px 0;">
<form:checkbox path="projectProfitLossDateLockList[${loopStatus.index}].profitLossDateLock" cssStyle="margin-bottom: 0;"/>
</td>
</c:forEach>
</tr>
<tr>
<c:forEach items="${contractDevelopmentForm.projectProfitLossDateLockList}" var="projectProfitLossDateLock">
<td class="td-text-align-center" style="padding: 1px 0 1px 1px">
<fmt:formatDate pattern="yyyy-MM" value="${projectProfitLossDateLock.profitLossDate}" />
</td>
</c:forEach>
</tr>
<c:forEach items="${contractDevelopmentForm.projectProfitLossList}" var="projectProfitLoss">
<tr>
<td class="valign-middle" rowspan="2">
<button type="button"><i class="icon-remove-sign"></i></button>
</td>
<td class="valign-middle" rowspan="2">
<select name="contract_type" style="margin-bottom: 0;">
<c:forEach items="${projectProfitLossTypes}" var="projectProfitLossType">
<option value="${projectProfitLossType.projectProfitLossTypeId}">
<spring:message code="${projectProfitLossType.labelName}" />
</option>
</c:forEach>
</select>
</td>
<td class="valign-middle" rowspan="2">
<form:input path="${projectProfitLoss.partnerCompany.name}" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<td class="valign-middle" rowspan="2">
<form:input path="${projectProfitLoss.engineer.name}" cssClass="span9" disabled="true" cssStyle="margin-bottom: 0;"/>
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<td class="valign-middle td-text-align-center" rowspan="2">
<form:input path="${projectProfitLoss.partnerCost}" cssClass="span10" cssStyle="margin-bottom: 0;"/>
</td>
<td class="valign-middle" rowspan="2">
<select name="position" style="margin-bottom: 0;">
<c:forEach items="${positions}" var="position">
<option value="${position.positionId}">${position.name}</option>
</c:forEach>
</select>
</td>
<td class="valign-middle"><spring:message code="app.contract.development.pl.workload" /></td>
<c:forEach items="${projectProfitLoss.projectProfitLossDetailList}" var="projectProfitLossDetail">
<td class="valign-middle td-text-align-center" style="padding: 0;">
<form:input path="${projectProfitLossDetails.workload}" cssClass="span10" cssStyle="margin-bottom: 0;"/>
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.standard.sales" /></td>
<c:forEach items="${projectProfitLoss.projectProfitLossDetailList}" var="projectProfitLossDetail">
<td class="valign-middle td-text-align-center" style="padding: 0;"></td>
</c:forEach>
</tr>
</c:forEach>
</table>
</div>
</div>
<!-- End Project Profit Loss -->
<!-- Start Project Information Summary -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1600">
<tr>
<th colspan="10"><spring:message code="app.contract.development.project.information"/></th>
</tr>
<tr>
<td class="span3" colspan="2"><spring:message code="app.contract.development.first.judgement" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.continuation.judgement" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information1" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information2" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information3" /></td>
</tr>
<tr>
<!-- first.standard.sales.amount -->
<td class="span3"><spring:message code="app.contract.development.first.standard.sales.amount" /></td>
<td class="span2"></td>
<!-- current.standard.sales.amount -->
<td class="span3"><spring:message code="app.contract.development.current.standard.sales.amount" /></td>
<td class="span2"></td>
<!-- business.company -->
<td class="span2"><spring:message code="app.contract.development.business.company" /></td>
<td class="span2"></td>
<!-- sales -->
<td class="span2"><spring:message code="app.contract.development.sales" /></td>
<td class="span2"></td>
<!-- start.date -->
<td class="span2"><spring:message code="app.contract.development.start.date" /></td>
<td class="span2"></td>
</tr>
<tr>
<!-- first.sales.amount -->
<td><spring:message code="app.contract.development.first.sales.amount" /></td>
<td></td>
<!-- difference.current.sales.amount.and.current.standard.amount -->
<td><spring:message code="app.contract.development.difference.current.sales.amount.and.current.standard.amount" /></td>
<td></td>
<!-- project.name -->
<td><spring:message code="app.contract.development.project.name" /></td>
<td></td>
<!-- project.manager -->
<td><spring:message code="app.contract.development.project.manager" /></td>
<td></td>
<!-- acceptance.schedule.date -->
<td><spring:message code="app.contract.development.acceptance.schedule.date" /></td>
<td></td>
</tr>
<tr>
<!-- difference.first.sales.amount.and.first.standard.amount -->
<td><spring:message code="app.contract.development.difference.first.sales.amount.and.first.standard.amount" /></td>
<td></td>
<!-- current.achievement.rate -->
<td><spring:message code="app.contract.development.current.achievement.rate" /></td>
<td></td>
<!-- project.code -->
<td><spring:message code="app.contract.development.project.code" /></td>
<td></td>
<!-- belong.business.unit -->
<td><spring:message code="app.contract.development.belong.business.unit" /></td>
<td></td>
<!-- acceptance.finished.date -->
<td><spring:message code="app.contract.development.acceptance.finished.date" /></td>
<td></td>
</tr>
<tr>
<!-- first.achievement.rate -->
<td><spring:message code="app.contract.development.first.achievement.rate" /></td>
<td></td>
<!-- difference.first.estimation -->
<td><spring:message code="app.contract.development.difference.first.estimation" /></td>
<td></td>
<!-- development.project.short.name -->
<td><spring:message code="app.contract.development.project.short.name" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- first.sales.amount.tax -->
<td><spring:message code="app.contract.development.first.sales.amount.tax" /></td>
<td></td>
</tr>
<tr>
<!-- first.judgement -->
<td colspan="2"><spring:message code="app.contract.development.first.judgement" /></td>
<!-- current.judgement -->
<td colspan="2"><spring:message code="app.contract.development.current.judgement" /></td>
<!-- end.user -->
<td><spring:message code="app.contract.development.end.user" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- additional.sales.amount -->
<td><spring:message code="app.contract.development.additional.sales.amount" /></td>
<td></td>
</tr>
<tr>
<!-- first.judgement.box -->
<td colspan="2" rowspan="2"></td>
<!-- current.judgement.box -->
<td colspan="2" rowspan="2"></td>
<!-- development.project.status -->
<td><spring:message code="app.contract.development.project.status" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- app.contract.development.total.sales.amount -->
<td><spring:message code="app.contract.development.total.sales.amount" /></td>
<td></td>
</tr>
<tr>
<!-- updated.at -->
<td><spring:message code="app.contract.development.updated.at" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<!-- End Project Information Summary -->
<!-- Start Project Profit Loss Summary -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible over-flow-visible width-1200">
<tr>
<th colspan="15"><spring:message code="app.contract.development.pj.pl.summary" /></th>
</tr>
<tr>
<td></td>
<td class="font-bold"><spring:message code="app.contract.development.amount" /></td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
${projectAdditionalSales.formatDate()}
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.monthly.sales.amount" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.additional.sales.amount.in.contract.period" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.remaining.workload" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.monthly.standard.sales.amount" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.workload.sales.for.project" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
</td>
</c:forEach>
</tr>
</table>
</div>
</div>
<!-- End Project Profit Loss Summary -->
<!-- Start Project Profit Loss Summary2 -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1500">
<tr>
<th colspan="18"><spring:message code="app.contract.development.pj.pl.summary2" /></th>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.type" /></td>
<td><spring:message code="app.contract.development.pl.partner.company" /></td>
<td><spring:message code="app.contract.development.pl.employee.name.or.partner.name" /></td>
<td><spring:message code="app.contract.development.pl.position" /></td>
<td></td>
<td class="font-bold"><spring:message code="app.contract.development.amount" /></td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center">
${projectAdditionalSales.formatDate()}
</td>
</c:forEach>
</tr>
<tr>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td><spring:message code="app.contract.development.pl.standard.sales" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center"></td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.workload" /></td>
<td class="td-text-align-right">0</td>
<c:forEach items="${contractDevelopmentForm.projectAdditionalSalesList}" var="projectAdditionalSales">
<td class="td-text-align-center"></td>
</c:forEach>
</tr>
</table>
</div>
</div>
<!-- End Project Profit Loss Summary2 -->
<!-- Start Remarks2 -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="2"><spring:message code="app.contract.development.other" /></th>
</tr>
<tr>
<td class="span2"><spring:message code="app.contract.development.remark" /></td>
<td>
<form:textarea path="project.remark2" cssClass="span12" cssStyle="margin-bottom: 0px;"/>
</td>
</tr>
</table>
<br>
<!-- End Remarks2 -->
<div align="right">
<a href="${DevelopmentListUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
<input type="submit" value="<spring:message code="button.register" />" class="btn btn-primary">
</div>
</form:form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" style="width: auto; left: auto; margin-left: auto;">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div class="span12 inner">
<!--Begin Datatables-->
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<a href="${ContractDevelopmentAddUrl}" class="btn btn-primary btn-small" role="button" style="margin: 5px 0 5px 10px;">
<spring:message code="button.new.register" />
</a>
</header>
<div id="collapse4" class="body">
<table id="dataTable" class="table table-bordered sortableTable table-condensed table-hover table-striped responsive">
<thead id="dataHead"><tr><th></th></tr></thead>
<tbody id="dataBody"><tr><td></td></tr></tbody>
</table>
</div>
</div>
</div>
</div>
<!--End Datatables-->
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/core/js/vendor/jquery-ui-1.10.0.custom.min.js"/>">"<\/script>')</script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.mousewheel.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.nicescroll.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/prettify.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.dualListBox-1.3.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/validation-engine/js/jquery.validationEngine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/validation-engine/js/languages/jquery.validationEngine-tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/validation/jquery.validate.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/validation/localization/messages_tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/bootstrap-inputmask.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.autosize-min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.inputlimiter.1.3.1.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.tagsinput.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/chosen/chosen/chosen.jquery.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/uniform/jquery.uniform.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.validVal-4.3.2.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/date.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/daterangepicker.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/bootstrap-colorpicker.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/bootstrap-datepicker.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/bootstrap-timepicker.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/core/js/lib/jquery.toggle.buttons.js"/>"></script>
<c:url var="home" value="/" scope="request" />
<script>
jQuery(document).ready(function($) {
$(".search-modal").on('click', function(event) {
event.preventDefault();
searchViaAjax();
});
formValidation(${locale});
formGeneral();
metisTable();
});
function searchViaAjax() {
$.ajax({
type : "POST",
contentType : "application/json",
url : "${home}search/api/sales",
dataType : 'json',
timeout : 100000,
success : function(data) {
display(data);
metisTable();
},
error : function(e) {
display(e);
},
done : function(e) {
enableSearchButton(true);
}
})
}
function display(data) {
$("#dataTable").dataTable().fnDestroy();
$('#dataHead').empty();
$('#dataHead').append($('<tr>').attr('id', 'label'));
jQuery.each(data.labelColumnMap, function(columnName, label) {
$('#label').append($('<td>').text(label));
});
$('#dataBody').empty();
jQuery.each(data.valueMapList, function(i, valueMap) {
$('#dataBody').append($('<tr>').attr('id', 'valueTr' + i));
jQuery.each(data.labelColumnMap, function(columnName, label) {
$('#valueTr' + i).append($('<td>').text(valueMap[columnName]));
})
})
}
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<spring:url value="/contract/development/save" var="DevelopmentSaveUrl"/>
<spring:url value="/contract/development/list" var="DevelopmentListUrl" />
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/prettify.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/validation-engine/css/validationEngine.jquery.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/app/contract.css" /> "/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.menu.contract.development" /> : <spring:message code="app.feature.new.register" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<c:if test="${not empty errorMessage}">
<p class="lead">${errorMessage}</p>
</c:if>
<form action="${DevelopmentAddConfirmUrl}" method="post" class="form-horizontal" id="inline-validate">
<!-- Start Project Basic Information -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="4"><spring:message code="app.contract.development.project.basic.information"/></th>
</tr>
<tr class="valign-middle">
<!-- Project Status -->
<td class="span3 valign-middle"><spring:message code="app.contract.development.project.status" /></td>
<td class="span3 valign-middle">
<select name="project_status">
<c:forEach items="${projectStatuses}" var="projectStatus">
<option value="${projectStatus.projectStatusId}">
<spring:message code="${projectStatus.labelName}" />
</option>
</c:forEach>
</select>
</td>
<!-- Current Judgement -->
<td class="span3 valign-middle"><spring:message code="app.contract.development.current.judgement" /></td>
<td class="span3 valign-middle"></td>
</tr>
<tr>
<!-- Contract Type -->
<td class="valign-middle"><spring:message code="app.contract.development.contract.type" /></td>
<td class="valign-middle">
<select name="contract_type">
<c:forEach items="${contractTypes}" var="contractType">
<option value="${contractType.contractTypeId}">
<spring:message code="${contractType.labelName}" />
</option>
</c:forEach>
</select>
</td>
<!-- Sales Representative -->
<td class="valign-middle"><spring:message code="app.contract.development.sales" /></td>
<td class="valign-middle">
<form:input path="project.salesRepresentative" cssClass="span9" disabled="true" />
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
</tr>
<tr>
<!-- Project Manager -->
<td class="valign-middle"><spring:message code="app.contract.development.project.manager" /></td>
<td class="valign-middle">
<form:input path="project.projectManager" cssClass="span9" disabled="true" />
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<!-- Business Unit -->
<td class="valign-middle"><spring:message code="app.contract.development.belong.business.unit" /></td>
<td class="valign-middle">
<form:input path="project.businessUnit" cssClass="span9" disabled="true" />
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
</tr>
<tr>
<!-- Business Company -->
<td class="valign-middle"><spring:message code="app.contract.development.business.company" /></td>
<td class="valign-middle">
<form:input path="project.businessCompany" cssClass="span9" disabled="true" />
<button type="button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</td>
<!-- Project Name -->
<td class="valign-middle"><spring:message code="app.contract.development.project.name" /></td>
<td class="valign-middle">
<form:input path="project.name" cssClass="span9" />
</td>
</tr>
<tr>
<!-- Project Short Name -->
<td class="valign-middle"><spring:message code="app.contract.development.project.short.name" /></td>
<td class="valign-middle">
<form:input path="project.shortName" cssClass="span9" />
</td>
<!-- End User -->
<td class="valign-middle"><spring:message code="app.contract.development.end.user" /></td>
<td class="valign-middle">
<form:input path="project.endUser" cssClass="span9" />
</td>
</tr>
<tr>
<!-- First Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.first.sales.amount" /></td>
<td class="valign-middle">
<form:input path="project.firstOrderSalesAmount" cssClass="span9" />
</td>
<!-- First Standard Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.first.standard.sales.amount" /></td>
<td class="valign-middle">
<form:input path="project.firstStandardSalesAmount" cssClass="span9" />
</td>
</tr>
<tr>
<!-- Project Start Date -->
<td class="valign-middle"><spring:message code="app.contract.development.start.date" /></td>
<td class="valign-middle">
<div class="input-append date" data-date="12-02-2012" data-date-format="yyyy-mm-dd">
<form:input path="project.startProjectDate" cssClass="span9" readonly="true" />
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</td>
<!-- Project Acceptance Schedule Date -->
<td class="valign-middle"><spring:message code="app.contract.development.acceptance.schedule.date" /></td>
<td class="valign-middle">
<div class="input-append date" data-date="12-02-2012" data-date-format="yyyy-mm-dd">
<form:input path="project.acceptanceScheduleDate" cssClass="span9" readonly="true" />
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</td>
</tr>
<tr>
<!-- Empty -->
<td class="valign-middle"></td>
<td class="valign-middle"></td>
<!-- Project Acceptance Finished Date -->
<td class="valign-middle"><spring:message code="app.contract.development.acceptance.finished.date" /></td>
<td class="valign-middle">
<div class="input-append date" data-date="12-02-2012" data-date-format="yyyy-mm-dd">
<form:input path="project.acceptanceFinishedDate" cssClass="span9" readonly="true" />
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</td>
</tr>
<tr>
<!-- Project Lock -->
<td class="valign-middle"><spring:message code="app.contract.development.project.lock" /></td>
<td class="valign-middle">
</td>
<!-- Final Project Finished Date -->
<td class="valign-middle"><spring:message code="app.contract.development.final.project.finished.date" /></td>
<td class="valign-middle">
<div class="input-append date" data-date="12-02-2012" data-date-format="yyyy-mm-dd">
<form:input path="project.finalProjectFinishedDate" cssClass="span9" readonly="true" />
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</td>
</tr>
<tr>
<!-- Difference of First Sales Amount and First Standard Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.difference.first.sales.amount.and.first.standard.amount" /></td>
<td class="valign-middle"></td>
<!-- First Achievement -->
<td class="valign-middle"><spring:message code="app.contract.development.first.achievement" /></td>
<td class="valign-middle"></td>
</tr>
<tr>
<!-- First Judgement -->
<td class="valign-middle"><spring:message code="app.contract.development.first.judgement" /></td>
<td class="valign-middle"></td>
<!-- Total First Sales Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.total.first.sales.amount" /></td>
<td class="valign-middle"></td>
</tr>
<tr>
<!-- Difference of Current Sales Amount and Current Standard Amount -->
<td class="valign-middle"><spring:message code="app.contract.development.difference.current.sales.amount.and.current.standard.amount" /></td>
<td class="valign-middle"></td>
<!-- Empty -->
<td class="valign-middle"></td>
<td class="valign-middle"></td>
</tr>
</table>
<br>
<!-- End Project Basic Information -->
<!-- Start Remarks -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="2"><spring:message code="app.contract.development.other" /></th>
</tr>
<tr>
<td class="span2"><spring:message code="app.contract.development.remark" /></td>
<td>
<form:textarea path="project.remark" cssClass="span12" />
</td>
</tr>
</table>
<br>
<!-- End Remarks -->
<!-- Start Project Additional Sales Amount -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="14"><spring:message code="app.contract.development.project.additional.sales.amount" /></th>
</tr>
<tr>
<td></td>
<td><spring:message code="app.contract.development.amount" /></td>
<c:forEach items="${projectAdditionalSales}" var="projectAdditionalSale">
<td class="td-text-align-center">
${projectAdditionalSale.formatDate()}
</td>
</c:forEach>
</tr>
<tr>
<td><spring:message code="app.contract.development.additional.sales.amount" /></td>
<td>0</td>
<c:forEach items="${projectAdditionalSales}" var="projectAdditionalSale">
<td>
</td>
</c:forEach>
</tr>
</table>
<br>
<!-- End Project Additional Sales Amount -->
<!-- Start Project Profit Loss -->
<div class="over-flow-x-auto">
<div class="display: table; min-width: 100%;">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1700">
<tr>
<th colspan="19"><spring:message code="app.contract.development.project.profit.loss" /></th>
</tr>
<tr>
<td rowspan="2" class="width-5"></td>
<td rowspan="2" class="width-100"><spring:message code="app.contract.development.pl.type" /></td>
<td rowspan="2" class="width-100"><spring:message code="app.contract.development.pl.partner.company" /></td>
<td rowspan="2" class="width-130"><spring:message code="app.contract.development.pl.employee.name.or.partner.name" /></td>
<td rowspan="2" class="width-110"><spring:message code="app.contract.development.pl.partner.cost.etc" /></td>
<td rowspan="2" class="width-100"><spring:message code="app.contract.development.pl.position" /></td>
<td rowspan="2" class="width-60"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
</tr>
<tr>
<td>2015/12</td>
<td>2016/01</td>
<td>2016/02</td>
<td>2016/03</td>
<td>2016/04</td>
<td>2016/05</td>
<td>2016/06</td>
<td>2016/07</td>
<td>2016/08</td>
<td>2016/09</td>
<td>2016/10</td>
<td>2016/11</td>
</tr>
<tr>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td><spring:message code="app.contract.development.pl.workload" /></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.standard.sales" /></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<!-- End Project Profit Loss -->
<!-- Start Project Information Summary -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1600">
<tr>
<th colspan="10"><spring:message code="app.contract.development.project.information"/></th>
</tr>
<tr>
<td class="span3" colspan="2"><spring:message code="app.contract.development.first.judgement" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.continuation.judgement" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information1" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information2" /></td>
<td class="span3" colspan="2"><spring:message code="app.contract.development.project.basic.information3" /></td>
</tr>
<tr>
<!-- first.standard.sales.amount -->
<td class="span3"><spring:message code="app.contract.development.first.standard.sales.amount" /></td>
<td class="span2"></td>
<!-- current.standard.sales.amount -->
<td class="span3"><spring:message code="app.contract.development.current.standard.sales.amount" /></td>
<td class="span2"></td>
<!-- business.company -->
<td class="span2"><spring:message code="app.contract.development.business.company" /></td>
<td class="span2"></td>
<!-- sales -->
<td class="span2"><spring:message code="app.contract.development.sales" /></td>
<td class="span2"></td>
<!-- start.date -->
<td class="span2"><spring:message code="app.contract.development.start.date" /></td>
<td class="span2"></td>
</tr>
<tr>
<!-- first.sales.amount -->
<td><spring:message code="app.contract.development.first.sales.amount" /></td>
<td></td>
<!-- difference.current.sales.amount.and.current.standard.amount -->
<td><spring:message code="app.contract.development.difference.current.sales.amount.and.current.standard.amount" /></td>
<td></td>
<!-- project.name -->
<td><spring:message code="app.contract.development.project.name" /></td>
<td></td>
<!-- project.manager -->
<td><spring:message code="app.contract.development.project.manager" /></td>
<td></td>
<!-- acceptance.schedule.date -->
<td><spring:message code="app.contract.development.acceptance.schedule.date" /></td>
<td></td>
</tr>
<tr>
<!-- difference.first.sales.amount.and.first.standard.amount -->
<td><spring:message code="app.contract.development.difference.first.sales.amount.and.first.standard.amount" /></td>
<td></td>
<!-- current.achievement.rate -->
<td><spring:message code="app.contract.development.current.achievement.rate" /></td>
<td></td>
<!-- project.code -->
<td><spring:message code="app.contract.development.project.code" /></td>
<td></td>
<!-- belong.business.unit -->
<td><spring:message code="app.contract.development.belong.business.unit" /></td>
<td></td>
<!-- acceptance.finished.date -->
<td><spring:message code="app.contract.development.acceptance.finished.date" /></td>
<td></td>
</tr>
<tr>
<!-- first.achievement.rate -->
<td><spring:message code="app.contract.development.first.achievement.rate" /></td>
<td></td>
<!-- difference.first.estimation -->
<td><spring:message code="app.contract.development.difference.first.estimation" /></td>
<td></td>
<!-- development.project.short.name -->
<td><spring:message code="app.contract.development.project.short.name" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- first.sales.amount.tax -->
<td><spring:message code="app.contract.development.first.sales.amount.tax" /></td>
<td></td>
</tr>
<tr>
<!-- first.judgement -->
<td colspan="2"><spring:message code="app.contract.development.first.judgement" /></td>
<!-- current.judgement -->
<td colspan="2"><spring:message code="app.contract.development.current.judgement" /></td>
<!-- end.user -->
<td><spring:message code="app.contract.development.end.user" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- additional.sales.amount -->
<td><spring:message code="app.contract.development.additional.sales.amount" /></td>
<td></td>
</tr>
<tr>
<!-- first.judgement.box -->
<td colspan="2" rowspan="2"></td>
<!-- current.judgement.box -->
<td colspan="2" rowspan="2"></td>
<!-- development.project.status -->
<td><spring:message code="app.contract.development.project.status" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- app.contract.development.total.sales.amount -->
<td><spring:message code="app.contract.development.total.sales.amount" /></td>
<td></td>
</tr>
<tr>
<!-- updated.at -->
<td><spring:message code="app.contract.development.updated.at" /></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
<!-- Empty -->
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<!-- End Project Information Summary -->
<!-- Start Project Profit Loss Summary -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible over-flow-visible width-1200">
<tr>
<th colspan="15"><spring:message code="app.contract.development.pj.pl.summary" /></th>
</tr>
<tr>
<td></td>
<td class="font-bold"><spring:message code="app.contract.development.amount" /></td>
<td>2015/12</td>
<td>2016/01</td>
<td>2016/02</td>
<td>2016/03</td>
<td>2016/04</td>
<td>2016/05</td>
<td>2016/06</td>
<td>2016/07</td>
<td>2016/08</td>
<td>2016/09</td>
<td>2016/10</td>
<td>2016/11</td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.monthly.sales.amount" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.additional.sales.amount.in.contract.period" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.remaining.workload" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.monthly.standard.sales.amount" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pj.pl.summary.workload.sales.for.project" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<!-- End Project Profit Loss Summary -->
<!-- Start Project Profit Loss Summary2 -->
<br>
<div class="over-flow-x-auto">
<div class="display-table mini-width-100per">
<table class="font-small table table-bordered table-hover table-striped over-flow-visible width-1500">
<tr>
<th colspan="18"><spring:message code="app.contract.development.pj.pl.summary2" /></th>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.type" /></td>
<td><spring:message code="app.contract.development.pl.partner.company" /></td>
<td><spring:message code="app.contract.development.pl.employee.name.or.partner.name" /></td>
<td><spring:message code="app.contract.development.pl.position" /></td>
<td></td>
<td class="font-bold"><spring:message code="app.contract.development.amount" /></td>
<td>2015/12</td>
<td>2016/01</td>
<td>2016/02</td>
<td>2016/03</td>
<td>2016/04</td>
<td>2016/05</td>
<td>2016/06</td>
<td>2016/07</td>
<td>2016/08</td>
<td>2016/09</td>
<td>2016/10</td>
<td>2016/11</td>
</tr>
<tr>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td><spring:message code="app.contract.development.pl.standard.sales" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><spring:message code="app.contract.development.pl.workload" /></td>
<td>0</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
<!-- End Project Profit Loss Summary2 -->
<!-- Start Remarks -->
<table class="font-small table table-bordered table-condensed table-hover table-striped">
<tr>
<th colspan="2"><spring:message code="app.contract.development.other" /></th>
</tr>
<tr>
<td class="span2"><spring:message code="app.contract.development.remark" /></td>
<td></td>
</tr>
</table>
<br>
<!-- End Remarks -->
<div align="right">
<a href="${DevelopmentListUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
<input type="submit" value="<spring:message code="button.register" />" class="btn btn-primary">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/js/vendor/jquery-ui-1.10.0.custom.min.js"/>">"<\/script>')</script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.mousewheel.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.nicescroll.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/prettify.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/jquery.validationEngine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/languages/jquery.validationEngine-tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/jquery.validate.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/localization/messages_tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/bootstrap-inputmask.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.autosize-min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.inputlimiter.1.3.1.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.tagsinput.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/chosen/chosen/chosen.jquery.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/uniform/jquery.uniform.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.validVal-4.3.2.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/date.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/daterangepicker.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/bootstrap-colorpicker.js" />"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/bootstrap-datepicker.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/bootstrap-timepicker.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.toggle.buttons.js"/>"></script>
<script>
$(function() {
formValidation(${locale});
formGeneral();
});
</script>
<%--
Created by IntelliJ IDEA.
User: arms_matsushita
Date: 西暦2015/12/13
Time: 11:00
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: arms_matsushita
Date: 西暦2015/12/13
Time: 10:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<spring:url value="/contract/development/add" var="ContractDevelopmentAddUrl"/>
<spring:url value="/contract/development/edit?id=" var="ContractDevelopmentEditUrl"/>
<spring:url value="/contract/development/delete?id=" var="ContractDevelopmentDeleteUrl"/>
<spring:url value="/contract/development/detail?id=" var="ContractDevelopmentDetailUrl" />
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<!--Begin Datatables-->
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<a href="${ContractDevelopmentAddUrl}" class="btn btn-primary btn-small" role="button" style="margin: 5px 0 5px 10px;">
<spring:message code="button.new.register" />
</a>
</header>
<div id="collapse4" class="body">
<c:if test="${not empty deletedMessage}">
${deletedMessage}
</c:if>
<table id="dataTable" class="table table-bordered sortableTable table-condensed table-hover table-striped responsive">
<thead>
<tr>
<th><spring:message code="app.contract.development.project.status"/></th>
<th><spring:message code="app.contract.development.current.judgement"/></th>
<th><spring:message code="app.contract.development.updated.at"/></th>
<th><spring:message code="app.contract.development.contract.type"/></th>
<th><spring:message code="app.contract.development.sales"/></th>
<th><spring:message code="app.contract.development.project.manager"/></th>
<th><spring:message code="app.contract.development.belong.business.unit"/></th>
<th><spring:message code="app.contract.development.business.company"/></th>
<th><spring:message code="app.contract.development.project.name"/></th>
<th><spring:message code="app.contract.development.project.code"/></th>
<th><spring:message code="app.contract.development.project.short.name"/></th>
<th></th>
</tr>
</thead>
<tbody>
<c:forEach items="${projectList}" var="project">
<tr>
<td>${project.projectStatus.name}</td>
<td>${project.currentJudgement}</td>
<td>${project.updatedAt}</td>
<td>${project.contractType.name}</td>
<td>unsupported now</td>
<td>unsupported now</td>
<td>${project.businessUnit.name}</td>
<td>unsupported now</td>
<td>${project.name}</td>
<td>${project.shortName}</td>
<td>
<a href="${ContractDevelopmentEditUrl}${project.id}" class="btn edit" role="button"><i class="icon-edit"></i></a>
<a href="${ContractDevelopmentDetailUrl}${project.id}" class="btn zoom-in" role="button"><i class="icon-zoom-in"></i></a>
<a data-name="${project.name}" data-message="<spring:message code="comment.alert.popup"/>" name="delete" href="${ContractDevelopmentDeleteUrl}${project.id}" class="btn btn-danger remove" role="button"><i class="icon-remove"></i></a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!--End Datatables-->
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
$("a[name='delete']").click(function() {
return confirm("[" + $(this).data("name") + "]" + $(this).data("message"));
})
</script>
<script type="text/javascript">
$(function() {
metisTable();
});
</script>
<%--
Created by IntelliJ IDEA.
User: arms_matsushita
Date: 西暦2015/12/13
Time: 10:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: arms_matsushita
Date: 西暦2015/11/28
Time: 19:48
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
<title></title>
<spring:url value="/resources/css/bootstrap.min.css" var="bootstrapCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/bootstrap-responsive.min.css" var="bootstrapResponsiveCss" />
<link href="${bootstrapResponsiveCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/font/font-awesome.min.css" var="fontAwesomeCss" />
<link href="${fontAwesomeCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/style.css" var="styleCss" />
<link href="${styleCsss}" rel="stylesheet" />
<spring:url value="/resources/core/css/calendar.css" var="calendarCss" />
<link href="${calendarCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/theme.css" var="themeCss" />
<link href="${themeCss}" rel="stylesheet" />
<spring:url value="/resources/core/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js" var="modernizRrespondJs" />
<script src="${modernizRrespondJs}"></script>
</head>
<body>
<!-- BEGIN WRAP -->
<div id="wrap">
<!-- BEGIN TOP BAR -->
<div id="top">
<!-- .navbar -->
<div class="navbar navbar-inverse navbar-static-top">
<div class="navbar-inner">
<div class="container-fluid">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="index.html">Metis</a>
<!-- .topnav -->
<div class="btn-toolbar topnav">
<div class="btn-group">
<a id="changeSidebarPos" class="btn btn-success" rel="tooltip"
data-original-title="Show / Hide Sidebar" data-placement="bottom">
<i class="icon-resize-horizontal"></i>
</a>
</div>
<div class="btn-group">
<a class="btn btn-inverse" rel="tooltip" data-original-title="E-mail" data-placement="bottom">
<i class="icon-envelope"></i>
<span class="label label-warning">5</span>
</a>
<a class="btn btn-inverse" rel="tooltip" href="#" data-original-title="Messages"
data-placement="bottom">
<i class="icon-comments"></i>
<span class="label label-important">4</span>
</a>
</div>
<div class="btn-group">
<a class="btn btn-inverse" rel="tooltip" href="#" data-original-title="Document"
data-placement="bottom">
<i class="icon-file"></i>
</a>
<a href="#helpModal" class="btn btn-inverse" rel="tooltip" data-placement="bottom"
data-original-title="Help" data-toggle="modal">
<i class="icon-question-sign"></i>
</a>
</div>
<div class="btn-group">
<a class="btn btn-inverse" data-placement="bottom" data-original-title="Logout" rel="tooltip"
href="login.html"><i class="icon-off"></i></a></div>
</div>
<!-- /.topnav -->
<div class="nav-collapse collapse">
<!-- .nav -->
<ul class="nav">
<li class="active"><a href="index.html">Dashboard</a></li>
<li><a href="table.html">Tables</a></li>
<li><a href="file.html">File Manager</a></li>
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
Form Elements <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="form-general.html">General</a></li>
<li><a href="form-validation.html">Validation</a></li>
<li><a href="form-wysiwyg.html">WYSIWYG</a></li>
<li><a href="form-wizard.html">Wizard &amp; File Upload</a></li>
</ul>
</li>
</ul>
<!-- /.nav -->
</div>
</div>
</div>
</div>
<!-- /.navbar -->
</div>
<!-- END TOP BAR -->
<!-- BEGIN HEADER.head -->
<header class="head">
<div class="search-bar">
<div class="row-fluid">
<div class="span12">
<div class="search-bar-inner">
<a id="menu-toggle" href="#menu" data-toggle="collapse"
class="accordion-toggle btn btn-inverse visible-phone"
rel="tooltip" data-placement="bottom" data-original-title="Show/Hide Menu">
<i class="icon-sort"></i>
</a>
<form class="main-search">
<input class="input-block-level" type="text" placeholder="Live search...">
<button id="searchBtn" type="submit" class="btn btn-inverse"><i class="icon-search"></i>
</button>
</form>
</div>
</div>
</div>
</div>
<!-- ."main-bar -->
<div class="main-bar">
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<h3><i class="icon-home"></i> Dashboard</h3>
</div>
</div>
<!-- /.row-fluid -->
</div>
<!-- /.container-fluid -->
</div>
<!-- /.main-bar -->
</header>
<!-- END HEADER.head -->
<!-- BEGIN LEFT -->
<div id="left">
<!-- .user-media -->
<div class="media user-media hidden-phone">
<a href="" class="user-link">
<img src="<c:url value="/resources/img/user.gif" />" alt="" class="media-object img-polaroid user-img">
<span class="label user-label">16</span>
</a>
<div class="media-body hidden-tablet">
<h5 class="media-heading">Archie</h5>
<ul class="unstyled user-info">
<li><a href="">Administrator</a></li>
<li>Last Access : <br/>
<small><i class="icon-calendar"></i> 16 Mar 16:32</small>
</li>
</ul>
</div>
</div>
<!-- /.user-media -->
<!-- BEGIN MAIN NAVIGATION -->
<ul id="menu" class="unstyled accordion collapse in">
<li class="accordion-group active">
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#dashboard-nav">
<i class="icon-dashboard icon-large"></i> Dashboard <span
class="label label-inverse pull-right">2</span>
</a>
<ul class="collapse in" id="dashboard-nav">
<li><a href="index.html"><i class="icon-angle-right"></i> Default Style</a></li>
<li><a href="alterne.html"><i class="icon-angle-right"></i> Alternative Style</a></li>
</ul>
</li>
<li class="accordion-group ">
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#component-nav">
<i class="icon-tasks icon-large"></i> <spring:message code="app.menu.master" htmlEscape="true" /> <span class="label label-inverse pull-right">2</span>
</a>
<ul class="collapse " id="component-nav">
<li><a href="/master/employee"><i class="icon-angle-right"></i><spring:message code="app.menu.employee.master" /></a></li>
<li><a href="/master/parent_business_unit"><i class="icon-angle-right"></i><spring:message code="app.parent.business.unit.master" /></a></li>
</ul>
</li>
<li class="accordion-group ">
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle collapsed" data-target="#form-nav">
<i class="icon-pencil icon-large"></i> Forms <span class="label label-inverse pull-right">4</span>
</a>
<ul class="collapse " id="form-nav">
<li><a href="form-general.html"><i class="icon-angle-right"></i> General</a></li>
<li><a href="form-validation.html"><i class="icon-angle-right"></i> Validation</a></li>
<li><a href="form-wysiwyg.html"><i class="icon-angle-right"></i> WYSIWYG</a></li>
<li><a href="form-wizard.html"><i class="icon-angle-right"></i> Wizard &amp; File Upload</a></li>
</ul>
</li>
<li><a href="table.html"><i class="icon-table icon-large"></i> Tables</a></li>
<li><a href="file.html"><i class="icon-file icon-large"></i> File Manager</a></li>
<li><a href="typography.html"><i class="icon-font icon-large"></i> Typography</a></li>
<li><a href="maps.html"><i class="icon-map-marker icon-large"></i> Maps</a></li>
<li><a href="chart.html"><i class="icon-bar-chart icon-large"></i> Charts</a></li>
<li><a href="calendar.html"><i class="icon-calendar icon-large"></i> Calendar</a></li>
<li class="accordion-group ">
<a data-parent="#menu" data-toggle="collapse" class="accordion-toggle" data-target="#error-nav">
<i class="icon-warning-sign icon-large"></i> Error Pages <span
class="label label-inverse pull-right">7</span>
</a>
<ul class="collapse" id="error-nav">
<li><a href="403.html"><i class="icon-angle-right"></i> 403</a></li>
<li><a href="404.html"><i class="icon-angle-right"></i> 404</a></li>
<li><a href="405.html"><i class="icon-angle-right"></i> 405</a></li>
<li><a href="500.html"><i class="icon-angle-right"></i> 500</a></li>
<li><a href="503.html"><i class="icon-angle-right"></i> 503</a></li>
<li><a href="offline.html"><i class="icon-angle-right"></i> offline</a></li>
<li><a href="countdown.html"><i class="icon-angle-right"></i> Under Construction</a></li>
</ul>
</li>
<li><a href="grid.html"><i class="icon-columns icon-large"></i> Grid</a></li>
<li><a href="blank.html"><i class="icon-check-empty icon-large"></i> Blank Page</a></li>
<li><a href="login.html"><i class="icon-signin icon-large"></i> Login Page</a></li>
</ul>
<!-- END MAIN NAVIGATION -->
</div>
<!-- END LEFT -->
<!-- BEGIN MAIN CONTENT -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="tac">
<ul class="stats_box">
<li>
<div class="sparkline bar_week"></div>
<div class="stat_text">
<strong>2.345</strong>Weekly Visit
<span class="percent down"> <i class="icon-caret-down"></i> -16%</span>
</div>
</li>
<li>
<div class="sparkline line_day"></div>
<div class="stat_text">
<strong>165</strong>Daily Visit
<span class="percent up"> <i class="icon-caret-up"></i> +23%</span>
</div>
</li>
<li>
<div class="sparkline pie_week"></div>
<div class="stat_text">
<strong>$2 345.00</strong>Weekly Sale
<span class="percent"> 0%</span>
</div>
</li>
<li>
<div class="sparkline stacked_month"></div>
<div class="stat_text">
<strong>$678.00</strong>Monthly Sale
<span class="percent down"> <i class="icon-caret-down"></i> -10%</span>
</div>
</li>
</ul>
</div>
<hr>
<div class="tac">
<a class="quick-btn" href="#">
<i class="icon-bolt icon-2x"></i>
<span>inverse</span>
<span class="label label-inverse">2</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-check icon-2x"></i>
<span>important</span>
<span class="label label-important">2</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-building icon-2x"></i>
<span>No Label</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-envelope icon-2x"></i>
<span>success</span>
<span class="label label-success">-456</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-signal icon-2x"></i>
<span>warning</span>
<span class="label label-warning">+25</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-external-link icon-2x"></i>
<span>&pi;</span>
<span class="label btn-metis-2">3.14159265</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-lemon icon-2x"></i>
<span>&eacute;</span>
<span class="label btn-metis-4">2.71828</span>
</a>
<a class="quick-btn" href="#">
<i class="icon-glass icon-2x"></i>
<span>&phi;</span>
<span class="label btn-metis-3">1.618</span>
</a>
</div>
<hr>
<div class="row-fluid">
<div class="span8">
<div class="box">
<header>
<h5>Line Chart</h5>
</header>
<div class="body" id="trigo" style="height: 250px;"></div>
</div>
</div>
<div class="span4">
<div class="box">
<div class="body">
<table class="table table-bordered table-condensed table-hovered sortableTable">
<thead>
<tr>
<th>Country <i class="icon-sort"></i><i class="icon-sort-down"></i><i
class="icon-sort-up"></i></th>
<th>Visit <i class="icon-sort"></i><i class="icon-sort-down"></i><i
class="icon-sort-up"></i></th>
<th>Time <i class="icon-sort"></i><i class="icon-sort-down"></i><i
class="icon-sort-up"></i></th>
</tr>
</thead>
<tbody>
<tr>
<td>Andorra</td>
<td>1126</td>
<td>00:00:15</td>
</tr>
<tr>
<td>Belarus</td>
<td>350</td>
<td>00:01:20</td>
</tr>
<tr class="error">
<td>Paraguay</td>
<td>43</td>
<td>00:00:30</td>
</tr>
<tr class="info">
<td>Malta</td>
<td>547</td>
<td>00:10:20</td>
</tr>
<tr>
<td>Australia</td>
<td>560</td>
<td>00:00:10</td>
</tr>
<tr>
<td>Kenya</td>
<td>97</td>
<td>00:20:00</td>
</tr>
<tr class="success">
<td>Italy</td>
<td>2450</td>
<td>00:10:00</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<div class="row-fluid">
<div class="span8">
<div class="box">
<header>
<h5>Calendar</h5>
</header>
<div id="calendar_content" class="body">
<div id='calendar'></div>
</div>
</div>
</div>
<div class="span4">
<div class="box">
<header>
<div class="icons"><i class="icon-tags"></i></div>
<h5>Todos</h5>
</header>
<div class="block">
<table class="table table-striped">
<tbody>
<tr>
<td>sdg</td>
<td>dsfg</td>
</tr>
<tr>
<td>sdfg</td>
<td>dfg</td>
</tr>
<tr class="success">
<td>dsfg</td>
<td>dfg</td>
</tr>
<tr>
<td>dfgh</td>
<td>dfh</td>
</tr>
<tr>
<td>dfgh</td>
<td>dfhg</td>
</tr>
<tr>
<td>ddfghdfgh</td>
<td>dfh</td>
</tr>
<tr>
<td>dfh</td>
<td>ddfhdh</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!--BEGIN LATEST COMMENT-->
<!-- .row-fluid -->
<div class="row-fluid">
<!-- .span6 -->
<div class="span6">
<!-- .box -->
<div class="box comments">
<header>
<div class="icons">
<i class="icon-comments"></i>
</div>
<h5>Latest Comment</h5>
</header>
<!-- .body -->
<div class="body">
<div class="media">
<a href="#" class="pull-left">
<img data-src="holder.js/64x64" class="media-object" alt="64x64" style="width: 64px; height: 64px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACGklEQVR4nO2V0XKaUBRF8/+fckREJSYmirY2HWtJBxMnMtV2qCGFoL2/sPsAdRKjD62Q3WnPw3qBM2eWiwueGGPwP3PCFmCjAdgCbDQAW4CNBmALsNEAbAE2GoAtwEYDsAXYaAC2ABsNwBZgowHYAmw0AFuAjQZgC7DRAGwBNn8cYL28xsCtQ0QKOgiS5zObxQiN4n5zvPqr9h8VYB0OYYvA9m5xf2hu/RlvHAt2/fcFq95/ZIAVxi2BSBezx0Mza4RDG1bXx81b55lgNvdgiUA613gwBiadoisCkQvcJMfvrz7AwyecikDEQtOx8uNpuRgG0XYmmw9gSRPjVYboaldwg3CYH+1zP0RwKRCpoTdLS9pfdYDoPZzivXMnEYz5Bt/NhfvzDCa7g2cJar0ZHo3ZL7hZYNSQ7ftt9e+Qlbm/0gDxBG0RiLTw4T6/Fn908x/iLZFMzyDS3t47JBj7bhHAwVVU/v7qAvxYYGDtF6wPvyIJzp58uXfoBEiMgUlv0as9vV58D8raX2kAYxBP3D1H1MG7Ly9nXz6hBNOL/Eh7swjhqAERwakfl7T/FQIYs8HS76P16yk2LzEO072zu4Lfg3OI5O9wakz+d2YLRNoYR8fvf6UA/w4agC3ARgOwBdhoALYAGw3AFmCjAdgCbDQAW4CNBmALsNEAbAE2GoAtwEYDsAXYaAC2ABsNwBZgowHYAmw0AFuAzU+QYREQ9dxBOwAAAABJRU5ErkJggg==">
</a>
<div class="media-body">
<div class="popover right">
<div class="arrow"></div>
<h3 class="popover-title">Popover right</h3>
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
</div>
</div>
</div>
</div>
<div class="media">
<a href="#" class="pull-right">
<img data-src="holder.js/64x64" class="media-object" alt="64x64" style="width: 64px; height: 64px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACGklEQVR4nO2V0XKaUBRF8/+fckREJSYmirY2HWtJBxMnMtV2qCGFoL2/sPsAdRKjD62Q3WnPw3qBM2eWiwueGGPwP3PCFmCjAdgCbDQAW4CNBmALsNEAbAE2GoAtwEYDsAXYaAC2ABsNwBZgowHYAmw0AFuAjQZgC7DRAGwBNn8cYL28xsCtQ0QKOgiS5zObxQiN4n5zvPqr9h8VYB0OYYvA9m5xf2hu/RlvHAt2/fcFq95/ZIAVxi2BSBezx0Mza4RDG1bXx81b55lgNvdgiUA613gwBiadoisCkQvcJMfvrz7AwyecikDEQtOx8uNpuRgG0XYmmw9gSRPjVYboaldwg3CYH+1zP0RwKRCpoTdLS9pfdYDoPZzivXMnEYz5Bt/NhfvzDCa7g2cJar0ZHo3ZL7hZYNSQ7ftt9e+Qlbm/0gDxBG0RiLTw4T6/Fn908x/iLZFMzyDS3t47JBj7bhHAwVVU/v7qAvxYYGDtF6wPvyIJzp58uXfoBEiMgUlv0as9vV58D8raX2kAYxBP3D1H1MG7Ly9nXz6hBNOL/Eh7swjhqAERwakfl7T/FQIYs8HS76P16yk2LzEO072zu4Lfg3OI5O9wakz+d2YLRNoYR8fvf6UA/w4agC3ARgOwBdhoALYAGw3AFmCjAdgCbDQAW4CNBmALsNEAbAE2GoAtwEYDsAXYaAC2ABsNwBZgowHYAmw0AFuAzU+QYREQ9dxBOwAAAABJRU5ErkJggg==">
</a>
<div class="media-body">
<div class="popover left">
<div class="arrow"></div>
<h3 class="popover-title">Popover right</h3>
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
</div>
</div>
</div>
</div>
</div>
<!-- /.body -->
</div>
<!-- /.box -->
</div>
<!-- /.span6 -->
<!-- .span6 -->
<div class="span6">
<!-- .box -->
<div class="box">
<header></header>
<!-- .body -->
<div class="body"></div>
<!-- /.body -->
</div>
<!-- /.box -->
</div>
<!-- /.span6 -->
</div>
<!-- /.row-fluid -->
<!--END LATEST COMMENT-->
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- END CONTENT -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- END WRAP -->
<div class="clearfix"></div>
<!-- BEGIN FOOTER -->
<div id="footer">
<p>2013 © Metis Admin</p>
</div>
<!-- END FOOTER -->
<!-- #helpModal -->
<div id="helpModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="helpModalLabel"
aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="helpModalLabel"><i class="icon-external-link"></i> Help</h3>
</div>
<div class="modal-body">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
anim id est laborum.
</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
<!-- /#helpModal -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="<c:url value="/resources/core/js/vendor/jquery-1.10.1.min.js" /> "><\/script>')</script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/core/js/vendor/jquery-ui-1.10.0.custom.min.js" /> "><\/script>')</script>
<spring:url value="/resources/core/js/vendor/bootstrap.min.js" var="bootstrapJs" />
<script src="${bootstrapJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.tablesorter.min.js" var="jqueryTablesorterJs" />
<script src="${jqueryTablesorterJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.mousewheel.js" var="mousewheelJs"/>
<script src="${mousewheelJs}"></script>
<spring:url value="/resources/js/lib/jquery.sparkline.min.js" var="jquerySparklineJs" />
<script src="${jquerySparklineJs}"></script>
<spring:url value="/resources/core/js/flot/jquery.flot.js" var="jqueryFlotJs" />
<script src="${jqueryFlotJs}"></script>
<spring:url value="/resources/core/js/flot/jquery.flot.pie.js" var="jqueryFlotPieJs" />
<script src="${jqueryFlotPieJs}"></script>
<spring:url value="/resources/core/js/flot/jquery.flot.selection.js" var="jqueryFlotSelectionJs" />
<script src="${jqueryFlotSelectionJs}"></script>
<spring:url value="/resources/core/js/flot/jquery.flot.resize.js" var="jqueryFlotResizeJs" />
<script src="${jqueryFlotResizeJs}"></script>
<spring:url value="/resources/core/fullcalendar/fullcalendar/fullcalendar.min.js" var="fullcalendarJs" />
<script src="${fullcalendarJs}"></script>
<spring:url value="/resources/core/js/main.js" var="mainJs" />
<script src="${mainJs}"></script>
<script type="text/javascript">
$(function() {
dashboard();
});
</script>
<spring:url value="/resources/core/js/style-switcher.js" var="styleSwitcherJs" />
<script src="${styleSwitcherJs}"></script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><spring:message code="app.title.dashboard" /></title>
<spring:url value="/resources/css/bootstrap.min.css" var="bootstrapCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/bootstrap-responsive.min.css" var="bootstrapResponsiveCss" />
<link href="${bootstrapResponsiveCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/font/font-awesome.min.css" var="fontAwesomeCss" />
<link href="${fontAwesomeCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/style.css" var="styleCss" />
<link href="${styleCsss}" rel="stylesheet" />
<spring:url value="/resources/core/css/calendar.css" var="calendarCss" />
<link href="${calendarCss}" rel="stylesheet" />
<spring:url value="/resources/core/css/theme.css" var="themeCss" />
<link href="${themeCss}" rel="stylesheet" />
<spring:url value="/resources/core/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js" var="modernizRrespondJs" />
<script src="${modernizRrespondJs}"></script>
</head>
<body>
</body>
top
<script type="text/javascript">
$(function() {
metisTable();
});
</script>
</html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/master/employee/add_confirm" var="EmployeeConfirmUrl"/>
<spring:url value="/master/employee/list" var="EmployeeListUrl" />
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/prettify.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/validation-engine/css/validationEngine.jquery.css"/> "/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.employee.master.title" /> : <spring:message code="app.feature.new.register" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<c:if test="${not empty errorMessage}">
<p class="lead">${errorMessage}</p>
</c:if>
<form action="${EmployeeConfirmUrl}" method="post" class="form-horizontal" id="inline-validate">
<div class="form-actions">
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.name" />
</label>
<div class="controls">
<input type="text" id="name" name="name" class="span6" value="${employee.name}" required>
</div>
</div>
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.email" />
</label>
<div class="controls">
<input type="email" id="email" name="email" class="span6" value="${employee.email}" required>
</div>
</div>
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.theoretical.cost" />
</label>
<div class="controls">
<input type="number" id="theoreticalCost" name="theoreticalCost" class="span6" value="${employee.theoreticalCost}" required>
</div>
</div>
<div align="right">
<a href="${EmployeeListUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
<input type="submit" value="<spring:message code="button.confirm" />" class="btn btn-primary">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/js/vendor/jquery-ui-1.10.0.custom.min.js"/>">"<\/script>')</script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.mousewheel.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.nicescroll.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/prettify.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/jquery.validationEngine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/languages/jquery.validationEngine-tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/jquery.validate.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/localization/messages_tr.js"/>"></script>
<script>
$(function() {
formValidation(${locale});
});
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<spring:url value="/master/employee/save" var="EmployeeSaveUrl"/>
<spring:url value="/master/employee/add" var="EmployeeAddUrl" />
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/prettify.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/validation-engine/css/validationEngine.jquery.css"/> "/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.employee.master.title" /> : <spring:message code="app.feature.new.register" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<form:form action="${EmployeeSaveUrl}" commandName="employee" method="post" class="form-horizontal" name="confirmForm">
<input type="hidden" name="name" value="${employee.name}">
<input type="hidden" name="email" value="${employee.email}">
<input type="hidden" name="theoreticalCost" value="${employee.theoreticalCost}">
<div class="form-actions">
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.name" /> : ${employee.name}
</label>
</div>
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.email" /> : ${employee.email}
</label>
</div>
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.theoretical.cost" /> : ${employee.theoreticalCost}
</label>
</div>
<div align="right">
<button class="btn btn-metis-1" onclick="javascript:postBack('${EmployeeAddUrl}');"><spring:message code="button.back" /></button>
<button class="btn btn-info"><spring:message code="button.register" /></button>
</div>
</div>
</form:form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
function postBack(backUrl) {
document.confirmForm.action = backUrl;
document.confirmForm.submit();
}
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<spring:url value="/master/employee/add" var="MasterEmployeeAddUrl"/>
<spring:url value="/master/employee/edit?id=" var="MasterEmployeeEditUrl"/>
<spring:url value="/master/employee/delete?id=" var="MasterEmployeeDeleteUrl"/>
<spring:url value="/master/employee/csv_upload" var="MasterEmployeeCsvUploadUrl" />
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<!--Begin Datatables-->
<div class="row-fluid">
<div class="span12">
<div class="box">
<header class="dark">
<div class="icons"><i class="icon-cloud-upload"></i></div>
<h5><spring:message code="comment.csv.confirm" /></h5>
</header>
<div id="collapse4" class="body">
<c:if test="${valueList.size() > 0}">
<table id="dataTable" class="table table-bordered sortableTable table-condensed table-hover table-striped responsive">
<thead>
<tr>
<c:forEach items="${valueList.get(0)}" var="key">
<th>${key}</th>
</c:forEach>
</tr>
</thead>
<tbody>
<c:forEach items="${valueList}" var="values" varStatus="status">
<c:if test="${status.index > 0}">
<tr>
<c:forEach items="${values}" var="value">
<td>${value}</td>
</c:forEach>
</tr>
</c:if>
</c:forEach>
</tbody>
</table>
</c:if>
</div>
<div align="left" style="margin: 5px 0 0 5px;">
<a href="${MasterEmployeeCsvUploadUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
</div>
</div>
</div>
</div>
<!--End Datatables-->
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
$("a[name='delete']").click(function() {
return confirm("[" + $(this).data("name") + "]" + $(this).data("message"));
})
</script>
<script type="text/javascript">
$(function() {
metisTable();
});
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/master/employee/list" var="EmployeeListUrl" />
<!-- #content -->
<div id="content" class="">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header class="dark">
<div class="icons"><i class="icon-cloud-upload"></i></div>
<h5><spring:message code="comment.csv.confirm" /></h5>
</header>
<div class="body">
<div id="collapse3" class="accordion-body collapse in body">
<div>
<spring:message code="comment.done.csv.import" />
</div>
<br>
<div>
<a href="${EmployeeListUrl}" class="btn btn-primary btn-small" role="button">
<spring:message code="button.list.display" />
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/master/employee/list" var="EmployeeListUrl" />
<spring:url value="/master/employee/csv_confirm" var="MasterEmployeeCsvConfirmUrl" />
<spring:url value="/master/employee/csv_import" var="MasterEmployeeCsvImportUrl" />
<!-- #content -->
<div id="content" class="">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<!-- BEGIN FILE UPLOAD -->
<div class="row-fluid">
<div class="span12">
<div class="box">
<header class="dark">
<div class="icons"><i class="icon-cloud-upload"></i></div>
<h5><spring:message code="app.feature.csv.import"/></h5>
</header>
<div class="body">
<form:form action="${MasterEmployeeCsvImportUrl}" name="csvForm" method="POST" modelAttribute="fileUploadForm" enctype="multipart/form-data" class="form-horizontal">
<div class="control-group">
<label>
<spring:message code="comment.csv.upload" />
</label>
<div class="controls">
<form:input type="file" path="file" name="file" />
<form:errors path="*" element="div" />
</div>
</div>
<div align="right">
<a href="${EmployeeListUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
<button class="btn" name="confirmButton" onclick="javascript:postConfirm('${MasterEmployeeCsvConfirmUrl}');" disabled><spring:message code="button.confirm" /></button>
<input type="submit" name="importButton" value="<spring:message code="button.csv.import" />" class="btn" disabled>
</div>
</form:form>
</div>
</div>
</div>
</div>
<!-- END FILE UPLOAD -->
</div>
</div>
</div>
</div>
<script>
function postConfirm(confirmUrl) {
document.csvForm.action = confirmUrl;
document.csvForm.submit();
}
</script>
<script>
$("input[name='file']").change(function() {
$("button[name='confirmButton']").addClass("btn-success");
$("button[name='confirmButton']").removeAttr("disabled");
$("input[name='importButton']").addClass("btn-primary");
$("input[name='importButton']").removeAttr("disabled");
})
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:url value="/master/employee/edit_confirm" var="EmployeeConfirmUrl"/>
<spring:url value="/master/employee/list" var="EmployeeListUrl" />
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/prettify.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/validation-engine/css/validationEngine.jquery.css"/> "/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.employee.master.title" /> : <spring:message code="app.feature.edit" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<c:if test="${not empty errorMessage}">
<p class="lead">${errorMessage}</p>
</c:if>
<form action="${EmployeeConfirmUrl}" method="post" class="form-horizontal" id="inline-validate">
<input type="hidden" name="id" value="${employee.id}">
<div class="form-actions">
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.name" />
</label>
<div class="controls">
<input type="text" id="name" name="name" class="span6" value="${employee.name}" required>
</div>
</div>
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.email" />
</label>
<div class="controls">
<input type="email" id="email" name="email" class="span6" value="${employee.email}" required>
</div>
</div>
<div class="control-group">
<label class="control-label">
<spring:message code="app.employee.master.column.theoretical.cost" />
</label>
<div class="controls">
<input type="number" id="theoreticalCost" name="theoreticalCost" class="span6" value="${employee.theoreticalCost}" required>
</div>
</div>
<div align="right">
<a href="${EmployeeListUrl}" class="btn btn-metis-1" role="button">
<spring:message code="button.back" />
</a>
<input type="submit" value="<spring:message code="button.confirm" />" class="btn btn-primary">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/js/vendor/jquery-ui-1.10.0.custom.min.js"/>">"<\/script>')</script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.mousewheel.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/jquery.nicescroll.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/js/lib/prettify.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/jquery.validationEngine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation-engine/js/languages/jquery.validationEngine-tr.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/jquery.validate.js"/>"></script>
<script type="text/javascript" src="<c:url value="/resources/validation/localization/messages_tr.js"/>"></script>
<script>
$(function() {
formValidation(${locale});
});
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<spring:url value="/master/employee/update" var="EmployeeUpdateUrl"/>
<spring:url value="/master/employee/edit?id=${employee.id}" var="EmployeeEditUrl" />
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/css/prettify.css"/> "/>
<link type="text/css" rel="stylesheet" href="<c:url value="/resources/validation-engine/css/validationEngine.jquery.css"/> "/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.employee.master.title" /> : <spring:message code="app.feature.edit" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<form:form action="${EmployeeUpdateUrl}" commandName="employee" method="post" class="form-horizontal" name="confirmForm">
<input type="hidden" name="id" value="${employee.id}">
<input type="hidden" name="name" value="${employee.name}">
<input type="hidden" name="email" value="${employee.email}">
<input type="hidden" name="theoreticalCost" value="${employee.theoreticalCost}">
<div class="form-actions">
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.name" /> : ${employee.name}
</label>
</div>
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.email" /> : ${employee.email}
</label>
</div>
<div class="control-group">
<label>
<spring:message code="app.employee.master.column.theoretical.cost" /> : ${employee.theoreticalCost}
</label>
</div>
<div align="right">
<button class="btn btn-metis-1" onclick="javascript:postBack('${EmployeeEditUrl}');"><spring:message code="button.back" /></button>
<button class="btn btn-info"><spring:message code="button.update" /></button>
</div>
</div>
</form:form>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
function postBack(backUrl) {
document.confirmForm.action = backUrl;
document.confirmForm.submit();
}
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<spring:url value="/master/employee/add" var="MasterEmployeeAddUrl"/>
<spring:url value="/master/employee/edit?id=" var="MasterEmployeeEditUrl"/>
<spring:url value="/master/employee/delete?id=" var="MasterEmployeeDeleteUrl"/>
<spring:url value="/master/employee/csv_upload" var="MasterEmployeeCsvUploadUrl" />
<spring:url value="/master/employee/csv_export" var="MasterEmployeeCsvExportUrl" />
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<!--Begin Datatables-->
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<a href="${MasterEmployeeAddUrl}" class="btn btn-primary btn-small" role="button" style="margin: 5px 0 5px 10px;">
<spring:message code="button.new.register" />
</a>
<a href="${MasterEmployeeCsvUploadUrl}" class="btn btn-success btn-small" role="button">
<spring:message code="button.csv.import" />
</a>
<a href="${MasterEmployeeCsvExportUrl}" class="btn btn-warning btn-small" role="button">
<spring:message code="button.csv.export" />
</a>
</header>
<div id="collapse4" class="body">
<c:if test="${not empty deletedMessage}">
${deletedMessage}
</c:if>
<table id="dataTable" class="table table-bordered sortableTable table-condensed table-hover table-striped responsive">
<thead>
<tr>
<th><spring:message code="app.employee.master.column.name"/></th>
<th><spring:message code="app.employee.master.column.email"/></th>
<th><spring:message code="app.employee.master.column.theoretical.cost"/></th>
<th></th>
</tr>
</thead>
<tbody>
<c:forEach items="${employeeList}" var="employee">
<tr>
<td>${employee.name}</td>
<td>${employee.email}</td>
<td>
<fmt:formatNumber type="number" maxFractionDigits="3" value="${employee.theoreticalCost}" />
</td>
<td>
<a href="${MasterEmployeeEditUrl}${employee.id}" class="btn edit" role="button"><i class="icon-edit"></i></a>
<a data-name="${employee.name}" data-message="<spring:message code="comment.alert.popup"/>" name="delete" href="${MasterEmployeeDeleteUrl}${employee.id}" class="btn btn-danger remove" role="button"><i class="icon-remove"></i></a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!--End Datatables-->
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
$("a[name='delete']").click(function() {
return confirm("[" + $(this).data("name") + "]" + $(this).data("message"));
})
</script>
<script type="text/javascript">
$(function() {
metisTable();
});
</script>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<spring:url value="/master/employee/list" var="EmployeeListUrl"/>
<!-- #content -->
<div id="content">
<!-- .outer -->
<div class="container-fluid outer">
<div class="row-fluid">
<!-- .inner -->
<div class="span12 inner">
<div class="row-fluid">
<div class="span12">
<div class="box">
<header>
<div class="icons"><i class="icon-ok"></i></div>
<h5><spring:message code="app.employee.master.title" /> : <spring:message code="app.feature.new.register" /></h5>
<div class="toolbar">
<ul class="nav">
<li>
<div class="btn-group">
<a class="accordion-toggle btn btn-mini minimize-box" data-toggle="collapse"
href="#collapse3">
<i class="icon-chevron-up"></i>
</a>
<button class="btn btn-mini btn-danger close-box"><i class="icon-remove"></i></button>
</div>
</li>
</ul>
</div>
</header>
<div id="collapse3" class="accordion-body collapse in body">
<div>
<spring:message code="comment.done.register" />
</div>
<br>
<div>
<a href="${EmployeeListUrl}" class="btn btn-primary btn-small" role="button">
<spring:message code="button.list.display" />
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.inner -->
</div>
<!-- /.row-fluid -->
</div>
<!-- /.outer -->
</div>
<!-- /#content -->
<!-- #push do not remove -->
<div id="push"></div>
<!-- /#push -->
</div>
<!-- /#wrap -->
<script>
function postBack(backUrl) {
document.confirmForm.action = backUrl;
document.confirmForm.submit();
}
</script>
<%@page session="false"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Spring MVC 4 + Ajax Hello World</title>
<c:url var="home" value="/" scope="request" />
<spring:url value="/resources/core/css/bootstrap.min.css" var="bootstrapCss" />
<spring:url value="/resources/core/css/prettify.css" var="prettifyCss" />
<spring:url value="/resources/core/validation-engine/css/validationEngine.jquery.css" var="validationEngineCss" />
<spring:url value="/resources/core/css/app/contract.css" var="contractCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<link href="${prettifyCss}" rel="stylesheet" />
<link href="${validationEngineCss}" rel="stylesheet" />
<link href="${contractCss}" rel="stylesheet" />
</head>
<nav class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">Spring 4 MVC Ajax Hello World</a>
</div>
</div>
</nav>
<div class="container" style="min-height: 500px">
<div class="starter-template">
<h1>Search Form</h1>
<br>
<form class="form-horizontal" id="search-form">
<div class="form-group form-group-lg">
<label class="col-sm-2 control-label">Username</label>
<div class="col-sm-10">
<input type=text class="form-control" id="username">
</div>
</div>
<div class="form-group form-group-lg">
<label class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="email">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" id="bth-search"
class="btn btn-primary btn-lg">Search</button>
</div>
</div>
</form>
<div>
<button type="button" class="search-modal" id="moda-button" data-toggle="modal" data-target="#myModal">
<i class="icon-search"></i>
</button>
</div>
</div>
</div>
<div class="container">
<footer>
<p>
&copy; <a href="http://www.mkyong.com">Mkyong.com</a> 2015
</p>
</footer>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" style="width: auto; left: auto; margin-left: auto;">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div id="feedback"></div>
</div>
</div>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<spring:url value="/resources/core/js/vendor/jquery-1.10.1.min.js" var="jqueryJs" />
<script>window.jQuery || document.write('<script src="${jqueryJs}"><\/script>')</script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>window.jQuery.ui || document.write('<script src="<c:url value="/resources/core/js/vendor/jquery-ui-1.10.0.custom.min.js"/>">"<\/script>')</script>
<spring:url value="/resources/core/js/jquery.1.10.2.min.js" var="jqueryJs" />
<script src="${jqueryJs}"></script>
<spring:url value="/resources/core/js/vendor/bootstrap.min.js" var="bootstrapJs" />
<script src="${bootstrapJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.mousewheel.js" var="mousewheelJs"/>
<script src="${mousewheelJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.nicescroll.min.js" var="nicescrollJs" />
<script src="${nicescrollJs}"></script>
<spring:url value="/resources/core/js/lib/prettify.js" var="prettifyJs" />
<script src="${prettifyJss}"></script>
<spring:url value="/resources/core/js/lib/jquery.dualListBox-1.3.min.js" var="dualListBoxJs" />
<script src="${dualListBoxJs}"></script>
<spring:url value="/resources/core/validation-engine/js/jquery.validationEngine.js" var="validationEngineJs" />
<script src="${validationEngineJs}"></script>
<spring:url value="/resources/core/validation-engine/js/languages/jquery.validationEngine-tr.js" var="validationEngineTrJs" />
<script src="${validationEngineTrJs}"></script>
<spring:url value="/resources/core/validation/jquery.validate.js" var="validateJs" />
<script src="${validateJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.validVal-4.3.2.js" var="validValJs" />
<script src="${validValJs}"></script>
<spring:url value="/resources/core/validation/localization/messages_tr.js" var="messagesTrJs" />
<script src="${messagesTrJs}"></script>
<spring:url value="/resources/core/js/lib/bootstrap-inputmask.js" var="bootstrapInputmaskJs" />
<script src="${bootstrapInputmaskJss}"></script>
<spring:url value="/resources/core/js/lib/jquery.autosize-min.js" var="autosizeJs"/>
<script src="${autosizeJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.inputlimiter.1.3.1.min.js" var="inputlimiterJs" />
<script src="${inputlimiterJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.tagsinput.min.js" var="tagsinputJs" />
<script src="${tagsinputJs}"></script>
<spring:url value="/resources/core/chosen/chosen/chosen.jquery.min.js" var="chosenJs" />
<script src="${chosenJs}"></script>
<spring:url value="/resources/core/uniform/jquery.uniform.min.js" var="uniformJs" />
<script src="${uniformJs}"></script>
<spring:url value="/resources/core/js/lib/date.js" var="dateJs" />
<script src="${dateJs}"></script>
<spring:url value="/resources/core/js/lib/daterangepicker.js" var="daterangepickerJs" />
<script src="${daterangepickerJs}"></script>
<spring:url value="/resources/core/js/lib/bootstrap-colorpicker.js" var="bootstraPcolorpickerJs" />
<script src="${bootstraPcolorpickerJs}"></script>
<spring:url value="/resources/core/js/lib/bootstrap-datepicker.js" var="bootstrapDatepickerJs" />
<script src="${bootstrapDatepickerJs}"></script>
<spring:url value="/resources/core/js/lib/bootstrap-timepicker.js" var="bootstrapTimepickerJs" />
<script src="${bootstrapTimepickerJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.toggle.buttons.js" var="toggleButtonsJs" />
<script src="${toggleButtonsJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.tablesorter.min.js" var="jqueryTablesorterJs" />
<script src="${jqueryTablesorterJs}"></script>
<spring:url value="/resources/core/js/lib/jquery.dataTables.min.js" var="jqueryDataTablesJs" />
<script src="${jqueryDataTablesJs}"></script>
<spring:url value="/resources/core/js/lib/DT_bootstrap.js" var="DTBootstrapJs" />
<script src="${DTBootstrapJs}"></script>
<spring:url value="/resources/core/js/lib/responsive-tables.js" var="responsiveTablesJs" />
<script src="${responsiveTablesJs}"></script>
<spring:url value="/resources/core/js/main.js" var="mainJs" />
<script src="${mainJs}"></script>
<script>
jQuery(document).ready(function($) {
$("#moda-button").click(function(event) {
// Disble the search button
enableSearchButton(false);
// Prevent the form from submitting via the browser.
event.preventDefault();
searchViaAjax();
});
});
function searchViaAjax() {
var search = {}
search["username"] = $("#username").val();
search["email"] = $("#email").val();
$.ajax({
type : "POST",
contentType : "application/json",
url : "${home}search/api/getSearchResult",
data : JSON.stringify(search),
dataType : 'json',
timeout : 100000,
success : function(data) {
console.log("SUCCESS: ", data);
display(data);
},
error : function(e) {
console.log("ERROR: ", e);
display(e);
},
done : function(e) {
console.log("DONE");
enableSearchButton(true);
}
});
}
function enableSearchButton(flag) {
$("#btn-search").prop("disabled", flag);
}
function display(data) {
var json = "<h4>Ajax Response</h4><pre>"
+ JSON.stringify(data, null, 4) + "</pre>";
$('#feedback').html(json);
}
</script>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<definition name="index" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/index.jsp" />
</definition>
<!-- Master Employee -->
<definition name="master_employee_list" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/list.jsp" />
</definition>
<definition name="master_employee_add" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/add.jsp" />
</definition>
<definition name="master_employee_add_confirm" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/add_confirm.jsp"/>
</definition>
<definition name="master_employee_save" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/save.jsp"/>
</definition>
<definition name="master_employee_edit" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/edit.jsp"/>
</definition>
<definition name="master_employee_edit_confirm" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/edit_confirm.jsp"/>
</definition>
<definition name="master_employee_csv_upload" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/csv_upload.jsp"/>
</definition>
<definition name="master_employee_csv_confirm" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/csv_confirm.jsp"/>
</definition>
<definition name="master_employee_csv_import" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/master/employee/csv_import.jsp"/>
</definition>
<!-- Contract Development -->
<definition name="contract_development_list" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/contract/development/list.jsp" />
</definition>
<definition name="contract_development_add" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/contract/development/add.jsp" />
</definition>
<definition name="contract_development_save_complete" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/contract/development/save_complete.jsp" />
</definition>
<definition name="contract_development_edit" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/contract/development/edit.jsp" />
</definition>
<definition name="contract_development_detail" extends="default">
<put-attribute name="body" value="/WEB-INF/views/jsp/contract/development/detail.jsp" />
</definition>
</tiles-definitions>
<?xml version='1.0' encoding='UTF-8'?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>spring</display-name>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/META-INF/spring/beans-webmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<multipart-config>
<max-file-size>5242880</max-file-size>
<max-request-size>27262976</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/META-INF/spring/beans-webmvc.xml</param-value>
</context-param>
<filter>
<filter-name>MultipartFilter</filter-name>
<filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MultipartFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
</web-app>
This file has been truncated, but you can view the full file.
/*!
* Bootstrap v2.3.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
line-height: 0;
content: "";
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
display: block;
}
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
audio:not([controls]) {
display: none;
}
html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
a:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
a:hover,
a:active {
outline: 0;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
width: auto\9;
height: auto;
max-width: 100%;
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}
#map_canvas img,
.google-maps img {
max-width: none;
}
button,
input,
select,
textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
}
button,
input {
*overflow: visible;
line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
padding: 0;
border: 0;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer;
-webkit-appearance: button;
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
cursor: pointer;
}
input[type="search"] {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
}
textarea {
overflow: auto;
vertical-align: top;
}
@media print {
* {
color: #000 !important;
text-shadow: none !important;
background: transparent !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}
body {
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 20px;
color: #333333;
background-color: #ffffff;
}
a {
color: #0088cc;
text-decoration: none;
}
a:hover,
a:focus {
color: #005580;
text-decoration: underline;
}
.img-rounded {
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
.img-polaroid {
padding: 4px;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.img-circle {
-webkit-border-radius: 500px;
-moz-border-radius: 500px;
border-radius: 500px;
}
.row {
margin-left: -20px;
*zoom: 1;
}
.row:before,
.row:after {
display: table;
line-height: 0;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
min-height: 1px;
margin-left: 20px;
}
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
width: 940px;
}
.span12 {
width: 940px;
}
.span11 {
width: 860px;
}
.span10 {
width: 780px;
}
.span9 {
width: 700px;
}
.span8 {
width: 620px;
}
.span7 {
width: 540px;
}
.span6 {
width: 460px;
}
.span5 {
width: 380px;
}
.span4 {
width: 300px;
}
.span3 {
width: 220px;
}
.span2 {
width: 140px;
}
.span1 {
width: 60px;
}
.offset12 {
margin-left: 980px;
}
.offset11 {
margin-left: 900px;
}
.offset10 {
margin-left: 820px;
}
.offset9 {
margin-left: 740px;
}
.offset8 {
margin-left: 660px;
}
.offset7 {
margin-left: 580px;
}
.offset6 {
margin-left: 500px;
}
.offset5 {
margin-left: 420px;
}
.offset4 {
margin-left: 340px;
}
.offset3 {
margin-left: 260px;
}
.offset2 {
margin-left: 180px;
}
.offset1 {
margin-left: 100px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
display: table;
line-height: 0;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid [class*="span"] {
display: block;
float: left;
width: 100%;
min-height: 30px;
margin-left: 2.127659574468085%;
*margin-left: 2.074468085106383%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row-fluid [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .controls-row [class*="span"] + [class*="span"] {
margin-left: 2.127659574468085%;
}
.row-fluid .span12 {
width: 100%;
*width: 99.94680851063829%;
}
.row-fluid .span11 {
width: 91.48936170212765%;
*width: 91.43617021276594%;
}
.row-fluid .span10 {
width: 82.97872340425532%;
*width: 82.92553191489361%;
}
.row-fluid .span9 {
width: 74.46808510638297%;
*width: 74.41489361702126%;
}
.row-fluid .span8 {
width: 65.95744680851064%;
*width: 65.90425531914893%;
}
.row-fluid .span7 {
width: 57.44680851063829%;
*width: 57.39361702127659%;
}
.row-fluid .span6 {
width: 48.93617021276595%;
*width: 48.88297872340425%;
}
.row-fluid .span5 {
width: 40.42553191489362%;
*width: 40.37234042553192%;
}
.row-fluid .span4 {
width: 31.914893617021278%;
*width: 31.861702127659576%;
}
.row-fluid .span3 {
width: 23.404255319148934%;
*width: 23.351063829787233%;
}
.row-fluid .span2 {
width: 14.893617021276595%;
*width: 14.840425531914894%;
}
.row-fluid .span1 {
width: 6.382978723404255%;
*width: 6.329787234042553%;
}
.row-fluid .offset12 {
margin-left: 104.25531914893617%;
*margin-left: 104.14893617021275%;
}
.row-fluid .offset12:first-child {
margin-left: 102.12765957446808%;
*margin-left: 102.02127659574467%;
}
.row-fluid .offset11 {
margin-left: 95.74468085106382%;
*margin-left: 95.6382978723404%;
}
.row-fluid .offset11:first-child {
margin-left: 93.61702127659574%;
*margin-left: 93.51063829787232%;
}
.row-fluid .offset10 {
margin-left: 87.23404255319149%;
*margin-left: 87.12765957446807%;
}
.row-fluid .offset10:first-child {
margin-left: 85.1063829787234%;
*margin-left: 84.99999999999999%;
}
.row-fluid .offset9 {
margin-left: 78.72340425531914%;
*margin-left: 78.61702127659572%;
}
.row-fluid .offset9:first-child {
margin-left: 76.59574468085106%;
*margin-left: 76.48936170212764%;
}
.row-fluid .offset8 {
margin-left: 70.2127659574468%;
*margin-left: 70.10638297872339%;
}
.row-fluid .offset8:first-child {
margin-left: 68.08510638297872%;
*margin-left: 67.9787234042553%;
}
.row-fluid .offset7 {
margin-left: 61.70212765957446%;
*margin-left: 61.59574468085106%;
}
.row-fluid .offset7:first-child {
margin-left: 59.574468085106375%;
*margin-left: 59.46808510638297%;
}
.row-fluid .offset6 {
margin-left: 53.191489361702125%;
*margin-left: 53.085106382978715%;
}
.row-fluid .offset6:first-child {
margin-left: 51.063829787234035%;
*margin-left: 50.95744680851063%;
}
.row-fluid .offset5 {
margin-left: 44.68085106382979%;
*margin-left: 44.57446808510638%;
}
.row-fluid .offset5:first-child {
margin-left: 42.5531914893617%;
*margin-left: 42.4468085106383%;
}
.row-fluid .offset4 {
margin-left: 36.170212765957444%;
*margin-left: 36.06382978723405%;
}
.row-fluid .offset4:first-child {
margin-left: 34.04255319148936%;
*margin-left: 33.93617021276596%;
}
.row-fluid .offset3 {
margin-left: 27.659574468085104%;
*margin-left: 27.5531914893617%;
}
.row-fluid .offset3:first-child {
margin-left: 25.53191489361702%;
*margin-left: 25.425531914893618%;
}
.row-fluid .offset2 {
margin-left: 19.148936170212764%;
*margin-left: 19.04255319148936%;
}
.row-fluid .offset2:first-child {
margin-left: 17.02127659574468%;
*margin-left: 16.914893617021278%;
}
.row-fluid .offset1 {
margin-left: 10.638297872340425%;
*margin-left: 10.53191489361702%;
}
.row-fluid .offset1:first-child {
margin-left: 8.51063829787234%;
*margin-left: 8.404255319148938%;
}
[class*="span"].hide,
.row-fluid [class*="span"].hide {
display: none;
}
[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
float: right;
}
.container {
margin-right: auto;
margin-left: auto;
*zoom: 1;
}
.container:before,
.container:after {
display: table;
line-height: 0;
content: "";
}
.container:after {
clear: both;
}
.container-fluid {
padding-right: 20px;
padding-left: 20px;
*zoom: 1;
}
.container-fluid:before,
.container-fluid:after {
display: table;
line-height: 0;
content: "";
}
.container-fluid:after {
clear: both;
}
p {
margin: 0 0 10px;
}
.lead {
margin-bottom: 20px;
font-size: 21px;
font-weight: 200;
line-height: 30px;
}
small {
font-size: 85%;
}
strong {
font-weight: bold;
}
em {
font-style: italic;
}
cite {
font-style: normal;
}
.muted {
color: #999999;
}
a.muted:hover,
a.muted:focus {
color: #808080;
}
.text-warning {
color: #c09853;
}
a.text-warning:hover,
a.text-warning:focus {
color: #a47e3c;
}
.text-error {
color: #b94a48;
}
a.text-error:hover,
a.text-error:focus {
color: #953b39;
}
.text-info {
color: #3a87ad;
}
a.text-info:hover,
a.text-info:focus {
color: #2d6987;
}
.text-success {
color: #468847;
}
a.text-success:hover,
a.text-success:focus {
color: #356635;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 10px 0;
font-family: inherit;
font-weight: bold;
line-height: 20px;
color: inherit;
text-rendering: optimizelegibility;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
font-weight: normal;
line-height: 1;
color: #999999;
}
h1,
h2,
h3 {
line-height: 40px;
}
h1 {
font-size: 38.5px;
}
h2 {
font-size: 31.5px;
}
h3 {
font-size: 24.5px;
}
h4 {
font-size: 17.5px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 11.9px;
}
h1 small {
font-size: 24.5px;
}
h2 small {
font-size: 17.5px;
}
h3 small {
font-size: 14px;
}
h4 small {
font-size: 14px;
}
.page-header {
padding-bottom: 9px;
margin: 20px 0 30px;
border-bottom: 1px solid #eeeeee;
}
ul,
ol {
padding: 0;
margin: 0 0 10px 25px;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin-bottom: 0;
}
li {
line-height: 20px;
}
ul.unstyled,
ol.unstyled {
margin-left: 0;
list-style: none;
}
ul.inline,
ol.inline {
margin-left: 0;
list-style: none;
}
ul.inline > li,
ol.inline > li {
display: inline-block;
*display: inline;
padding-right: 5px;
padding-left: 5px;
*zoom: 1;
}
dl {
margin-bottom: 20px;
}
dt,
dd {
line-height: 20px;
}
dt {
font-weight: bold;
}
dd {
margin-left: 10px;
}
.dl-horizontal {
*zoom: 1;
}
.dl-horizontal:before,
.dl-horizontal:after {
display: table;
line-height: 0;
content: "";
}
.dl-horizontal:after {
clear: both;
}
.dl-horizontal dt {
float: left;
width: 160px;
overflow: hidden;
clear: left;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
hr {
margin: 20px 0;
border: 0;
border-top: 1px solid #eeeeee;
border-bottom: 1px solid #ffffff;
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #999999;
}
abbr.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 0 0 0 15px;
margin: 0 0 20px;
border-left: 5px solid #eeeeee;
}
blockquote p {
margin-bottom: 0;
font-size: 17.5px;
font-weight: 300;
line-height: 1.25;
}
blockquote small {
display: block;
line-height: 20px;
color: #999999;
}
blockquote small:before {
content: '\2014 \00A0';
}
blockquote.pull-right {
float: right;
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
}
blockquote.pull-right p,
blockquote.pull-right small {
text-align: right;
}
blockquote.pull-right small:before {
content: '';
}
blockquote.pull-right small:after {
content: '\00A0 \2014';
}
q:before,
q:after,
blockquote:before,
blockquote:after {
content: "";
}
address {
display: block;
margin-bottom: 20px;
font-style: normal;
line-height: 20px;
}
code,
pre {
padding: 0 3px 2px;
font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
font-size: 12px;
color: #333333;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
code {
padding: 2px 4px;
color: #d14;
white-space: nowrap;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
}
pre {
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 20px;
word-break: break-all;
word-wrap: break-word;
white-space: pre;
white-space: pre-wrap;
background-color: #f5f5f5;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
pre.prettyprint {
margin-bottom: 20px;
}
pre code {
padding: 0;
color: inherit;
white-space: pre;
white-space: pre-wrap;
background-color: transparent;
border: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
form {
margin: 0 0 20px;
}
fieldset {
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 20px;
font-size: 21px;
line-height: 40px;
color: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
legend small {
font-size: 15px;
color: #999999;
}
label,
input,
button,
select,
textarea {
font-size: 14px;
font-weight: normal;
line-height: 20px;
}
input,
button,
select,
textarea {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
label {
display: block;
margin-bottom: 5px;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
display: inline-block;
height: 20px;
padding: 4px 6px;
margin-bottom: 10px;
font-size: 14px;
line-height: 20px;
color: #555555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
input,
textarea,
.uneditable-input {
width: 206px;
}
textarea {
height: auto;
}
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
background-color: #ffffff;
border: 1px solid #cccccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-o-transition: border linear 0.2s, box-shadow linear 0.2s;
transition: border linear 0.2s, box-shadow linear 0.2s;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
border-color: rgba(82, 168, 236, 0.8);
outline: 0;
outline: thin dotted \9;
/* IE6-9 */
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
*margin-top: 0;
line-height: normal;
}
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
width: auto;
}
select,
input[type="file"] {
height: 30px;
/* In IE7, the height of the select element cannot be changed by height, only font-size */
*margin-top: 4px;
/* For IE7, add top margin to align select with labels */
line-height: 30px;
}
select {
width: 220px;
background-color: #ffffff;
border: 1px solid #cccccc;
}
select[multiple],
select[size] {
height: auto;
}
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.uneditable-input,
.uneditable-textarea {
color: #999999;
cursor: not-allowed;
background-color: #fcfcfc;
border-color: #cccccc;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
}
.uneditable-input {
overflow: hidden;
white-space: nowrap;
}
.uneditable-textarea {
width: auto;
height: auto;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
color: #999999;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: #999999;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #999999;
}
.radio,
.checkbox {
min-height: 20px;
padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
margin-left: -20px;
}
.controls > .radio:first-child,
.controls > .checkbox:first-child {
padding-top: 5px;
}
.radio.inline,
.checkbox.inline {
display: inline-block;
padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
margin-left: 10px;
}
.input-mini {
width: 60px;
}
.input-small {
width: 90px;
}
.input-medium {
width: 150px;
}
.input-large {
width: 210px;
}
.input-xlarge {
width: 270px;
}
.input-xxlarge {
width: 530px;
}
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
float: none;
margin-left: 0;
}
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
display: inline-block;
}
input,
textarea,
.uneditable-input {
margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
margin-left: 20px;
}
input.span12,
textarea.span12,
.uneditable-input.span12 {
width: 926px;
}
input.span11,
textarea.span11,
.uneditable-input.span11 {
width: 846px;
}
input.span10,
textarea.span10,
.uneditable-input.span10 {
width: 766px;
}
input.span9,
textarea.span9,
.uneditable-input.span9 {
width: 686px;
}
input.span8,
textarea.span8,
.uneditable-input.span8 {
width: 606px;
}
input.span7,
textarea.span7,
.uneditable-input.span7 {
width: 526px;
}
input.span6,
textarea.span6,
.uneditable-input.span6 {
width: 446px;
}
input.span5,
textarea.span5,
.uneditable-input.span5 {
width: 366px;
}
input.span4,
textarea.span4,
.uneditable-input.span4 {
width: 286px;
}
input.span3,
textarea.span3,
.uneditable-input.span3 {
width: 206px;
}
input.span2,
textarea.span2,
.uneditable-input.span2 {
width: 126px;
}
input.span1,
textarea.span1,
.uneditable-input.span1 {
width: 46px;
}
.controls-row {
*zoom: 1;
}
.controls-row:before,
.controls-row:after {
display: table;
line-height: 0;
content: "";
}
.controls-row:after {
clear: both;
}
.controls-row [class*="span"],
.row-fluid .controls-row [class*="span"] {
float: left;
}
.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
padding-top: 5px;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
cursor: not-allowed;
background-color: #eeeeee;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
background-color: transparent;
}
.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
color: #c09853;
}
.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
color: #c09853;
}
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
border-color: #c09853;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
border-color: #a47e3c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
}
.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
color: #c09853;
background-color: #fcf8e3;
border-color: #c09853;
}
.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
color: #b94a48;
}
.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
color: #b94a48;
}
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
border-color: #b94a48;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
border-color: #953b39;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
}
.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
color: #b94a48;
background-color: #f2dede;
border-color: #b94a48;
}
.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
color: #468847;
}
.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
color: #468847;
}
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
border-color: #468847;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
border-color: #356635;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
}
.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
color: #468847;
background-color: #dff0d8;
border-color: #468847;
}
.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
color: #3a87ad;
}
.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
color: #3a87ad;
}
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
border-color: #3a87ad;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
border-color: #2d6987;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
}
.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
color: #3a87ad;
background-color: #d9edf7;
border-color: #3a87ad;
}
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
color: #b94a48;
border-color: #ee5f5b;
}
input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
border-color: #e9322d;
-webkit-box-shadow: 0 0 6px #f8b9b7;
-moz-box-shadow: 0 0 6px #f8b9b7;
box-shadow: 0 0 6px #f8b9b7;
}
.form-actions {
padding: 19px 20px 20px;
margin-top: 20px;
margin-bottom: 20px;
background-color: #f5f5f5;
border-top: 1px solid #e5e5e5;
*zoom: 1;
}
.form-actions:before,
.form-actions:after {
display: table;
line-height: 0;
content: "";
}
.form-actions:after {
clear: both;
}
.help-block,
.help-inline {
color: #595959;
}
.help-block {
display: block;
margin-bottom: 10px;
}
.help-inline {
display: inline-block;
*display: inline;
padding-left: 5px;
vertical-align: middle;
*zoom: 1;
}
.input-append,
.input-prepend {
display: inline-block;
margin-bottom: 10px;
font-size: 0;
white-space: nowrap;
vertical-align: middle;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input,
.input-append .dropdown-menu,
.input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
font-size: 14px;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
position: relative;
margin-bottom: 0;
*margin-left: 0;
vertical-align: top;
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
z-index: 2;
}
.input-append .add-on,
.input-prepend .add-on {
display: inline-block;
width: auto;
height: 20px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 20px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
background-color: #eeeeee;
border: 1px solid #ccc;
}
.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group > .dropdown-toggle,
.input-prepend .btn-group > .dropdown-toggle {
vertical-align: top;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.input-append .active,
.input-prepend .active {
background-color: #a9dba9;
border-color: #46a546;
}
.input-prepend .add-on,
.input-prepend .btn {
margin-right: -1px;
}
.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius: 4px 0 0 4px;
border-radius: 4px 0 0 4px;
}
.input-append input,
.input-append select,
.input-append .uneditable-input {
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius: 4px 0 0 4px;
border-radius: 4px 0 0 4px;
}
.input-append input + .btn-group .btn:last-child,
.input-append select + .btn-group .btn:last-child,
.input-append .uneditable-input + .btn-group .btn:last-child {
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
margin-left: -1px;
}
.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.input-prepend.input-append input + .btn-group .btn,
.input-prepend.input-append select + .btn-group .btn,
.input-prepend.input-append .uneditable-input + .btn-group .btn {
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
margin-right: -1px;
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius: 4px 0 0 4px;
border-radius: 4px 0 0 4px;
}
.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
margin-left: -1px;
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .btn-group:first-child {
margin-left: 0;
}
input.search-query {
padding-right: 14px;
padding-right: 4px \9;
padding-left: 14px;
padding-left: 4px \9;
/* IE7-8 doesn't have border-radius, so don't indent the padding */
margin-bottom: 0;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.form-search .input-append .search-query {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search .input-append .btn {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .search-query {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .btn {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
display: inline-block;
*display: inline;
margin-bottom: 0;
vertical-align: middle;
*zoom: 1;
}
.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
display: none;
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
display: inline-block;
}
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
margin-bottom: 0;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-right: 3px;
margin-left: 0;
}
.control-group {
margin-bottom: 10px;
}
legend + .control-group {
margin-top: 20px;
-webkit-margin-top-collapse: separate;
}
.form-horizontal .control-group {
margin-bottom: 20px;
*zoom: 1;
}
.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
display: table;
line-height: 0;
content: "";
}
.form-horizontal .control-group:after {
clear: both;
}
.form-horizontal .control-label {
float: left;
width: 160px;
padding-top: 5px;
text-align: right;
}
.form-horizontal .controls {
*display: inline-block;
*padding-left: 20px;
margin-left: 180px;
*margin-left: 0;
}
.form-horizontal .controls:first-child {
*padding-left: 180px;
}
.form-horizontal .help-block {
margin-bottom: 0;
}
.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
margin-top: 10px;
}
.form-horizontal .form-actions {
padding-left: 180px;
}
table {
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
border-spacing: 0;
}
.table {
width: 100%;
margin-bottom: 20px;
}
.table th,
.table td {
padding: 8px;
line-height: 20px;
text-align: left;
vertical-align: top;
border-top: 1px solid #dddddd;
}
.table th {
font-weight: bold;
}
.table thead th {
vertical-align: bottom;
}
.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.table thead:first-child tr:first-child td {
border-top: 0;
}
.table tbody + tbody {
border-top: 2px solid #dddddd;
}
.table .table {
background-color: #ffffff;
}
.table-condensed th,
.table-condensed td {
padding: 4px 5px;
}
.table-bordered {
border: 1px solid #dddddd;
border-collapse: separate;
*border-collapse: collapse;
border-left: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.table-bordered th,
.table-bordered td {
border-left: 1px solid #dddddd;
}
.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
border-top: 0;
}
.table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
}
.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
}
.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
-webkit-border-bottom-left-radius: 0;
border-bottom-left-radius: 0;
-moz-border-radius-bottomleft: 0;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
-webkit-border-bottom-right-radius: 0;
border-bottom-right-radius: 0;
-moz-border-radius-bottomright: 0;
}
.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
}
.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
background-color: #f9f9f9;
}
.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
background-color: #f5f5f5;
}
table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
display: table-cell;
float: none;
margin-left: 0;
}
.table td.span1,
.table th.span1 {
float: none;
width: 44px;
margin-left: 0;
}
.table td.span2,
.table th.span2 {
float: none;
width: 124px;
margin-left: 0;
}
.table td.span3,
.table th.span3 {
float: none;
width: 204px;
margin-left: 0;
}
.table td.span4,
.table th.span4 {
float: none;
width: 284px;
margin-left: 0;
}
.table td.span5,
.table th.span5 {
float: none;
width: 364px;
margin-left: 0;
}
.table td.span6,
.table th.span6 {
float: none;
width: 444px;
margin-left: 0;
}
.table td.span7,
.table th.span7 {
float: none;
width: 524px;
margin-left: 0;
}
.table td.span8,
.table th.span8 {
float: none;
width: 604px;
margin-left: 0;
}
.table td.span9,
.table th.span9 {
float: none;
width: 684px;
margin-left: 0;
}
.table td.span10,
.table th.span10 {
float: none;
width: 764px;
margin-left: 0;
}
.table td.span11,
.table th.span11 {
float: none;
width: 844px;
margin-left: 0;
}
.table td.span12,
.table th.span12 {
float: none;
width: 924px;
margin-left: 0;
}
.table tbody tr.success > td {
background-color: #dff0d8;
}
.table tbody tr.error > td {
background-color: #f2dede;
}
.table tbody tr.warning > td {
background-color: #fcf8e3;
}
.table tbody tr.info > td {
background-color: #d9edf7;
}
.table-hover tbody tr.success:hover > td {
background-color: #d0e9c6;
}
.table-hover tbody tr.error:hover > td {
background-color: #ebcccc;
}
.table-hover tbody tr.warning:hover > td {
background-color: #faf2cc;
}
.table-hover tbody tr.info:hover > td {
background-color: #c4e3f3;
}
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
width: 14px;
height: 14px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
background-image: url("../img/glyphicons-halflings.png");
background-position: 14px 14px;
background-repeat: no-repeat;
}
/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"] {
background-image: url("../img/glyphicons-halflings-white.png");
}
.icon-glass {
background-position: 0 0;
}
.icon-music {
background-position: -24px 0;
}
.icon-search {
background-position: -48px 0;
}
.icon-envelope {
background-position: -72px 0;
}
.icon-heart {
background-position: -96px 0;
}
.icon-star {
background-position: -120px 0;
}
.icon-star-empty {
background-position: -144px 0;
}
.icon-user {
background-position: -168px 0;
}
.icon-film {
background-position: -192px 0;
}
.icon-th-large {
background-position: -216px 0;
}
.icon-th {
background-position: -240px 0;
}
.icon-th-list {
background-position: -264px 0;
}
.icon-ok {
background-position: -288px 0;
}
.icon-remove {
background-position: -312px 0;
}
.icon-zoom-in {
background-position: -336px 0;
}
.icon-zoom-out {
background-position: -360px 0;
}
.icon-off {
background-position: -384px 0;
}
.icon-signal {
background-position: -408px 0;
}
.icon-cog {
background-position: -432px 0;
}
.icon-trash {
background-position: -456px 0;
}
.icon-home {
background-position: 0 -24px;
}
.icon-file {
background-position: -24px -24px;
}
.icon-time {
background-position: -48px -24px;
}
.icon-road {
background-position: -72px -24px;
}
.icon-download-alt {
background-position: -96px -24px;
}
.icon-download {
background-position: -120px -24px;
}
.icon-upload {
background-position: -144px -24px;
}
.icon-inbox {
background-position: -168px -24px;
}
.icon-play-circle {
background-position: -192px -24px;
}
.icon-repeat {
background-position: -216px -24px;
}
.icon-refresh {
background-position: -240px -24px;
}
.icon-list-alt {
background-position: -264px -24px;
}
.icon-lock {
background-position: -287px -24px;
}
.icon-flag {
background-position: -312px -24px;
}
.icon-headphones {
background-position: -336px -24px;
}
.icon-volume-off {
background-position: -360px -24px;
}
.icon-volume-down {
background-position: -384px -24px;
}
.icon-volume-up {
background-position: -408px -24px;
}
.icon-qrcode {
background-position: -432px -24px;
}
.icon-barcode {
background-position: -456px -24px;
}
.icon-tag {
background-position: 0 -48px;
}
.icon-tags {
background-position: -25px -48px;
}
.icon-book {
background-position: -48px -48px;
}
.icon-bookmark {
background-position: -72px -48px;
}
.icon-print {
background-position: -96px -48px;
}
.icon-camera {
background-position: -120px -48px;
}
.icon-font {
background-position: -144px -48px;
}
.icon-bold {
background-position: -167px -48px;
}
.icon-italic {
background-position: -192px -48px;
}
.icon-text-height {
background-position: -216px -48px;
}
.icon-text-width {
background-position: -240px -48px;
}
.icon-align-left {
background-position: -264px -48px;
}
.icon-align-center {
background-position: -288px -48px;
}
.icon-align-right {
background-position: -312px -48px;
}
.icon-align-justify {
background-position: -336px -48px;
}
.icon-list {
background-position: -360px -48px;
}
.icon-indent-left {
background-position: -384px -48px;
}
.icon-indent-right {
background-position: -408px -48px;
}
.icon-facetime-video {
background-position: -432px -48px;
}
.icon-picture {
background-position: -456px -48px;
}
.icon-pencil {
background-position: 0 -72px;
}
.icon-map-marker {
background-position: -24px -72px;
}
.icon-adjust {
background-position: -48px -72px;
}
.icon-tint {
background-position: -72px -72px;
}
.icon-edit {
background-position: -96px -72px;
}
.icon-share {
background-position: -120px -72px;
}
.icon-check {
background-position: -144px -72px;
}
.icon-move {
background-position: -168px -72px;
}
.icon-step-backward {
background-position: -192px -72px;
}
.icon-fast-backward {
background-position: -216px -72px;
}
.icon-backward {
background-position: -240px -72px;
}
.icon-play {
background-position: -264px -72px;
}
.icon-pause {
background-position: -288px -72px;
}
.icon-stop {
background-position: -312px -72px;
}
.icon-forward {
background-position: -336px -72px;
}
.icon-fast-forward {
background-position: -360px -72px;
}
.icon-step-forward {
background-position: -384px -72px;
}
.icon-eject {
background-position: -408px -72px;
}
.icon-chevron-left {
background-position: -432px -72px;
}
.icon-chevron-right {
background-position: -456px -72px;
}
.icon-plus-sign {
background-position: 0 -96px;
}
.icon-minus-sign {
background-position: -24px -96px;
}
.icon-remove-sign {
background-position: -48px -96px;
}
.icon-ok-sign {
background-position: -72px -96px;
}
.icon-question-sign {
background-position: -96px -96px;
}
.icon-info-sign {
background-position: -120px -96px;
}
.icon-screenshot {
background-position: -144px -96px;
}
.icon-remove-circle {
background-position: -168px -96px;
}
.icon-ok-circle {
background-position: -192px -96px;
}
.icon-ban-circle {
background-position: -216px -96px;
}
.icon-arrow-left {
background-position: -240px -96px;
}
.icon-arrow-right {
background-position: -264px -96px;
}
.icon-arrow-up {
background-position: -289px -96px;
}
.icon-arrow-down {
background-position: -312px -96px;
}
.icon-share-alt {
background-position: -336px -96px;
}
.icon-resize-full {
background-position: -360px -96px;
}
.icon-resize-small {
background-position: -384px -96px;
}
.icon-plus {
background-position: -408px -96px;
}
.icon-minus {
background-position: -433px -96px;
}
.icon-asterisk {
background-position: -456px -96px;
}
.icon-exclamation-sign {
background-position: 0 -120px;
}
.icon-gift {
background-position: -24px -120px;
}
.icon-leaf {
background-position: -48px -120px;
}
.icon-fire {
background-position: -72px -120px;
}
.icon-eye-open {
background-position: -96px -120px;
}
.icon-eye-close {
background-position: -120px -120px;
}
.icon-warning-sign {
background-position: -144px -120px;
}
.icon-plane {
background-position: -168px -120px;
}
.icon-calendar {
background-position: -192px -120px;
}
.icon-random {
width: 16px;
background-position: -216px -120px;
}
.icon-comment {
background-position: -240px -120px;
}
.icon-magnet {
background-position: -264px -120px;
}
.icon-chevron-up {
background-position: -288px -120px;
}
.icon-chevron-down {
background-position: -313px -119px;
}
.icon-retweet {
background-position: -336px -120px;
}
.icon-shopping-cart {
background-position: -360px -120px;
}
.icon-folder-close {
width: 16px;
background-position: -384px -120px;
}
.icon-folder-open {
width: 16px;
background-position: -408px -120px;
}
.icon-resize-vertical {
background-position: -432px -119px;
}
.icon-resize-horizontal {
background-position: -456px -118px;
}
.icon-hdd {
background-position: 0 -144px;
}
.icon-bullhorn {
background-position: -24px -144px;
}
.icon-bell {
background-position: -48px -144px;
}
.icon-certificate {
background-position: -72px -144px;
}
.icon-thumbs-up {
background-position: -96px -144px;
}
.icon-thumbs-down {
background-position: -120px -144px;
}
.icon-hand-right {
background-position: -144px -144px;
}
.icon-hand-left {
background-position: -168px -144px;
}
.icon-hand-up {
background-position: -192px -144px;
}
.icon-hand-down {
background-position: -216px -144px;
}
.icon-circle-arrow-right {
background-position: -240px -144px;
}
.icon-circle-arrow-left {
background-position: -264px -144px;
}
.icon-circle-arrow-up {
background-position: -288px -144px;
}
.icon-circle-arrow-down {
background-position: -312px -144px;
}
.icon-globe {
background-position: -336px -144px;
}
.icon-wrench {
background-position: -360px -144px;
}
.icon-tasks {
background-position: -384px -144px;
}
.icon-filter {
background-position: -408px -144px;
}
.icon-briefcase {
background-position: -432px -144px;
}
.icon-fullscreen {
background-position: -456px -144px;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle {
*margin-bottom: -3px;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
outline: 0;
}
.caret {
display: inline-block;
width: 0;
height: 0;
vertical-align: top;
border-top: 4px solid #000000;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
}
.dropdown .caret {
margin-top: 8px;
margin-left: 2px;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
*width: 100%;
height: 1px;
margin: 9px 1px;
*margin: -5px 0 5px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid #ffffff;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 20px;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
color: #ffffff;
text-decoration: none;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #ffffff;
text-decoration: none;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
outline: 0;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #999999;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
cursor: default;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.open {
*z-index: 1000;
}
.open > .dropdown-menu {
display: block;
}
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px solid #000000;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropup .dropdown-submenu > .dropdown-menu {
top: auto;
bottom: 0;
margin-top: 0;
margin-bottom: -2px;
-webkit-border-radius: 5px 5px 5px 0;
-moz-border-radius: 5px 5px 5px 0;
border-radius: 5px 5px 5px 0;
}
.dropdown-submenu > a:after {
display: block;
float: right;
width: 0;
height: 0;
margin-top: 5px;
margin-right: -10px;
border-color: transparent;
border-left-color: #cccccc;
border-style: solid;
border-width: 5px 0 5px 5px;
content: " ";
}
.dropdown-submenu:hover > a:after {
border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
.dropdown .dropdown-menu .nav-header {
padding-right: 20px;
padding-left: 20px;
}
.typeahead {
z-index: 1051;
margin-top: 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
border-color: #ddd;
border-color: rgba(0, 0, 0, 0.15);
}
.well-large {
padding: 24px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
.well-small {
padding: 9px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-moz-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-moz-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
.collapse.in {
height: auto;
}
.close {
float: right;
font-size: 20px;
font-weight: bold;
line-height: 20px;
color: #000000;
text-shadow: 0 1px 0 #ffffff;
opacity: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000000;
text-decoration: none;
cursor: pointer;
opacity: 0.4;
filter: alpha(opacity=40);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.btn {
display: inline-block;
*display: inline;
padding: 4px 12px;
margin-bottom: 0;
*margin-left: .3em;
font-size: 14px;
line-height: 20px;
color: #333333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
*background-color: #e6e6e6;
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
border: 1px solid #cccccc;
*border: 0;
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border-bottom-color: #b3b3b3;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
*zoom: 1;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
color: #333333;
background-color: #e6e6e6;
*background-color: #d9d9d9;
}
.btn:active,
.btn.active {
background-color: #cccccc \9;
}
.btn:first-child {
*margin-left: 0;
}
.btn:hover,
.btn:focus {
color: #333333;
text-decoration: none;
background-position: 0 -15px;
-webkit-transition: background-position 0.1s linear;
-moz-transition: background-position 0.1s linear;
-o-transition: background-position 0.1s linear;
transition: background-position 0.1s linear;
}
.btn:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn.active,
.btn:active {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn.disabled,
.btn[disabled] {
cursor: default;
background-image: none;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.btn-large {
padding: 11px 19px;
font-size: 17.5px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
margin-top: 4px;
}
.btn-small {
padding: 2px 10px;
font-size: 11.9px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
margin-top: 0;
}
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
margin-top: -1px;
}
.btn-mini {
padding: 0 6px;
font-size: 10.5px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.btn-block {
display: block;
width: 100%;
padding-right: 0;
padding-left: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
color: rgba(255, 255, 255, 0.75);
}
.btn-primary {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #006dcc;
*background-color: #0044cc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
background-repeat: repeat-x;
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
color: #ffffff;
background-color: #0044cc;
*background-color: #003bb3;
}
.btn-primary:active,
.btn-primary.active {
background-color: #003399 \9;
}
.btn-warning {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #faa732;
*background-color: #f89406;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(to bottom, #fbb450, #f89406);
background-repeat: repeat-x;
border-color: #f89406 #f89406 #ad6704;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
color: #ffffff;
background-color: #f89406;
*background-color: #df8505;
}
.btn-warning:active,
.btn-warning.active {
background-color: #c67605 \9;
}
.btn-danger {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #da4f49;
*background-color: #bd362f;
background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
background-repeat: repeat-x;
border-color: #bd362f #bd362f #802420;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
color: #ffffff;
background-color: #bd362f;
*background-color: #a9302a;
}
.btn-danger:active,
.btn-danger.active {
background-color: #942a25 \9;
}
.btn-success {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #5bb75b;
*background-color: #51a351;
background-image: -moz-linear-gradient(top, #62c462, #51a351);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
background-image: -webkit-linear-gradient(top, #62c462, #51a351);
background-image: -o-linear-gradient(top, #62c462, #51a351);
background-image: linear-gradient(to bottom, #62c462, #51a351);
background-repeat: repeat-x;
border-color: #51a351 #51a351 #387038;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
color: #ffffff;
background-color: #51a351;
*background-color: #499249;
}
.btn-success:active,
.btn-success.active {
background-color: #408140 \9;
}
.btn-info {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #49afcd;
*background-color: #2f96b4;
background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
background-repeat: repeat-x;
border-color: #2f96b4 #2f96b4 #1f6377;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
color: #ffffff;
background-color: #2f96b4;
*background-color: #2a85a0;
}
.btn-info:active,
.btn-info.active {
background-color: #24748c \9;
}
.btn-inverse {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #363636;
*background-color: #222222;
background-image: -moz-linear-gradient(top, #444444, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
background-image: -webkit-linear-gradient(top, #444444, #222222);
background-image: -o-linear-gradient(top, #444444, #222222);
background-image: linear-gradient(to bottom, #444444, #222222);
background-repeat: repeat-x;
border-color: #222222 #222222 #000000;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
color: #ffffff;
background-color: #222222;
*background-color: #151515;
}
.btn-inverse:active,
.btn-inverse.active {
background-color: #080808 \9;
}
button.btn,
input[type="submit"].btn {
*padding-top: 3px;
*padding-bottom: 3px;
}
button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
padding: 0;
border: 0;
}
button.btn.btn-large,
input[type="submit"].btn.btn-large {
*padding-top: 7px;
*padding-bottom: 7px;
}
button.btn.btn-small,
input[type="submit"].btn.btn-small {
*padding-top: 3px;
*padding-bottom: 3px;
}
button.btn.btn-mini,
input[type="submit"].btn.btn-mini {
*padding-top: 1px;
*padding-bottom: 1px;
}
.btn-link,
.btn-link:active,
.btn-link[disabled] {
background-color: transparent;
background-image: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.btn-link {
color: #0088cc;
cursor: pointer;
border-color: transparent;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-link:hover,
.btn-link:focus {
color: #005580;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
color: #333333;
text-decoration: none;
}
.btn-group {
position: relative;
display: inline-block;
*display: inline;
*margin-left: .3em;
font-size: 0;
white-space: nowrap;
vertical-align: middle;
*zoom: 1;
}
.btn-group:first-child {
*margin-left: 0;
}
.btn-group + .btn-group {
margin-left: 5px;
}
.btn-toolbar {
margin-top: 10px;
margin-bottom: 10px;
font-size: 0;
}
.btn-toolbar > .btn + .btn,
.btn-toolbar > .btn-group + .btn,
.btn-toolbar > .btn + .btn-group {
margin-left: 5px;
}
.btn-group > .btn {
position: relative;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-group > .btn + .btn {
margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
font-size: 14px;
}
.btn-group > .btn-mini {
font-size: 10.5px;
}
.btn-group > .btn-small {
font-size: 11.9px;
}
.btn-group > .btn-large {
font-size: 17.5px;
}
.btn-group > .btn:first-child {
margin-left: 0;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-topleft: 4px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-bottomright: 4px;
}
.btn-group > .btn.large:first-child {
margin-left: 0;
-webkit-border-bottom-left-radius: 6px;
border-bottom-left-radius: 6px;
-webkit-border-top-left-radius: 6px;
border-top-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
-moz-border-radius-topleft: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px;
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
border-bottom-right-radius: 6px;
-moz-border-radius-topright: 6px;
-moz-border-radius-bottomright: 6px;
}
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
z-index: 2;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
*padding-top: 5px;
padding-right: 8px;
*padding-bottom: 5px;
padding-left: 8px;
-webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn-group > .btn-mini + .dropdown-toggle {
*padding-top: 2px;
padding-right: 5px;
*padding-bottom: 2px;
padding-left: 5px;
}
.btn-group > .btn-small + .dropdown-toggle {
*padding-top: 5px;
*padding-bottom: 4px;
}
.btn-group > .btn-large + .dropdown-toggle {
*padding-top: 7px;
padding-right: 12px;
*padding-bottom: 7px;
padding-left: 12px;
}
.btn-group.open .dropdown-toggle {
background-image: none;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn-group.open .btn.dropdown-toggle {
background-color: #e6e6e6;
}
.btn-group.open .btn-primary.dropdown-toggle {
background-color: #0044cc;
}
.btn-group.open .btn-warning.dropdown-toggle {
background-color: #f89406;
}
.btn-group.open .btn-danger.dropdown-toggle {
background-color: #bd362f;
}
.btn-group.open .btn-success.dropdown-toggle {
background-color: #51a351;
}
.btn-group.open .btn-info.dropdown-toggle {
background-color: #2f96b4;
}
.btn-group.open .btn-inverse.dropdown-toggle {
background-color: #222222;
}
.btn .caret {
margin-top: 8px;
margin-left: 0;
}
.btn-large .caret {
margin-top: 6px;
}
.btn-large .caret {
border-top-width: 5px;
border-right-width: 5px;
border-left-width: 5px;
}
.btn-mini .caret,
.btn-small .caret {
margin-top: 8px;
}
.dropup .btn-large .caret {
border-bottom-width: 5px;
}
.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
border-top-color: #ffffff;
border-bottom-color: #ffffff;
}
.btn-group-vertical {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
}
.btn-group-vertical > .btn {
display: block;
float: none;
max-width: 100%;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-group-vertical > .btn + .btn {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:first-child {
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.btn-group-vertical > .btn:last-child {
-webkit-border-radius: 0 0 4px 4px;
-moz-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
}
.btn-group-vertical > .btn-large:first-child {
-webkit-border-radius: 6px 6px 0 0;
-moz-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
}
.btn-group-vertical > .btn-large:last-child {
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
}
.alert {
padding: 8px 35px 8px 14px;
margin-bottom: 20px;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
background-color: #fcf8e3;
border: 1px solid #fbeed5;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.alert,
.alert h4 {
color: #c09853;
}
.alert h4 {
margin: 0;
}
.alert .close {
position: relative;
top: -2px;
right: -21px;
line-height: 20px;
}
.alert-success {
color: #468847;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.alert-success h4 {
color: #468847;
}
.alert-danger,
.alert-error {
color: #b94a48;
background-color: #f2dede;
border-color: #eed3d7;
}
.alert-danger h4,
.alert-error h4 {
color: #b94a48;
}
.alert-info {
color: #3a87ad;
background-color: #d9edf7;
border-color: #bce8f1;
}
.alert-info h4 {
color: #3a87ad;
}
.alert-block {
padding-top: 14px;
padding-bottom: 14px;
}
.alert-block > p,
.alert-block > ul {
margin-bottom: 0;
}
.alert-block p + p {
margin-top: 5px;
}
.nav {
margin-bottom: 20px;
margin-left: 0;
list-style: none;
}
.nav > li > a {
display: block;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.nav > li > a > img {
max-width: none;
}
.nav > .pull-right {
float: right;
}
.nav-header {
display: block;
padding: 3px 15px;
font-size: 11px;
font-weight: bold;
line-height: 20px;
color: #999999;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
text-transform: uppercase;
}
.nav li + .nav-header {
margin-top: 9px;
}
.nav-list {
padding-right: 15px;
padding-left: 15px;
margin-bottom: 0;
}
.nav-list > li > a,
.nav-list .nav-header {
margin-right: -15px;
margin-left: -15px;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
.nav-list > li > a {
padding: 3px 15px;
}
.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
background-color: #0088cc;
}
.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
margin-right: 2px;
}
.nav-list .divider {
*width: 100%;
height: 1px;
margin: 9px 1px;
*margin: -5px 0 5px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid #ffffff;
}
.nav-tabs,
.nav-pills {
*zoom: 1;
}
.nav-tabs:before,
.nav-pills:before,
.nav-tabs:after,
.nav-pills:after {
display: table;
line-height: 0;
content: "";
}
.nav-tabs:after,
.nav-pills:after {
clear: both;
}
.nav-tabs > li,
.nav-pills > li {
float: left;
}
.nav-tabs > li > a,
.nav-pills > li > a {
padding-right: 12px;
padding-left: 12px;
margin-right: 2px;
line-height: 14px;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
margin-bottom: -1px;
}
.nav-tabs > li > a {
padding-top: 8px;
padding-bottom: 8px;
line-height: 20px;
border: 1px solid transparent;
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #dddddd;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
color: #555555;
cursor: default;
background-color: #ffffff;
border: 1px solid #ddd;
border-bottom-color: transparent;
}
.nav-pills > li > a {
padding-top: 8px;
padding-bottom: 8px;
margin-top: 2px;
margin-bottom: 2px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
color: #ffffff;
background-color: #0088cc;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li > a {
margin-right: 0;
}
.nav-tabs.nav-stacked {
border-bottom: 0;
}
.nav-tabs.nav-stacked > li > a {
border: 1px solid #ddd;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.nav-tabs.nav-stacked > li:first-child > a {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-topleft: 4px;
}
.nav-tabs.nav-stacked > li:last-child > a {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomright: 4px;
-moz-border-radius-bottomleft: 4px;
}
.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
z-index: 2;
border-color: #ddd;
}
.nav-pills.nav-stacked > li > a {
margin-bottom: 3px;
}
.nav-pills.nav-stacked > li:last-child > a {
margin-bottom: 1px;
}
.nav-tabs .dropdown-menu {
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
}
.nav-pills .dropdown-menu {
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
.nav .dropdown-toggle .caret {
margin-top: 6px;
border-top-color: #0088cc;
border-bottom-color: #0088cc;
}
.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
border-top-color: #005580;
border-bottom-color: #005580;
}
/* move down carets for tabs */
.nav-tabs .dropdown-toggle .caret {
margin-top: 8px;
}
.nav .active .dropdown-toggle .caret {
border-top-color: #fff;
border-bottom-color: #fff;
}
.nav-tabs .active .dropdown-toggle .caret {
border-top-color: #555555;
border-bottom-color: #555555;
}
.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
cursor: pointer;
}
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
color: #ffffff;
background-color: #999999;
border-color: #999999;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
border-top-color: #ffffff;
border-bottom-color: #ffffff;
opacity: 1;
filter: alpha(opacity=100);
}
.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
border-color: #999999;
}
.tabbable {
*zoom: 1;
}
.tabbable:before,
.tabbable:after {
display: table;
line-height: 0;
content: "";
}
.tabbable:after {
clear: both;
}
.tab-content {
overflow: auto;
}
.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
border-bottom: 0;
}
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: none;
}
.tab-content > .active,
.pill-content > .active {
display: block;
}
.tabs-below > .nav-tabs {
border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
margin-top: -1px;
margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
-webkit-border-radius: 0 0 4px 4px;
-moz-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
}
.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
border-top-color: #ddd;
border-bottom-color: transparent;
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
border-color: transparent #ddd #ddd #ddd;
}
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
float: none;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
min-width: 74px;
margin-right: 0;
margin-bottom: 3px;
}
.tabs-left > .nav-tabs {
float: left;
margin-right: 19px;
border-right: 1px solid #ddd;
}
.tabs-left > .nav-tabs > li > a {
margin-right: -1px;
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius: 4px 0 0 4px;
border-radius: 4px 0 0 4px;
}
.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
border-color: #ddd transparent #ddd #ddd;
*border-right-color: #ffffff;
}
.tabs-right > .nav-tabs {
float: right;
margin-left: 19px;
border-left: 1px solid #ddd;
}
.tabs-right > .nav-tabs > li > a {
margin-left: -1px;
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius: 0 4px 4px 0;
border-radius: 0 4px 4px 0;
}
.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}
.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
border-color: #ddd #ddd #ddd transparent;
*border-left-color: #ffffff;
}
.nav > .disabled > a {
color: #999999;
}
.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
text-decoration: none;
cursor: default;
background-color: transparent;
}
.navbar {
*position: relative;
*z-index: 2;
margin-bottom: 20px;
overflow: visible;
}
.navbar-inner {
min-height: 40px;
padding-right: 20px;
padding-left: 20px;
background-color: #fafafa;
background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
background-repeat: repeat-x;
border: 1px solid #d4d4d4;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
*zoom: 1;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
}
.navbar-inner:before,
.navbar-inner:after {
display: table;
line-height: 0;
content: "";
}
.navbar-inner:after {
clear: both;
}
.navbar .container {
width: auto;
}
.nav-collapse.collapse {
height: auto;
overflow: visible;
}
.navbar .brand {
display: block;
float: left;
padding: 10px 20px 10px;
margin-left: -20px;
font-size: 20px;
font-weight: 200;
color: #777777;
text-shadow: 0 1px 0 #ffffff;
}
.navbar .brand:hover,
.navbar .brand:focus {
text-decoration: none;
}
.navbar-text {
margin-bottom: 0;
line-height: 40px;
color: #777777;
}
.navbar-link {
color: #777777;
}
.navbar-link:hover,
.navbar-link:focus {
color: #333333;
}
.navbar .divider-vertical {
height: 40px;
margin: 0 9px;
border-right: 1px solid #ffffff;
border-left: 1px solid #f2f2f2;
}
.navbar .btn,
.navbar .btn-group {
margin-top: 5px;
}
.navbar .btn-group .btn,
.navbar .input-prepend .btn,
.navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
margin-top: 0;
}
.navbar-form {
margin-bottom: 0;
*zoom: 1;
}
.navbar-form:before,
.navbar-form:after {
display: table;
line-height: 0;
content: "";
}
.navbar-form:after {
clear: both;
}
.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
margin-top: 5px;
}
.navbar-form input,
.navbar-form select,
.navbar-form .btn {
display: inline-block;
margin-bottom: 0;
}
.navbar-form input[type="image"],
.navbar-form input[type="checkbox"],
.navbar-form input[type="radio"] {
margin-top: 3px;
}
.navbar-form .input-append,
.navbar-form .input-prepend {
margin-top: 5px;
white-space: nowrap;
}
.navbar-form .input-append input,
.navbar-form .input-prepend input {
margin-top: 0;
}
.navbar-search {
position: relative;
float: left;
margin-top: 5px;
margin-bottom: 0;
}
.navbar-search .search-query {
padding: 4px 14px;
margin-bottom: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-weight: normal;
line-height: 1;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
.navbar-static-top {
position: static;
margin-bottom: 0;
}
.navbar-static-top .navbar-inner {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
margin-bottom: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
border-width: 0 0 1px;
}
.navbar-fixed-bottom .navbar-inner {
border-width: 1px 0 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
padding-right: 0;
padding-left: 0;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
width: 940px;
}
.navbar-fixed-top {
top: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}
.navbar-fixed-bottom {
bottom: 0;
}
.navbar-fixed-bottom .navbar-inner {
-webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
}
.navbar .nav {
position: relative;
left: 0;
display: block;
float: left;
margin: 0 10px 0 0;
}
.navbar .nav.pull-right {
float: right;
margin-right: 0;
}
.navbar .nav > li {
float: left;
}
.navbar .nav > li > a {
float: none;
padding: 10px 15px 10px;
color: #777777;
text-decoration: none;
text-shadow: 0 1px 0 #ffffff;
}
.navbar .nav .dropdown-toggle .caret {
margin-top: 8px;
}
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
color: #333333;
text-decoration: none;
background-color: transparent;
}
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
color: #555555;
text-decoration: none;
background-color: #e5e5e5;
-webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}
.navbar .btn-navbar {
display: none;
float: right;
padding: 7px 10px;
margin-right: 5px;
margin-left: 5px;
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #ededed;
*background-color: #e5e5e5;
background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
background-repeat: repeat-x;
border-color: #e5e5e5 #e5e5e5 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
}
.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active,
.navbar .btn-navbar.active,
.navbar .btn-navbar.disabled,
.navbar .btn-navbar[disabled] {
color: #ffffff;
background-color: #e5e5e5;
*background-color: #d9d9d9;
}
.navbar .btn-navbar:active,
.navbar .btn-navbar.active {
background-color: #cccccc \9;
}
.navbar .btn-navbar .icon-bar {
display: block;
width: 18px;
height: 2px;
background-color: #f5f5f5;
-webkit-border-radius: 1px;
-moz-border-radius: 1px;
border-radius: 1px;
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.btn-navbar .icon-bar + .icon-bar {
margin-top: 3px;
}
.navbar .nav > li > .dropdown-menu:before {
position: absolute;
top: -7px;
left: 9px;
display: inline-block;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-left: 7px solid transparent;
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
.navbar .nav > li > .dropdown-menu:after {
position: absolute;
top: -6px;
left: 10px;
display: inline-block;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
border-left: 6px solid transparent;
content: '';
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
top: auto;
bottom: -7px;
border-top: 7px solid #ccc;
border-bottom: 0;
border-top-color: rgba(0, 0, 0, 0.2);
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
top: auto;
bottom: -6px;
border-top: 6px solid #ffffff;
border-bottom: 0;
}
.navbar .nav li.dropdown > a:hover .caret,
.navbar .nav li.dropdown > a:focus .caret {
border-top-color: #333333;
border-bottom-color: #333333;
}
.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
color: #555555;
background-color: #e5e5e5;
}
.navbar .nav li.dropdown > .dropdown-toggle .caret {
border-top-color: #777777;
border-bottom-color: #777777;
}
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
border-top-color: #555555;
border-bottom-color: #555555;
}
.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
right: 0;
left: auto;
}
.navbar .pull-right > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu.pull-right:before {
right: 12px;
left: auto;
}
.navbar .pull-right > li > .dropdown-menu:after,
.navbar .nav > li > .dropdown-menu.pull-right:after {
right: 13px;
left: auto;
}
.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
right: 100%;
left: auto;
margin-right: -1px;
margin-left: 0;
-webkit-border-radius: 6px 0 6px 6px;
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
}
.navbar-inverse .navbar-inner {
background-color: #1b1b1b;
background-image: -moz-linear-gradient(top, #222222, #111111);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
background-image: -webkit-linear-gradient(top, #222222, #111111);
background-image: -o-linear-gradient(top, #222222, #111111);
background-image: linear-gradient(to bottom, #222222, #111111);
background-repeat: repeat-x;
border-color: #252525;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
}
.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
color: #999999;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
color: #ffffff;
}
.navbar-inverse .brand {
color: #999999;
}
.navbar-inverse .navbar-text {
color: #999999;
}
.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
color: #ffffff;
background-color: transparent;
}
.navbar-inverse .nav .active > a,
.navbar-inverse .nav .active > a:hover,
.navbar-inverse .nav .active > a:focus {
color: #ffffff;
background-color: #111111;
}
.navbar-inverse .navbar-link {
color: #999999;
}
.navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
color: #ffffff;
}
.navbar-inverse .divider-vertical {
border-right-color: #222222;
border-left-color: #111111;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
color: #ffffff;
background-color: #111111;
}
.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
border-top-color: #ffffff;
border-bottom-color: #ffffff;
}
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
border-top-color: #999999;
border-bottom-color: #999999;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
border-top-color: #ffffff;
border-bottom-color: #ffffff;
}
.navbar-inverse .navbar-search .search-query {
color: #ffffff;
background-color: #515151;
border-color: #111111;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-webkit-transition: none;
-moz-transition: none;
-o-transition: none;
transition: none;
}
.navbar-inverse .navbar-search .search-query:-moz-placeholder {
color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
color: #cccccc;
}
.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:focus,
.navbar-inverse .navbar-search .search-query.focused {
padding: 5px 15px;
color: #333333;
text-shadow: 0 1px 0 #ffffff;
background-color: #ffffff;
border: 0;
outline: 0;
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}
.navbar-inverse .btn-navbar {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #0e0e0e;
*background-color: #040404;
background-image: -moz-linear-gradient(top, #151515, #040404);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
background-image: -webkit-linear-gradient(top, #151515, #040404);
background-image: -o-linear-gradient(top, #151515, #040404);
background-image: linear-gradient(to bottom, #151515, #040404);
background-repeat: repeat-x;
border-color: #040404 #040404 #000000;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled,
.navbar-inverse .btn-navbar[disabled] {
color: #ffffff;
background-color: #040404;
*background-color: #000000;
}
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active {
background-color: #000000 \9;
}
.breadcrumb {
padding: 8px 15px;
margin: 0 0 20px;
list-style: none;
background-color: #f5f5f5;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.breadcrumb > li {
display: inline-block;
*display: inline;
text-shadow: 0 1px 0 #ffffff;
*zoom: 1;
}
.breadcrumb > li > .divider {
padding: 0 5px;
color: #ccc;
}
.breadcrumb > .active {
color: #999999;
}
.pagination {
margin: 20px 0;
}
.pagination ul {
display: inline-block;
*display: inline;
margin-bottom: 0;
margin-left: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
*zoom: 1;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pagination ul > li {
display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
float: left;
padding: 4px 12px;
line-height: 20px;
text-decoration: none;
background-color: #ffffff;
border: 1px solid #dddddd;
border-left-width: 0;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: #f5f5f5;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
color: #999999;
cursor: default;
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
color: #999999;
cursor: default;
background-color: transparent;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
border-left-width: 1px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-topleft: 4px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-bottomright: 4px;
}
.pagination-centered {
text-align: center;
}
.pagination-right {
text-align: right;
}
.pagination-large ul > li > a,
.pagination-large ul > li > span {
padding: 11px 19px;
font-size: 17.5px;
}
.pagination-large ul > li:first-child > a,
.pagination-large ul > li:first-child > span {
-webkit-border-bottom-left-radius: 6px;
border-bottom-left-radius: 6px;
-webkit-border-top-left-radius: 6px;
border-top-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
-moz-border-radius-topleft: 6px;
}
.pagination-large ul > li:last-child > a,
.pagination-large ul > li:last-child > span {
-webkit-border-top-right-radius: 6px;
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
border-bottom-right-radius: 6px;
-moz-border-radius-topright: 6px;
-moz-border-radius-bottomright: 6px;
}
.pagination-mini ul > li:first-child > a,
.pagination-small ul > li:first-child > a,
.pagination-mini ul > li:first-child > span,
.pagination-small ul > li:first-child > span {
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
-moz-border-radius-topleft: 3px;
}
.pagination-mini ul > li:last-child > a,
.pagination-small ul > li:last-child > a,
.pagination-mini ul > li:last-child > span,
.pagination-small ul > li:last-child > span {
-webkit-border-top-right-radius: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
borde
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment